Add support for ESP mesh network

First let me express how much I appreciate this amazing software and all the contributors that have created it!

I would like to see support added for ESP mesh networking. The use case is for a series of controllers that extend beyond the reach of the main WiFi access point. For instance a property where the WiFi router is located in the house and there are a number of ESP controllers running WLED in the back yard extending away from the house and out of the range of the WiFi router. The user’s device that is connected to the house WiFi should be able to see and control the WLED controllers at the back of the yard which are connected to a WiFi mesh formed by the other ESP controllers. Ideally E1.31 streaming to WLED mesh nodes would be supported as well.

From my reading into the documentation of ESP-MESH, and painlessMesh, it’s apparent to me that these “WiFi” mesh networks do not provide TCP/IP addressing for the nodes in the mesh network, therefore the normal networking functionality of WLED will not work without modifying the messaging to work over the mesh networking protocol.

Please let me know if my understanding of the ESP mesh networking is correct and if this is a feasible feature request.

Thanks!
Nate

You should direct the request to ESP core programmers, not WLED.

If you want ESP (with WLED) to provide mesh network, it can barely handle LED updates. It does not have resources to handle mesh network.

I’m not asking WLED devs to build TCP/IP networking into the ESP mesh network. Yes, that would be very complex and probably asking too much of the hardware. ESP chips already have wireless mesh networking capabilities and code libraries. I believe painlessMesh even natively supports json messaging within the mesh. This is not something that WLED devs would need to build from the ground up. I’m asking if that mesh networking communication layer can be supported by WLED. It could even be a separate build if supporting the TCP/IP stack and ESP-MESH is too heavy to be combined in a single build… although we would need a build that would act as a bridge to send messages between the MESH-only nodes and the TCP/IP network…

I’m planning on adding ESP-NOW sync support in parallel with the existing UDP sync. ESP-NOW is a connectionless WiFi protocol that can work over longer distances than normal WiFi as there’s no connection to maintain. It’s point to point, but it would be easy to have receivers repeat the sync message to extend the range. More here: Masive show - #18 by embedded-creations

This would be one-way communication only, so maybe not what you’re looking for.

Thanks for the response! I like the sound of your proposed addition. I just started playing around with sound reactive builds and am having fun combining them with mirrored segments.

What I’m really looking for is a way to control LEDs at an extended range from a device/control program. Ideally I would like to be able to send DMX ArtNet E1.31 from my show control device to a number of ESP devices that are distributed beyond the range of a WiFi router. Do you think that can be done by repeating signal/messages over ESP-NOW?

Maybe it could be done, but it’s beyond the scope of what I’m planning. ESP-NOW messages are small and I don’t know what limits there are on the bandwidth. Perhaps you could build on top of my ESP-NOW Usermod once I release it. You’d likely want to add a new Bus similar to BusNetwork but sending data over ESP-NOW instead. I don’t know how feasible that is with the existing WLED Usermod API