XBee Device Types and Network Topologies
17 September 2014
If you are interested in creating electronics projects with either Arduino or Raspberry-Pi, you may want to eventually add wireless communication to your projects. This is especially true with the advent of the Internet of Things (IoT). One way to achieve this is by using XBee radios. Digi is the manufacturer of XBee radios, but you can get them from many different suppliers such as Adafruit and Sparkfun. There are a staggering number of variations that these radios come in. This is because there are numerous network protocols (e.g. ZigBee or Wifi), and each of these variations come with various antenna options (e.g. wire antenna or PCB antenna). This article is specific to XBee Series 2 ZigBee Mesh radios (with any antenna).
XBee radios are extremely versatile. So much so that there is not enough memory on the device to store all of the instructions for all of the different modes and device types. Therefore, you will need to change the firmware on the device in order set the intended mode and device type on each individual node of your network. This can only be performed with X-CTU, which is a program supplied by Digi.
Every ZigBee personal area network (PAN) must have one and only one coordinator device. This device is responsible for assigning addresses, handling security, and managing the other administrative functions needed to maintain the health of your network. If this device goes down, then your PAN will go down. Therefore, this device must have a constant power source (e.g. plugged into an electrical wall outlet).
A router can join any existing personal area network (PAN) and perform a full featured set of functions.
- Send information
- Receive information
- Route information (i.e. acting as a messenger for communication between two radios that are too far apart for them to communicate directly)
Typically, routers are plugged into an electrical wall outlet. This is especially true if the router is the parent of an end device (see below).
End devices are essentially stripped down routers. They can:
- Join any existing personal area network (PAN)
- Send information
- Receive information
End devices do not, however, route information. Each will need a parent node that is either a router or the coordinator. These devices can be built cheaply without a microcontroller (e.g. Arduino or Raspberry-Pi) and can be built using batteries as their power supply. To save energy and prolong the life of your batteries, these devices can also be placed into sleep mode.
There are several different types of personal area network (PAN) topologies, but they basically build on top of one another. For example, a two node (pair) network can be grown into a three node (star) network and so on.
The first type of network topology is a "pair." It is the simplest possible network, and consists of just two radios/nodes. One node must be a coordinator in order for the network to be formed. The other node can be configured as a router or end device.
A "star" topology consists of a coordinator that is paired with two or more end devices. Since end point devices can only talk to their parent, all of the endpoints are directly paired with the central coordinator.
A mesh network uses router nodes in addition to its coordinator node and endpoints. These router radios can pass messages to other routers as well as their child endpoints. In this topology, the coordinator is simply a special router that also maintains and secures the PAN.
This network layout is not much different than a mess network. It still employs a coordinator and routers as the backbone of the network to pass messages to one another and to the child end devices. But, the geometry of the PAN is stretched out so that parts of the network are outside the range of other parts of the network, and therefore have to rely on the network backbone to pass along messages.
is licensed under a Creative Commons Attribution 4.0 International License