11/15/2021

Node-RED, das grafische Programmiertool

Node-Red ist eine grafische Programmiersoftware, mit der sich IoT-Anwendungen umsetzen lassen. Dieser Beitrag enthält eine Anleitung zur Installation und erste Schritte im Umgang mit Node-RED.

Node-RED, das grafische Programmiertool

Das Internet der Dinge und Industrie 4.0 sind topaktuelle Buzzwords, wenn es um die Digitalisierung der Arbeitswelt geht. Dahinter verbirgt sich die Vernetzung von physischen und virtuellen Objekten (Things), die über ein Netzwerk intelligent miteinander kommunizieren.

Eine einfache und anschauliche Softwarelösung, um in diesem Zusammenhang Anwendungen zu realisieren, ist Node-RED. Das Open-Source Tool wurde von IBM entwickelt und bietet eine JavaSkript-basierte Entwicklungsumgebung. Die Software bietet einen grafischen Editor, mit dem Funktionsblöcke, sogenannte Nodes, visuell dargestellt und konfiguriert werden können. Durch die Verbindung dieser Nodes lassen sich Hardwaregeräte, APIs und Online-Dienste miteinander vernetzen, indem Nachrichtenobjekte weitergeleitet und verarbeitet werden.

Installation und Programmstart

Um Node-RED zu nutzen, muss zunächst Node.js installiert werden.

nodejs-logo.png

Den Link zum Download finden Sie hier.

Nach dem Node.js installiert wurde müssen Sie eine Kommandozeile öffnen und „node-red“ eingeben. Es erscheint folgende Nachricht:

Screenshot 2021-11-15 134703.png

Anschließend kann die Entwicklungsumgebung von Node-RED geöffnet werden. Sie läuft im Webbrowser und kann durch die Eingabe folgender URL erreicht werden: http://localhost:1880/

Es erscheint der Flow-Editor.

Ergänzend finden Sie unter folgendem Link eine Anleitung zur Installation von Node Red:

Flows & Nodes

Durch Drag and Drop lassen sich Nodes aus der Palette auf die Arbeitsfläche hinzufügen. Durch Ziehen mit gedrücktem Mauszeiger lassen sich einzelne Nodes miteinander verbinden. Node“ bedeutet „Knotenpunkt“. Mehrere Nodes bilden über Verknüpfungen einen „Flow“:

Node Typen

Es gibt drei Typen von Nodes:

  • Input Nodes: Sie speisen den Flow mit Daten. Input Nodes besitzen mindestens einen Ausgang, dargestellt durch ein kleines graues Rechteck.

inject.PNG

  • Output Nodes: Sie senden Daten aus dem Flow heraus an. Output Nodes besitzen mindestens einen Eingang.

debug.PNG

  • Processing/Function Nodes: Sie erlauben es, eingehende Daten zu verarbeiten und besitzen einen Eingang und mindestens einen Ausgang.

function.PNG

Nachrichten

  • Entlang eines Flows werden Nachrichten übermittelt.

Nachricht1.PNG
  • Nachrichten in Node-RED sind JavaScript-Objekte
  • In Node-RED heißt ein Nachrichten-Objekt meist 'msg' und es weist standardmäßig drei Eigenschaften auf:

Nachricht2.PNG

  • Nachrichten können mit Informationen ergänzt werden, indem z. B. der „payload“-Bereich ergänzt wird:

Payloadbereich.PNG

Starten eines Flows

  • Nach jeder Änderung muss ein Flow über ein „Deploy“ an den Webservice übertragen werden.
  • Ein Flow kann dann entweder manuell über einen Knopf:

Manuell.PNG

  • oder automatisch gestartet werden:

Automatisch.PNG

Erste Schritte

  • Startbildschirm:

Startbildschirm.PNG

  • Für ein erstes „Hello World“-Beispiel benötigen wir zwei Funktionsbausteine und eine Verbindung:
  1. Einen Inject-Knoten aus der inputs-Box in der linken Seitenleiste
  2. Einen Debug-Knoten aus der outputs-Box.

Schritt1.PNG

  • Doppelklicken auf „timestamp“, dann wie folgt eintragen, „done“ klicken:

Schritt2.PNG

  • Klick auf „Deploy“, um das soeben modellierte Verhalten live schalten.
  • Der „Inject“-Knoten schickt auf Knopfdruck eine Nachricht, bestehend aus Topic und Payload (Inhalt der Nachricht) zu allen verbundenen Bausteinen. Durch die Verbindung zum Debug-Baustein werden die Informationen übermittelt und von diesem in der rechten Seitenleiste ausgegeben.
  • Flow ausführen - dazu Kästchen anklicken:

Ausführen.PNG

  • Anzeige in debug in der Sidebar:

Debugfenster.PNG

  • Änderungen an den Knoten werden erst durch einen erneuten Klick auf „Deploy“ übernommen!

deploy.PNG

Weitere Informationen

Youtube bietet eine Vielzahl von Tutorials zum Thema Node-Red.

Hier ein Auswahl:

Übung in Node-RED

Sie können den Node-RED Workshop aus der 1. Wissenstransferveranstaltung hier downloaden und noch einmal selbst ausprobieren

Node-RED Workshop