7 Features

Das müssen IoT-Plattformen können

28.09.2021
Von 
Michael Deuchert ist Data Scientist bei der it-novum GmbH.
IoT-Plattformen sollen Sensor- und andere IoT-Daten sammeln und performant verarbeiten. Dazu sind diese Features unabdingbar.
Um das Meiste aus einer IoT-Plattform herauszuholen, sollte diese Eigenschaften wie eine gute Konnektivität oder viele Analyse- und Auswertungsmöglichkeiten aufweisen.
Um das Meiste aus einer IoT-Plattform herauszuholen, sollte diese Eigenschaften wie eine gute Konnektivität oder viele Analyse- und Auswertungsmöglichkeiten aufweisen.
Foto: greenbutterfly - shutterstock.com

Die IoT-Plattform ist das Herzstück der Internet-of-Things-Architektur: Hier fließen alle Daten zusammen, werden Applikationen und Analysen bereitgestellt und die Wartung des Systems vorgenommen. Wegen ihrer fundamentalen Bedeutung sollte die Plattform daher mit besonderer Sorgfalt ausgewählt werden. Wer die folgenden sieben Punkte bei der Auswahl beachtet, kommt dem Ziel einer performanten und ausfallsicheren IoT-Plattform ein großes Stück näher.

1. Konnektivität

Es gibt eine unüberschaubare Anzahl von Sensoren und alle haben ihre jeweiligen Schnittstellen und Protokolle wie COAP, HTTP oder MQTT. Um Sensoren stromunabhängig und über weite Strecken betreiben zu können, sind batteriebasierte Geräte erhältlich, die über LoRaWAN und NB-IoT kommunizieren.

Die Informationen aus den Sensoren sollten mit Daten aus anderen Unternehmensanwendungen angereichert werden, um bestmögliche Einsichten zu ermöglichen. Dazu bieten sich sogenannte Message Queues an, welche die Daten aufnehmen und an die IoT-Plattform übergeben. Ein Beispiel dafür ist das Tool Kafka, das Datenquelle von Datensenke trennt und so die Integration von Drittanwendungen verbessert.

2. Low-Code-Tools

Die eingehenden Informationen aus den Sensoren müssen vorverarbeitet werden, wofür sich Low-Code-Tools anbieten. Sie haben den Vorteil, dass auch nicht-technikaffine Endanwender Schwellwerte oder Berechnungslogiken umsetzen können. Besonders einfach geht es mit den visuellen Regelketten von Node-RED. In der Open-Source-IoT-Plattform ThingsBoard gibt es dafür ein eigenes Modul, das die Automatisierung von Prozessen erlaubt.

Alarmregelkette in Thingsboard
Alarmregelkette in Thingsboard
Foto: it-novum

Sind die Verarbeitungsprozesse besonders komplex und das Datenvolumen sehr groß, ist der Einsatz eines Queuing-Systems empfehlenswert, beispielsweise KafkaStreams oder KsqlDB.

3. Asset und Device Management

IoT-Plattformen müssen nicht nur Nachrichten von Sensoren verarbeiten und speichern, sondern auch die Beziehungen zwischen den Geräten und weiteren Objekten verwalten können. Dazu gehört auch die Pflege der Metadaten (Sensortyp, Standort etc.) und die Möglichkeit, hierarchische Strukturen zwischen den Geräten abbilden zu können. Daraus resultiert eine Reihe von Vorteilen:

  • Dashboards, die alle Stufen vom einzelnen Gerät bis zum kompletten Bauwerk anzeigen;

  • anwenderfreundliche Query-Optionen wie z.B. "Ich möchte im Dashboard alle Geräte im großen Meetingraum angezeigt bekommen";

  • verschiedene Stufen der Aggregation für Werte und Alarme, z.B. "Alle Alarme im Erdgeschoss";

  • die Gruppierung von Geräten macht diese auf der Plattform einfacher auffindbar;

In einigen Lösungen wie ThingsBoard ist es möglich, Multi-Layer-Strukturen festzulegen, sogar innerhalb einzelner Kunden. Diese Möglichkeit sollten Unternehmen unbedingt in Betracht ziehen, da bei vielen Sensoren schnell der Überblick fehlt, wenn zuvor keine Strukturen definiert wurden. Sollen die einzelnen Beziehungen Objekt-Sensor genauer ausgewertet werden können, ist es ratsam, Graph-Datenbanken einzusetzen (z.B. Neo4j).

4. Berechtigungskonzepte

Rollenkonzepte für mehrere Benutzer oder Mandantenfähigkeit sind ein essentieller Baustein von IoT-Plattformen, wenn die User nicht auf die Daten von anderen Mandanten zugreifen können sollen. Damit es keine Konflikte zwischen Mandaten gibt, sind getrennte Verarbeitungslogiken empfehlendwert. Mit Konzepten wie RBAC (Role-Based Access Control) können innerhalb eines Mandanten User-Gruppen und ihre Rechte definiert werden. Dabei sollte es möglich sein, Rollen mit unterschiedlichem Zugriff bezüglich lesen, schreiben oder beidem frei festzulegen.

5. Grafiken

Der für den Endanwender wichtigste Teil einer IoT-Plattform betrifft zweifelsohne die Visualisierungen der Daten. Eine Plattform sollte dabei nicht ausschließlich Dashboards anbieten, auch die Überwachung von Realtime-Daten und historischen Informationen sollte möglich sein.

Datenvisualisierung in Form eines Dashboards
Datenvisualisierung in Form eines Dashboards
Foto: it-novum

Empfehlenswert sind auch Funktionen, um Aktionen außerhalb des Dashboards anzustoßen wie das Steuern von Maschinen oder der Versand von Gateway-Befehlen. Damit sich Daten über die Zeit hinweg vergleichen lassen, muss die Plattform skalierbare Datenbanken unterstützen.

6. Datenanalysen

Die meisten IoT-Plattformen bringen die ein oder andere Analysefunktionalität mit. Wenn aber tiefgehende Auswertungen wichtig sind, sollte man auf Funktionen für Self-Service oder Managementreports achten. Damit lassen sich nämlich auch Forecasts oder Periodenvergleiche umsetzen.

Zeitreihen-Forecast
Zeitreihen-Forecast
Foto: it-novum

Gleiches gilt für das Herstellen von Korrelationen zwischen verschiedenen Sensortypen oder Root-Cause-Auswertungen. Diese sind wichtig, damit im Fall einer Störung rasch reagiert werden kann. Während einige Plattformen diese Funktionalitäten bereits mitbringen, bieten andere entsprechende Erweiterungen dafür an.

Analyse und Erkennung einer Anomalie
Analyse und Erkennung einer Anomalie
Foto: it-novum

7. Deployment

Wer mit einer IoT-Plattform startet, sollte an den Anfang einen Proof of Concept auf einer virtuellen Maschine (On Premises oder Cloud) stellen. Das ermöglicht es einem, zuerst ausgiebig zu testen, bevor die Plattform im zweiten Schritt als skaliserbares System Kubernetes und Kafka aufgebaut wird. Dieses Vorgehen wird vor allem von der ThingsBoard-Plattform unterstützt.

Das Deployment ist in der Cloud, als SaaS oder auf der eigenen Hardware möglich. Während der Testphase meist auf einer monolithischen Architektur beruht, sodass alle Services auf einer Serverinstanz laufen, kann man danach zu Microservices wechseln, um skalierbar und ausfallsicher arbeiten zu können (Abbildung durch Docker Microservices, Orchestrierung über Kubernetes). (mb)