DEV Community

Cover image for A Rundown of IoT Communication Protocols — and Expert Tips for Choosing One for Your Project
Expanice Soft
Expanice Soft

Posted on

A Rundown of IoT Communication Protocols — and Expert Tips for Choosing One for Your Project

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 discuss your project with IoT software development service providers and 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.

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.

IoT communication protocols operate at different layers of a cyber-physical system

To introduce the reader to the broader picture, we present some of the common IoT deployments and protocol classifications.

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

We can further segment IoT wireless connectivity technologies 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 through wired and cellular networks and provide point-to-point communication with the hardware directly in offline mode.

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, namely point-to-point, star networks, and mesh topology.

When choosing between a point-to-point, star, and mesh network, you should weigh in on the availability and performance requirements of your product, as well as your development budget

  • 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. Owners 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 version. 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 that can operate over a smartphone.

Advantages:

  • Can accommodate up to 65,000 devices
  • 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 interferences
  • 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 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 by 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 home automation. 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?

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 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.

Data transfer rates, coverage, and power consumption are among the key criteria for selecting a suitable IoT connectivity tech stack for your IoT project

How Expanice approaches IoT protocols selection

Before we dive into our IoT protocol selection process, we’d like to highlight several Internet of Things projects from our portfolio to give you a better understanding of our IoT background.

Cryo chamber management for hospitals and spa salons

Initially, the customer approached us asking to build a simple mobile app that would allow users to register and pay for cryo sauna services. The sauna itself was fully manual. The scope of the project kept expanding, and after incorporating IoT hardware and software, the cryo chamber management system became fully automated. Our team fitted the sauna with different sensors to monitor oxygen levels, patients’ heart rate, temperature, etc., and a built-in safety control that would manage the chamber and make adjustments when needed.

The mobile app, besides registration and seamless payments, would permit users to connect with their EHR systems and medical records. The facility’s staff could rely on our software to access customers’ data, draft agreements, customize prices, conduct surveys, and perform other administrative tasks. They could also view the data coming from the chamber and make adjustments remotely.

As a result, energy and liquid nitrogen consumption became 17% lower compared to the competitors’ products.

IoT communication protocols used:

  • HTTP to support communication between the receptionist’s tablet and the back end
  • RabbitMQ for asynchronous communication with back-end services when no immediate response is expected and processing can be queued
  • Modbus to facilitate communication between the tablet and the chamber’s sensors

Smart curtains control system

The client approached Expanice to develop back-end software for controlling IoT-powered smart curtains. After adding more and more features, this project expanded into a comprehensive IoT solution, which includes an optimized AWS-based cloud infrastructure and a remote-control mobile app, in addition to the aforementioned back end.

The system can manipulate smart curtains based on different patterns. For example, it can open and close the curtains at sunrise and sunset times considering the date and the house’s location. Or it can tie these actions to an alarm clock. The mobile app gives users the possibility to control their curtains remotely and open/close them at any time.

When the system was initially deployed, only a couple hundred devices were connected. The solution scales automatically as more devices are added without the need for expert interventions. Our team also managed to optimize AWS usage and save 66% on cloud-related costs.

IoT communication protocols used:

  • HTTP to support communication between the mobile app and the back end
  • MQTT for asynchronous communication with IoT hardware via AWS core services
Our algorithm for IoT protocol selection

We approach IoT protocol selection by checking hardware capabilities and product features, and reviewing the budget allocated for device purchase and software development.

Afterwards, we 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.

Our 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, we would answer the questions below:

  • Are there any limitations on power consumption?
  • Are there any requirements regarding local device connection?
  • Do we 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.

If you have an IoT project in mind but have doubts about which communication protocols are best suited for your needs, ‌just hit the comments section below! Expanice can help you with the technology selection.

P.S. The story was originally published here.

Top comments (0)