Node-RED – Grundlagen

Node-RED

Geschichte

Node-RED wurde von IBM entwickelt. Das Open-Source-Projekt wurde 2013 publiziert und frei zur Verfügung gestellt. Seit 2016 wurde Node-RED einen Teil der JS Foundation.

Funktionsweise

Node-RED ist eine grafische Programmierumgebung. Die Anwendung von Node-RED liegt größtenteils bei der Verbindung zwischen verschiedener Hardware, Services und auch Schnittstellen.

Die Grundlagen werden hier kurz erklärt, ich verwende hierfür das Node-RED, dass direkt auf der IoT-Steuerung integriert wurde. Bei der Variante, mit dem IoT-Gateway, gibt es Unterschiede der Nodes gegenüber der Steuerung.

Sie können Node-RED für das Sammeln erster Erfahrungen auch auf einer Linux Umgebung installieren. Mithilfe von Docker wäre auch eine Migration auf ein Windows System möglich.

Zu Node-RED gibt es eine riesige Community, die Community stellt viele bereits erstellte Nodes und Flows kostenlos zur Verfügung. Dadurch wird Ihnen der Einstieg in Node-RED noch leichter fallen.


Übersicht

In diesem Abschnitt werden die 7 Kategorien der NodeRED-Entwicklungsumgebung dargestellt.

  1. Nodes
  2. Node-Kategorie
  3. URL des Node-RED Web-Server
  4. Tab-Reiter für die einzelnen Flows
  5. Speichern / Anmelden
  6. Menu
  7. Informationen (Info. + Debug)

Die Kategorien werden später im Beitrag erläutert.


Node-Palette

Um eine effiziente Nutzung der zahlreichen Nodes in Node-RED zu gewährleisten, sind diese in verschiedenen Kategorien unterteilt, die als Paletten bezeichnet werden.

Zusätzlich können Sie mithilfe der Filterfunktion Nodes schnell und einfach finden, indem Sie einfach den gewünschten Node-Namen in das Suchfeld eingeben.

Je nach individuellen Bedürfnissen und Anforderungen können die Paletten auch erweitert werden. Die Node-RED Community bietet eine umfassende Sammlung von nützlichen Erweiterungen, die für die Erstellung von komplexen Anwendungen und Flows in Node-RED hilfreich sein können.

Dank der Kategorisierung und Filterfunktion sowie der Möglichkeit, die Paletten zu erweitern, bietet Node-RED eine leistungsstarke und flexible Entwicklungsumgebung für Entwickler und Systemintegratoren.


Nodes

In Node-RED können Sie Nodes einfach per Drag-and-Drop in den Editor ziehen und durch Verbindungsknoten untereinander verbinden. Jeder Node verfügt über eine markierte Stelle, die als Verbindungsknoten genutzt werden kann.

Durch diese einfache Methode der Verbindung können komplexe Flows erstellt werden, indem Nodes miteinander verknüpft werden. Der Nachrichtenfluss erfolgt dabei immer von links nach rechts.

Node-RED ermöglicht es Entwicklern und Systemintegratoren, schnell und einfach Flows zu erstellen, indem sie Nodes per Drag-and-Drop verknüpfen. Diese Methode der Verbindung ist intuitiv und einfach zu erlernen, was Node-RED zu einer leistungsstarken und flexiblen Entwicklungsplattform macht.


Node Informationen

In Node-RED sind viele Nodes mit zusätzlichen Beschreibungen versehen, um deren Funktionen und Eigenschaften zu erläutern. Um die Beschreibungen der Nodes zu öffnen, müssen Sie wie folgt vorgehen:

Klicken Sie auf den gewünschten Node im Flow-Editor, um ihn auszuwählen. Anschließend können Sie auf das Handbuchicon klicken, um die Beschreibung des Nodes zu öffnen. Hier finden Sie detaillierte Informationen zu den Eigenschaften und Funktionen des Nodes sowie Anleitungen zur Nutzung und Konfiguration.

Dank dieser zusätzlichen Beschreibungen können Entwickler und Systemintegratoren Nodes effektiver nutzen und schneller komplexe Flows erstellen. Die umfassenden Informationen tragen dazu bei, die Lernkurve für Node-RED zu verkürzen und eine reibungslose Entwicklungsumgebung zu gewährleisten.

  1. Gewünschter Node auswählen
  2. Das Handbuch Icon wählen
  3. Informationen des Node begutachten

Einen Node editieren

In Node-RED können Sie durch Doppelklicken auf einen Node das Konfigurationsfenster öffnen und Daten an Ihre Bedürfnisse anpassen. Ein Beispiel hierfür ist der Inject-Node, mit dem Sie definierte Nachrichten absetzen können.

Durch die Anpassung der Einstellungen im Konfigurationsfenster können Sie die Funktionalität des Nodes ändern und an Ihre Anforderungen anpassen. Dies ermöglicht eine flexible und anpassbare Entwicklungsumgebung, die es Ihnen ermöglicht, komplexe Anwendungen und Flows zu erstellen.

Mit dem Inject-Node können Sie eine definierte Nachricht absetzen, indem Sie die entsprechenden Parameter im Konfigurationsfenster einstellen. Diese Funktion ist besonders nützlich, wenn Sie Flows automatisch auslösen oder steuern möchten.


Ein Flow

In diesem Abschnitt wird gezeigt, wie Sie einen einfachen Flow erstellen können.


Tab-Reiter für Flows bearbeiten

Node-RED kann, je nach Menge der Flows, schnell unübersichtlich werden. Damit dies verhindert werden kann, können Sie dementsprechend Flow-Taps erstellen, dort können Sie danach die oben aufgeführten Änderungen vornehmen.


Beispiel Anbindung einer InfluxDB

Hier wird eine Beispielanwendung gezeigt. Hier lese ich Daten über einen HTTP Request ab und bereite die Daten dementsprechend. Daraufhin werden die Daten in eine InfluxDB gespeichert.


Die wichtigsten Nodes der Weidmüller IoT-Steuerung

Mithilfe dieser Nodes, können Sie die globalen Variablen der IoT-Steuerung in Node-RED überführen und auch wieder zurückschreiben.


Verwenden der Weidmüller Nodes

Wenn Sie Daten zurück in die Steuerung geben möchten, können Sie den Wert der msg.payload in msg.payload.value setzen. Dabei handelt es sich um eine gängige Praxis in Node-RED, um sicherzustellen, dass die Daten in einem bestimmten Format zurückgegeben werden, das von der Steuerung verarbeitet werden kann.

var msg1 ={};
msg1.payload = {};
msg1.payload.value = msg.payload;

return msg1;

Node Installieren

Um einen neuen Node hinzuzufügen, können Sie wie folgt vorgehen: Klicken Sie im Hamburger-Menü oben rechts auf «Palette verwalten».

Dann auf den Reiter «Installieren». Suchen Sie nach dem gewünschten Node und klicken Sie auf «Installieren». Der Node wird dann automatisch hinzugefügt.