This zigbee tutorial describes everything you would like to know about Zigbee protocol stack. Now-a-days zigbee is becoming very popular for low data rate wireless applications. Zigbee devices are used in smart energy, medical and in home automation. In smart energy applications zigbee products are used to monitor and control use of energy and water, which helps consumers save energy and water and save money too. In medical field it is used to connect unlimited number of health monitoring devices and many more. In home automation it controls domestic lighting, such as switches, dimmers, occupancy sensors and load controllers. It has two bands of operation 868/915MHz and 2450MHz. 868/915 band provides about 20-40Kb/s and 2450MHz band provides about 250 kb/s data rates. In addition to this uses zigbee end devices can go to sleep mode which saves battery consumption and it also takes care of security of the information owing to security layer.
This tutorial on Zigbee covers following in addition to Zigbee network:
Zigbee Network Overview:
As mentioned in the network diagram, zigbee network is comprised of coordinator(C), router(R) and end devices (E). Zigbee supports mesh-routing. For detailed information on routing protocol employed in zigbee, one may refer Ad-hoc on-demand Distance Vector Routing protocol (AODV protocol), RFC 3561
Coordinator - Always first coordinator need to be installed for establishing zigbee network service, it starts a new PAN (Personal Area Network), once started other zigbee components viz. router(R) and End devices(E) can join the network(PAN). - It is responsible for selecting the channel and PAN ID. - It can assist in routing the data through the mesh network and allows join request from R and E. - It is mains powered (AC) and support child devices. - It will not go to sleep mode.
Router - First router needs to join the network then it can allow other R & E to join the PAN. - It is mains powered (AC) and support child devices. - It will not go to sleep mode.
End Devices - It cannot allow other devices to join the PAN nor can it assist in routing the data through the network. - It is battery powered and do not support any child devices. - This may sleep hence battery consumption can be minimized to great extent. There are two topologies, star and mesh, as mentioned Zigbee supports mesh routing. PAN ID is used to communicate between zigbee devices, it is 16 bit number. Coordinator will have PAN ID set to zero always and all other devices will receive a 16 bit address when they join PAN. There are two main steps in completing Zigbee Network Installation. Forming the network by Coordinator and joining the network by Routers and End devices.
Forming the Zigbee Network
- Coordinator searches for suitable RF channel which is usable and not interfering with Wireless LAN frequencies in use. This is because WLAN also operates in the same 2.4GHz bands. - Coordinator starts the network by assigning a PAN ID to the network. Assignment is done in two ways. Manual (pre configured) and dynamic (obtained by checking other PAN IDs of networks already in the operation nearby so that PAN ID does not conflict with other networks). Here Coordinator also assigns network address to itself i.e. 0x0000. - Now coordinator completes its configuration and is ready to accept network joining request queries from routers and end devices who wish to join the PAN.
Joining the Zigbee Network
There are two ways to join a zigbee network.MAC association and network re-join. First one is implemented by device underlying MAC layer and second one is implemented by network layer, despite the name may also be used to join a network for the first time. MAC association can be performed between C and R/E or R and E or R and other R. - Let us assume that Coordinator(C) has already established the PAN network. Hence next step for R or E is to find out whether C is allowing joining or not. So they do PAN scan or send beacon request frame. - After they come to know that they can join the network, they will send association request frame and will join the network as soon as they receive the association response. As mentioned above whether or not C or R allow a new device to join depends on two main factors -Permit joining attribute -Number of end device children it already has. One of the applications of zigbee in home is that switch, speakers and lamp is controlled using zigbee technology.