Message Queuing Telemetry Transport
Das MQTT-Protokoll wird eine der wichtigsten Technologien im IoT-Bereich 2022 sein. Neben der Vielzahl an unterschiedlichen Sensorentypen gibt es zahlreiche Protokolle für die Übertragung der Informationen und diese Heterogenität erhöht die Komplexität bei der Integration von Sensoren enorm. Eine Möglichkeit, die Anbindung zu erleichtern, ist die Verwendung von MQTT (Message Queuing Telemetry Transport) mit einer einheitlichen Payload-Spezifikation.
MQTT ist eines der am weitesten verbreiteten Protokolle im Kontext von IoT-Anwendungen, wenn nicht sogar der De-facto-Standard. Die Vorteile liegen in seiner Energieeffizienz, Geschwindigkeit, Skalierbarkeit und Einsetzbarkeit bei unsicheren Verbindungen. Zudem gibt es mit der Eclipse-Sparkplug-Spezifikation einen Standard, der ein einheitliches Datenschema definiert. Da bei Einhaltung der Spezifikation alle Sensoren gleich behandelt werden, ist eine Plug-and-play-Anbindung der Sensoren möglich. Zwei etablierte MQTT Broker sind Eclipse Mosquitto und HiveMQ. Welcher Broker eingesetzt wird, hängt vom jeweiligen Anwendungsfall und der Anzahl der verbundenen Sensoren ab.
Mosquitto und HiveMQ
Mosquitto Broker wird ebenfalls von der Eclipse Foundation entwickelt. Es handelt sich um eine leichtgewichtige Implementierung, die sowohl auf Servern als auch auf Edge-Geräten ohne große Rechenleistung betrieben werden kann. Der Mosquitto Broker wird auch häufig in IoT-Plattformen integriert, um Daten via MQTT empfangen zu können.
HiveMQ stellt eine enterprise-ready Version eines MQTT Brokers bereit. Anders als Mosquitto kann HiveMQ höher skaliert werden und auch im Cluster-Betrieb genutzt werden. Auch existiert mit HiveMQ Cloud eine Cloud-native, gemanagte Variante, um die Installation und Skalierung der Lösung so einfach wie möglich zu gestalten. Zusätzlich lässt sich HiveMQ durch Extensions erweitern, zum Beispiel um Daten nach Apache Kafka zu übertragen. Eine weitere wichtige Technologie sind Event-Streaming-Plattformen. Sie fungieren als zentraler Datenhub, um Daten aus verschiedensten Quellen zu sammeln und Streams zu verwalten. Das umfasst neben den Sensordaten auch weitere geschäftsrelevante Daten beispielsweise aus operativen Systemen wie ERP oder CRM. Die populärste Event-Streaming-Software/Lösung ist Apache Kafka, wie MQTT eine quelloffene Software.
Kafka-Cluster und Confluent
Ein Kafka-Cluster besteht aus mehreren Brokern und kann bei wachsenden Datenmengen einfach skaliert werden. Die Daten werden dabei im Festplattenspeicher persistiert und können auf Wunsch unbegrenzt vorgehalten werden. So kann Kafka als Langzeitspeicher fungieren, um zum Beispiel Daten erneut an nachgelagerte Systeme zu senden. Die Daten werden repliziert, sodass Ausfälle einzelner Broker-Knoten im Cluster kompensiert werden können und nicht zu Datenverlusten führen. Besonders die Kombination von Kafka mit MQTT hat sich in der Praxis bewährt, da sich beide Technologien im Kontext von IoT sehr gut ergänzen.
Mit Confluent gibt es eine Kafka-Plattform, der die Verwaltung und Skalierung eines Kafka-Clusters beschleunigt (On-prem oder Cloud). Integriert sind eine Management-Oberfläche, verschiedene Konnektoren und Plugins. Dadurch lassen sich leicht verschiedene Datenquellen und APIs anbinden. Kafka-Streams ermöglichen es, Daten aus mehreren Streams zu kombinieren oder Aggregationen durchzuführen. Mit KSQL, einer Abstraktionsebene, lassen sich Verarbeitungslogiken in einer SQL-ähnlichen Syntax definieren. Interessant ist zudem die sogenannte Schema Registry, mit der Schemata für Nachrichten hinterlegt werden können, sodass nur Daten mit validem Schema akzeptiert werden.
Die IoT-Plattform bildet das Herzstück einer jeden IoT-Architektur, weil sie das Asset und Device Management übernimmt. Zudem lassen sich dort die Daten echtzeitnah in Dashboards visualisieren, um ein Monitoring für Techniker und Endkunden zu realisieren. Das Monitoring selbst lässt sich durch proaktive Alarmlogiken erweitern, damit Schwellwerte oder andere Kriterien definiert und kontinuierlich geprüft werden können. Tritt eine Alarmsituation ein, werden verantwortliche Personenkreise automatisiert benachrichtigt. Die Plattform regelt auch die Zugriffsberechtigungen und Sicherheit der Daten, damit Zugriffe von Dritten nicht möglich sind und jeder Nutzer nur seine eigenen Sensoren/Devices einsehen kann.
Die offene Plattform ThingsBoard ermöglicht alle diese Anforderungen an eine IoT-Plattform und gehört deshalb zu den wichtigsten Techniken 2022. ThingsBoard kann sowohl on-premises als auch in der Cloud eingesetzt werden. Zusätzlich steht eine Microservice-Architektur zur Verfügung, um die einzelnen Dienste als Con-tainer innerhalb eines Kubernetes-Clusters zu betreiben. Die Plattform ist außerdem nicht auf einzelne IoT Usecases wie Smart Manufacturing oder Smart City beschränkt, sondern kann flexibel in verschiedenen Anwendungsfällen genutzt werden. Durch eigene Konnektoren oder Visualisierungen kann die Plattform zudem beliebig ergänzt werden. Neben dem Web-Frontend gibt es seit Kurzem auch eine Smartphone-App für iOS und Android.
Eine weitere wichtige Technologie sind Rest-API-Gateways, die Daten einfach und intuitiv Endbenutzern bereitstellen. Ein klassisches Beispiel sind öffentliche Open-Data-Dienste im Kontext von Smart City, die meistens von Kommunen und Städten zur Verfügung gestellt werden. Diese offenen Daten können für Datenprojekte von Smartphone-Apps bis hin zu Advanced-Analytics-Lösungen genutzt werden. Um diese Bereitstellung möglichst simpel für den Anwender zu gestalten, bieten sich Rest-APIs an. Die Rest-Endpunkte sind programmiersprachenagnostisch und daher flexibel in verschiedenen Umgebungen einsetzbar.