Problem with Mesh Network - XBee Pro 868 - DigiMesh Proprietary

Good evening to everybody! It is an entire week that I am trying to solve this problem but i have found no solution.

I have a problem with a network made up of three XBee Pro 868 (Single Channel, Firmware version 1061) all with the protocol DigiMesh Proprietary.
There are 1 Coordinator(A) and 2 Standard Node(B,C). I have to send an API packet from C to A, passing through the node B (acting as a router) because Coordinator A and router C are out of range.

Here is a simple scheme: C -> B -> A

In this moment I am able to send API packet between two XBee 868 using the Andrew Rapp library for Arduino (https://github.com/andrewrapp/xbee-arduino) setting one Xbee as Coordinator and the other one as Standard Node. Moreover I noticed that if the API option (AO) is setted on 0 (XBee - DigiMesh 0x90) the functions used to read/send API packet are the same for a sketch which use a XBee Pro Series 2.
In this situation the settings on the XBee are:

Coordinator A

  • ID: 1993
  • CE: Coordinator [1]
  • AP: API with escapes [2]
  • AO: XBee DigiMesh - 0x90 [0]

Node C

  • ID: 1993
  • CE: Standard Node [0]
  • AP: API with escapes [2]
  • AO: XBee DigiMesh - 0x90 [0]

All the other settings (also DH and DL) have default values.

Moving away these two nodes I need a third XBee acting as a router. Here is the need of the Standard Node B.

Since DigiMesh Protocol is based on mesh (Peer-To-Peer) i thought that just inserting an XBee 868 with the setting similar to the Standard Node (C) the network would be built automatically, but this did not happen.

Node B

  • ID: 1993
  • CE: Standard Node [0]
  • AP: API with escapes [2]
  • AO: XBee DigiMesh - 0x90 [0]

After I tried to changing the API option to DigiMesh Explicit 0x91, but I got worse.

I tried to find some answer into manuals but there is no explanations about what i’m looking for.

Now i have some questions about this protocol…

  1. Why, if in DigiMesh there is only node type, I can choose if a node can be a Coordinator or a Standard Node or a End Node? What change between these “subtypes”?

  2. What is the difference between API options (AO) DigiMesh 0x90 and DigiMesh Explicit 0x91? Are these options important in order to have an “automatic” routing/network?

  3. Are there some tricks in settings in order to make a working Network? I read a lot of topics in forums (also Digi-Forum) in which a lot of people wrote that these XBee make a network just out-of-the-box and I can’t understand why in my case they act differently.

Thanks in advance for the help!

The XBee PRO 868 Signal Channel product does not support Mesh. It only supports Peer to peer, point to point, point to multi-point network typologies. So if you are trying to send data from Node A thru Node B to Node C, it will not work.

Thanks a lot for the answer!

Ok, so what i have understood is that into Peer-to-Peer there are Point-to-Point connections between nodes.

Therefore, in order to have a “router” node (Node B) between Node A and Node C, maybe i can try to menage the routing into the application level.
Could it be a possible solution?

As long as you are not using sleep mode and understand that you have a 10% transmit duty cycle limitation, you could implement it at the Application level.