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 (siehe hierzu auch [4]). 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.
Node-RED besteht aus einer ereignisgesteuerten JavaScript-Laufzeitumgebung, einem integrierten Webserver und einer komfortablen Web-basierten Benutzerschnittstelle, die mit jedem modernen HTML5-konformen Browser nutzbar ist. Node-RED isoliert nahezu die gesamte Komplexität der Schnittstellenverbindung zwischen IoT-Device und IoT-Plattform in vorgefertigten grafischen Funktionsbausteinen (sogenannten Nodes). Diese werden in der Weboberflä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.
Schaubild 2: Node-RED bietet eine Web-basierte Benutzeroberfläche mit integriertem Flow-Editor. Im Arbeitsbereich des Editors werden nach dem Prinzip der Datenflussprogrammierung vorgefertigte Funktionsbausteine (sogenannte Nodes) platziert, durch entsprechende Eingaben konfiguriert und per Mausklick verdrahtet. Das Ergebnis ist ein Node-RED-Flow, der über die Weboberfläche ausgeführt wird.
(Bild: SSV Software Systems)
Schaubild 2 zeigt im Arbeitsbereich der Weboberfläche das denkbar einfachste Beispiel mit jeweils einem Input-Node 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 Weboberfläche die vom Input-Node erhaltenen Nachrichten zusammen mit einem Zeitstempel und weiteren Informationen aus. Will man etwa das Datenformat des MQTT-Topics- 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 Weboberfläche eingefügt und die Verdrahtung 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 sehr wichtig. Dazu wird im Node-RED-Flow-Editor mit einem 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 und JavaScript als Basis
Die Node-RED-Methodik nutzt das seit vielen Jahren in der IT-Welt verbreitete Konzept der Datenflussprogrammierung (Flow-based Programming = FBP, siehe [5]). 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.
Schaubild 3: Ein ausgetesteter Node-RED-Flow lässt sich als JSON-Objekt exportieren, archivieren und in andere IoT-Devices importieren. Dadurch lassen sich zum Beispiel alle Konfigurationsdaten und weitere Parameter einer Schnittstellenverbindung zwischen IoT-Device und IoT-Plattform beliebig oft duplizieren. Export und Import werden von Node-RED durch spezielle Funktionen der Weboberfläche unterstützt.
(Bild: SSV Software Systems)
Eine Node-RED-Implementierung basiert auf der JavaScript-Laufzeitumgebung Node.js (https://nodejs.org/), die für die Entwicklung und den Betrieb serverseitiger Netzwerkanwendungen vorgesehen ist. Node.js lässt sich sowohl auf Embedded-Systemen als auch auf PCs installieren und nutzen. Dadurch ist Node-RED plattformunabhängig und kann auf intelligenten Sensoren, IoT-Edge-Gateways, PCs und sonstigen Automatisierungsbaugruppen eingesetzt werden.
Die zu einer Node-RED-Installation gehörenden Funktionsbausteine decken zahlreiche IoT-Anbindungen, etwa per HTTP/REST und MQTT, ab. Auch Websocket-Funktionen, E-Mail-Versand und Twitter-Anbindungen sind vorhanden. Weitere Bausteine sind jederzeit 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 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 im Node-RED-Editor erstellte Flow lässt sich durch spezielle Funktionen der Weboberflä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.
Insgesamt ist Node-RED 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 hochkomplexe Konfigurationen zur Verfügung stellen, die sich mit wenigen Mausklicks anpassen und einsetzen lassen.
Stand: 08.12.2025
Es ist für uns eine Selbstverständlichkeit, dass wir verantwortungsvoll mit Ihren personenbezogenen Daten umgehen. Sofern wir personenbezogene Daten von Ihnen erheben, verarbeiten wir diese unter Beachtung der geltenden Datenschutzvorschriften. Detaillierte Informationen finden Sie in unserer Datenschutzerklärung.
Einwilligung in die Verwendung von Daten zu Werbezwecken
Ich bin damit einverstanden, dass die Vogel Communications Group GmbH & Co. KG, Max-Planckstr. 7-9, 97082 Würzburg einschließlich aller mit ihr im Sinne der §§ 15 ff. AktG verbundenen Unternehmen (im weiteren: Vogel Communications Group) meine E-Mail-Adresse für die Zusendung von redaktionellen Newslettern nutzt. Auflistungen der jeweils zugehörigen Unternehmen können hier abgerufen werden.
Der Newsletterinhalt erstreckt sich dabei auf Produkte und Dienstleistungen aller zuvor genannten Unternehmen, darunter beispielsweise Fachzeitschriften und Fachbücher, Veranstaltungen und Messen sowie veranstaltungsbezogene Produkte und Dienstleistungen, Print- und Digital-Mediaangebote und Services wie weitere (redaktionelle) Newsletter, Gewinnspiele, Lead-Kampagnen, Marktforschung im Online- und Offline-Bereich, fachspezifische Webportale und E-Learning-Angebote. Wenn auch meine persönliche Telefonnummer erhoben wurde, darf diese für die Unterbreitung von Angeboten der vorgenannten Produkte und Dienstleistungen der vorgenannten Unternehmen und Marktforschung genutzt werden.
Meine Einwilligung umfasst zudem die Verarbeitung meiner E-Mail-Adresse und Telefonnummer für den Datenabgleich zu Marketingzwecken mit ausgewählten Werbepartnern wie z.B. LinkedIN, Google und Meta. Hierfür darf die Vogel Communications Group die genannten Daten gehasht an Werbepartner übermitteln, die diese Daten dann nutzen, um feststellen zu können, ob ich ebenfalls Mitglied auf den besagten Werbepartnerportalen bin. Die Vogel Communications Group nutzt diese Funktion zu Zwecken des Retargeting (Upselling, Crossselling und Kundenbindung), der Generierung von sog. Lookalike Audiences zur Neukundengewinnung und als Ausschlussgrundlage für laufende Werbekampagnen. Weitere Informationen kann ich dem Abschnitt „Datenabgleich zu Marketingzwecken“ in der Datenschutzerklärung entnehmen.
Falls ich im Internet auf Portalen der Vogel Communications Group einschließlich deren mit ihr im Sinne der §§ 15 ff. AktG verbundenen Unternehmen geschützte Inhalte abrufe, muss ich mich mit weiteren Daten für den Zugang zu diesen Inhalten registrieren. Im Gegenzug für diesen gebührenlosen Zugang zu redaktionellen Inhalten dürfen meine Daten im Sinne dieser Einwilligung für die hier genannten Zwecke verwendet werden. Dies gilt nicht für den Datenabgleich zu Marketingzwecken.
Recht auf Widerruf
Mir ist bewusst, dass ich diese Einwilligung jederzeit für die Zukunft widerrufen kann. Durch meinen Widerruf wird die Rechtmäßigkeit der aufgrund meiner Einwilligung bis zum Widerruf erfolgten Verarbeitung nicht berührt. Um meinen Widerruf zu erklären, kann ich als eine Möglichkeit das unter https://contact.vogel.de abrufbare Kontaktformular nutzen. Sofern ich einzelne von mir abonnierte Newsletter nicht mehr erhalten möchte, kann ich darüber hinaus auch den am Ende eines Newsletters eingebundenen Abmeldelink anklicken. Weitere Informationen zu meinem Widerrufsrecht und dessen Ausübung sowie zu den Folgen meines Widerrufs finde ich in der Datenschutzerklärung, Abschnitt Redaktionelle Newsletter.
Externe Quellen:
[1] Smart Connected Sensor (SCS) – Webseite der SSV Software Systems GmbH: http://ssv-embedded.de/loesungen/scs/
[2] Website mit einem REST-Tutorial: http://www.restapitutorial.com/lessons/whatisrest.html
[3] Projekt-Webseite zum MQTT-Protokoll: http://mqtt.org/
[4] Node-RED Website: http://nodered.org/
[5] Paul Morrison: Flow-based Programming (FBP); Webseite des Autors mit Auszügen und Inhaltsangaben zum Buch: http://jpaulmorrison.com/fbp/
* Klaus-Dieter Walter ist als CEO für SSV Software Systems in Hannover tätig. Der Autor ist zudem durch Vorträge sowie Beiträge in Fachzeitschriften bekannt.