Node-Red - Werkzeugkasten für das Internet der Dinge

IoT-Lösungen benötigen häufig die Kombination von spezifischen Geräteschnittstellen und Onlinediensten um neue und für den Benutzer sinnvolle Anwendungen zu schaffen. Entwicker müssen aber oft viel Zeit aufwenden, um zu verstehen, wie diese Schnittstellen funktioneren - Zeit, die sie besser dafür verwenden sollten, um den realen Wert ihrer Lösung zu erarbeiten. Diese Themen will Node-Red adressieren - mit einem webbasierenden Werkzeug, mit dem Entwickler grafisch den Ablauf der Logik zusammenstellen und dem Server zur Ausführung übergeben.

Bild: IBM Deutschland GmbHBild: IBM Deutschland GmbH
Die Grundidee hinter Node-Red beruht auf der flowbasierten Programmierung (FBP), die es ermöglicht, den Ablauf einer Anwendungslogik durch die Verschaltung von konfigurierbaren Knoten abzubilden. Damit sind Kommunikationsbeziehungen schnell und ohne viel

Die Grundidee hinter Node-Red beruht auf der flowbasierten Programmierung (FBP), die es ermöglicht, den Ablauf einer Anwendungslogik durch die Verschaltung von konfigurierbaren Knoten abzubilden. Die ersten (sinnvollen) Flows für Node-Red haben die meisten Entwickler innerhalb weniger Minuten zusammengestellt und zum Ablauf gebracht. Node-Red ist damit auch ein ideales Werkzeug, um einen schnellen Prototype zu erstellen und die grundlegenden Funktionen mit den Nutzern auszutesten. Die Knoten in Node-Red stellen die grundlegenden Funktionen bereit:

  • • Eingangsknoten, die Ereignisse von angeschlossenen Systemen entgegennehmen
  • • Funktionsknoten, die auf die Ereignisse reagieren, sie verarbeiten und weiterleiten
  • • Ausgangsknoten, die Ereignisse an andere Systeme weiterleiten

Für Node-Red stehen mittlerweile über 600 Knoten zur Verfügung - ein Teil als Bestandteil des Kernsystems, aber die Mehrzahl der Knoten kommt aus der Mitarbeit der Community. Die Funktionalität der Knoten überspannt einen großen Bereich von Protokollen sowohl aus dem IoT-Bereich (z.B. MQTT, COAP) wie auch aus dem Bereich der industriellen Automatisierung (z.B. OPC UA, Modbus) bis hin zur Anbindung von Datenbanken, Webdiensten oder sozialen Netzwerken. Die Standardknoten für Benutzerschnittstellen können zur schnellen Erzeugung von Dashboards verwendet werden. Der Node-Red-Server verwendet als Laufzeitumgebung node.js - ein resourcensparender Javascript Server. Diese Umgebung skaliert von leichtgewichtigen Linuxplattformen auf Basis von ARM-Prozessoren über traditionelle Windows- und Linux-Computer bis in die Cloud wie z.B. IBM Bluemix. Node-Red wurde von IBM seit 2013 als Open Source entwickelt und ist seit 2016 Teil der JavaScript Foundation. Der Fokus von Node-Red auf Open Source und die Mitarbeit durch die Community hat zu einer großen Verbreitung geführt, zum Beispiel ist Node-Red seit 2015 Bestandteil von Raspbian - der Node-Red-Standardsoftware für den Raspberry PI oder wird auf kommerziellen System (siehe IBHsoftec, Hilscher, Harting, AT&T, Intel) eingesetzt.

IBM Deutschland GmbH

Dieser Artikel erschien in SPS-MAGAZIN 5 2017 - 22.05.17.
Für weitere Artikel besuchen Sie www.sps-magazin.de