Alternativen zu proprietären Anwendungen

Die wichtigsten offenen IoT-Technologien für 2023

Die Nachfrage nach IoT-Lösungen wächst. Und eine Reihe von offenen Technologien wandert in den Standard-Werkzeugkasten produzierender Betriebe. Ein Überblick, der bei dem MQTT-Protokoll beginnt.

Bild: ©Gorodenkoff/stock.adobe.com
Bild: ©Gorodenkoff/stock.adobe.com

Zu den wichtigsten IoT-Technologien gehört das MQTT-Protokoll, weil es den Umgang mit den verschiedenen Sensorentypen und Übertragungsprotokollen stark erleichtert. MQTT bietet eine einheitliche Payload-Spezifikation und macht daher die Integration von Sensoren viel einfacher. MQTT ist ein Defacto-Standard im IoT-Bereich. Grund ist, dass es sehr schnell, energieeffizient, skalierbar und auch bei unsicheren Verbindungen einsetzbar ist. Die Eclipse Sparkplug-Spezifikation bietet zudem einen Standard für ein einheitliches Datenschema. Sensoren können via Plug&Play angebunden werden, weil sie bei Beachtung der Spezifikation alle gleich behandelt werden. Eclipse Mosquitto und HiveMQ sind die zwei häufigsten MQTT Broker. Welchen Broker man verwendet, ist abhängig vom Use Case und dem Umfang der verbundenen Sensoren. Von der Eclipse Foundation entwickelt, ist Mosquitto Broker eine leichtgewichtige Implementierung, die auf Servern wie auf Edge-Geräten ohne viel Rechenpower laufen kann. Oft wird sie in IoT-Plattformen eingebunden, damit Informationen über MQTT empfangen werden können. Beim Broker HiveMQ handelt es sich um einen enterprise-ready Broker. Im Gegensatz zu Eclipse Mosquitto lässt sich HiveMQ stärker skalieren und auch im Cluster-Betrieb einsetzen. Zudem gibt es HiveMQ Cloud für eine einfache Installation und Skalierung der Lösung. Verschiedene Erweiterungen bergen zusätzlichen Funktionsumfang, beispielsweise für den Transfer von Daten nach Apache Kafka.

Event Streaming-Plattform als Datenhub

Zu den wichtigen IoT-Technologien gehören auch Event Streaming-Plattformen. Als zentrale Informationshubs aggregieren und verwalten sie Daten aus unterschiedlichen Systemen und Streams. Das gilt für Daten von Sensoren und Informationen aus geschäftsrelevanten Quellen wie z.B. ERP- oder CRM-Systemen. Apache Kafka ist die am häufigsten eingesetzte Plattform und wie das MQTT-Protokoll Open Source. Kafka Cluster umfassen mehrere Broker und können bei zunehmenden Informationsmengen einfach skaliert werden. Die Persistierung der Informationen erfolgt dabei im Festplattenspeicher, sie können unbegrenzt vorgehalten werden. Das System kann damit als Langzeitspeicher dienen, wenn beispielsweise Daten erneut an nachgelagerte Systeme geschickt werden müssen. Durch die Replikation der Daten lassen sich Ausfälle einzelner Broker-Knoten im Cluster auffangen und Datenverluste vermeiden. Kafka und MQTT ergänzen sich im IoT-Bereich sehr gut, weshalb sich in der Praxis ihre Verbindung bewährt hat. Wem das nicht reicht, dem bietet die Firma Confluent einen Service zur Beschleunigung der die Verwaltung und Skalierung eines Kafka Clusters (Cloud oder On-Premise). Die Lösung umfasst eine Management-Oberfläche sowie zahlreiche Konnektoren und Plug-Ins, welche die Integration verschiedener Datenquellen und APIs erleichtern. Kafka Streams erlauben die Zusammenführung von Daten aus mehreren Streams oder das Ausführen von Aggregationen. Durch die Abstraktionsebene KSQL können Verarbeitungslogiken in einer SQL-ähnlichen Syntax festgelegt werden. Ein Schema Registry ermöglicht das Hinterlegen von Schemata für Nachrichten, damit nur Daten mit validem Schema angenommen werden.

Anlagensteuerungen über OPC UA

OPC UA (OPC Unified Architecture) ist insbesondere im industriellen Kontext sehr verbreitet und ist ein Standard zum Datenaustausch. Eine Vielzahl von Anlagensteuerungen unterstützen dieses Protokoll der Datenübertragung und lassen sich damit auslesen. Bei der Anbindung von Daten von Produktionsanlagen sind Kriterien wie Performance, event-basierte Lesezugriffe und externe Schnittstellen relevant. Performance bedeutet, dass die Daten einerseits in hoher Frequenz ausgelesen werden müssen (gegebenenfalls in wenigen Millisekunden), andererseits dabei aber möglichst ressourcenschonend sein sollen, um nicht den operativen Betrieb der SPS zu beeinflussen. Das Auslesen von Daten erfolgt nur bei Events, damit Daten nur bei Wertänderungen gelesen werden oder im Fehlerfall Alarmmeldungen ausgelöst werden. Bei den Wertänderungen kann es zusätzlich sinnvoll sein, nur Änderungen um definierte Prozentwerte zu senden, z.B. Deltas von mindestens 5 Prozent zum vorherigen Wert. Dies spart Bandbreite bei der Übertragung und damit Speicherplatz in den Datenbanken. Schnittstellen sind wichtig, um die Informationen nicht nur lesen, sondern auch optimal an nachgelagerte Systeme weiterreichen zu können. Idealerweise werden die Daten dabei über MQTT oder Kafka ausgeleitet. Drittsysteme können sich dann aus den Topics bedienen und die Daten verarbeiten. Eine sehr gute Lösung für die Anbindung der OPC-UA-Daten bildet das Tool OPC Router, das alle drei der beschriebenen Kriterien erfüllt. Es erlaubt die grafische Modellierung von Verarbeitungsketten zum Auslesen der OPC-UA-Bausteine. Über einen Datenbrowser können Letztere einfach ausgewählt werden und anschließend über definierte Trigger (Auslöser) abgefragt werden. Diese erlauben den Versand der Daten bei jeder Wertänderung, nur im Störfall oder bei bestimmten Deltas. Über zertifizierte Schnittstellen können die Daten dann performant an Apache Kafka und MQTT Broker weitergeleitet werden.

Thingsboard als offene IoT-Plattform

IoT-Plattformen sind das Zentrum von IoT-Lösungen. Sie leisten das Device und Asset Management und ermöglichen ein Monitoring für Techniker oder Endkunden durch die Visualisierung von Daten nahe Echtzeit in Dashboards. Proaktive Alarmlogiken erlauben die Erweiterung der Überwachung, um Schwellwerte und andere Kriterien festlegen und ständig kontrollieren zu können. Bei Problemen wird ein Alarm ausgelöst und die Verantwortlichen automatisch benachrichtigt. Auch Zugriffsberechtigungen und Datensicherheit können in der Plattform verwaltet werden, um zu verhindern, dass Dritte Zugriff haben und Nutzer nur ihre eigenen Geräte sehen können. Thingsboard ist eine offene Plattform, die alle beschriebenen Anforderungen erfüllt, weshalb sie zu den bedeutendsten IoT-Technologien zu zählen ist. Die Lösung ist als Cloud- und als On-Premise-Version erhältlich. Eine Microservice-Architektur erlaubt den Betrieb der einzelnen Dienste als Container innerhalb eines Kubernetes-Clusters. Der Einsatz von Thingsboard geht über typische Anwendungsfälle wie Smart Manufacturing oder Smart City hinaus und lässt sich für viele Use Case-Szenarios einsetzen. Die Plattform lässt sich mit eigenen Konnektoren oder Visualisierungen flexibel erweitern und ­bietet auch eine App für Android und iOS.

Bereitstellen über REST API Gateways

Eine intuitive, einfache Art, Daten Endusern bereitzustellen, bieten REST API Gateways. Deshalb gehören sie zu den momentan wichtigsten IoT-Technologien. OpenData-Dienste sind wichtige Datenquellen für Smart City-Anwendungen, ob es sich um Smartphone Apps oder um anspruchsvolle Analyselösungen handelt. Sie werden meist von öffentlichen Einrichtungen und Kommunen bereit gestellt. REST APIs ermöglichen eine einfache Bereit­stellung der Daten für den Anwender. Die REST-Endpunkte ­lassen sich in verschiedenen Szenarios einsetzen, weil sie ­programmiersprachen-agnostisch sind. Empfehlenswert sind vor allem REST API Gateways. Die Endpunkte, welche die Informationen an den Anwender liefern, werden über das Gateway festgelegt. Der Datenzugriff erfolgt dann nicht direkt auf die ­eigentlichen Datenquellen, weil das Gateway die Anfrage an einen Backend-Service weiterleitet, der dann die Daten abholt.

Apache Superset für Self-Service Analytics

IoT-Plattformen stellen meistens eine operative Sicht auf Sensordaten bereit in Form von Echtzeit oder Vergangenheitsbetrachtungen. Aber Auswertungen in Form von analytischen Dashboards können auch wichtig sein. Damit lassen sich Ad-hoc Auswertungen erstellen ohne großen technischen Aufwand auf Seiten der Endanwender (Self-Service Analytics). Mit dieser Methoden können Daten verschiedener Sensorquellen kombiniert und gegenübergestellt werden, um bspw. Korrelationen zwischen Wertausprägungen zu erkennen oder Root-Cause-Analysen durchzuführen. Letztere unterstützen etwa dabei, im Fehlerfall die Ursachen einer Störung zu analysieren. Eine interessante Technologie aus dem Open-Source Bereich ist Apache Superset, das ursprünglich als Projekt bei Airbnb gestartet wurde. Es bietet viele Schnittstellen, um Daten aus verschiedenen Datenbanksystemen einzulesen. Zur Analyse stehen bereits standardmäßig eine große Palette an Visualisierungen zur Verfügung, die direkt verwendet werden können. Abgerundet wird das Gesamtpaket durch Rollenkonzepte, um die Zugriffsrechte der User zu pflegen.

Neue Erkenntnisse durch Graph Analytics

Für das Thema IoT Analytics werden Graph-Datenbanken immer wichtiger, weil damit die Modellierung von Knowledge Graphs möglich werden. Damit ist das semantische Korrelation verschiedener Objekte gemeint, um gezielte Abfragen und Auswertungen anfertigen zu können. So modellieren Graphen von sozialen Netzwerken, welcher User mit welchen Usern Kontakt hat oder welchen Interessensgruppen er folgt. Im IoT-Bereich können Graphen die Beziehungen zwischen den verschiedenen Geräten abbilden. Das vereinfacht die Erkennung von Ähnlichkeiten oder Anomalien, die sich beim einfachen Hinschauen nicht erkennen lassen. Neo4j ist die derzeit stärkste offene Graph-Datenbankplattform. Das Tool besitzt mit Cypher eine eigene Query Language. Ähnlich wie SQL können damit Daten aus der Datenbank gelesen, verändert oder zurückgeschrieben werden. Wichtig für Data Scientists ist es, Graphen mit Graph-Algorithmen zu analysieren. Neo4j bietet dafür eine Reihe von Funktionen, sodass sich z.B. die Informationen des Graphs anhand von Ähnlichkeitsscores in Clustern zusammenfassen lassen. Auch das Entdecken von Auffälligkeiten oder die Umsetzung von Wegfindungsalgorithmen zur Routenoptimierung sind damit möglich.