The XBee-802.15.4 modules can use an optional firmware (DigiMesh) so that they are able to create mesh networks instead of the usual point to point topology. This firmware has been developed by Digi to allow modules to sleep, synchronize themselves and work on equal terms, avoiding the use of router nodes or coordinators that have to be permanently powered on. Characteristics of the implemented protocol:
Self Healing: any node can join or leave the network at any moment.
All nodes are equal: There are no father-son relationships.
Silent protocol: reduced routing heading due to using a reactive protocol similar to AODV (Ad hoc On-Demand Vector Routing).
Route discovery: instead of keeping a route map, routes are discovered when they are needed.
Selective ACKs: only the recipient responds to route messages.
Reliability: the use of ACKs ensures data transmission reliability.
Sleep Modes: low energy consumption modes with synchronization to wake at the same time.
The classic topology of this type of network is mesh, as the nodes can establish point to point connections with brother nodes through the use of parameters such as the MAC or network address or by making multi-jump connections.
2.405 – 2.465 GHz
To determine your range, perform a range test under your operating conditions*
The XBee-PRO DigiMesh modules use the same hardware as the XBee-PRO 802.15.4. So it is possible to use one protocol or another by changing the firmware. The user must keep in mind that depending on the regulations applied the transmission power should be set to the correct value. For instance, ETSI defines a maximum level of 10 dBm transmit power output.
The process of changing the firmware can be done with a Gateway and Digi's X-CTU program. See our X-CTU tutorials:
The XBee DigiMesh modules are based on the standard IEEE 802.15.4 that supports functionalities enabling mesh topology use.
This module can be connected to both SOCKET0 and SOCKET1 placed in the Waspmote board.
In order to connect the module to the SOCKET1, the user must use the Expansion Radio Board.
The Expansion Board allows to connect 2 communication modules at the same time in the Waspmote sensor platform. This means a lot of different combinations are possible using any of the wireless radios available for Waspmote: 802.15.4, ZigBee 3, DigiMesh, 868 MHz, 900 MHz, LoRa, WiFi, NB-IoT / Cat-M, 4G, Sigfox, LoRaWAN, Bluetooth Pro, Bluetooth Low Energy and RFID/NFC. Besides, the following Industrial Protocols modules are available: RS-485/Modbus and CAN Bus.
Some possible combinations are:
LoRaWAN - 4G
802.15.4 - Sigfox
868 MHz - RS-485
NB-IoT / Cat-M - WiFi
DigiMesh - 4G
NB-IoT / Cat-M - RFID/NFC
WiFi - 4G
CAN Bus - Bluetooth
In the next photo you can see the sockets available along with the UART assigned. On one hand, SOCKET0 allows to plug any kind of radio module through the UART0. On the other hand, SOCKET1 permits to connect a radio module through the UART1.
The API provides a function called
ON() in order to switch the XBee module on. This function supports a parameter which permits to select the SOCKET. It is possible to choose between
Selecting SOCKET0 (both are valid):
In the case 2 XBee-DigiMesh modules are needed (each one in each socket), it will be necessary to create a new object from
WaspXBeeDM class. By default, there is already an object called
xbeeDM normally used for regular
In order to create a new object it is necessary to put the following declaration in your Waspmote code:
WaspXBeeDM xbeeDM_2 = WaspXBeeDM();
Finally, it is necessary to initialize both modules. For example,
xbeeDM is initialized in
SOCKET1 as follows:
The rest of the functions are used the same way as they are used with older API versions. In order to understand them we recommend to read this guide.