Mesh network
Powerful way to route observations. Range is extended by allowing data to hop node to node and reliability is increased by “self healing”, the ability to create alternate paths when one node fails or a connection is lost. It has the following advantages:
- Network setup is simpler
- More flexibility to expand the network
- Increased reliability in environments where routers may come and go due to interference or damage
Contents
Digi XBee radio configuration
Below you will find the required configuration for the XBee radios used in the M2MBridge Mesh Network. Using Digi XCTU tool you need to do the following:
- Set the baud rate to 230400 [8]
- Set the API enable setting to API mode without Escapes [1]
- Make sure that all bridges participating in the same mesh network share the same network identifier. Multiple mesh network can operate in the same zone as long they have different Network IDs.
Assumptions
- the XBee 900HP radio has been configure with digimesh firmware https://www.digi.com/support/productdetail?pid=5576&type=firmware
- the XBee 900HP radio must be connected to /dev/ttyUSB0 with this configuration: 230400/8/N/1/N - API 1
M2MBridge Configuration
Once the initial configuration of the XBee device is done and the XBee is attached to the device that is running the M2MBridge service, a mesh network configuration needs to be set up. You can find more information about these configuration settings in this page
Mesh Network autodiscovering
The autodiscovering of nodes in a M2MBridge network of XBee devices starts in the bootstrap process of the M2MBridge service if a mesh network was configured. There are two different actors in a M2MBridge mesh network:
- Master
- Node
The master is in charge of organizing the discovering and distributing information about the known nodes in the network. They start listening for messages from other nodes and enrich the collection of known nodes. Then they broadcast this information so that every other node knows about all the available peers. This way, a P2P communication is established and each node in the network is capable of communicating with every other.
A node, on the other hand, starts broadcasting its information at bootstrap until there is a master ready for listening that replies back with a collection of known nodes where its information is contained. This way, it guarantees that the master knows of its existence and eventually, all the other nodes as well.
There is no strict order for starting up nodes in a M2MBridge mesh network. No matter what role a node plays, it will always make its best effort guaranteeing that every other node knows of its existence.