letscontrolit / ESPEasy

Easy MultiSensor device based on ESP8266/ESP32
http://www.espeasy.com
Other
3.26k stars 2.21k forks source link

Feature request: WiFi mesh plugin #2001

Open s0170071 opened 5 years ago

s0170071 commented 5 years ago

I would love a plugin which enables some simple wifi mesh capability. Just for the occasional IoT traffic. I have ESP nodes all over the house, but some of them sit in a very weakly covered area. One or two repeater nodes would do the trick. There are some similar projects around, they just need to be "pluginified".

image image source: https://github.com/martin-ger/esp_wifi_repeater

ps: if the crowd starts cheering now, I may be tempted to do that myself...

giig1967g commented 5 years ago

count on my cheer!!!

TD-er commented 5 years ago

I would also love to see it :) It is already present in the core libraries, but we may need to think about how to configure it. This isn't something like a plugin, nor a controller, so it will be at the heart of the configuration.

Things to consider:

That's just a few things I can think of right now. But I like the idea and it was already on our to-do list :) Only not on the "right now" list.

uzi18 commented 5 years ago

https://github.com/esp8266/Arduino/tree/561426c0c77e9d05708f2c4bf2a956d3552a3706/libraries/ESP8266WiFiMesh

s0170071 commented 5 years ago

What do you think about ESPnow ? Its a proprietary protocol, even below UDP. There is a discussion thread where a user claims to wake a node from deep sleep, boot, read a bmp280, TX the data and go back to sleep within 40ms.

TD-er commented 5 years ago

ESPnow is also very nice, but serves a completely different purpose.

But it is indeed great for dumping sensor data from a battery powered one to one net powered. Reading a BMP280 in 40 msec is a bit optimistic (will result in big error), but indeed it is possible to connect and send a message in no-time. So the WiFi radio has to be on for only a very short time.

s0170071 commented 5 years ago

It would serve my purpose, which is to cope with weak wifi coverage in my house. The nodes without direct wifi access could send their data to a node within wifi range. Maybe that solution does not interfere so much with all the wifi code we already run.

TD-er commented 5 years ago

ESPnow cannot be used to route traffic. ESPnow is only between nodes. So we could add it to the ESPeasy p2p layer, but not for letting other controllers communicate to an otherwise unreachable computer in the network. That's what mesh is for.

s0170071 commented 1 year ago

Hi all, its been a while. I have done some recent digging and it appears like the Espressif folks have shared some of our concerns.

Now, ESPNow can

From the top of my head it looks more like the slaves need a controller plugin "ESPNow" and the Master/Gateway part has to be more tightly integrated into the wifi code so it does not interfere with it.