ZigBee and BLE are two most commonly used radio communication protocols for IoT.

Understanding ZigBee Communication

ZigBee is a wireless communication networking standard used extensively in IoT devices designed for low-power usage scenarios with a low data transfer rate. ZigBee protocols are used in a number of settings including smart homes, building automation, industrial control devices (ICSs), smart health care, and more.

The ZigBee communication protocol allows devices to communicate using a mesh network topology, which enables it to be used both for small and large networks, some including thousands of devices. ZigBee is based on 802.15.4 MAC and PHY layer, allowing it to leverage various capabilities, including basic message handling, congestion control, and techniques for joining a new network.

The ZigBee stack is shown in Figure ZigBee-01

 

ZigBee Stack

Transmission: ZigBee uses a frequency of 2.4 GHz in most countries, 915 MHz in the United States, and 868 MHz in Europe. This is why you can not setup ZigBee smart devices in 5GHZ wifi Network.

 A given ZigBee network can have various kinds of devices:

  • Coordinator: A single device in the entire network responsible for a number of actions, such as selecting the correct channel, creating a network, forming security settings, handling authentication, and later even acting as a router.
  • Router: Provides routing services to the various network devices present on the ZigBee network.
  • End devices: Perform operations such as reading the temperature or actions such as turning on a light. The end devices sleep most of the time to save power and only wake up on a read or write request.

 

In discussing the underlying concepts in ZigBee networking, it is important to also understand the addressing mode in ZigBee. A ZigBee device would have two addresses—one from 802.15 standards, which is a globally unique 64-bit number, one that is a 16-bit NWK address.

To communicate with a device, the addressing needs to contain three information components:

• Address of the target device.
• Endpoint number.
• Cluster ID.

Similarly, a broadcast address for NWK(network) address is 0xFFFF, which would be received by all the devices present on the ZigBee network.