Post by papa on Jun 26, 2016 23:55:57 GMT
In the thread, Star vs mesh topology, Jan 5, 2016 13:20:35 GMT -5 computourist said:
Hi gandalph ,
Interesting idea, but also very complex. Every node would need some routing mechanisme, duplicate message prevention, maybe queueing and a lot more.
It would be good to first think on the functionality you would want; all cpu-power and memory needed for the mesh network functions would be lost to end node -sensor- functions. Given the limited resources of the Arduino chip this is a serious limitation.
Another option to consider would be using multiple gateways. This leads to a multiple-star topology. The gateway acts as a standard MQTT client to the broker and nothing keeps you from connecting multiple gateways. Each gateway could have a separate network number. The topic naming scheme used allows the root of the MQTT-topic to be different for each gateway (i.e. /home/rfm_gwA, /home/rfm_gwB, etc). The MQTT-broker would deliver all messages to the proper Openhab destination.
This setup would be static (not dynamically adjusting to circumstances like a mesh network) but for the majority of purposes it would be adequate.
It sure is a lot easier to implement
A last option would be to use multiple gateways within the same radio network. If the link to an end node is lost another gateway would take over.
For transmission to the node Openhab could decide which gateway to use, based on error messages received. Reception of end node messages would mostty be in multiples. With proper programming Openhab should be able to cope with that..... This setup is dynamic in nature and has the benefit that no extra code is needed on the end nodes.
Hi gandalph ,
Interesting idea, but also very complex. Every node would need some routing mechanisme, duplicate message prevention, maybe queueing and a lot more.
It would be good to first think on the functionality you would want; all cpu-power and memory needed for the mesh network functions would be lost to end node -sensor- functions. Given the limited resources of the Arduino chip this is a serious limitation.
Another option to consider would be using multiple gateways. This leads to a multiple-star topology. The gateway acts as a standard MQTT client to the broker and nothing keeps you from connecting multiple gateways. Each gateway could have a separate network number. The topic naming scheme used allows the root of the MQTT-topic to be different for each gateway (i.e. /home/rfm_gwA, /home/rfm_gwB, etc). The MQTT-broker would deliver all messages to the proper Openhab destination.
This setup would be static (not dynamically adjusting to circumstances like a mesh network) but for the majority of purposes it would be adequate.
It sure is a lot easier to implement
A last option would be to use multiple gateways within the same radio network. If the link to an end node is lost another gateway would take over.
For transmission to the node Openhab could decide which gateway to use, based on error messages received. Reception of end node messages would mostty be in multiples. With proper programming Openhab should be able to cope with that..... This setup is dynamic in nature and has the benefit that no extra code is needed on the end nodes.
In that thread, I agreed that more than one gateway/RFM69 Network seemed like the most doable way to spread the communication load & expand the capability of this project.
However, I did not try to create more than one gateway & network until lately. I must admit that I stumbled around a bit with it, not knowing much about Mosquitto (MQTT). My struggle & how I finally got the last piece is documented here.
In this thread, I'll try to document the essentials of having more than one gateway & nework.