
ZigBee networks
ZigBee networking concepts
XBee/XBee-PRO® S2C ZigBee® RF Module
54
End device
An end device is essentially a reduced version of a router. This device:
n
Can join existing networks and send and receive information, but cannot act as messenger
between any other devices.
n
Cannot allow other devices to join the network.
n
Uses less expensive hardware and can power itself down intermittently, saving energy by
temporarily entering a non responsive sleep mode.
n
Always needs a router or the coordinator to be its parent device. The parent helps end devices
join the network, and stores messages for them when they are asleep.
ZigBee networks may have any number of end devices. In fact, a network can be composed of one
coordinator, multiple end devices, and zero routers.
An example of such a network is shown in the following diagram:
Note
Each ZigBee network must be formed by one, and only one, coordinator and at least one other
device (router or end device).
In ZigBee networks, the coordinator must select a PAN ID (64-bit and 16-bit) and channel to start a
network. After that, it behaves essentially like a router. The coordinator and routers can allow other
devices to join the network and can route data.
After an end device joins a router or coordinator, it must be able to transmit or receive RF data
through that router or coordinator. The router or coordinator that allowed an end device to join
becomes the “parent” of the end device. Since the end device can sleep, the parent must be able to
buffer or retain incoming data packets destined for the end device until the end device is able to wake
and receive the data.
A device can only operate as one of the three device types. The device type is selected by
configuration rather than by firmware image as was the case on earlier hardware platforms.
By default, the device operates as a router in transparent mode. To select coordinator operation, set
CE
to 1. To select end device operation, set
SM
to a non-zero value. To select router operation, both
CE
and
SM
must be 0.