Part 1 - A Guide to IoT Standards & Protocols
Internet of Things (IoT) has undergone a wide adoption in many domains over the past years. The first thing that comes to mind when discussing IoT solutions are physical devices, hardware, either sensors that sense the environment or actuators which change the environment, and applications (software) through which IoT devices can be sensed and controlled. However, one important component of the ecosystem is often being overlooked. And these are IoT protocols that define the communication between different entities.
Why Are IoT Protocols Important?
The IoT environment consists of many entities, from IoT devices via backend systems (IoT platforms) to IoT applications. Not only are different entities being developed by different vendors, but also the same entities (e.g., IoT devices) are being developed by multiple vendors. To enable the proper functioning of this complex environment, it is of paramount importance to have standardized communication protocols which define message exchange between heterogeneous entities.
An Overview of IoT Protocols
IoT communication protocols can be grouped according to the OSI (Open Systems Interconnection) layers. The protocols developed to meet the requirements of IoT devices and services are mainly related to connectivity in the physical and network layer or the application layer. Protocols in application layer can be divided into general application protocols and specialized application protocols. The first part of this blog covers IoT connectivity protocols.
Connectivity Protocols
Protocols developed for IoT scenarios, where small message sizes are sent usually in a predefined period, include LoRaWAN, NB-IoT, ZigBee, and Z-Wave. They can be grouped according to the coverage of the network to wide coverage (LoRaWAN, NB-IoT) and middle coverage (ZigBee, Z-Wave). Furthermore, in the IoT ecosystem, some protocols are more suitable for other use cases but are used for the connectivity of IoT devices due to their widespread use, such as Bluetooth and Wi-Fi.
The connectivity protocols are used for communication between IoT devices and IoT gateways. Since the majority of them do not rely on Internet Protocol (IP) in the network layer, IP-based communication is established only from IoT gateways to IoT platforms.
LoRaWAN
LoRaWAN is a Low Power, Wide Area networking protocol designed to wirelessly connect battery-operated things to the internet in regional, national, or global networks. It targets IoT requirements such as bi-directional communication, end-to-end security, mobility, and localization services. It is deployed in a star-of-stars topology, in which gateways relay messages between end devices and a central network server. LoRa physical layer allows a single-hop link between the end device and one or many gateways. All modes are capable of bi-directional communication.
LoRaWAN specification is developed and maintained by LoRa Alliance, an organization that strives to provide massive IoT applications with low energy consumption, low data rate, and latency-insensitive coverage. The first version of the LoRa standard was released in 2015.
NB-IoT
NB-IoT is a technology for cellular networks intended to specifically target the needs of battery-powered IoT devices. Compared to other cellular protocols, it includes improvements in power consumption, system capacity, and spectrum efficiency. It can connect a large number of IoT devices, up to 50000 per network cell, thus enabling massive IoT.
NB-IoT is standardized by 3GPP. It was introduced in Release 13, which was finalized in 2016, and updated in each of the future releases.
ZigBee
ZigBee is a protocol intended for two-way communication between sensor nodes and controllers within a range of 10-100 meters. It is designed to communicate data through noisy RF environments. Its major features are low duty cycle, which provides long battery life and low latency.
ZigBee is created by the ZigBee alliance. It is based on IEEE 802.15.4 protocol on a link layer, while ZigBee protocol defines networking, application, and security layers. The first release of the protocol was in 2005, while the first version of 802.15.4 was in 2003.
Z-Wave
Z-Wave is a similar protocol to ZigBee. It is a mesh network using radio waves to communicate from device to device. It is designed to provide reliable and low-latency transmission of small data packets. It is suitable for control and sensor applications and intended for usage in smart homes.
Z-Wave is defined by the Z-Wave alliance. The initial release was in 1999.
WiFi
WiFi is a protocol designed for high data rates and smaller range (around 30 meters indoors) communications. As such it is ideal for covering households and smaller offices and providing connectivity to computers and smartphones. WiFi can be good for IoT applications that do not need high range, which require high data rates, and where devices are not battery-powered (e.g., for video surveillance).
The first version of the WiFi standard was released in 1997. Due to its omnipresence, it is also widely used in IoT. As a result, there are newer protocol versions that are developed primarily for IoT use cases, WiFi HaLow (802.11ah) and HEW (802.11ax). The first versions were released in 2016 and focus on extending the range and managing power more efficiently.
Bluetooth
Bluetooth is a protocol standardized in 1998 by the Bluetooth Special Interest Group (SIG) for connecting wireless headsets, speakers, printers, etc. It is intended to connect two devices with minimal configuration (e.g., a headset to a smartphone). It works well in noisy environments, and because of this feature, it can be applied in connecting machines in noisy environments in Industrial IoT use cases. Recent versions of Bluetooth standards are adapted for IoT. One of the convenient applications is indoor asset tracking by using multiple Bluetooth beacons and reading their relative signal strengths to triangulate position.
The next part of this blog will cover application layer protocols in IoT.
Written by Pavle Skocir
Pavle Skocir has been working in Axiros for one year as a software engineer in the delivery team and recently as a presales manager. Previously, he was an IoT enthusiast and worked on numerous applications in the smart home environment and on solutions for IoT interoperability. He also taught computer science courses at the University.
Related Info:
Knowledge Base: What is IoT?