In September 2020, we discontinued the XBee-PRO 802.15.4 EU radio, incorporating to our portfolio the new XBee 3 802.15.4 EU, with very similar features, more link budget and full software and hardware retro-compatibility. From March 2021, we commercialize the XBee 3 802.15.4, which is equivalent to the older radio XBee-PRO 802.15.4.
There are two radio versions: the general XBee 3 802.15.4 and the XBee 3 802.15.4 EU, which was specifically designed for Europe.
XBee 3 802.15.4 EU
XBee 3 802.15.4
Rest of the world
*To determine your range, perform a range test under your operating conditions*
To determine the type of the module it is necessary to check its bottom. The European version part-number ends with 'J'. The part-number location can be seen in the pictures below this lines.
The frequency used is the free band of 2.4 GHz, using 12 channels with a bandwidth of 5 MHz per channel.
The 802.15.4 modules comply with the standard IEEE 802.15.4 which defines the physical level and the link level (MAC layer). The XBee modules add certain functionalities to those contributed by the standard, such as:
Node discovery: certain information has been added to the packet headers so that they can discover other nodes on the same network. It allows a node discovery message to be sent, so that the rest of the network nodes respond indicating their data (Node Identifier, @MAC, @16 bits, RSSI).
Duplicated packet detection: This functionality is not set out in the standard and is added by the XBee modules.
With a view to obtain frames totally compatible with the IEEE802.15.4 standard and enabling inter-operability with other chipsets, the
xbee802.setMacMode(m) command has been created to select at any time if the modules are to use a totally compatible heading format, or conversely enable the use of extra options for node discovery and duplicated packets detection.
Encryption is provided through the AES 128b algorithm. Specifically through the AES-CTR type. In this case the Frame Counter field has a unique ID and encrypts all the information contained in the Payload field which is the place in the 802.15.4 frame where data to be sent is stored.
The way in which the libraries have been developed for the module programming makes encryption activation as simple as running the initialization function and giving it a key to use in the encryption process.
Extra information about the encryption systems in 802.15.4 and ZigBee 3 sensor networks can be accessed in the Development section of the Libelium website, specifically in the document: "Security in 802.15.4 and ZigBee networks".
The classic layout of this type of network is star topology, as the nodes establish point to point connections with brother nodes through the use of parameters such as the MAC or network address.
Regarding the energy section, the transmission power can be adjusted to several values:
XBee 3 802.15.4
XBee 3 802.15.4 EU
Figure: Transmission power values
This module can be connected to both SOCKET0 and SOCKET1 on 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 SOCKET0 and SOCKET1.
Selecting SOCKET0 (both are valid):
In the case two XBee-802.15.4 modules are needed (each one in each socket), it will be necessary to create a new object from WaspXBee802 class. By default, there is already an object called xbee802 normally used for regular SOCKET0.
In order to create a new object it is necessary to put the following declaration in your Waspmote code:
WaspXBee802 xbee802_2 = WaspXBee802();
Finally, it is necessary to initialize both modules. For example,
xbee802 is initialized in SOCKET0 and xbee802_2 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.