Message Queuing Telemetry Transport
The MQTT protocol will be one of the most important technologies in the IoT sector in 2022. In addition to the large number of different sensor types, there are numerous protocols for transmitting the information, and this heterogeneity greatly increases the complexity of integrating sensors. One way to facilitate connectivity is to use MQTT (Message Queuing Telemetry Transport) with a unified payload specification.
MQTT is one of the most widely used protocols in the context of IoT applications, if not the de facto standard. The advantages lie in its energy efficiency, speed, scalability, and usability with insecure connections. In addition, the Eclipse Sparkplug specification is a standard that defines a uniform data schema. Since all sensors are treated the same if the specification is adhered to, a plug-and-play connection of the sensors is possible. Two established MQTT brokers are Eclipse Mosquitto and HiveMQ. Which broker is used depends on the respective use case and the number of connected sensors.
Mosquitto and HiveMQ
Mosquitto Broker is also developed by the Eclipse Foundation. It is a lightweight implementation that can run on servers as well as edge devices without much processing power. The Mosquitto Broker is also often integrated into IoT platforms to receive data via MQTT.
HiveMQ provides an enterprise-ready version of an MQTT broker. Unlike Mosquitto, HiveMQ can be scaled up and also used in cluster operation. There is also a cloud-native, managed variant, HiveMQ Cloud, to make the installation and scaling of the solution as simple as possible. In addition, HiveMQ can be extended with extensions, for example to transfer data to Apache Kafka. Event streaming platforms are another important technology. They act as a central data hub to collect data from a wide variety of sources and manage streams. This includes sensor data as well as other business-relevant data, for example from operational systems such as ERP or CRM. The most popular event streaming software/solution is Apache Kafka, like MQTT an open source software.
Kafka Cluster and Confluent
A Kafka cluster consists of several brokers and can be easily scaled as data volumes grow. The data is persisted in the hard disk storage and can be kept indefinitely if desired. This allows Kafka to act as a long-term storage facility, for example to resend data to downstream systems. The data is replicated so that failures of individual broker nodes in the cluster can be compensated and do not lead to data loss. The combination of Kafka with MQTT in particular has proven itself in practice, as both technologies complement each other very well in the context of IoT.
Confluent is a Kafka platform that accelerates the management and scaling of a Kafka cluster (on-prem or cloud). Integrated are a management interface, various connectors and plugins. This makes it easy to connect to various data sources and APIs. Kafka streams allow combining data from multiple streams or performing aggregations. With KSQL, an abstraction layer, processing logics can be defined in a SQL-like syntax. Another interesting feature is the so-called schema registry, which can be used to store schemas for messages so that only data with a valid schema is accepted.
The IoT platform is at the heart of any IoT architecture because it handles asset and device management. In addition, the data can be visualized there in near-real-time dashboards to realize monitoring for technicians and end customers. The monitoring itself can be extended by proactive alarm logics so that threshold values or other criteria can be defined and continuously checked. If an alarm situation occurs, responsible groups of people are notified automatically. The platform also regulates the access rights and security of the data so that access by third parties is not possible and each user can only view their own sensors/devices.
The open platform ThingsBoard enables all these requirements for an IoT platform and is therefore one of the most important technologies in 2022. ThingsBoard can be used both on-premises and in the cloud. In addition, a microservice architecture is available to run the individual services as con-tainers within a Kubernetes cluster. The platform is also not limited to individual IoT use cases such as smart manufacturing or smart city, but can be used flexibly in various use cases. Moreover, the platform can be supplemented as desired with custom connectors or visualizations. In addition to the web frontend, a smartphone app for iOS and Android has recently been launched.
Another important technology is Rest API gateways, which make data easily and intuitively available to end users. A classic example is public open data services in the context of Smart City, mostly provided by municipalities and cities. This open data can be used for data projects ranging from smartphone apps to advanced analytics solutions. To make this provision as simple as possible for the user, rest APIs are a good choice. The Rest endpoints are programming language agnostic and can therefore be used flexibly in different environments.