Choosing the best IoT protocol
October 11, 2016
While much of the IoT relies on the traditional embedded development skills, the requirement for always-on connectivity is tasking engineers to make d...
While much of the IoT relies on the traditional embedded development skills, the requirement for always-on connectivity is tasking engineers to make decisions not only for the wireless method, but for the communications protocol, too. As a result, different protocols are trying to establish themselves as the keystone for provisioning data communication from edge nodes to the cloud. Each is vying to be seen as being the best for either certain types of data or the method by which data is exchanged.
Initially developed for use by Nest Labs within their smart thermostat and smoke detector products and acquired by Google in 2015, the Thread protocol (Figure 1) has been gaining adoption fast. With a growing partner and user community, Thread’s technical credentials make it a viable alternative to the likes of ZigBee, Z-Wave, and Bluetooth Low Energy (BLE). One of the aspects of Thread that might account for its success is that Google has opted not to develop a completely new protocol, but base it around the established IEEE 802.15.4 wireless standard.
[Figure 1 | The main components of the Thread protocol. Thread targets appliances, access and climate control, energy management, lighting, safety, and security. (via Thread Group)]
BLE is probably the closest rival to Thread, but BLE cannot form a self-healing mesh network, which is increasingly becoming a pre-requisite for IoT applications. Reliability is key for any form of sensor-based communication such as thermostats, security alarms, and certainly for industrial applications where safety is a vital consideration.
Despite this, BLE is certainly not out of the IoT race yet. Across all its forms, Bluetooth has benefited from progressive capability enhancements over the years and now some of the participants of the Bluetooth Special Interest Group (Bluetooth SIG), such as Broadcom, Qualcomm, and other industry leaders, are working hard to improve BLE’s capabilities to make it suitable for use in IoT applications.
A good example of a highly integrated BLE SoC is Broadcom’s BCM20737 WICED SMART Bluetooth device (Figure 2), which has security features and iBeacon technology using its low-power WICED Smart chip. It includes RSA 4000-bit encryption and decryption support and includes native support for A4WP Rezence wireless charging.
[Figure 2 | A good example of a highly-integrated BLE SoC is Broadcom’s BCM20737 WICED SMART Bluetooth device.]
The Bluetooth SIG is also paving the way for connection to the Internet. In February, it launched the Bluetooth Smart Mesh Working Group (which is already supported by more than 80 companies) with the goal of building the architecture for standardized Bluetooth mesh networking capability.
IPv6, IEEE 802.15.4, and a personal area network called IPv6 over low-power wireless personal area networks (6LoWPAN) used by Thread, ZigBee, and Z-Wave are complementary, as the latter two were conceived expressly to serve devices with limited processing power, low data rates, very low RF output power, and minimal power consumption from either mains or battery. This should make device and network design relatively straightforward and cost-effective. 128-bit AES encryption is standard for these, and the NSA considers this method to be rated for the “Secret” clearance level since it would take a supercomputer 149 trillion years to break the code.
With Thread’s low latency (typically 100 ms and a lot less than Wi-Fi), the fact it can accommodate up to 300 devices on a network, AES 128 bit security, and a mesh networking approach positions it as an extremely capable protocol for use in IoT applications. That said, there is no evidence that Thread will become the dominant leader in IoT connectivity. With the forecast growth in IoT (Figure 3), there is clearly space for many protocols to establish themselves, perhaps carving their own niche in specific applications.
[Figure 3 | Projected growth in wireless-enabled devices showing the exponential growth of IoT. (via BI Intelligence)]
But what about ZigBee/ZigBee Pro, Z-Wave, AllJoyn, CSR Mesh, and IoTivity?
Operating at 2.4 GHz and a maximum data rate of 250 kbps, ZigBee 3.0 has gained wide support from an estimated 400 vendors and can support thousands of nodes using a well-developed mesh networking protocol. With a link distance of about 100 feet, it supports IPv6 and offers 128-bit AES encryption security. This latest version incorporates all the former ZigBee profiles that had proliferated over the years, for which the ZigBee Alliance had been severely criticized.
Alongside ZigBee is the relatively new ZigBee Pro specification. Clearly optimised for IoT, this mesh networking protocol not only can operate in the 2.4 GHz spectrum, but also in the unlicensed ISM spectrum of 800-900 MHz. Using a frequency agile spread spectrum modulation approach, over 16 channels, it also supports multiple star topologies in addition to a broadcast transmission option. As with most IoT node applications, conserving energy is a prime consideration, so the protocol caters to those devices that do not have a battery, but harvest energy through a variety of electromechanical, light, or motion methods.
Z-Wave, meanwhile, operates exclusively in the 800-900 MHz ISM bands. With a limited range of about 100 feet, a low data rate (100 kbps) and capable of supporting up to 232 nodes, Z-Wave has still managed to gain support from over 375 organizations.
From within the Linux Foundation is the AllSeen Alliance with their AllJoyn framework. AllJoyn is an emerging open-source, collaborative software framework that allows developers to write applications for IoT regardless of brand, category, transport mediums, and operating systems without the need to use the cloud or even the Internet (both of which are supported, however). It provides support for Wi-Fi, Ethernet, serial, and power-line transmission media. Supported operating systems include RTOS, Arduino, Linux, Android, iOS, Windows, and Mac. The framework uses 128-bit AES encryption and is currently supported by more than 120 companies.
Another protocol operating from within the Linux Foundation is IoTivity, which focuses on improving interoperability and defining the connectivity requirements for IoT. It uses a common communications framework to wirelessly connect and manage the flow of information among personal computing and emerging IoT devices regardless of form factor, operating system, or service provider.
With Google’s support, Thread is highly likely to thrive. Backed by a company that is embracing IoT by provisioning a host of cloud connectivity platforms, it should do well. However, there are many other cloud service providers that are growing by the day. While few of them can compete on size, they do provide plenty of opportunities for other protocols to gain significant share in the future.