Replace the Wifi or Ethernet module by the ESP-13?
-
@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
-
@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? -
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.
-
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. -
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)
-
@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.
-
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.
-
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
-
@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? -
-
@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.
-
@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.
-
@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.
-
I expect so much.
-
@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