24-04-2021 | | By Robin Mitchell
Recently, Zigbee announced that it is working in partnership with other major developers including Amazon, Apple, and Google to create a standard for smart devices. However, is CHIP the right move for the smart device market?
The developments in microcontroller and internet technologies have led to the development of billions of IoT devices as well as the integration of smart devices into the home. While it is incredibly convenient to turn lights on and off with a mobile app, it can be more convenient for such lights to be controlled by another smart device in the home (such as a voice assistant system).
However, while most devices use the same underlying network technologies (IP), manufacturers use their own messaging protocols for device communication. As such, smart home devices from different manufacturers are rarely able to communicate with each other. This inability of device communication makes it nearly impossible to create smart homes that can use a centralised control system to coordinate all devices.
Recently, Zigbee announced a partnership between major companies including Amazon, Apple, and Google to create a new application layer that would help devices better communicate with each other. Working on top of TCP and UDP, the application layer would be royalty-free which would encourage the uptake of device developers to create unified technology standards in the smart device market.
According to Zigbee, project CHIP (Connected Home over IP), will drive for device security while also making communication between devices seaming less. Furthermore, the application layer would be open-source, providing a cost-effective solution for developers while also improving security (generally speaking, security flaws are found and fixed quickly by the general public).
The GitHub page for the project provides software and a description of the proposed system. At the top of the layer is the application that runs the device's logic (control I/O, etc.). The layer below this is the data model, and this is responsible for tying the application to key data variables. Further below this layer is the interaction model that enables requests to read and write to the device (this is used to interact with the device).
At a glance, it would appear that the project CHIP is exactly what the smart home needs; a system that allows devices to communicate with each other. However, while there are many examples provided on the GIT, the project appears to be extraordinarily complex and bloated despite one feature of CHIP being that it has low overheads.
Fundamentally, what a smart home API really needs is a straightforward standard messaging protocol on top of a security layer. Since devices can vary greatly, it would make more sense that any unified smart home API would utilise a document messaging method. In such an API, devices send each other documents that have unified headings (such as device name, location etc.), and variables that outside devices can interact with.
The document could be structured like an .ini or .xml to make integration with pre-existing software platforms trivial, and the use of a document allows devices to ignore unnecessary information. Furthermore, the document should be written entirely in plain text using a minimal character set (such as ASCII or UTF-8) to minimise error and data size.
Other features such as an API could implement, which should ideally operate like an HTML website, including help requests that list all the variables that can be altered in the device and their data type. Overall, the API would enable devices to almost behave like terminals, and if intelligently implemented by developers, could easily allow for API updates.
But most importantly, an API should be lightweight, as simple as it can be, and held in no more than two developer files to keep things simple and safe.