A Review of Popular IoT Communication Protocols
Every IoT communication protocol has a set of parameters that make it a success in one Internet of Things deployment and a total failure in another.
Join the DZone community and get the full member experience.
Join For FreeOpting for the wrong IoT communication technology will drain your connected devices of power, cause delays in data transfer, open security loopholes, and render the whole setup a failure.
According to IoT Analytics, a market research company, there were 11.7 billion IoT connections in 2020 globally, and this number is expected to swell to over 30 billion by 2025. As the Internet of Things adoption continues to grow, it’s important to carefully consider how to connect cyber-physical systems in an optimal way and avoid signal interference.
There are many IoT communication protocols out there, and it can be overwhelming to sift through their specifications and determine which technology is right for your application. This article clarifies the basic terminology around IoT connectivity and introduces the most popular IoT protocols. After reading it, you will have the knowledge you need to select the protocol that will help you get the most out of your Internet of Things product.
If you want to gain a better understanding of IoT before elevating your knowledge of communication protocols, check out this guide on IoT product development. Otherwise, let’s dive right in!
How Do IoT Devices Communicate with Each Other?
A communication protocol is a set of rules that enables secure data exchange among devices and/or data centers and other storage and processing units.
Every IoT communication protocol has its distinct characteristics, which make it suitable for one project and useless for another. Protocols vary significantly in their range, memory usage, power consumption, installation costs, etc. Some can only connect devices within one building, others can communicate across physical barriers. For example, Bluetooth, a commonly used smart home, fitness tech, and healthcare IoT communication technology, doesn’t need much memory and power to operate, but its connection range is limited.
As Bill Ray, Senior Research Director at Gartner, said, “Not all protocols work, or work well, in every circumstance.”
IoT communication protocols enable the following connections:
Device to device
Device to gateway
Device to the cloud or a data center
Since IoT solutions are built as a stack of technologies and consist of several layers, as presented in the image below, communication protocols also operate at different layers. For example, the aforementioned Bluetooth works at the lowest layers, while Data Distribution Service (DDS) protocol works at the highest — i.e., the application tier.
Wireless vs. Wired IoT Systems
Wired IoT devices are connected through low-voltage or standard power lines. Every node has a unique ID and embedded software running on it. Such devices are self-sufficient and don’t depend on a central hub. They communicate via special protocols, such as X10 and Insteon.
Wired deployments are reliable, but, according to Sandra Wendelken, Senior Research Analyst at IDC, “As such, wireless connectivity has been a driving force in the proliferation of IoT deployments.”
Unlike wireless cyber-physical systems, wired IoT solutions do not allow for adding more devices to the network on the fly, and their configuration can be a complicated task. Wireless solutions, on the other hand, do not always offer real-time access to data, so one needs to consider whether near real-time mode would suit their project objectives.
Benefits of wireless IoT communication protocols:
Scalability: standard protocols support adding new devices with minimal configuration adjustments
Interoperability: IoT communication protocols can be programmed to work with different hardware, such as chips and gateways, and they support devices from various vendors
Reliability: standard communication technology ensures secure data transmission and robustness against interferences
IoT wireless connectivity technologies can be further segmented into short-range and long-range solutions.
Short-Range vs. Long-Range Wireless Communication Protocols
Short-range technologies operate over a limited range while keeping connectivity costs and power consumption down. Such protocols present a great option for smart home and commercial building automation. Some popular examples of this technology are Bluetooth and Zigbee protocols.
Long-range IoT communication protocols cover larger distances. They mostly attempt to reduce throughput to conserve power for long distance transmissions. Popular applications of this technology are industrial site monitoring, agricultural systems, and smart cities. One example of a long-range protocol is LoRaWAN, which can span over 10 km if no physical obstacles are present.
IoT Communication Protocols Classification
One of the most common approaches is to divide IoT communication protocols into two groups—data and network protocols.
Data protocols operate at the higher layers, such as application and presentation
Network protocols work from data link, transport, network, and physical layers
IoT Communication Technologies: Data Protocols
IoT data protocols connect low-power IoT devices and provide point-to-point communication with the hardware directly in offline mode. The connectivity is achieved through a wired or a cellular network.
Advanced Message Queuing Protocol (AMQP)
This is an open standards application layer protocol that supports messaging between systems independently of the platform used. It can guarantee interoperability between clients from different vendors. AMQP ensures secure and reliable communication even over poor networks or when one of the systems is temporarily unavailable. It specifies “forwarding addresses” where messages can be routed in case of connection failure.
This protocol is popular in settings with server-based analytical environments, such as banking technology solutions. Otherwise, its application is rather limited due to its heaviness.
AMQP integrates with Transport Layer Security (TLS), which ensures data encryption upon transfer. Additionally, this IoT communication technology implements the Simple Authentication Security Layer (SASL) framework for secure authentication handshake between clients and servers.
Advantages:
Reliability
Security
Support for different messaging patterns (publish-subscribe, store-and-forward, and classic messaging queues)
Extendability with minimal effort
Disadvantages:
Heavy memory requirements
Slow data transmission due to large message size
Message Queuing Telemetry Transport (MQTT)
This is a lightweight IoT communication protocol. It supplies a reliable connection and operates on top of TCP/IP networks. MQTT is suitable for wireless systems with constrained bandwidth and high latency, such as mobile devices operating on an unreliable network. That’s why Facebook used it for its online chats. Another application is remote monitoring, as MQTT shines at gathering small messages from devices with limited capacity at remote locations.
Unlike AMQP, this protocol is restricted to publish-subscribe architecture and has three main components — subscriber, publisher, and broker. The subscriber mechanism generates data, the publisher offers routing options, and the broker ensures security.
It doesn’t provide device management structure or defined data representation. Hence, these parameters are vendor-specific.
Advantages:
Low power consumption
Low bandwidth usage
Ability to function well with unreliable connections
Disadvantages:
Limited interoperability between devices from different vendors
Inherent security constraints (relies on short usernames and passwords for authentication)
Poor extendability
Limited choice of messaging patterns (only publish-subscribe)
Constrained Application Protocol (CoAP)
The Internet Engineering Task Force designed this IoT communication protocol to address the needs of HTTP-based systems. Even though the internet is free for everyone to use, it’s too heavy for many IoT applications. Therefore, the IoT community tends to dismiss HTTP, considering it unfeasible for IoT applications. CoAP can work with HTTP without causing overheard as it permits short wake-up and long sleep states. It allows HTTP clients to exchange information despite their resource constraints. It is popular in building automation and smart energy applications.
CoAP depends on User Datagram Protocol (UDP) packets for communication and message passing. This technology is utilized for machine-to-machine applications and allows devices with limited capacity, like low availability, to join the IoT environment. It can even work with microcontrollers with only 10 KiB of RAM.
Advantages:
Highly secure as it uses DTSL parameters as its default parameters
Easy to deploy
Works well with devices with limited capabilities
Disadvantages:
Messages can reach a destination in the wrong order, which is a common issue with UDP
Difficulties communicating with devices behind Network Address Translation (NAT), as they can generate dynamic IP addresses
Data Distribution Service (DDS)
Object Management Group (OMG) developed this IoT communication protocol for real-time systems. DDS offers a reliable and scalable data exchange using a publish-subscribe pattern. Its scalability is attributed to the fact that DDS supports dynamic discovery of publishers and subscribers. It works well with the cloud and low-footprint devices, and provides interoperable data sharing, which is software and hardware-independent.
This protocol is believed to be the first open international middleware IoT standard.
Advantages:
Scalable
Highly secure and powerful QoS mechanism
Guarantees low-latency communication
Connects devices from different vendors
Disadvantages:
Heavy on bandwidth (consumes twice as much traffic as MQTT)
Only interfaces with web services via a gateway
IoT Communication Technologies: Network Protocols
IoT network communication protocols connect medium and high-power IoT devices over a network. This technology typically operates over the internet.
There are several ways to connect IoT devices to the network and/or each other. These include point-to-point, star, and mesh networks.
In point-to-point deployments, two nodes are connected directly, forming a close network. Data on this network doesn’t travel on the public internet, making this connection very secure.
In a star network, all nodes are connected to a gateway, which gathers and transmits data for further processing and storage. This approach doesn’t consume much energy as devices are allowed to rest in between transmissions. However, if a node can’t access the gateway, there is no way for it to still pass data. Another drawback is that the gateway presents a single point of failure. If it’s disconnected, the entire system goes down.
Mesh networks are more reliable, as other nodes can also receive data from their neighbors and pass it further to the gateway. So, a node’s functionality isn’t limited by its ability to access the gateway directly. This network type can cover larger distances than star networks and heal itself, as it automatically recalculates data transmission routes in case of a node failure.
There are several IoT communication protocols you could use to create these types of networks.
Bluetooth and Bluetooth Low Energy (BLE)
Bluetooth is a wireless technology used to exchange data over short distances. It’s common in personal gadgets, such as mobile phones, media players, and tablets. This protocol is widely used in smart home configurations. IoT users admire it for the possibility to control their connected devices via a smartphone, which is rather convenient. Even though a gateway is needed to transmit data to the internet, a regular smartphone can act as one.
This protocol transfers small chunks of data in bursts and will have problems with larger files.
Introduced in 2010, BLE is a Bluetooth version optimized for short-range IoT connections. It consumes less power than the standard Bluetooth protocol. It’s important to note that a BLE device can’t communicate with a classic Bluetooth device unless both of them have both protocols installed.
This IoT communication protocol is reasonably secure as it encrypts transmitted data at the application and network levels.
Advantages:
Low latency
Low costs due to hardware simplicity
Easy internet access via a smartphone
Secure
Disadvantages:
Uses the crowded 2.4 GHz frequency
Limited number of connected devices
Zigbee
Zigbee is a robust and scalable IoT communication protocol that is used to gather sensor data in home automation and industrial applications. It transfers small amounts of data over moderate distances. Zigbee operates on a self-healing mesh topology, which makes it highly reliable. New devices can join the network after performing the “handshake” process, which takes merely 30 milliseconds.
This protocol demands a custom gateway to control IoT devices, which is expensive, especially in comparison with Bluetooth, which can operate over a smartphone.
Advantages:
Can accommodate up to 65,000 devices, in theory
Low power consumption (small devices can operate on one battery for several years)
Relatively long range of communication
Disadvantages:
Uses the common 2.4 GHz frequency, which is prone to interference
Requires a custom gateway, which is expensive
Z-Wave
This is a low-power wireless protocol, which is commonly used for smart home solutions and business applications. Z-Wave offers the lowest latency among the network IoT communication protocols presented in this article. It’s important to note that this technology operates at a different frequency in each country, meaning that users will have to purchase a different device when changing their location. In theory, this protocol supports up to 232 IoT products.
Z-Wave is a proprietary technology managed by Z-Wave Alliance that oversees certifications. So, every Z-Wave device is compatible with every Z-Wave controller independently of the manufacturer. Also, all the specifications were released to the public back in 2016, making this standard accessible to developers.
Advantages:
Avoids the crowded 2.4 GHz frequency used by Wi-Fi, Bluetooth, and Zigbee
Low latency
Low power consumption
Reasonable coverage
Disadvantages:
Low data transfer rate
Premium prices
Wi-Fi
Wi-Fi uses Internet Protocol (IP) to connect devices on a Local Area Network (LAN). It ensures reliable and secure communication between closely located devices. This protocol is relatively cheap and easy to deploy, and it is suitable for indoor applications, such as smart home systems. It works well with heavy files and can handle huge amounts of data.
However, this IoT communication protocol is too power-consuming and has range limitations.
Advantages:
Convenient and easy to install
High data transfer rate
Disadvantages:
High power consumption
Hard to scale
Short distance communications
Long-range Radio Wide Area Network (LoRaWAN)
This is a noncellular wireless wide area network technology that connects devices over a long range, which makes it suitable for smart cities and industrial applications that transfer telemetry data over long distances. One example is smart streetlights that are connected to a LoRa gateway operating on LoRaWAN protocol. This technology can connect millions of IoT devices and is optimized for low power consumption. New devices can be either hard-coded or arranged into an over-the-air connection.
A LoRa gateway gathers data from different sensors and transmits it to a server or the cloud over a standard IP protocol. LoRaWAN offers two security layers — one for the network layer and the other for the application.
This IoT communication protocol is not an option for applications that require low latency or transfer a large amount of data.
Advantages:
Scalability
Covers large distances
Low power consumption
Operates on unlicensed frequency
Disadvantages:
Low data transfer rate
Custom LoRa gateway
Not suitable for real-time applications
How to Select the Right IoT Communication Technology for Your Project?
There is no single IoT communication protocol that will always save the day and work well for every task. Selecting the right technology is a big decision, and it needs to be approached carefully. Every protocol has its advantages and a set of conditions when it shines. When looking for the best option for your next IoT project, consider the following criteria:
Device capabilities. Some devices support specific communication protocols. So, your hardware choices will restrict protocol options.
Synchronous response requirements. If the system doesn’t expect an immediate response to actions, you can use asynchronous communication patterns and select from a wide range of MQ protocols, such as MQTT.
Connectivity. Depending on the connection type and device requirements, you need to consider such factors as data transmission rate, communication range, and latency.
Power consumption. This is not a problem if you can afford to plug your devices into power sockets, like with stationary home automation products. But if your devices run on batteries and can’t be recharged, then a low-power protocol would be a better alternative.
Allocated budget. IoT communication protocols come with different price tags. For some of them, the installation costs are minimal, and an ordinary smartphone can act as a gateway. For others, it will cost you a considerable sum to enter the corresponding alliance, and afterwards, you will pay a fee for every connected device — and that’s not to mention the cost of incorporating custom gateways into your IoT deployment.
My Algorithm for IoT Protocol Selection
I tend to approach IoT protocol selection by checking hardware capabilities and product features and reviewing the budget allocated for device purchase and IoT software development. Afterwards, I create a list of viable IoT communication protocols, considering the following factors:
Which protocols can cover the corresponding feature set
Which protocols match our hardware requirements and budget limitations
For the list of protocols that satisfy the criteria above, you should prioritize the connectivity technologies by their price and set of features offered.
My eventual choice will be the protocol that is high on the priority list and that is the easiest to integrate with the rest of the system
To illustrate a set of connectivity-related features and hardware requirements, consider this simplified example. A typical IoT product contains the following components:
Hardware
A mobile application that allows users to control the hardware
An admin program (back end) to view dashboards and manage the platform
Such a product will follow definite communication patterns:
Mobile app -> hardware
Mobile app -> back end
Hardware -> back end
Browser used by the admin -> back end
From the hardware perspective, you should answer the questions below:
Are there any limitations on power consumption?
Are there any requirements regarding local device connection?
Do you need to integrate other hardware pieces, such as sensors?
Can the system operate with asynchronous communication?
By answering these questions, you’ll be able to shortlist viable connectivity options and select an optimum tech stack together with your IoT development partner.
To Sum Up
Every IoT communication protocol has a set of parameters that make it a success in one application and utterly useless in another.
For example, Bluetooth is a cheap and reliable option for home automation systems, where devices are located within a short distance from one another. And LoRaWAN is the go-to protocol for industrial applications as its range spans up to 15 kilometers, all with minimal power consumption.
Also, you might end up using several IoT communication technologies for one project, with every protocol being responsible for a specific task. For instance, Wi-Fi can handle large file transmission while Z-Wave can ensure interference-free communication, as it avoids the 2.4 GHz frequency band.
Published at DZone with permission of Roman Lapa. See the original article here.
Opinions expressed by DZone contributors are their own.
Comments