© istockphoto.com/AdrianHillman
Entwickler Magazin
Mit Node-RED IoT-Prototypen erstellen

Viele Knoten führen zum Ziel

Node-RED ist ein visuelles Tool, mit dem sich IoT-Prototypen erstellen lassen, indem es Onlineservices, APIs und Hardwaregeräte miteinander grafisch verbindet. Dieser Artikel geht zunächst auf Node-RED ein, zeigt, wie sich ein einfacher „Flow“ anlegen lässt, Node-Module installiert und schließlich eigene Nodes geschrieben werden.

Lars Gregori


Das Open-Source-Tool Node-RED [1] steht unter der Apache-2.0-Lizenz und wird hauptsächlich von IBM Emerging Technologies entwickelt. Serverseitig basiert es auf Node.js, während der Browser die grafische Oberfläche darstellt. Mit Node-RED können in einem Flow verschiedene Eingabe-, Ausgabe- und Processing Nodes miteinander verbunden werden. Dadurch lassen sich Daten verarbeiten, verschiedene Dinge kontrollieren und steuern.

Die Node-RED-Oberfläche besteht aus drei Hauptbereichen, dem Node-Panel, dem Sheets-Panel und dem Info- und Debug-Panel. Das Node-Panel ist auf der linken Seite und enthält eine Liste der installierten und zur Verfügung stehenden Nodes. Diese werden in jeweilige Kategorien, wie zum Beispiel Eingabe- und Ausgabekategorien, gruppiert. Das Sheets-Panel in der Mittel definiert die so genannten Flows. Hier werden durch Drag and Drop die Nodes vom Node-Panel hineingezogen, miteinander verbunden und konfiguriert. Das Info- und Debug-Panel auf der rechten Seite ist in Tabs unterteilt. Der Infobereich zeigt für einen ausgewählten Node dessen Beschreibung an. Im Debug-Panel werden die Ausgaben der Debug Nodes oder interne Fehler aufgelistet.

Installation von Node-RED

Node-RED benötigt Node.js und den Package-Manager npm. Sie müssen auf dem System installiert sein. Eine ausführliche Installationsanleitung ist auf der Getting-Started-Seite von Node-RED [2] zu finden. Nach der Installation und dem Start ist Node-RED standardmäßig im Browser unter http://localhost:1880 erreichbar.

Auf der aktuellen Rasp‑bian Version, bei der es sich um ein Debian-Betriebssystem für den Raspberry Pi handelt, ist Node-­RED bereits vorin­stalliert. Node-RED bietet auch eigene Nodes für den Raspberry Pi [3] an, um zum Beispiel auf die GPIO-Pins des Rasp­berry Pi zuzugreifen.

Flow anlegen

Node-RED Nodes verschicken untereinander Message-Objekte, bei denen es sich um JSON-Daten handelt, die einen payload-Parameter enthalten (siehe Screenshot im Debug-Panel).

Input-Nodes, die am weißen Quadrat an der rechten Seite zu erkennen sind, erzeugen Daten, die als Eingabe für eine oder mehrere Output-Nodes dienen. Bei Output-Nodes hingegen liegt das Quadrat auf der linken Seite, und sie verarbeiten die eingehenden Daten. Processing Nodes sind an den weißen Quadraten auf beiden Seiten zu erkennen. Sie lesen die Eingabedaten der Input-Nodes, verarbeiten sie (intern) und geben das Ergebnis an einen Output-Node oder weitere Processing Nodes weiter. Dadurch lassen sich zum Beispiel Daten in...

Entwickler Magazin
Mit Node-RED IoT-Prototypen erstellen

Viele Knoten führen zum Ziel

Node-RED ist ein visuelles Tool, mit dem sich IoT-Prototypen erstellen lassen, indem es Onlineservices, APIs und Hardwaregeräte miteinander grafisch verbindet. Dieser Artikel geht zunächst auf Node-RED ein, zeigt, wie sich ein einfacher „Flow“ anlegen lässt, Node-Module installiert und schließlich eigene Nodes geschrieben werden.

Lars Gregori


Das Open-Source-Tool Node-RED [1] steht unter der Apache-2.0-Lizenz und wird hauptsächlich von IBM Emerging Technologies entwickelt. Serverseitig basiert es auf Node.js, während der Browser die grafische Oberfläche darstellt. Mit Node-RED können in einem Flow verschiedene Eingabe-, Ausgabe- und Processing Nodes miteinander verbunden werden. Dadurch lassen sich Daten verarbeiten, verschiedene Dinge kontrollieren und steuern.

Die Node-RED-Oberfläche besteht aus drei Hauptbereichen, dem Node-Panel, dem Sheets-Panel und dem Info- und Debug-Panel. Das Node-Panel ist auf der linken Seite und enthält eine Liste der installierten und zur Verfügung stehenden Nodes. Diese werden in jeweilige Kategorien, wie zum Beispiel Eingabe- und Ausgabekategorien, gruppiert. Das Sheets-Panel in der Mittel definiert die so genannten Flows. Hier werden durch Drag and Drop die Nodes vom Node-Panel hineingezogen, miteinander verbunden und konfiguriert. Das Info- und Debug-Panel auf der rechten Seite ist in Tabs unterteilt. Der Infobereich zeigt für einen ausgewählten Node dessen Beschreibung an. Im Debug-Panel werden die Ausgaben der Debug Nodes oder interne Fehler aufgelistet.

Installation von Node-RED

Node-RED benötigt Node.js und den Package-Manager npm. Sie müssen auf dem System installiert sein. Eine ausführliche Installationsanleitung ist auf der Getting-Started-Seite von Node-RED [2] zu finden. Nach der Installation und dem Start ist Node-RED standardmäßig im Browser unter http://localhost:1880 erreichbar.

Auf der aktuellen Rasp‑bian Version, bei der es sich um ein Debian-Betriebssystem für den Raspberry Pi handelt, ist Node-­RED bereits vorin­stalliert. Node-RED bietet auch eigene Nodes für den Raspberry Pi [3] an, um zum Beispiel auf die GPIO-Pins des Rasp­berry Pi zuzugreifen.

Flow anlegen

Node-RED Nodes verschicken untereinander Message-Objekte, bei denen es sich um JSON-Daten handelt, die einen payload-Parameter enthalten (siehe Screenshot im Debug-Panel).

Input-Nodes, die am weißen Quadrat an der rechten Seite zu erkennen sind, erzeugen Daten, die als Eingabe für eine oder mehrere Output-Nodes dienen. Bei Output-Nodes hingegen liegt das Quadrat auf der linken Seite, und sie verarbeiten die eingehenden Daten. Processing Nodes sind an den weißen Quadraten auf beiden Seiten zu erkennen. Sie lesen die Eingabedaten der Input-Nodes, verarbeiten sie (intern) und geben das Ergebnis an einen Output-Node oder weitere Processing Nodes weiter. Dadurch lassen sich zum Beispiel Daten in...

Neugierig geworden?


   
Loading...

Angebote für Teams

Für Firmen haben wir individuelle Teamlizenzen. Wir erstellen Ihnen gerne ein passendes Angebot.

Das Library-Modell:
IP-Zugang

Das Company-Modell:
Domain-Zugang