Interface-Programmierung IoT-Schnittstellen einfach verdrahten

Klaus-Dieter Walter *

Anbieter zum Thema

Die Open-Source-Software Node-RED bietet einen geeigneten Baukasten, um per Datenflussprogrammierung die notwendigen Verbindungen zwischen IoT-Systemen zu schaffen.

Eine Hardware, viele Schnittstellen: Das Open-Source-Set Node-RED erlaubt es, IoT-Geräte praktisch beliebig miteinander zu verknüpfen.
Eine Hardware, viele Schnittstellen: Das Open-Source-Set Node-RED erlaubt es, IoT-Geräte praktisch beliebig miteinander zu verknüpfen.
(Bild: SSV Software Systems)

Das Internet of Things verspricht offene Kommunikationsbeziehungen zwischen völlig unterschiedlichen Systemen und Anwendungen über Anbieter- und Herstellergrenzen hinweg, um Mehrwert für die Nutzer zu schaffen. Es existieren allerdings auch noch unzählige technische Hürden, die praktikable Lösungen benötigen.

So muss sich beispielsweise ein Smart Connected Sensor (SCS) [1] für IoT- oder Industrie-4.0-Anwendungen mit praktisch jeder Cloud-Serviceplattform im Internet verbinden lassen. Diese Verbindung muss während des SCS-Lebenszyklus auch mehrfach änderbar oder um Zusatzfunktionen erweiterbar sein. Außerdem sollte der SCS auch einer lokalen Anwendung direkt vor Ort den Zugriff auf die Sensordaten ermöglichen, etwa mit Hilfe eines integrierten OPC UA-Servers.

Die größte Herausforderung dabei ist die Protokoll- und Schnittstellenvielfalt. Dafür sind nicht, wie häufig vermutet, fehlende Standards die Ursache. Es existieren einfach zu viele konkurrierende Standards, denen in den meisten Fällen auch noch die semantischen Komponenten fehlen.

Analysiert man die Entwicklungen der vergangenen Jahre, so fällt auf, dass praktisch alle Cloud-Serviceplattformen zunächst einmal mit einem REST-basierten HTTP-Interface begonnen haben. HTTP ist durch HTML und das Web ein sehr verbreitetes Client/Server-Applikationsprotokoll. REST ist aber anders als HTML kein Standard mit umfassender Spezifikation, sondern lediglich ein datenagnostisches Programmierparadigma für verteilte Systeme [2].

Dadurch besitzt praktisch jede Cloud eine spezifische REST-API, an die sich der jeweilige Client anpassen muss. Mittels welcher Details eine bestimmte Servicefunktion aufgerufen wird, legen die jeweiligen API-Entwickler unabhängig voneinander fest. Die Daten selbst können im XML-, JSON- oder anderen Formaten zwischen Client und Server ausgetauscht werden.

Durch die starke Zunahme von IoT-Anwendungen bieten unzählige Cloud-Plattformen neben REST und HTTP inzwischen auch eine MQTT-Protokollunterstützung [3]. MQTT ist zwar ein OASIS-Standard, aber hinsichtlich der Daten ebenso unspezifisch wie REST. Mit anderen Worten: Jeder MQTT-Cloud-Service nutzt eigene Datenformate, so dass praktisch keine Kompatibilität zwischen unterschiedlichen Plattformen existiert. Die Anpassung an die gewünschte Cloud wird dem jeweiligen „Thing“ überlassen.

Artikelfiles und Artikellinks

(ID:44458333)

Jetzt Newsletter abonnieren

Verpassen Sie nicht unsere besten Inhalte

Mit Klick auf „Newsletter abonnieren“ erkläre ich mich mit der Verarbeitung und Nutzung meiner Daten gemäß Einwilligungserklärung (bitte aufklappen für Details) einverstanden und akzeptiere die Nutzungsbedingungen. Weitere Informationen finde ich in unserer Datenschutzerklärung.

Aufklappen für Details zu Ihrer Einwilligung