espressif / esp-mesh-lite

A lite version Wi-Fi Mesh, each node can access the network over the IP layer.
135 stars 23 forks source link

What is Maximum No of layer or Hops can be achieved? (AEGHB-664) #90

Closed mightChamp closed 5 months ago

mightChamp commented 6 months ago

I have 1000 nodes which are in a line(Street light) 50-100 meter apart. So, I want to make sure that in mesh I can connect to last one node. Data Speed is not issue, if node get data in 30-60 seconds, it will be ok. Will this system Use ESP32-C6 as Gateway, as well as for Nodes.

tswen commented 6 months ago

Currently, Mesh Lite supports up to 15 layers. Additionally, it is recommended to limit the number of nodes within a single mesh network to under 100.

mightChamp commented 6 months ago

Can ESP-MDF be used for my system(1000 nodes which are in a line(Street light) 50-100 meter apart)?

xcguang commented 5 months ago

Will you directly connect to the last node for communication? Is the data both downlink and uplink, or only downlink?

mightChamp commented 5 months ago

@xcguang All node will send data to gateway, So last 1000th Node(50Km apart from gateway) will send data to gateway, latency is not issue, if took time, it will be ok, but data must be reached to gateway. and both uplink and downlink should work with 1000th node from gateway.

grodansparadis commented 5 months ago

ESPNOW would be great for this use-case. Checkit out.

mightChamp commented 5 months ago

@grodansparadis ESPNOW can support mesh?

grodansparadis commented 5 months ago

No it is not mesh, but you can easily handle a use-case like yours.

More than one node will receive the message on each send so you get a bit of free redundancy there. If you don't want messages to traverse backwards use a numeric id on the node and just do resend on nodes with higher id or similar..

If there is line of sight between nodes you probably get a message throuigh to nodes 1000 meter away.

mightChamp commented 5 months ago

@grodansparadis Thanks for ESP-NOW Suggestion, many repo are there which implements Mesh Protocol. So will study it.

mightChamp commented 5 months ago

My System is as follows:

So, Based on above could you suggest best Technology to use : Zigbee/ESP-MDF/ESP-Mesh-Lite/PainlessMesh/ESP-NOW/Openthread

grodansparadis commented 5 months ago

ESP-NOW would solve that scenario easy and at a low cost. The others to of course but at a higher complexity. I'm a fan of KISS (Keep It Simple Stupid) . :) I have never tested PainlessMesh but OpenThread is nice.

xcguang commented 5 months ago

Mesh-Lite supports downlink data communicate on esp-now, which api is esp_mesh_lite_espnow_send. But so many nodes, maybe pure esp_now will be better.

mightChamp commented 5 months ago

Hello to all,

In my all research, I reached at conclusion that 1000 node is not feasible in single mesh. So, I am changing my implementation to minimal requirement of 100 nodes in a single mesh of street lights, which is as follow:

So, Based on above could you suggest best Technology to use : Zigbee/ESP-MDF/ESP-Mesh-Lite/PainlessMesh/ESP-NOW/Openthread/BLE-Mesh

xcguang commented 5 months ago

hello @mightChamp, could you give me a mail, I'd like to know more about your project.

mightChamp commented 5 months ago

@xcguang Above is only my requirement, Could you suggest which technology form Zigbee/ESP-MDF/ESP-Mesh-Lite/PainlessMesh/Openthread/BLE-Mesh, would be best fit in Street light line topology mesh communication.

xcguang commented 5 months ago

Maybe esp_now still is better.

mightChamp commented 5 months ago

esp-now is not an official mesh support, So I am afraid to use it. And now I am ready to compromise on number of nodes and communication delay in single mesh. So what do you suggest best.

xcguang commented 5 months ago

If the layer is less than 15, I will say ESP-Mesh-Lite should meet your requirements as discussed in https://github.com/espressif/esp-mesh-lite/issues/96, however, we'd like to evaluate it.

To be honest, the others mesh technology(Zigbee/ESP-MDF/PainlessMesh/Openthread/BLE-Mesh) may work well in your scenario, but I did not test them, so I can not guarantee it.

mightChamp commented 5 months ago

@xcguang thanks for your response. Last thing I want to know that, Can We use two root nodes in mesh? As from documentation, word Normally is used, So I am asking for possibility to use 2 or more root nodes. image

xcguang commented 5 months ago

Yes, it supports multiple root nodes