Page 1
XBee® Zigbee® Mesh Kit Radio Frequency (RF) Module User Guide...
Page 2
Information in this document is subject to change without notice and does not represent a commitment on the part of Digi International. Digi provides this document “as is,” without warranty of any kind, expressed or implied, including, but not limited to, the implied warranties of fitness or merchantability for a particular purpose.
Page 3
Contact Digi technical support: Digi offers multiple technical support plans and service packages. Contact us at +1 952.912.3444 or visit us at www.digi.com/support. Feedback To provide feedback on this document, email your comments to techcomm@digi.com Include the document title and part number (XBee® Zigbee® Mesh Kit, 90001942-13 D) in the subject line of your email.
Contents Change the firmware protocol Kit contents Introduction to XBee modules Zigbee in a nutshell Mesh networking Zigbee stack layers Device types Get started with XBee Zigbee Assemble the hardware Plug in the XBee module How to unplug an XBee device Download and install XCTU Example: basic communication Step 1: Requirements...
Page 5
XBee transparent mode XBee transparent mode in detail What have you learned? Extend the basic communication example Command mode AT commands Use AT commands XBee API mode API mode in detail Advantages of API mode API frame structure Start delimiter Length Frame data Checksum...
Page 6
Step 7: Set the port names and launch applications Step 8: Transmit data over the network Step 9: Section summary of wireless data transmission Step 10: Do more with wireless data transmission Low power and battery life Low power devices and battery life A real world scenario Design considerations for applications using sleep mode Sleep modes Pin sleep...
Page 7
Example: send digital actuations Step 1: Requirements Step 2: Connect the components Step 3: Configure the XBee modules Step 4: Create a Java project Step 5: Link libraries to the project Step 6: Add the source code to the project Step 7: Set the port name and launch the application Step 8: Section summary of sending digital actuations Step 9: Do more with sending digital actuations Security and encryption...
Page 8
Endpoints Binding Node descriptors Zigbee Cluster Library Zigbee Device Object (ZDO) Explicit Addressing frames Explicit Addressing Command frame Explicit Rx Indicator frame Data payload format Receive Zigbee commands and responses Examples: explicit data and ZDO Example: obtain the neighbor table using the XBee Java Library Example: obtain the neighbor table using the XBee Java Library Large networks routing Many-to-one routing...
Page 9
Frequency Radio communication protocols Where to buy XBee devices Find products from Digi and Digi distributors Find Digi products through resellers XCTU walkthrough XCTU overview Application working modes Add a module Read settings Change settings Save settings Real projects with XBee modules...
Page 10
XBee SMT Grove Development Board User LED and User button User LED and User Button connection to DIO4 On/sleep LED XBee THT Grove Development Board On/Sleep LED XBee SMT Grove Development Board On/Sleep LED On/sleep LED connection to DIO9 Potentiometer XBee THT Grove Development Board Potentiometer XBee SMT Grove Development Board Potentiometer XBee THT Grove Development Board I2C bus...
Page 11
XBee Zigbee Mesh Kit User Guide Digi’s XBee Zigbee Mesh Kit is a great way to learn how to use XBee RF modules for device connectivity and mesh networking. Starting with very simple examples, we provide step-by-step guidance as you assemble the kit components to create reliable device communications, working control systems, and sensing networks with incredible battery life and robust security.
This guide provides step by step examples, and some use the Java programming language. These examples are designed to be easy for anyone to use, and those with some programming background can extend them. Change the firmware protocol Although the kit comes pre-loaded with Zigbee firmware, you can change the RF protocol used by the XBee3.
Kit contents Verify that your kit contains the following components. Then get started by learning about the XBee modules. Note Some versions of the S2C kit contain three XBee Through-hole technology (THT) Grove Development boards and three XBee THT modules instead of two THT and one Surface-mount technology (SMT).
Kit contents XBee3 Zigbee Zigbee Kit Kit Qty. Qty. Part XBee stickers XBee Meshkit modules come in two hardware footprints: through-hole and surface mount. Through-hole technology (THT) XBee modules include the 20-pin socket and require holes for mounting the component on the printed circuit board (PCB), although it is common for the carrier board to contain a female socket.
Introduction to XBee modules XBee modules are small radio frequency (RF) devices that transmit and receive data over the air using radio signals. Wireless capability is essential whenever you want to place sensors where no cables can be installed, or where such tethering is undesirable. XBee devices are highly configurable and support multiple protocols, which lets you choose the right technology for your application—whether you want to set up a pair of radios to swap data or design a large mesh network with multiple devices.
Zigbee in a nutshell Zigbee is an open global standard for low-power, low-cost, low-data-rate, wireless mesh networking based on the IEEE 802.15.4 standard. It represents a network layer above the 802.15.4 layers to support advanced mesh routing capabilities. The Zigbee specification is developed by a growing consortium of companies that make up the Zigbee Alliance.
Zigbee in a nutshell Zigbee stack layers With mesh networking, the distance between two nodes does not matter as long as there are enough nodes in between to pass the message along. When one node wants to communicate with another, the network automatically calculates the best path.
Zigbee in a nutshell Device types For more information about the Zigbee stack layers, read the Zigbee communication in depth section. Device types Zigbee defines three different device types: coordinator, router, and end device. Coordinator Zigbee networks always have a single coordinator device. This device: Starts the network, selecting the channel and Distributes addresses, allowing routers and end devices to join the network.
Page 20
Zigbee in a nutshell Device types Cannot sleep and must be powered on at all times. May have multiple router devices in a network. End device An end device is essentially a reduced version of a router. This device: Can join existing networks and send and receive information, but cannot act as messenger between any other devices.
Follow these steps to connect the XBee devices to the boards included in the kit: 1. Plug one XBee Zigbee Mesh Kit module into the XBee Grove Development Board. Make sure the board is NOT powered (either by the micro USB or a battery) when you plug in the XBee module.
Get started with XBee Zigbee Assemble the hardware For XBee SMT modules, align all XBee pins with the spring header and carefully push the module until it is hooked to the board. 2. Once the XBee module is plugged into the board (and not before), connect the board to your computer using the micro USB cables provided.
XBee Configuration and Test Utility (XCTU) is a multi-platform program that enables users to interact with Digi radio frequency (RF) devices through a graphical interface. The application includes built-in tools that make it easy to set up, configure, and test Digi RF devices.
Get started with XBee Zigbee Example: basic communication 3. Make sure you are in Configuration working mode. Step 3: Add the XBee modules to XCTU Use XCTU to find your XBee modules and add them to the tool. 1. Click Discover radio modules from the toolbar. 2.
Step 4: Configure the XBee modules To transmit data wirelessly between your XBee modules, you must configure them to be in the same network. Remember that in Zigbee one device must be the coordinator, and the rest can be routers or end devices. In this case, you will have one router and one end device configured to send data to the coordinator.
Page 26
Note The dash (—) in the table means to keep the default value. Do not change the default value. 3. Write the settings of all XBee modules with the Write radio settings button at the top of the Radio Configuration section.
Get started with XBee Zigbee Example: basic communication Step 5: Check the network Once you have configured your XBee modules, use XCTU to verify that they are in the same network and can see each other. 1. Click the Discover radio nodes in the same network button of the first radio module.
Page 28
Get started with XBee Zigbee Example: basic communication 1. If XCTU is not already running, open it. 2. Switch to the Consoles working mode. This working mode of XCTU allows you to communicate with the radio modules in the devices list. XCTU loads a list of consoles in the working area—one for each module of the devices list, sorted in a tabbed format.
Page 29
Get started with XBee Zigbee Example: basic communication 7. Use the Console log section to type messages. Type something like Hi, this is XXX! in the ROUTER or END_DEVICE console. The XBee sends every character to COORD and XCTU displays those characters in the corresponding device console. To disconnect, click the Close serial connection button on for each console.
How XBee devices work This section describes how XBee devices communicate, and introduces two communication methods - wireless and serial communication. Both communication types are important in the function of XBee devices. How XBee devices communicate Wireless communication Serial communication XBee®...
How XBee devices work How XBee devices communicate How XBee devices communicate XBee devices communicate with each other over the air, sending and receiving wireless messages. The devices only transfer those wireless messages; they cannot manage the received or sent data. However, they can communicate with intelligent devices via the serial interface.
32-bit values: the high part, SH, and the low part, SL. The high part is usually the same for all XBee devices (0013A200), as this is the prefix that identifies Digi devices. The low part is different for every device.
How XBee devices work Serial communication Channels For the devices to be able to communicate, they must operate in the same frequency. XBee S2C/S2D and XBee3 devices support all 16 channels defined in the 802.15.4 physical layer, with the following exceptions: Channel 26 has reduced maximum output power on the S2C/S2D parts (~3dBm).
How XBee devices work Serial communication If you plug the modules into the boards and connect them to a computer or microcontroller using the micro USB cables, you can configure the XBee modules, test the connection, and send/receive data to/from other modules. If you plug the modules into the boards and connect them to a battery, the XBee modules work autonomously.
How XBee devices work Serial communication To learn more about API mode, see XBee API mode. Comparison of transparent and API modes XBee devices can use transparent or API operating mode to transmit data over the serial interface. You can use a mixture of devices running API mode and transparent mode in a network. The following table provides a comparison of the two modes.
Page 36
How XBee devices work Serial communication Transparent operating mode API operating mode Disadvantages: Disadvantages: Cannot set or read the Interface is more complex; data is structured in configuration of remote XBee packets with a specific format. devices in the network. More difficult to support;...
XBee transparent mode This section provides additional detail about XBee transparent mode. For a comparison of transparent and API modes, see Serial communication. XBee transparent mode in detail Command mode XBee® Zigbee® Mesh Kit...
XBee transparent mode XBee transparent mode in detail XBee transparent mode in detail When operating in transparent mode, an XBee module acts as a serial line replacement. All data received through the serial input is immediately transmitted over the air. When the XBee module receives wireless data, it is sent out through the serial interface exactly at it is received.
XBee transparent mode Command mode There are two different operating modes: Transparent and API (Application Programming Interface). Transparent mode can be used as a serial cable replacement. What is sent through an XBee serial input is wirelessly received by the destination module and then sent out to its serial output exactly as it was transmitted from the first XBee (and vice versa).
XBee transparent mode Command mode When you want to read or set any setting of the XBee module, you must send it an AT command. Every AT command starts with the letters "AT" followed by the two characters that identify the command being issued and then by some optional configuration values.
Page 41
XBee transparent mode Command mode XCTU simplifies the configuration of the XBee modules so you don't have to use command mode or AT commands to configure them. However, you can always configure an XBee module through any serial port terminal application or the XCTU console. The following example demonstrates how you can perform some of the configuration steps outlined in the first lab but via command mode and using AT commands: 1.
XBee API mode This section provides additional detail about API mode and lets you put your knowledge into practice. For a comparison of transparent and API modes, see Serial communication. API mode in detail API frame structure Supported frames Frame examples Operating mode configuration XBee frame exchange XBee®...
XBee API mode API mode in detail API mode in detail API mode provides a structured interface where data is communicated through the serial interface in organized packets and in a determined order. This enables you to establish complex communication between devices without having to define your own protocol.
Page 44
XBee API mode API mode in detail Obtain the signal strength of any received packet. Perform advanced network management and diagnosis. Perform advanced functions such as remote firmware update, ZDO, ZCL and so on. XBee® Zigbee® Mesh Kit...
API frame structure The structured data packets in API mode are called frames. They are sent and received through the serial interface of the device and contain the wireless message itself as well as some extra information such as the destination/source of the data or the signal quality. When a device is in API mode, all data entering and leaving the module through the serial interface is contained in frames that define operations or events within the device.
Frame data Start Frame delimiter Length type Checksum Data Single 0x7E Frame-type-specific data frame byte type Note MSB represents the most significant byte, and LSB represents the least significant byte. Frame type is the API frame type identifier. It determines the type of API frame and indicates how the information is organized in the Data field. Data contains the data itself.
Page 47
1. Add all bytes excluding the start delimiter and the length: 17 + 01 + 00 + 13 + A2 + 00 + 40 + AD + 14 + 2E + FF + FE+ 02 + 44 + 42 = 481 2.
(AO 0) 0x92 IO Data Sample Rx Sends wirelessly received IO data out the serial interface Indicator 0x94 XBee Sensor Read Sends wirelessly received sensor sample (from a Digi 1-wire Indicator sensor adapter) out the serial interface XBee® Zigbee® Mesh Kit...
XBee API mode Frame examples Frame name Description 0x95 Node Identification Displays received node identification message when explicit mode Indicator is disabled (AO = 0) 0x97 Remote AT Command Displays the response to previous remote AT command requests Response 0x98 Extended Modem Status Displays what is happening during the association when Verbose Join is enabled (DC10) 0xA0 Over-the-Air Firmware Provides a status indication of a firmware update transmission...
Page 50
XBee API mode Frame examples Frame fields Offset Example Description 0x10 - Indicates this is a Transmit Request Frame type Frame 0x10 frame data Identifies the data frame for the host to Frame ID 0x01 correlate with a subsequent Transmit Status (0x8B) frame.
Page 51
XBee API mode Frame examples Frame fields Offset Example Description Bitfield of supported transmission options Options 0x00 Supported values include the following: 0x01 - Disable retries 0x20 - Enable APS encryption (if EE = 0x40 - Use the extended transmission timeout for this destination All other bits must be set to 0.
Page 52
XBee API mode Frame examples Frame fields Offset Example Description Start 0x7E delimiter MSB 1 Number of bytes between the Length 0x00 length and the checksum LSB 2 0x17 XBee® Zigbee® Mesh Kit...
Page 53
XBee API mode Frame examples Frame fields Offset Example Description 0x91 - Indicates this is a Explicit Rx Frame type Frame 0x91 Indicator frame data 64-bit address of sender 64-bit Source MSB 4 0x00 Address Set to 0xFFFFFFFFFFFFFFFF 0x13 (unknown 64-bit address) if the sender's 64-bit address is unknown 0xA2...
XBee API mode Operating mode configuration Frame fields Offset Example Description Bitfield of supported transmission Receive 0x01 options Options Supported values include the following: 0x01 - Packet Acknowledged 0x02 - Packet was a broadcast packet 0x20 - Packet encrypted with APS encryption 0x40 - Packet sent with extended timeout enabled Received Data...
Page 55
XBee API mode Operating mode configuration Note Devices working in Transparent mode and modules set to API non-escaped (API 1) operation can communicate with devices configured to work in API escaped mode (API 2). XBee® Zigbee® Mesh Kit...
API escaped operating mode (API 2) API non-escaped (API 1) operation relies solely on the start delimiter and length bytes to differentiate API frames. If bytes in a packet are lost, the length count will be off, and the next API frame (packet) will also be lost. API escaped (API 2) operation involves escaping character sequences in an API frame in order to improve reliability, especially in noisy RF environments.
Page 57
1. Insert a 0x7D. 2. XOR the byte 0x13 with 0x20: 13 ⊕ 20 = 33. This is the resulting frame. Note that the length and checksum are the same as the non-escaped frame. Frame Data Start Delimiter Length Checksum Frame type Data 7D 33 01 00...
XBee API mode XBee frame exchange XBee frame exchange Now that you understand how API mode works and how API frames are structured, the next step is to learn about how frames are exchanged when you perform certain common operations such as configuring an XBee module or transmitting wireless data.
XBee API mode XBee frame exchange 1. The intelligent device (host) sends a Transmit Request (0x10) or an Explicit Addressing Command Frame (0x11) to XBee A through the serial input to transmit data to XBee B. 2. XBee A wirelessly transmits the data in the frame to the module configured as destination in the same frame;...
XBee API mode XBee frame exchange 1. The intelligent device (host) sends a Remote AT Command Request (0x17) to XBee A through the serial input to configure the remote XBee B. 2. XBee A wirelessly transmits the AT Command in the frame to the module configured as destination in the same frame;...
XBee API mode XBee frame exchange 3. The remote XBee B receives the wireless data and sends out through the serial output a Receive Packet (0x90) or an Explicit Rx Indicator (0x91). This frame contains the data received over the air and the source address of the XBee that transmitted it, in this case XBee A.
Page 62
XBee API mode XBee frame exchange Step 3: Generate the AT command frame These instructions describe how to generate an AT command frame using the XCTU Frame Generator tool. 1. Click Add new frame to the list 2. Open the Frames Generator tool. 3.
Page 63
XBee API mode XBee frame exchange 1. Select the frame in the XCTU Send frames section. 2. Click Send selected packet. The Frames log indicates that one frame has been sent (blue) and another has been received (red). Step 5: Analyze the response Once you have sent the frame, you can analyze the responses on the receiving end.
XBee API mode XBee frame exchange Example: Transmit and receive data This section describes how to transmit data to another XBee module using the XCTU console. The steps include creating a Transmit Request frame with the message you want to transmit to the other module and sending the frame serially to the local XBee module.
Page 65
XBee API mode XBee frame exchange 1. Go to the SENDER console and detach it to see two consoles at the same time. 2. In the SENDER console, click Add new packet to the list 3. Open the Frames Generator tool. 4.
Page 66
XBee API mode XBee frame exchange 9. Click Add frame. Step 4: Send the Transmit Request frame After you have created a Transmit Request frame, you must send it. 1. Select the frame in the XCTU Send frames section. 2. Click Send selected packet. XBee®...
Page 67
XBee API mode XBee frame exchange The Frames log indicates that one frame has been sent (blue) and another has been received (red). Additionally, the RECEIVER console indicates that another packet has been received. Step 5: Analyze the responses Once you have sent the frames, you can analyze the responses on the receiving end. 1.
XBee mbed Library is a ready-to-import mbed extension to develop XBee projects on the mbed platforms. For more information, go to https://developer.mbed.org/teams/Digi- International-Inc/code/XBeeLib/. Digi XBee Ansi C Library is a collection of portable ANSI C code for communicating with XBee modules in API mode. For more information, go to https://github.com/digidotcom/xbee_ansic_ library/.
Page 70
XBee API mode XBee frame exchange In this kit, you use the XBee Java Library to learn about the XBee features and capabilities offered in API operating mode. You can create several Java applications to control and monitor XBees connected to your computer via the XBee Grove Development Board.
Zigbee Mesh Network Setup A Zigbee mesh network is created by a coordinator. Once the network has been created, other nodes can join it. The default device type of the XBee modules is router, so you must configure an XBee to be the coordinator.
The permit joining attribute is configurable with the Node Join Time (NJ) command. The coordinator can also route data packets and communicate with other devices on the network. Note You can configure it to always allow joining (FF) for up to 254 seconds. However, Digi discourages this due to the security risk. Router Routers must discover and join a valid Zigbee network before they can participate in it.
Zigbee Mesh Network Setup Explore the network Explore the network To better understand how a Zigbee mesh network is formed, you can use XCTU's Network view to discover and visualize the topology and interconnections of the network. To learn more about the Network View, read the How-to: Visualize your network article.
Wireless data transmission This section explains data transmission and guides you through an example to illustrate how it works. If you get stuck, see Troubleshooting. Transmission methods An XBee module can communicate with multiple devices or with just one device: Broadcast transmissions are sent to many or all modules in the network.
Wireless data transmission Transmission methods Unicast transmission A unicast transmission consists of sending messages to a single node on the network identified by a unique address. The destination XBee can be an immediate neighbor of the sender, or be several hops away.
Wireless data transmission Example: transmit data Address table XBee devices use the destination network address to send data in a unicast transmission. Since data can only be sent using the destination's 64-bit address, all Zigbee devices maintain an address table to map 64-bit address to the corresponding 16-bit address.
Several steps contain videos to help you successfully complete the example. If you get stuck, see Troubleshooting. Step 1: Requirements For this setup you need the following hardware and software. Hardware Three XBee Zigbee Mesh Kit modules Three XBee Grove Development Boards Three micro USB cables One computer Software XCTU 6.3.1 or later...
Wireless data transmission Example: transmit data Step 3: Configure the Xbee modules Configure each of the three XBee modules to work in API mode and assign each a different role. As mentioned before, in this case you don't need to configure the destination address (DH + DL) of the modules.
Wireless data transmission Example: transmit data Option 1: Eclipse a. Select File > New, and click the Java Project. b. The New Java Project window appears. Enter the Project name. c. Click Next. Option 2: NetBeans a. Select File > New project..b.
Wireless data transmission Example: transmit data a. Click OK to add the path to the native libraries. b. Click Finish. Option 2: NetBeans a. From Projects view, right-click your project and go to Properties. b. In the categories list on the left, go to Libraries and click Add JAR/Folder. c.
Wireless data transmission Example: transmit data f. A line at the top of the pasted code is underlined in red. Click on that line; a pop-up appears. Select the first option (Move 'MainApp.java' to package '...') to resolve the error. Option 2: NetBeans a.
Broadcast sends the same message to all possible nodes on the network. Step 10: Do more with wireless data transmission If you're ready to work more extensively with data transmission, try the following: Extend the network by adding more XBee Zigbee Mesh Kit modules so you can chat with other devices. Note...
Low power and battery life This section introduces the key concepts you need to know to take advantage of the power saving capabilities of XBee devices. It also provides a lab that lets you put the concepts to work and see the results.
Low power and battery life Low power devices and battery life Low power devices and battery life The advantage of a wireless connection is that devices do not require physical wires to communicate, and they also use batteries instead of mains AC power. However, battery life can also be a major limitation.
Low power and battery life Pin sleep Pin sleep (SM = 1) Cyclic sleep (SM = 4) Cyclic sleep with pin wake-up (SM = 5) An end device in one of these sleep modes polls its parent every 100 milliseconds while it is awake to retrieve buffered data.
If you get stuck, see Troubleshooting. Step 1: Requirements For this setup you need the following hardware and software. Hardware Three XBee Zigbee Mesh Kit modules Three XBee Grove Development Boards XBee® Zigbee® Mesh Kit...
Low power and battery life Example: enable sleep mode Three micro USB cables One computer Software XCTU 6.3.1 or later For more information about XCTU, see the XCTU walkthrough. Step 2: Connect the components To get started, connect the components and start XCTU. 1.
Step 3: Configure the XBee Modules To transmit data wirelessly between your XBees, you must configure them to be in the same network. Remember that in the Zigbee protocol, one device must be the coordinator and the rest can be routers or end devices. In this case, you will have two end devices configured to sleep using different sleep modes: one with cyclic sleep (XBee B) and the other with pin hibernate sleep (XBee C).
Page 89
1. Restore the default settings of all XBee modules with the Load default firmware settings button at the top of the Radio Configuration section.
Page 90
2. Use XCTU to configure the following parameters: Param XBee A XBee B XBee C Effect 2015 2015 2015 Defines the network for a radio to attach to. This must be the same for all radios on your network. — Enabled [1] Enabled [1] Verifies if a coordinator exists on the same channel to...
Page 91
Param XBee A XBee B XBee C Effect — — Defines the period of inactivity (no serial or RF data received) before going to sleep. 7D0 (hexadecimal) = 2000 (decimal) x 1 ms = 2 seconds. — — Keeps the module awake during the entire period. D2/D3 —...
Low power and battery life Example: enable sleep mode Step 4: Sleep With this configuration, ED_CYCLIC sends the value of the potentiometer to ED_PIN every time it wakes up. The coordinator stores all the D_CYCLIC samples sent to ED_PIN until it wakes up. To verify, perform the following steps in XCTU: 1.
Page 93
Low power and battery life Example: enable sleep mode 6. Check that the module receives a series of IO Samples (IO Data Sample RX Indicator). When the module wakes up, it immediately receives several IO samples instead of receiving one every second (IR parameter). This happens because the coordinator stores the samples that ED_PIN is not able to receive while it is asleep.
Low power and battery life Example: enable sleep mode Note Make sure to close the serial connection with the module when you finish the example. Step 5: What have you learned? In this section, you have learned that: Modules with Zigbee protocol, as well as others, can go into a temporary sleep state in which they consume virtually no current.
Inputs and outputs All XBee modules have a set of pins that can be used to connect sensors or actuators and configure them for specific behavior. Each XBee radio has the capability to directly gather sensor data and transmit it without the use of an external microcontroller. With these pins you can, for example, turn on a light by sending information to an XBee module connected to an actuator, or measure the outside temperature by obtaining data from a temperature sensor attached to your XBee module.
Inputs and outputs XBee I/O pins XBee I/O pins The following table shows the I/O pins of the XBee THT and XBee SMT modules: XBee THT Model XBee SMT model XBee® Zigbee® Mesh Kit...
Inputs and outputs Actuators Setting pins for digital and analog sensors Configure the pin of your XBee module according to the sensor that is connected to it: If you connect a digital sensor, configure the pin as Digital Input. If you connect an analog sensor, configure the pin as Analog to Digital Converter (ADC). Note For more information about sensors, see the How XBee devices get sensor data...
Inputs and outputs How XBee devices get sensor data How to configure a pin as an input Configure a pin for digital input You can configure a pin through XCTU. If your sensor reads digital values (like a doorbell) and is connected to the DIO1/AD1 pin, configure the D1 parameter as Digital Input [3]: Configure a pin for analog input If your sensor reads analog values (like a temperature sensor) and is connected to the DIO1/AD1 pin,...
Inputs and outputs Example: receive digital data Note These two features can work in combination with each other, depending on your requirements. For example, you could choose to receive an IO sample every minute (IR) but also when a certain pin changes state (IC).
If you get stuck, see Troubleshooting. Step 1: Requirements For this setup you need the following hardware and software. Hardware Three XBee Zigbee Mesh Kit modules Three XBee Grove Development Boards Three micro USB cables One computer Software XCTU 6.3.1 or later...
Step 3: Configure the XBee modules XBee B and XBee C, the routers, send the digital value from the user button to XBee A, the coordinator, every time the value changes (that is, when you press or release the button). Set the destination address (DH + DL) of the senders (XBee B and XBee C) to the MAC address (SH + SL) of the receiver (XBee A). Additionally, configure the pin where the button is connected (DIO4/AD4) as a digital input, and set the DIO change detect (IC) to monitor the same pin.
Page 103
1. Restore the default settings of all XBee modules with the Load default firmware settings button at the top of the Radio Configuration section.
Page 104
2. Use XCTU to configure the following parameters: Param XBee A XBee B XBee C Effect 2015 2015 2015 Defines the network that a radio will attach to. This must be the same for all radios in your network. — Enabled Enabled Verifies if a coordinator exists on the same channel to join the network or to leave if it cannot be...
Page 105
Param XBee A XBee B XBee C Effect — Configures the senders to transmit an IO sample when pin DIO4 (where the button is connected) changes. 00010000 (binary) = 10 (hexadecimal). For more information on how to configure this parameter to monitor the pins, see How to obtain data from a sensor.
Inputs and outputs Example: receive digital data Step 4: Create a Java project Create an empty Java project named using Eclipse or NetBeans, with the following project name: ReceiveDigitalData. Option 1: Eclipse a. Select File > New, and click the Java Project. b.
Inputs and outputs Example: receive digital data Machine is installed in your computer, open a terminal or command prompt and execute: java -version h. Click OK to add the path to the native libraries. i. Click Finish. Option 2: NetBeans a. From Projects view, right-click your project and go to Properties. b.
Inputs and outputs Example: receive digital data e. The MainApp.java file is automatically opened in the editor. Replace its contents with the source code you copied in the previous step. f. A line at the top of the pasted code is underlined in red. Click on that line; a pop-up appears. Select the first option (Move 'MainApp.java' to package '...') to resolve the error.
Inputs and outputs Example: receive digital data 2. Launch the application on your computer. Every time you press or release the ROUTER_1 (XBee B) or ROUTER_2 (XBee C) user button, COORD (XBee A) receives its status. 3. Press the button and check the received status. The output of the application is similar to the following: +---------------------------------------+ Receive Digital Data Sample...
(the receiver). If you get stuck, see Troubleshooting. Step 1: Requirements For this setup you need the following hardware and software. Hardware Three XBee Zigbee Mesh Kit modules Three XBee Grove Development Boards Three micro USB cables One computer Software XCTU 6.3.1 or later...
Page 111
Inputs and outputs Lab: receive analog data 1. Plug the XBee modules into the XBee Grove Development Boards and connect them to your computer using the micro USB cables provided. You can find more specific steps in Plug in the XBee module.
Step 3: Configure the XBee modules XBee B sends the analog value read from the potentiometer to XBee A, the coordinator, every five seconds. XBee C, the end device, sleeps for five seconds. After this sleep period, it sends the analog value read from the potentiometer to XBee A, then immediately enters low-power mode for another five seconds.
Page 113
1. Restore the default settings of all XBee modules with the Load default firmware settings button at the top of the Radio Configuration section.
Page 114
2. Use XCTU to configure the following parameters: Param XBee A XBee B XBee C Effect 2015 2015 2015 Defines the network that a radio will attach to. This must be the same for all radios on your network. — Enabled Enabled Verifies if a coordinator exists on the same channel to join the network or to leave if it cannot be found.
Page 115
Param XBee A XBee B XBee C Effect — — Defines the period of inactivity (no serial or RF data received) before going to sleep. A (hexadecimal) = 10 (decimal) x 1 ms = 10 milliseconds. D2/D3 — ADC [2] ADC [2] Sets the DIO2/AD2 or DIO3/AD3 pin as ADC in XBee B and XBee C, depending on if the XBee modules are THT or SMT.
Inputs and outputs Lab: receive analog data Step 4: Create a Java project Create an empty Java project named using Eclipse or NetBeans, with the following project name: ReceiveAnalogData. Option 1: Eclipse a. Select File > New, and click the Java Project. b.
Inputs and outputs Lab: receive analog data h. Replace Windows\win32 with the directory that matches your operating system and the Java Virtual Machine installed (32 or 64 bits). If you don't know which Java Virtual Machine is installed in your computer, open a terminal or command prompt and execute: java -version i.
Inputs and outputs Lab: receive analog data d. Click Finish. e. The MainApp.java file is automatically opened in the editor. Replace its contents with the source code you copied in the previous step. f. A line at the top of the pasted code is underlined in red. Click on that line; a pop-up appears. Select the first option (Move 'MainApp.java' to package '...') to resolve the error.
Inputs and outputs How XBee modules control devices Step 8: Section summary of receiving analog data In this section, you have learned that: All XBee modules have a set of pins that you can use to connect and configure sensors or actuators.
Inputs and outputs How XBee modules control devices from a central location and create real events in multiple physical locations. An XBee module is capable of receiving commands that set its digital and analog output pins to trigger real-world events without the use of an external microcontroller. By itself, an XBee device can power an LED, sound a small buzzer, or even operate a tiny motor.
LED. If you get stuck, see Troubleshooting. Step 1: Requirements For this setup you need the following hardware and software. Hardware Two XBee Zigbee Mesh Kit modules Two XBee Grove Development Boards Two micro USB cables One computer Software XCTU 6.3.1 or later...
Inputs and outputs Example: send digital actuations 2. Use XCTU to configure the following parameters: Param XBee A XBee B Effect 2015 2015 Defines the network that a radio will attach to. This must be the same for all radios in your network. —...
Inputs and outputs Example: send digital actuations d. Click Finish to create the project. The window closes and the project appears in the Projects view list on the left side of the IDE. Step 5: Link libraries to the project This topic describes how to link the XBee Java Library, the RXTX library (including the native one), and the logger library to the project.
Inputs and outputs Example: send digital actuations e. Go to the extra-libs folder and select the following files: rxtx-2.2.jar slf4j-api- x.y.z .jar slf4j-nop- x.y.z .jar f. Select Run in the left tree of the Properties dialog. g. In the VM Options field, add the following option: -Djava.library.path=<path_where_the_XBee_Java_Library_is_unzipped>\extra- libs\native\Windows\win32 where:...
Inputs and outputs Example: send digital actuations Step 7: Set the port name and launch the application For this step, set the port name and launch the application. 1. Change the port name in the Java source code to match the port that the COORD module (sender) is connected to.
Security and encryption Zigbee supports various levels of security that you can configure depending on the needs of the application. Security provisions include: 128-bit AES encryption Two security keys that can be preconfigured or obtained during joining Trust center support Provisions to ensure message integrity, confidentiality, and authentication Zigbee security model The Zigbee standard supports three security modes:...
Security and encryption Zigbee security model Zigbee security is applied to the Network and APS layers, and packets are encrypted with 128-bit AES encryption. A network key and optional link key can be used to encrypt data. Only devices with the same keys are able to communicate together in a network.
Security and encryption Zigbee security model end of the packet. This MIC is different than the MIC appended by the network layer. The MIC allows the destination device to ensure the message has not been changed. There are two kinds of APS link keys – trust center link keys and application link keys. A trust center link key is established between a device and the trust center, and an application link key is established between a device and another device in the network where neither device is the trust center.
Page 129
Security and encryption Zigbee security model unencrypted as it can open a security hole in the network. To maximize security, preconfigure devices with the correct link key. XBee® Zigbee® Mesh Kit...
Security on the XBee Enable security Security on the XBee If you enable security in the XBee Zigbee firmware, devices acquire the network key when they join a network. Data transmissions are always encrypted with the network key, and can optionally be end- to-end encrypted with the APS link key.
Security on the XBee Use a trust center Use a trust center Use the Encryption Options (EO) parameter define the coordinator as a trust center. If the coordinator is a trust center, it received alerts to all new join attempts in the network. The trust center also has the ability to update or change the network key on the network.
Example: basic (but secure) communication In this example, add security to the Example: basic communication by encrypting communication between the three XBee modules. Note that this feature is applicable for both AT and API operating modes. First, follow the steps explained in the Basic Communication example. When you have added the modules to XCTU and changed the value of the corresponding settings, enable security on each module.
Example: basic (but secure) communication Understanding the example Understanding the example Once you have completed the steps outlined in the Basic (but secure) communication example, send a message from ROUTER or END_DEVICE to COORD. You will see that the message was received correctly but you will not detect the encryption/decryption process or notice a difference in the way the XBees display the information.
Signal strength and radio frequency range This section describes how obstacles and other factors can impact how well the devices in your network communicate. Once you learn about the factors that can impact your signal and wireless communications, you can try performing a range test. Distance and obstacles Factors affecting wireless communication Signal strength and the RSSI pin...
Signal strength and radio frequency range Distance and obstacles Distance and obstacles Basic communication systems involve the following components: Transmitting element Receiving device Environment through which communication is occurring Antennas or other focusing elements RF communication can be compared to simple audio communication: our vocal cords transmit sound waves that may be received by someone's eardrum.
Signal strength and radio frequency range Factors affecting wireless communication RF LOS requires not only visual LOS, but also a football-shaped path called a Fresnel zone that is free of obstacles so data can travel optimally from one point to another. The Fresnel zone can be thought of as a tunnel between two sites that provides a path for RF signals.
Signal strength and radio frequency range Signal strength and the RSSI pin To achieve the greatest range, the football-shaped path in which radio waves travel (Fresnel zone) must be free of obstructions. Buildings, trees, or any other obstacles in the path will decrease the communication range.
Page 138
Signal strength and radio frequency range Signal strength and the RSSI pin XBee module's pin 6 can be configured as an RSSI pin that outputs a PWM (pulse-width modulation) signal representing this value. To do so, configure P0 as RSSI [1]: The XBee Grove Development Board includes an LED connected to the XBee module's pin 6.
Signal strength and radio frequency range Signal strength and the RSSI pin Configure the amount of time the RSSI pin is active, and therefore the amount of time the LED will remain lit, by modifying the RSSI PWM Timer (RP) setting: RP value is expressed in hexadecimal notation.
Signal strength and radio frequency range Range test A range test is always a good idea, as it allows you to measure link performance in terms of signal strength and packet success rate. This will help you determine the reliability of your RF system. For more information, see Example: perform a range test.
Page 141
Signal strength and radio frequency range Range test Note The local XBee module (the one attached to your computer) can be configured to use API or transparent mode. The RSSI value of the remote device can only be read when the local XBee module is working in API mode.
Signal strength and radio frequency range Example: perform a range test RSSI Chart represents the RSSI values of the local and remote devices during the range test session. The chart also contains the percentage of success for the total packets sent. Local and Remote instant RSSI value display the instant RSSI value of the local and remote devices.
Signal strength and radio frequency range Example: perform a range test Step 1: Requirements Hardware Two XBee Zigbee modules Two XBee Grove Development Boards Two micro USB cables One computer, although you may also use two Software XCTU 6.3.1 or later Step 2: Connect the components To get started, connect the components and start XCTU.
Signal strength and radio frequency range Example: perform a range test 2. Use XCTU to configure the following parameters: XBee A XBee B Param (local) (remote) Effect 2015 2015 Defines the network a radio will connect to. This parameter must be the same for all radios on your network. —...
Signal strength and radio frequency range Example: perform a range test Step 5: Section summary of signal strength In this section, you have learned the following: There are two types of line-of-site (LOS) that describe an environment: Visual LOS describes the ability to see from one place to the other. It requires only a straight linear path.
Zigbee communication in depth Zigbee is a global wireless standard that enables simple and smart objects to work together. This interoperability—multiple devices from different vendors working together to achieve a common goal—is one of the biggest advantages of using the Zigbee protocol. Imagine that you want to automate your home to control the heating and cooling systems, lights, doors, blinds, irrigation system, etc.
Zigbee communication in depth Zigbee Application Framework As mentioned in the first topics of this guide, Zigbee is built on top of the IEEE 802.15.4 standard, so the bottom two layers (Physical Layer (PHY) and Medium Access Control Layer (MAC)) are from that specification.
Zigbee communication in depth Zigbee Application Framework For example, think of a thermostat. This product allows you to set the desired temperature, has a display, and can be turned on or off. This thermostat is a single node on a Zigbee mesh with three application objects, each to perform a specific task: Heat or cool the room Display current temperature and other information...
Page 149
Zigbee communication in depth Zigbee Application Framework Application profiles specify a list of specific supported devices, device descriptions, and their features in terms of clusters. They contain an agreed-upon set of specific messages to allow applications from different vendors to interact. For example, the Home Automation profile provides standard interfaces and device definitions to allow interoperability among Zigbee Home Automation devices produced by various manufacturers.
Page 150
Zigbee communication in depth Zigbee Application Framework Home Automation (HA) profile to control the temperature and enable it switching it on or off Smart Energy (SE) profile for the implementation of an In-Home display Proprietary profile or Manufacturer Specific Profiles (MSP) to implement custom functionality that checks the proper operation of the product Device descriptions Each Zigbee profile contains a specific list of device descriptions that describe the types of devices...
Zigbee communication in depth Zigbee Application Framework An HA Thermostat with device ID 0x0301 allows to control the temperature. The HA On/Off Output (0x0002) is capable of being switched on and off. The SE In-Premise display device description, device ID 0x0502, shows information about energy consumption or price.
Zigbee communication in depth Zigbee Application Framework For example, the Thermostat cluster (0x0201) supports several attributes to represent information, such as the LocalTemperature attribute (0x0000) to display the temperature in degrees Celsius. This cluster also includes the Setpoint Raise/Lower command (0x00) to increase or decrease the temperature by the specified amount.
Page 153
Zigbee communication in depth Zigbee Application Framework Note Endpoints describe different applications that are supported by a single radio. An endpoint is the "address" of a single application object within a node in the network. The endpoint address is a user-defined 8-bit value, so there can be up to 255 endpoints defined within a node.
Zigbee communication in depth Zigbee Application Framework As an example, our thermostat product defines four user-defined endpoints besides ZDO and broadcast: Endpoint 0: ZDO endpoint Endpoint 1: Home Automation endpoint acting as a thermostat device (0x0301) Endpoint 2: Home Automation endpoint acting as an On/Off output (0x0002) Endpoint 3: Smart Energy endpoint acting as an In-Premise display (0x0502) Endpoint 4: Proprietary endpoint under a MSP (Manufacturer Specific Profile) Endpoint 255: Broadcast endpoint...
Page 155
Zigbee communication in depth Zigbee Application Framework The information regarding these logical links is stored in a binding table. Each entry contains the following information: Source endpoint of the sender application. In the example, the application object that measures the temperature is located at endpoint Cluster ID of the information being transmitted between the applications.
Page 156
Zigbee communication in depth Zigbee Application Framework Destination network address and endpoint of the receiving application. Temperature data (source endpoint 10, cluster ID 0x0402) is going to be transmitted to the endpoint 1 of the network node 0x1234. Depending on where the binding information (the entries of the binding table) is stored, binding is direct or indirect.
Zigbee communication in depth Zigbee Application Framework For instance, the temperature sensor node with address 0x4567 generates a new temperature value. The application object that measures the temperature is located at endpoint 10 and the cluster ID in charge of this is 0x0402. So, the sensor node transmits to the coordinator the new temperature, the source endpoint (10) and the cluster ID (0x0402) generating the value along with its own network address (0x4567).
Zigbee communication in depth Zigbee Device Object (ZDO) Complex descriptor contains extended information for each of the device descriptions contained in this node. The use of the complex descriptor is optional. User descriptor contains information that allows the user to identify the device using a user- friendly string.
Page 159
Zigbee communication in depth Zigbee Device Object (ZDO) ZDP services include the following features: View the neighbor table on any device in the network View the routing table on any device in the network View the end device children of any device in the network Obtain a list of supported endpoints on any device in the network Force a device to leave the network Enable or disable the permit-joining attribute on one or more devices...
Zigbee communication in depth Explicit Addressing frames Cluster Cluster Name Description Routing Table Request 0x0032 Request to retrieve routing table entries from a remote device Routing Table Response 0x8032 Response that includes routing table entry data from a remote device Active Endpoints 0x0005 Request a list of endpoints from a remote device...
Zigbee communication in depth Explicit Addressing frames Frame parameter Description 64-bit Set to the 64-bit address of the destination XBee module. The following destination addresses are also supported: address 0x0000000000000000 - Coordinator address. 0x000000000000FFFF - Broadcast address. 0xFFFFFFFFFFFFFFFF - Unknown address if the destination's 64-bit address is unknown.
Page 162
Zigbee communication in depth Explicit Addressing frames Node addressing: 64-bit and 16-bit source address Service addressing: Source and destination endpoints, cluster ID, and profile ID. ZDP, ZCL, or application profile response in its data payload. Frame parameter Description 64-bit address of sender. 64-bit source Set to 0xFFFFFFFFFFFFFFFF (unknown 64-bit address) if the sender's 64-bit address...
Data payload format The data payload field of the Explicit Addressing and Explicit Rx Indicator frames must follow the frame structure defined for ZDP and ZCL frames. Note All multi-byte values must be sent/received in little endian byte order. ZDP frame structure: Transaction sequence Transaction sequence number Transaction data...
Zigbee communication in depth Examples: explicit data and ZDO Receive Zigbee commands and responses To receive ZDP, ZCL, and application profile commands and responses: XBees modules must work in API mode, that is AP must be set to API enabled [1] or API enabled with escaping [2].
Zigbee communication in depth Examples: explicit data and ZDO Example: obtain the neighbor table using the XBee Java Library In this example, you use XCTU to send an LQI (neighbor table) Request from the coordinator to the router. Looking at the Zigbee specification, the cluster ID for a LQI Request is 0x0031, and the payload only requires that you specify the start index in the neighbor table.
Page 166
Zigbee communication in depth Examples: explicit data and ZDO Param XBee A XBee B Effect COORD ROUTER Defines the node identifier, a human-friendly name for the module. The default NI value is a blank space. Make sure to delete the space when you change the value. Enables API mode.
Page 167
Zigbee communication in depth Examples: explicit data and ZDO 7. In the Profile ID box, type 0000. 8. In the Data payload, click the HEX tab and type 0100. Sequence number Start index 9. Click OK. 10. Click Add frame. Step 6: Send the command frame After you have created an Explicit Addressing Command Frame, you must send it to the local XBee module.
Page 168
Zigbee communication in depth Examples: explicit data and ZDO 1. Select the frame in the XCTU Send frames section. 2. Click Send selected packet. The Frames log indicates that one frame has been sent (blue) and another has been received (red).
Page 169
Zigbee communication in depth Examples: explicit data and ZDO Size Name (bits) Value Description Extended 14 20 00 00 00 00 00 00 The 64-bit extended PAN ID of the neighboring PAN ID device. Extended 15 9D DA 40 00 A2 13 00 The 64-bit address of the neighboring device. Address Network 00 00 The 16-bit address of the neighboring device.
If you get stuck, see Troubleshooting. Step 1: Requirements For this setup you need the following hardware and software. Hardware Three XBee Zigbee Mesh Kit modules Three XBee Grove Development Boards Three micro USB cables One computer Software XCTU 6.3.1 or later...
Page 171
Zigbee communication in depth Examples: explicit data and ZDO Param XBee A XBee B XBee C Effect 2015 2015 2015 Defines the network a radio will connect to. This parameter must be the same for all radios on your network. —...
Page 172
Zigbee communication in depth Examples: explicit data and ZDO d. Click Finish to create the project. The window closes and the project appears in the Projects view list on the left side of the IDE. Step 5: Link libraries to the project This topic describes how to link the XBee Java Library, the RXTX library (including the native one), and the logger library to the project.
Page 173
Zigbee communication in depth Examples: explicit data and ZDO e. Go to the extra-libs folder and select the following files: rxtx-2.2.jar slf4j-api- x.y.z .jar slf4j-nop- x.y.z .jar f. Select Run in the left tree of the Properties dialog. g. In the VM Options field, add the following option: -Djava.library.path=<path_where_the_XBee_Java_Library_is_unzipped>\extra- libs\native\Windows\win32 where:...
Page 174
Zigbee communication in depth Examples: explicit data and ZDO 1. Change the port name in the Java source code to match the port that the COORD module is connected to. // TODO: Replace with the port where your coordinator module is connected private static final String PORT = "COM1";...
Page 175
Zigbee communication in depth Examples: explicit data and ZDO 3. When the prompt (>>) displayed after scanning the network, write the name of the remote node to get its neighbors. The output of the application should be similar to the following: +----------------------------------------------+ Explicit Data Sample +----------------------------------------------+...
Page 176
Zigbee communication in depth Examples: explicit data and ZDO Zigbee offers a standardized technology and interoperability between products from many vendors. The Zigbee Alliance certifies the stack and application compatibility. A single physical Zigbee node may have several application objects with different purposes running on top of the Zigbee stack.
Large networks routing The basic function of a network is to transfer data from one node to another. In the simplest data communication, the data is transmitted directly from the source node to the destination node. However, direct communication may not be possible if the two nodes are far apart or in a difficult environment.
Large networks routing Many-to-one routing message. The route discovery process is based on the Ad-hoc On demand Distance Vector routing (AODV) protocol. The AODV protocol uses tables in each node to store the next hop for a destination node. When a source node A must discover a route to a destination node B, route discovery involves the following steps: 1.
Large networks routing Many-to-one routing Note Many-to-one routing establishes routing paths from many XBees to one data collector and allows any node in the network to route data to a well known concentrator through a single routing table entry in every device. In a single many-to-one route discovery operation, the route to the data collector is established in all devices: 1.
Large networks routing Source routing Disabling many-to-one routing To disable many-to-one routing in a network: 1. Set AR parameter on the central data collector node to 0xFF and save the configuration. This ends the many-to-one broadcast sent by the data collector. 2.
Large networks routing Source routing 4. As the route record traverses the many-to-one route, each node in the route appends its own 16- bit address into the payload of the route record. 5. When the route record reaches the data collector, it contains the address of the sender and the 16-bit address of each hop in the route.
Page 182
Large networks routing Source routing 1. The microcontroller application must force the XBee to create a source route in its internal source route table by sending a Create Source Route (0x21) frame through the serial interface. 2. After setting up the source route, the application can send data to be wirelessly transmitted (Transmit Request (0x10), Explicit Addressing Command Frame (0x11), or Remote Command Request (0x17) frames) as needed, to the same destination, or any destination in the established source route.
Radio firmware Radio firmware is the program code stored in the radio module's persistent memory that provides the control program for the device. The firmware programmed may determine the protocol of the radio (802.15.4, Zigbee, DigiMesh, or Wi-Fi) if several are compatible, or, in some cases, the role of the module or its operating mode.
API mode; or whether the device is an end device, router, or coordinator. There are also function selections that allow you to choose firmware for several of Digi's special sensor and adapter modules. Version is a unique number used to identify the firmware release. The firmware version of an XBee module is reported by the Firmware Version (VR) parameter.
Digi periodically releases new versions of radio firmware that fix issues, improve functionality, or add new features. Digi also launches new XBee modules in the market that require new radio firmware to be configured with XCTU. These firmware files might not be included with XCTU and need to be downloaded.
Troubleshooting XCTU Troubleshooting If you encounter problems while working on your XBee Zigbee Mesh Kit, try the following troubleshooting tips. XCTU Error upon installation of XCTU XCTU requires Administrator permissions. Check that you have Administrator access on the machine where you are installing XCTU. You may need to request permission to install or run applications as administrator from your network manager.
Troubleshooting Wireless data transmission AES Encryption Key (KY) is a setting that must be set by the user when encryption is in use and does not apply with factory settings. Device Type Identifier (DD) is a diagnostic parameter which is not used in the operation of the radio and can safely be set to any value.
JAR file and the native library are not the same. You can safely ignore this message. Invalid operating mode exception message If you launch an application and you see the "com.digi.xbee.api.exceptions.InvalidOperatingMode" exception, review the following solutions. Could not determine operating mode: com.digi.xbee.api.exceptions.InvalidOperatingModeException: Could not determine...
Page 189
32-bit JVM linked the 64-bit library, or vice versa. Interface in use exception message If you experience the "com.digi.xbee.api.exceptions.InterfaceInUseException" exception, it indicates that the port you are trying to open is already in use. Ensure that you do not have any applications running and that the XCTU console of that port is not connected.
Troubleshooting Receive digital data at com.digi.xbee.api.XBee.createConnectiontionInterface(XBee.java:38) at com.digi.xbee.api.AbstractXBeeDevice.<init>(AbstractXBeeDevice.java:164) at com.digi.xbee.api.XBeeDevice.<init>(XBeeDevice.java:90) at com.digi.xbee.sendreceivedatasample.MainApp.main(MainApp.java:40) SLF4J class path contains multiple bindings message If you receive the "SLF4J: Class path contains multiple SLF4J bindings" message, it indicates that you linked several logger libraries. Ensure that only the following four libraries are added to your project: xbee-java-library-X.Y.Z.jar...
Troubleshooting Send digital actuations Check the following in XBee B and XBee C (senders): 1. The value of ID is 2015 (the same as the ID value of XBee A). 2. Channel Verification (JV) is enabled 3. The value of DH is 0. 4.
Troubleshooting Range test Check cables The USB cables should be firmly and fully attached to both the computer and the XBee development board. When attached correctly, the association LED on the adapter is lit. Check that the XBee module is fully seated in the XBee Grove Development Board When the XBee module is properly installed, it is pushed fully into the board and no air or metal is visible between the plastic of the adapter socket and the XBee module headers.
Page 193
Troubleshooting Range test Parameter Value Effect API enabled [1] Enables API mode. Explicit data After scanning the network, I get the "NO devices found" message. This message indicates that no devices were found in the network. Ensure you have properly configured all your devices as it is described in the Configure the XBees step.
Additional resources Wireless connectivity offers almost unlimited options for making our surroundings smarter, more efficient, and more connected. Now that you have completed the activities in this kit, here are some additional resources to help you explore XBee modules. XBee buying guide Where to buy XBee devices XCTU walkthrough Real projects with XBee modules...
XBee buying guide XBee buying guide You have become familiar with the XBee modules included in the kit, but Digi makes a large variety of modules with different features and for different functions. So, which module is best suited for your applications? Why are there different types of antennas? Should you use a "PRO"...
Additional resources XBee buying guide XBee antennas Antennas are devices that focus energy in a particular direction. The attributes of a given antenna affect not only the range of a module but also its price. The following are some potential antenna options available on XBee modules.
Additional resources XBee buying guide A RP-SMA antenna (reverse-polarity SMA) is a bigger connector for your external antenna. XBee radios are equipped with an RP-SMA female plug, and the antenna is an RP-SMA male jack. This is another good option if your XBee is in a box and you want your antenna outside the box.
Radio communication protocols XBee modules support multiple wireless protocols which are suitable for many different network topologies. Open standards include Zigbee, 802.15.4, and Wi-Fi. Digi has also developed proprietary protocols such as Multipoint and DigiMesh. The following list includes the supported protocols: IEEE 802.15.4...
Page 199
Inc. DigiMesh forms a meshed network. The protocol allows for time-synchronized sleeping nodes/routers and low-power battery powered operation. The protocol is currently supported by several 900 MHz, 868 MHz, 865 MHz, and 2.4 GHz Digi radio modules. Use: Systems that require the ability to sleep on all nodes.
Contact us online or by phone at 1-952-912-3444 for more information about which channel partner is best suited to your individual needs. Find products from Digi and Digi distributors Digi products are available from many sources worldwide. XBee® Zigbee® Mesh Kit...
You can find Digi products through distributors. Find a distributor now. You can also find Digi products in our official Digi online store: Americas online store (U.S., Canada, and Latin America) EMEA online store (Europe, Middle East, and Africa) Japan online store U.S.
Page 202
Additional resources XCTU walkthrough Menu bar The menu bar is located at the top of the application. You can use the menu bar to access all XCTU features, tools, and working modes. Main toolbar The main toolbar is located at the top of the application and is divided into three sections. The first section contains two icons used to add radio modules to the radio modules list.
Page 203
Additional resources XCTU walkthrough and updates functions. See XCTU tools Configure XCTU. The third section contains tabs corresponding to the three XCTU working modes. To use this functionality, you must have added one or more radio modules to the list. See XCTU working modes.
Digi Device Cloud and Digi Remote Manager®, under the Remote Manager name. This phased process does not affect device functionality or the functionality of the web services and other features. However, you will find instances of both Device Cloud and Digi Remote Manager in some documentation, firmware, and user interfaces.
Additional resources XCTU walkthrough list of devices. There are two different methods: 1. If you know the serial configuration of your radio module, click the Add radio module button to add it directly. When the dialog opens, you must select the serial port the radio module is connected to and configure the serial settings of the port.
Additional resources Real projects with XBee modules Change settings When you change the value of a setting, the background color of the control changes depending on the status of its value. The color legend appears next to the firmware information panel and reads the following: Gray: The value of the setting is written in the radio module and matches the default value.
Real projects with XBee modules Community XBee Projects The largest collection of XBee projects on the web. Digi XBee examples and guides Learn more about wirelessly connecting XBees to sensors, outputs, motors, lights, and the Internet. Industrial solutions Wireless Tank Monitoring with 1844myfuels Wireless ultrasonic sensors connected to XBee modules enable up-to-the- minute monitoring of farm silo levels.
See the following products from Digi International. XBee Gateway The low-cost XBee-to-IP solution enables remote connectivity, configuration, and management of XBee networks with Digi Remote Manager®. All XBee data sent to the gateway is automatically available to online applications via Remote Manager.
XBee Grove Development Board The XBee Grove Development Board is a simple-to-use base unit. You can use it to evaluate XBee modules, as it connects any XBee/XBee-PRO module to a PC or microcontroller. One of the main features of the board is that it has several Grove connectors where you can plug in a Grove Module. You can learn more about the Grove module on the Seeed Studio wiki.
Overview Development board variants Development board variants The THT and SMT are the two variants of the board. XBee THT Grove Development Board XBee SMT Grove Development Board XBee® Zigbee® Mesh Kit...
Overview Mechanical Mechanical There are two variants of the XBee Grove Development Board: THT variant is 48.8 mm x 66 mm SMT variant is 53.68 mm x 72.60 mm with a shape similar to a regular XBee module. The board provides four 3.2 mm assembly drills. XBee THT Grove Development Board variant XBee SMT Grove Development Board variant XBee®...
Overview Power supply Power supply You can power the XBee Grove Development Board from the 5V supply available on the USB connector or from an external battery connected to a 2-pin, 2 mm pitch, PH-type connector from JST. When you power the board from both supplies, it uses the USB.
Overview XBee connector Power supply battery connector The following table shows the pinout of the battery connector: Battery connector Signal Comments VBAT Battery supply input XBee connector The XBee THT Grove Development Board provides two 10-pin, THT, 2 mm pitch sockets to connect a THT XBee module.
XBee THT Grove Development Board XBee connector The board provides footprints for two 10-pin, THT, 2.54 mm pitch connectors. You can use these footprints to solder a pin header on the top or bottom to access the XBee signals or to connect the XBee Grove Development Board to a bread board. Left Right Signal...
Page 216
Left Right XBEE_RX To serial to USB device DIO9 To On/Sleep LED DIO12 To GROVE_DIO12 VREF RESET_N To reset button ASSOC_LED To association LED RSSI/PWM0 To RSSI LED and GROVE_PWM XBEE_RTS_N To serial to USB device DIO11/I2C_SDA To GROVE_I2C To potentiometer XBEE_PIN8 Connected to breadboard header To GROVE_AD2...
XBee SMT Grove Development Board XBee connector The XBee SMT Grove Development Board provides three spring sockets. A spring header is a custom Digi header that provides a reliable connection to SMT XBee modules without soldering the module in place.
Page 218
Left Bottom Right XBEE_TX To serial to USB device DIO1/I2C_SCL To GROVE_I2C XBEE_RX To serial to USB device To potentiometer DIO12 To GROVE_DIO12 To GROVE_AD3 RESET_N To reset button XBEE_RTS_N To serial to USB device RSSI/PWM0 To RSSI LED and GROVE_ ASSOC_LED To association LED PWM0...
Overview The XBee Grove Development Board includes a micro USB connector and an FT232RL USB to RS-232 converter to communicate with the serial port of the XBee. A green LED and a yellow LED show the status of the TX and RX lines. The hardware flow control signals of the XBee (XBee_RTS and XBee_CTS) connect to the FT232RL device.
Overview XBee SMT Grove Development Board USB USB VBUS line The following graphic illustrates how the USB powers the board through the VBUS line. XBee® Zigbee® Mesh Kit...
Overview Reset button Reset button The XBee Grove Development Board has a reset button to reboot the XBee module. XBee THT Grove Development Board Reset button XBee SMT Grove Development Board Reset button XBee® Zigbee® Mesh Kit...
Overview Commissioning button Commissioning button The XBee Grove Development Board has a push button connected to the commissioning pin of the XBee module. The commissioning pin of the XBee is also connected to the Grove AD0 connector. You can use the commissioning push button in Zigbee or DigiMesh to help deploy devices in a network. XBee THT Grove Development Board Commissioning button XBee SMT Grove Development Board Commissioning button XBee®...
Overview Association led Association led The XBee Grove Development Board provides an LED connected to the association pin of the XBee module. XBee THT Grove Development Board Association LED XBee SMT Grove Development Board Association LED XBee® Zigbee® Mesh Kit...
Overview RSSI led RSSI led The XBee Grove Development Board provides an LED connected to the RSSI/PWM0 pin of the XBee module. The RSSI/PWM signal is also connected to the PWM Grove connector. If the PWM0 pin (P0) is configured as RSSI, the brightness of this LED displays the signal strength of the last packet received.
Overview User LED and User button User LED and User button The XBee Grove Development Board provides a user LED and a user button. Both share the same XBee I/O pin, DIO4. Although the user LED and user button share the same pin, you can use only one at a time. XBee THT Grove Development Board User LED and User button XBee SMT Grove Development Board User LED and User button User LED and User Button connection to DIO4...
Page 228
Overview User LED and User button XBee® Zigbee® Mesh Kit...
Overview On/sleep LED On/sleep LED The XBee Grove Development Board provides an LED connected to the On/Sleep pin (DIO9). This LED is on when the XBee module is awake, and off when it is asleep. XBee THT Grove Development Board On/Sleep LED XBee SMT Grove Development Board On/Sleep LED XBee®...
Overview On/sleep LED On/sleep LED connection to DIO9 The following graphic illustrates the connection between the on/sleep LED and the On/sleep pin, DIO9. XBee® Zigbee® Mesh Kit...
Overview Potentiometer Potentiometer The XBee Grove Development Board provides a 10K potentiometer to generate analog signal between 3.3V and 0V. You can use the jumper to disconnect the 3.3V supply from the potentiometer to save power when not in use. XBee THT Grove Development Board Potentiometer The output of the potentiometer is connected to the AD3 pin (D3) of the XBee in the THT board.
Overview Potentiometer XBee SMT Grove Development Board Potentiometer The output of the potentiometer is connected to AD2 pin (D2) of the XBee in the SMT board. XBee® Zigbee® Mesh Kit...
Overview The XBee Grove Development Board provides an I2C bus that you can use with XBee programmable modules. XBee THT Grove Development Board I2C bus XBee SMT Grove Development Board I2C bus XBee/XBee-PRO connection to Grove sensor Regular XBee/XBee-PRO modules do not provide an I2C bus, but you can connect a digital Grove sensor.
Overview Grove I2C connector pinout The following table shows the pinout of the Grove I2C connector: Grove I2C Signal DIO1/I2C_SCL DIO11/I2C_SDA 3.3V XBee® Zigbee® Mesh Kit...
Overview Grove Connectors Grove Connectors The XBee Grove Development Board provides several Grove connectors connected to the XBee pins: THT boards include six Grove connectors: Two connectors to digital I/O pins Two connectors to two digital/analog I/O pins One connector to the RSSI/PWM0 pin One connector to the I2C bus of the microcontroller placed in the socket (programmable XBee) SMT boards include eight Grove connectors:...
Overview Grove Connectors THT board Grove connectors pinout The following tables show the pinout for the THT board Grove connectors: Grove DIO12 Signal Comments DIO12 3.3V Grove DIO4 Signal Comments DIO4 Signal connected to the user LED/button 3.3V Grove AD0 Signal Comments AD0/CB...
Page 237
Overview Grove Connectors Grove AD2 Signal Comments 3.3V XBee® Zigbee® Mesh Kit...
Overview Grove Connectors SMT board Grove connectors pinout The following tables show the pinout for the SMT board Grove connectors: Grove DIO12 Signal Comments DIO12 3.3V Grove DIO4 Signal Comments DIO4 Signal connected to the LED/button 3.3V Grove AD0 Signal Comments AD0/CB Signal connected to the commissioning button...
Page 239
Overview Grove Connectors Grove PWM0 Signal Comments RSSI/PWM0 Signal connected to the RSSI LED 3.3V Grove DIO19 Signal Comments DIO19 3.3V Grove DIO18 Signal Comments DIO18 3.3V XBee® Zigbee® Mesh Kit...
Overview Loopback jumper Loopback jumper The XBee Grove Development Board provides a three-pin jumper to connect the UART to the USB (normal mode) or to make a loopback connection between the RX and TX signals of the UART. In loopback mode, connect the RX line to the TX line, which transmits back any data received. You can use loopback in transparent mode to check the signal strength and perform a range test.
Schematic and Gerber files This section shows the schematics for the THT Grove Development Board and the SMT Grove Development board and provides links to download the Gerber files. XBee THT Grove Development Board XBee SMT Grove Development Board XBee THT Grove Development Board schematic You can dowload a copy of the schematic for the XBee THT Grove Development Board.
Schematic and Gerber files XBee SMT Grove Development Board schematic XBee SMT Grove Development Board schematic You can download a copy of the schematic for the XBee SMT Development Board. Gerber files You can download the Gerber files for the XBee SMT Grove Development Board. XBee®...
Need help?
Do you have a question about the XBee Zigbee Mesh Kit and is the answer not in the manual?
Questions and answers