How to implement XBEE mesh network with multihop capabilties

Hi all,

I am new to using Zigbee. I have xbee Pro s2c modules for drone-to-drone communication application. My idea is with the network is 2 nearby drones can continuously communicate via a direct link(single hop) in the broadcast mode. Whenever one drone is not reachable to another it should be able to send the information using the multihop network, so how to implement this mesh-based multihop network. Is AODV is used in the backend to determine the routes for multihop, or do we need to code, since the network is completely dynamic and even if one node fail, the routing should happen via the other node in the network by maintaining guaranteed message transmission with self-healing and self-reconfiguring mechanism.
My network is as shown in the above diagram ignore the dotted lines.How to implement such network in the xbee modules there is no such central co-ordinator every node can be router node.

For a mesh network to work, any two modules must be in each of each other at all times. Regardless of how many nodes are in the network.

In a small network of under 50 nodes, AODV will be the best option as it is already implemented within the radios firmware. All you need to use is the use the proper settings for Broadcast radius and addressing. The radios will forward the data on as needed till the BH value is reached.

Hi @mvut ,

Thanks for the reply. Can we implement the same multihop network without having the co-ordinator In the network, can we use only router nodes to implement the multihop network?

No, Not in a Zigbee mesh network. In a Zigbee mesh, the Coordinator is required to establish the network. If you are ok with the use of a proprietary mesh, then I would suggest looking at the Digi Mesh firmware options for the XBee 3 modules.

Hi ,

I want to communicate between 3 xbee pro devices, i.e., from A<–>B<–>C, and every node should work like bidirectional so that it can send data to all adjacent nodes and can also receive data that are directly connected. If A wants to send information to C, it should route through B and vice-versa. Is it possible to have this multi-hop network with all A, B, and C configured in router mode? If it’s possible, can you please help me with the configuration settings of each device I need to make to achieve this network?

If I need to have definitely one co-ordinator within the network, I want to set it as :
A- Coordinator B- Router C- Router
As seen in the previous post, I did the following configuration

–>Set the Coordinators DL and DH to C’s SL and SH
–>C will automatically point to the Coordinator (DL/DH to 0)
–>What settings do I need to keep for B since B can send data to C as well as to A what DL and DH should I set for B, what settings do I need to achieve this

Hi @mvut ,
I am using the Xbee pros2c module.Can you please check my previous question and also I have a few questions to clarify:

  1. If there are multiple routers connected to the co-ordinator as shown in the figure, what DL and DH address for the co-ordinator should I assign since the co-ordinators can see multiple routers, also do I need to change any extra configuration apart from DL and DH, what should we set the BH(broadcast radius) and NH(number of hops) exactly and what extra settings do I need to change for co-ordinator.
  2. What should be the settings for each router, what is the DL and DH addresses should I add, should I assign DL and DH address of every router to the co-ordinator SL and SH address and what extra configuration should I make for routers like BH or NH or any other settings what should I set for every router.
  3. Let’s say if my link between the co-ordinator and router 4 fails or the link is down, how my network is reconfigured or self-healed again, and how can the co-ordinator can contact to router 5 and router 6 if router 4 is down?
  4. How can every router here get the information from all other routers? Let’s say I want Router 8 information to be sent to all other routers, if I set the router 8 in the broadcast mode it can only send the information to the nearest router(Router 1), and Router 8 cannot able to send the information to Router 2 ,Router 3 or any other router. My aim is to have every router information should be available with all other routers, if they are connected directly using a direct transmission or using multihop if not connected by a direct link.

Please help me in resolving the issues, I am a beginner in this and need more clarifications in this any help in this regard is appreciated. Thank you in advance.

The DL/DH functions on a router or coordinator tells the module what address to send the Data from the UART to. In an application where Nodes A, B and C exists, and A and C are out of range of each other but are in range of B, The addressing functions only effect the data being sent over the Serial port.

So if A is set to the SL/SH of Node C, then Node B will forward the data on automatically to Node C. The same holds true with Node C. That is, if Node C is sending data to the DL/DH for Node A, Node B will forward it on.

If the serial data from Node B wants to send data to either A or C, it is a matter of setting the DL and DH functions to either the SL/SH of Node A or C or to the Broadcast address for both to receive it.

In your description above, as long as Node 1 and 7 or 3 and 4 or even 3 to 7 or 1 to 4 are in range of each other, then it does not matter if the Coordinator is there or not or even busy as the data can be forwarded on. Unless the data is for the Coordinator.

Thank you @mvut, for the clarifications.