Duet3D Logo Duet3D
    • Tags
    • Documentation
    • Order
    • Register
    • Login

    Replace the Wifi or Ethernet module by the ESP-13?

    Scheduled Pinned Locked Moved
    Duet Hardware and wiring
    4
    25
    1.5k
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • A Former User?
      A Former User @Kanyo
      last edited by

      @Kanyo said in Replace the Wifi or Ethernet module by the ESP-13?:

      You say remove the ethernet module and connect the Pi to duet board directly?

      ref this thread and this reply from dc42 https://forum.duet3d.com/post/106138

      1 Reply Last reply Reply Quote 0
      • Kanyoundefined
        Kanyo @Danal
        last edited by

        @Danal
        before posting here I was thinking about plug a Wifi Bridge.
        A device acting as a client may different from a bridge or AP,I have never seen such a thing
        For example, what kind products can be used?

        1 Reply Last reply Reply Quote 0
        • A Former User?
          A Former User
          last edited by

          Technically it should be both a wifi client and then a bridge between the wifi client and the ethernet port, which is how it would be done with a board like a Raspberry pi.

          Kanyoundefined 1 Reply Last reply Reply Quote 1
          • Kanyoundefined
            Kanyo @A Former User
            last edited by

            Yeah I know, such like WRH-583BK2-S
            or as you said RPi can bridge between the wifi client and the ethernet port, right?
            I just wondering what kind of network device can just being the client Instead of connected ethernet ,not bridge or AP.

            1 Reply Last reply Reply Quote 0
            • A Former User?
              A Former User
              last edited by

              Admittedly I haven't tried it with the RPi since way back when Wifi was a USB stick, and being able to run as an actual bridged connection may depend on the WiFi chipset in use; but in any case it should be possible to do a routed connection and forward the necessary ports.

              (I'll see if I can find time later this week to borrow the Duet 3's RPi 3B and try bridging it to the Duet 2 Maestro, but busy week)

              A Former User? 1 Reply Last reply Reply Quote 0
              • dc42undefined
                dc42 administrators @A Former User
                last edited by dc42

                @bearer said in Replace the Wifi or Ethernet module by the ESP-13?:

                You can upload the DuetWifiServer firmware to the SD card and flash it from the serial(usb) console, so thats not a problem if 2MB flash is enough. I've only previously seen dc42 reccomending using ESP-07S for external antenna, and that is the 4MB version of ESP-07 but not sure if 4MB is a requirement.

                Originally the web pages were held in flash memory on the ESP module, which is why there was a DuetWiFiServer.bin file and you needed 4Mb flash memory. Now that the web page files are served from SD card, even 1Mb ought to be enough. But I've never tried uploading DuetWiFiServer to a module with less than 4Mb of flash.

                The reason we specify the ESP-07S not the ESP-07 is that only the S version has been FCC certified.

                The WROOM module is slightly wider than the ESP-12S. We looked at it a while back before the ESP-07S became available, and we concluded that it didn't quite fit in the space available.

                Duet WiFi hardware designer and firmware engineer
                Please do not ask me for Duet support via PM or email, use the forum
                http://www.escher3d.com, https://miscsolutions.wordpress.com

                Kanyoundefined 1 Reply Last reply Reply Quote 1
                • Danalundefined
                  Danal
                  last edited by Danal

                  Probably my odd phrasing.

                  It is quite fair to say that what you need is a device acting as both a client and a bridge to the Ether. My real point was: Not an AP.

                  And... WRH-583BK2-S is an example of what you DON'T want. This device 'expects' internet on an Ether port, and routes it to a WiFi segment where this device is the AP for that segment. That is the "wrong direction" for what you are trying to accomplish.

                  Delta / Kossel printer fanatic

                  1 Reply Last reply Reply Quote 0
                  • Danalundefined
                    Danal
                    last edited by

                    And... to my best reading of a translation of the user manual for the WRH-583BK2-S, it looks like it actually WILL do what you need.

                    See "child machine mode" on page 47 of the full manual here

                    Delta / Kossel printer fanatic

                    Kanyoundefined 1 Reply Last reply Reply Quote 0
                    • Kanyoundefined
                      Kanyo @dc42
                      last edited by

                      @dc42 So that's it.
                      Thanks for the great effort, may be try to make a breakout board someday.
                      I feel sad that WROOM module was not chosen, no help for a larger footprint.
                      The big reason I want to replace a Wifi module is mDNS protocol.
                      Are there any plans to implement the mDNS protocol on the Duet2Ethernet?

                      Danalundefined dc42undefined 2 Replies Last reply Reply Quote 0
                      • Kanyoundefined
                        Kanyo @Danal
                        last edited by

                        @Danal
                        Sorry for the confusion on the Japanese page, thanks for looking seriously.
                        May be this picture is a good explanation of what this device can do.
                        322a7492-5656-46e7-b593-74175219f444-image.png

                        Danalundefined 1 Reply Last reply Reply Quote 0
                        • Danalundefined
                          Danal @Kanyo
                          last edited by Danal

                          @Kanyo said in Replace the Wifi or Ethernet module by the ESP-13?:

                          @Danal
                          Sorry for the confusion on the Japanese page, thanks for looking seriously.

                          Yep, looks like it WILL do it. Nifty little gadget.

                          Delta / Kossel printer fanatic

                          1 Reply Last reply Reply Quote 0
                          • Danalundefined
                            Danal @Kanyo
                            last edited by

                            @Kanyo said in Replace the Wifi or Ethernet module by the ESP-13?:

                            The big reason I want to replace a Wifi module is mDNS protocol.
                            Are there any plans to implement the mDNS protocol on the Duet2Ethernet?

                            That's a pretty good reason to make the "WiFi Client to Ether" box a Raspberry Pi. Setting it up as the client/bridge is straightforward (tons of examples) and mDNS is also relatively easy. Being *nix literate at the command line is helpful, but not essential, due to the many examples.

                            Delta / Kossel printer fanatic

                            1 Reply Last reply Reply Quote 0
                            • dc42undefined
                              dc42 administrators @Kanyo
                              last edited by dc42

                              @Kanyo said in Replace the Wifi or Ethernet module by the ESP-13?:

                              I feel sad that WROOM module was not chosen, no help for a larger footprint.

                              When we designed the Duet WiFi, there was only one WROOM module and no external antenna option; whereas there were several ESP modules, some of which were certified. Since that time there have been two new WROOM modules, both certified, one with external antenna. To change to it would have required moving the SD card slot, which would have been incompatible with existing enclosure designs, and would in turn have required moving the mounting point for the Ethernet daughter board - so a new version of the daughter board would have been needed.

                              Are there any plans to implement the mDNS protocol on the Duet2Ethernet?

                              Yes.

                              Duet WiFi hardware designer and firmware engineer
                              Please do not ask me for Duet support via PM or email, use the forum
                              http://www.escher3d.com, https://miscsolutions.wordpress.com

                              1 Reply Last reply Reply Quote 0
                              • Kanyoundefined
                                Kanyo
                                last edited by

                                I expect so much.

                                1 Reply Last reply Reply Quote 0
                                • A Former User?
                                  A Former User @A Former User
                                  last edited by A Former User

                                  @bearer said in Replace the Wifi or Ethernet module by the ESP-13?:

                                  (I'll see if I can find time later this week to borrow the Duet 3's RPi 3B and try bridging it to the Duet 2 Maestro, but busy week)

                                  @Kanyo FYI this works with my RPi 3B+ https://willhaley.com/blog/raspberry-pi-wifi-ethernet-bridge/

                                  I tested Option 1 and it works just fine with my Duet 2 Maestro. The Pi gets an IP address of its own so you can still administrate it from the same network. The Duet 2 Maestro even gets the same (non reserved) DHCP lease through the bridge and mDNS works with the older firmware, but the Pi could probably be made to announce on the Duet's behalf if needed.

                                  Edit: I'll add the whole thing here, with warnings and all; in case the link dies in the future..

                                  Note: This script drastically changes the networking configuration and your Pi may end up in an unreliable networking state if anything goes wrong

                                  #!/usr/bin/env bash
                                  
                                  set -e
                                  
                                  [ $EUID -ne 0 ] && echo "run as root" >&2 && exit 1
                                  
                                  # Update these variables as needed
                                  
                                  ssid="the ssid"
                                  psk="the password"
                                  country="US"
                                  
                                  # You should not need to update anything below this line
                                  
                                  apt update && apt install parprouted dhcp-helper
                                  
                                  systemctl stop dhcp-helper
                                  systemctl enable dhcp-helper
                                  
                                  systemctl mask networking.service
                                  systemctl mask dhcpcd.service
                                  if [ -d /etc/network/interfaces ];
                                  then
                                    mv /etc/network/interfaces /etc/network/interfaces.bak
                                  fi
                                  sed -i '1i resolvconf=NO' /etc/resolvconf.conf
                                  
                                  systemctl enable systemd-networkd.service
                                  systemctl enable systemd-resolved.service
                                  ln -sf /run/systemd/resolve/resolv.conf /etc/resolv.conf
                                  
                                  cat > /etc/wpa_supplicant/wpa_supplicant-wlan0.conf <<EOF
                                  ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
                                  update_config=1
                                  country=${country}
                                  
                                  network={
                                      ssid="${ssid}"
                                      psk="${psk}"
                                  }
                                  EOF
                                  
                                  chmod 600 /etc/wpa_supplicant/wpa_supplicant-wlan0.conf
                                  systemctl disable wpa_supplicant.service
                                  systemctl enable wpa_supplicant@wlan0.service
                                  
                                  cat > /etc/systemd/network/08-wlan0.network <<EOF
                                  [Match]
                                  Name=wlan0
                                  [Network]
                                  DHCP=yes
                                  IPForward=yes
                                  EOF
                                  
                                  cat > /etc/default/dhcp-helper <<EOF
                                  DHCPHELPER_OPTS="-b wlan0"
                                  EOF
                                  
                                  cat <<'EOF' >/etc/avahi/avahi-daemon.conf
                                  [server]
                                  use-ipv4=yes
                                  use-ipv6=yes
                                  ratelimit-interval-usec=1000000
                                  ratelimit-burst=1000
                                  
                                  [wide-area]
                                  enable-wide-area=yes
                                  
                                  [publish]
                                  publish-hinfo=no
                                  publish-workstation=no
                                  
                                  [reflector]
                                  enable-reflector=yes
                                  
                                  [rlimits]
                                  EOF
                                  
                                  cat <<'EOF' >/etc/systemd/system/parprouted.service
                                  [Unit]
                                  Description=proxy arp routing service
                                  Documentation=https://raspberrypi.stackexchange.com/q/88954/79866
                                  
                                  [Service]
                                  Type=forking
                                  # Restart until wlan0 gained carrier
                                  Restart=on-failure
                                  RestartSec=5
                                  TimeoutStartSec=30
                                  ExecStartPre=/lib/systemd/systemd-networkd-wait-online --interface=wlan0 --timeout=6 --quiet
                                  ExecStartPre=/bin/echo 'systemd-networkd-wait-online: wlan0 is online'
                                  # clone the dhcp-allocated IP to eth0 so dhcp-helper will relay for the correct subnet
                                  ExecStartPre=/bin/bash -c '/sbin/ip addr add $(/sbin/ip -4 -br addr show wlan0 | /bin/grep -Po "\\d+\\.\\d+\\.\\d+\\.\\d+")/32 dev eth0'
                                  ExecStartPre=/sbin/ip link set dev eth0 up
                                  ExecStartPre=/sbin/ip link set wlan0 promisc on
                                  ExecStart=-/usr/sbin/parprouted eth0 wlan0
                                  ExecStopPost=/sbin/ip link set wlan0 promisc off
                                  ExecStopPost=/sbin/ip link set dev eth0 down
                                  ExecStopPost=/bin/bash -c '/sbin/ip addr del $(/sbin/ip -4 -br addr show eth0 | /bin/grep -Po "\\d+\\.\\d+\\.\\d+\\.\\d+")/32 dev eth0'
                                  
                                  [Install]
                                  WantedBy=wpa_supplicant@wlan0.service
                                  EOF
                                  
                                  systemctl daemon-reload
                                  systemctl enable parprouted.service
                                  
                                  systemctl start wpa_supplicant@wlan0 dhcp-helper systemd-networkd systemd-resolved
                                  

                                  Edit 2: Pay attention to the country="US" variable to ensure local compliance with Wifi channels/frequencies

                                  1 Reply Last reply Reply Quote 0
                                  • First post
                                    Last post
                                  Unless otherwise noted, all forum content is licensed under CC-BY-SA