M2M Hotspot / IoT

Klaus-Dieter Walter | Lukas Dehling,

Schnittstelle zu den Dingen

Eine Herausforderung des IoT: Die flexible Konfiguration der Schnittstellenverbindung zwischen den ‚Dingen‘ und den Plattformen. Die Open-Source-Software ‚Node-RED‘ bietet einen geeigneten Baukasten, um die entsprechenden Schnittstellen zu schaffen.

© Fotolia, Mimi Potter

Das Internet of Things (IoT) 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 noch unzählige technische Hürden, für die wir praktikable Lösungen benötigen. So muss sich etwa ein Smart Connected Sensor (SCS), wie er in Heft 4/2016 der Computer&AUTOMATION vorgestellt wurde, mit praktisch jeder IoT-Serviceplattform im Internet verbinden lassen. Zudem sollte der SCS einer lokalen Anwendung direkt vor Ort den Zugriff auf die Sensordaten ermöglichen, zum Beispiel mit Hilfe eines integrierten OPC-UA-Servers. Der SCS als IoT-Frontend benötigt daher eine besonders flexible Konfigurationsschnittstelle, die die speziellen Bedürfnisse der IoT-Welt berücksichtigt. Sie sollte die folgenden Anforderungen erfüllen:

Im Editor werden nach dem Prinzip der Datenflussprogrammierung vorgefertigte Funktionsbausteinen platziert, durch entsprechende ­Eingaben konfiguriert und per Mausklicks verdrahtet.

© SSV Software Systems
  • SCS-IoT-Verbindung ist in einer für den Anwender einfach zugäng­lichen Abstraktionsebene vorkonfiguriert: Die IoT-Anbindung sollte auf keinen Fall ‚fest‘ im SCS-Firmware-Code isoliert werden und sich nur durch ein Firmware-Update verändern lassen. Eine solche SCS- Eigenschaft wäre allein schon aus IT-Security-Sicht pro­blematisch. Bei einem zukünftigen Industrie-4.0-SCS kann zum Beispiel eine Public-Key-Infrastruktur (PKI) zum Einsatz kommen. Das digitale Zertifikat muss dann über die Abstraktionsebene austauschbar sein.
  • Protokoll- und Datenschnittstellencode nachladen, konfigurieren und den Treibercode ausführen: Soll der SCS als IoT-Daten-Frontend beispielsweise mit einer anderen Cloud verbunden werden und statt der bisher genutzten REST-basierten Kommunikation nun MQTT zur Sensordaten-Übermittlung zum Einsatz kommen, muss zunächst einmal ein neuer ‚IoT-Treiber‘ nachinstalliert werden. Die Zugangsdaten der jeweiligen IoT-Serviceplattform müssen sich einstellen lassen. Das finale Ergebnis sollte als Komponente in einer Laufzeit-Umgebung – möglichst ereignisgesteuert – ausgeführt werden. Über diese Anforderung lassen sich auch zukünftige IT-Security-Anforderungen umsetzen.
  • Test- und Diagnosemöglichkeiten für die Schnittstellenverbindung zwischen IoT-Frontend und -Backend schaffen: Um die vom Sensor als IoT-Daten-Frontend an den Backend geschickten Messwerte und die daraufhin erhaltenen Antworten bei der Inbetriebnahme oder im Fehlerfall vor Ort am SCS prüfen zu können, ist eine praxistaugliche Debug-Schnittstelle erforderlich.
  • Datenformate zwischen Backend und Frontend angleichen: Ist zum Beispiel ein anderes Datenformat für die Sensordaten-Übermittlung ­erforderlich, so muss sich die ­entsprechende Datenstruktur durch den SCS-Anwender verändern und an die Bedürfnisse anpassen lassen.
  • Einfache Bedienbarkeit und Langzeitverfügbarkeit: Eine intuitive Bedienung ist zwingend erforderlich, um ohne spezielle Programmierkenntnisse, Seminare und Handbuchstudien die erforderlichen Anpassungen und Änderungen vornehmen zu können. Auch nach zehn Jahren muss sich der SCS noch mit einer anderen IoT- Plattform verbinden lassen. Es sollte daher keine Spezialsoftware, beispielsweise Apps oder lizenzpflichtige PC-Software zum Einsatz kommen.
  • Duplizierbare und weitestgehend Device-unabhängige Konfigurationsdaten: Die jeweiligen Konfigurationseinstellungen eines SCS müssen sich einfach auf andere SCS übertragen lassen, um eine ausgetestete IoT-Plattform-Anbindung auf weitere IoT-Devices zu duplizieren. Des Weiteren sollte die IoT-Anbindung möglichst unabhängig von einer bestimmten SCS-Hardware-Architektur sein, so dass sich komplexe Konfigurationsdaten wie Protokoll- und Datenschnittstellencode oder Datenkonvertierungen auch nach einigen Jahren auf Nachfolgeprodukte übertragen lassen. Dabei sind IT-Security-Anforderungen zu beachten.

Ein Werkzeug, mit dem sich diese Anforderungen umsetzen lassen und das sich direkt in einen SCS integrieren lässt, ist die Open-Source-Software ‚Node-RED‘. Dieses relativ neue Werkzeug wurde von IBM entwickelt und 2013 veröffentlicht. Node-RED steckt zwar noch in den Kinderschuhen, die Entwickler-, Unterstützer- und Anwendergemeinde wächst aber in einem rasanten Tempo.

Anzeige

Was ist Node-RED?

Node-RED besteht aus einer ereignisgesteuerten JavaScript-Laufzeit-Umgebung, einem integrierten Webserver und einer webbasierten Benutzerschnittstelle, die mit jedem modernen HTML5-konformen Browser nutzbar ist. Die Software isoliert nahezu die gesamte Komplexität der Schnittstellenverbindung zwischen IoT-Device und IoT-Plattform in vorgefertigten grafischen Funktionsbausteinen (sogenannten  Nodes). Diese werden in der Web-Oberfläche per Copy&Paste aus einem mitgelieferten Baukasten als einzelne Grafikobjekte entnommen, auf einer Arbeitsfläche platziert und miteinander verbunden (verdrahtet). Dabei entsteht ein Node-RED-Flow.

Die Abbildung zeigt im Editor-Arbeitsbereich der Web-Oberfläche das denkbar einfachste Praxisbeispiel mit jeweils einem Input- und Output-Node. Der Input-Node auf der linken Seite bildet einen MQTT-Subscriber, der per Internet mit einem Broker verbunden ist, um Nachrichten (MQTT-Topics) entgegenzunehmen und an den Output-Node auf der rechten Seite weiterzuleiten. Als Output-Node wird ein Debug-Node verwendet. Dieser gibt in einem speziellen Fenster der Web-Oberfläche die vom Input-Node erhaltenen Nachrichten zusammen mit einem Zeitstempel und weiteren Informationen aus. Will man zum Beispiel das MQTT-Topic-Datenformat vor der Weitergabe an den Output-Node verändern, so wird zwischen die beiden Nodes ein zusätzlicher Function-Node aus dem Funktionsvorrat am linken Rand der Web-Oberfläche eingefügt und die Verdrahtung entsprechend angepasst. In diesem Node lässt sich dann JavaScript-Programmcode für Datenumwandlungen jeglicher Art und andere Aufgaben ablegen.

Neben dem Platzieren und Verdrahten der Funktionsbausteine ist die Konfiguration der einzelnen Nodes in einem Flow wichtig. Dazu wird im Node-RED-Flow-Editor mit einem Maus-Doppelklick auf das entsprechende Grafikobjekt jeweils ein Dialogfenster geöffnet. In diesem Fenster werden dann die erforderlichen Daten – zum Beispiel die Adresse eines MQTT-Brokers oder der JavaScript-Programmcode – eingegeben.

Datenflussprogrammierung als Basis

Die Node-RED-Methodik nutzt das in der IT-Welt verbreitete Konzept der Datenflussprogrammierung (Flow-based Programming = FBP). Die FBP-Grundlage bilden grafische Module mit Ausgängen zum Versenden von Daten (Datenquellen), Datenempfangsmodule mit Eingängen (Datensenken) sowie Module mit Ein- und Ausgängen, die auf der einen Seite Daten empfangen und auf der anderen Seite modifizierte Daten wieder versenden. Die Ein- und Ausgänge der Module werden zu einem Netzwerk verbunden. Über diese vordefinierten Verbindungen fließen dann die Daten einer Anwendung.

Eine Node-RED-Implementierung basiert auf der sehr verbreiteten Java-Script-Laufzeit-Umgebung ‚Node.js‘, die für die Entwicklung und den Betrieb serverseitiger Netzwerk-Anwendungen vorgesehen ist. Node.js lässt sich sowohl auf Embedded-Systemen als auch auf PCs installieren und nutzen. Somit ist Node-RED plattformunabhängig und kann auf ­intelligenten Sensoren, IoT-Edge-Gateways, PCs und sonstigen Automatisierungsbaugruppen zum Einsatz kommen.

Die zu einer Node-RED-Installation gehörenden Funktionsbausteine decken zahlreiche IoT-Anbindungen, zum Beispiel per HTTP/REST und MQTT, ab. Auch Websocket-Funktionen, E-Mail-Versand und Twitter-Anbindungen sind vorhanden – weitere Bausteine sind nachinstallierbar. Ein SCS-Anbieter kann seinen Kunden somit spezielle Erweiterungsbausteine zur Verfügung stellen, die sich relativ einfach nachinstallieren lassen und den Funktionsvorrat der Input-, Output- und Function-Nodes im Flow-Editor erweitern. Damit lässt sich etwa ein kompletter OPC-UA-Server in einem Node-RED-Funktionsbaustein isolieren und vom Anwender per Copy&Paste in einen Flow implementieren.

Der in einem Node-RED-Editor erstellte Flow lässt sich durch spezielle Funktionen der Web-Oberfläche als JSON-Objekt exportieren, archivieren und in andere IoT-Devices importieren. Dadurch sind alle Konfigurationsdaten und weitere Parameter einer IoT-Schnittstellenverbindung beliebig oft duplizierbar.

Node-RED ist zwar eine Expertenlösung – sie lässt sich allerdings aufgrund der einfachen Struktur mit relativ geringen Vorkenntnissen per Webbrowser bedienen. Durch die Erweiterbarkeit des Funktionsvorrats und die Flow-Importmöglichkeit kann ein IoT-Device-Anbieter seinen Kunden komplexe Konfigurationen zur Verfügung stellen, die sich einfach anpassen und einsetzen lassen.

Autor:
Klaus-Dieter Walter ist Mitglied der Geschäftsführung bei SSV Software Systems.

  • Xing Icon
  • LinkedIn Icon
Anzeige
Anzeige

Das könnte Sie auch interessieren

Anzeige
Anzeige
Anzeige

Apptio

6 Tipps zur Cloud-Migration ohne Kostenexplosion

Cloud-Strategien bergen oft die Tücken im Detail: Variantenreiche Abrechnungsmodalitäten von Cloud-Providern und technische Fallstricke der eigenen IT-Infrastrukturen können Kostenvorteile zunichte machen. Unternehmen sollten sich gegen böse...

mehr...
Anzeige
Anzeige
Anzeige
Anzeige

Weidmüller

Gegen Ausfälle gewappnet

Bei der Überwachung der hauseigenen Lüftungsanlagen für Galvanik setzt Weidmüller auf Eigenentwicklungen: Die Leistungsparameter werden von den Sensoren ‚u-sense vibration‘ und ‚energy direkt‘ und mit der KI-Software ‚Industrial AutoML‘ analysiert.

mehr...

PTC

Spatial Computing - Der Status Quo!

Der Begriff Spatial Computing geht auf das Jahre 2003 zurück und steht für die Interaktion von Mensch und Maschine. Insbesondere die Technologien Virtual Reality, Augmented Reality und Mixed Reality stehen für diesen Begriff. Revolutioniert nun...

mehr...
Jetzt Newsletter abonnieren