If you have two or more Lego Mindstorms EV3’s in daisy chain mode, it is not possible to use a Wifi connection with the EV3 as well. For our project, we need this functionality. Two embedded software engineers in our team are now updating the firmware to make this work. But are we going to be in time….? From a project management perspective, it is always wise to have a fallback scenario. But is there one….?
Yes, there is a workaround. By using an additional EV3 as proxy, you can make the following setup:
The Proxy EV3 is connected by Bluetooth to the EV3’s in Daisy Chain mode and by WiFi to the PC application. The program running on the Proxy EV3 is only passing the messages to the target EV3. The elegance of this solution, is that the PC software doesn’t need to be changed once the new firmware is ready. And the same applies for the EVtarget EV3. The only change that needs to be made, is that the name of the EV3 on the PC needs to be changed from the EV3 proxy name to the EV3 target name.
In a test setup, I use my Microsoft C# PC test application. It can send text messages to a (bluetooth connected) NXT or to a (bluetooth or WiFi connected) EV3. The PC application connects to the Proxy EV3.
The test program connects to the EV3DAISY. Then it loops and waits until it receives a message from the PC application. The received message is written to the display and then passed to the target EV3DAISY.
This program also waits until it receives a message, in its case from the EV3PROXY. The received message is written to the display as well. In case it receives the text string ‘motor’, it activates motor A on the second EV3 in the daisy chain for 3 seconds.
In the video below you see the demo alive: