With the soaring requirements of Internet of Things, seamless connectivity between wireless devices and cloud have become very important. This project involved working with a client who provides a seamless IoT platform to solve this connectivity challenge between devices and the cloud.
AIM OF THE PROJECT
The client already has a seamless IoT platform which solves the connectivity challenge, he intended to enhance his service offering by building a Multi-Radio IoT Gateway specifically to connect ZigBee devices with the cloud. In addition, consider a scenario that new type of ZigBee devices needs to be enabled in the gateway. This had to be done without updating the gateway firmware.
There were quite a few of them. The foremost was the fact that we were supposed to support newer type of ZigBee devices without the need of updating the firmware. Secondly, the client wished to facilitate support of other wireless protocols like z-wave and other proprietary 900 MHz RF protocols in future. So the gateway stack had to be architecture in such a manner that other protocols can be easily supported in future. Thirdly, the client wished to facilitate easy platform porting as a feature. So the gateway stack had to be easily portable to other platforms.
- ZigBee gateway – routing hub between ZigBee devices and Cloud
- The ZigBee-based devices can be controlled from Mobile application
- Easy device discovery, device registration, and device removal
- When user is out of home, device can be controlled/monitor via cloud
- When internet connection is down, devices can be controlled locally by mobile application over LAN
- The stack is developed in a manner allowing rapid porting to other platforms
- Industry standard encryption is used in all message exchange
- New type of ZigBee devices could be easily connected to the gateway without having to update the gateway firmware
Volansys developed a ZigBee-Wi-Fi Gateway stack that is used in IoT infrastructure to control ZigBee devices from a mobile application. The ZigBee gateway is an intermediary device that serves as a routing hub between ZigBee devices and cloud. The gateway supports two interfaces for mobile application to control ZigBee devices. A mobile application can connect either via WAN (cloud) or via LAN with the gateway. All message exchanges are encrypted using industry standard encryption method. The stack communicates with the ZigBee chip (TI’s CC2530) over UART. The ZigBee chip act as coordinator and manage communication with all ZigBee-based end devices. Following list shows our contribution:
- Development of the ZigBee gateway stack to support device add/remove, control and monitoring of ZigBee devices
- Developed stack in such a way that new type of ZigBee devices could be added without updating the gateway firmware
- Implemented the support of ZigBee Groups and Scenes
- Developed sync, backup and restore mechanism on gateway side
- Integration of cloud and mobile applications with gateway stack
- Integration of various ZigBee devices with the gateway stack
- Porting of gateway stack on multiple platforms
- Testing, bug fixing and optimization of the gateway stack
- Developed a test framework for regression and functional testing of gateway stack
- Developed log analyzer tool to capture and dump UART message exchanges between stack and CC2530 in readable format
- Played active role in setting up experience zone and demonstration of end to end solution