Was ist Node-RED und welchen Funktionsumfang bietet es?
Node-RED ist eine Open-Source-Flow-basierte Entwicklungsumgebung, die für die Verarbeitung von Datenströmen und das Erstellen von Anwendungen für das Internet der Dinge (IoT) verwendet wird. Mit dieser Low-Code-Software können Benutzer eine grafische Oberfläche verwenden, um eine Reihe von Knoten zu erstellen, die miteinander verbunden sind, um Daten zu verarbeiten, zu speichern oder zu visualisieren. Low-Code bezeichnet eine Entwicklungsplattform, die auf visuelle und drag-and-drop-ähnliche Programmiermethoden setzt. Dies vereinfacht die Softwareentwicklung und erfordert weniger technische Fähigkeiten. Mit Low-Code-Plattformen können Entwickler und auch Personen ohne Programmierkenntnisse Anwendungen schneller erstellen und bereitstellen, indem sie vorgefertigte Komponenten nutzen und weniger Code schreiben müssen. Dadurch können Unternehmen schneller auf Veränderungen reagieren. Low-Code-Plattformen bieten auch eine größere Flexibilität und Skalierbarkeit.
Node-RED bietet eine Vielzahl von Funktionen, darunter:
- Visuelles Flussdesign: Node-RED ermöglicht das Erstellen von Flussdiagrammen. Damit können eine Vielzahl von Aufgaben durchgefüht werden, wie bspw. Datenverarbeitung, -analyse, -speicherung und -übertragung.
- Unterstützung für verschiedene Protokolle und Geräte: Es bietet Unterstützung für eine Vielzahl von Protokollen und Geräten. Darunter MQTT, HTTP, TCP/IP, Serial, Bluetooth, MODBUS, MTConnect, OPC-UA und viele mehr.
- Leistungsstarke Integration: Es bietet Integration mit verschiedenen Cloud-Diensten und Datenbanken, einschließlich IBM Watson IoT, Amazon AWS, Google Cloud Platform und vielen anderen.
- Erweiterbarkeit: Die Community bietet eine große Auswahl an Funktionserweiterungen, die einfach integriert werden können.
- Einfach zu erlernen und zu verwenden: Die Open-Source-Software Node-RED ist einfach zu erlernen und zu verwenden, insbesondere für Benutzer ohne Programmierkenntnisse.
Die Open-Source-Software Node-RED eignet sich gut für die Entwicklung von Anwendungen für das IoT, die Datenströme verarbeiten und verwalten müssen. Es bietet eine einfache und intuitive Möglichkeit, komplexe Aufgaben zu automatisieren und Prozesse zu vereinfachen.
Die Oberfläche von Node-RED
Diese Oberfläche unterteilt sich in drei Felder. Die Spalte auf der linken Seite stellt die Übersicht aller Funktionsbausteine bzw. Nodes, geordnet nach Kategorien. Von der linken Spalte aus, werden die gewünschten Funktionsbausteine in das mittlere Feld, das Flowfenster, gezogen. Im diesem Fenster werden sie anschließend verbunden und zu Datenflows verkettet. Die obere Leiste unter dem schwarzen Balken, zeigt alle bereits erstellten Flows dieses Nutzers. Aufgrund dieser Übersicht ist ein schnelles hin- und herspringen zwischen den unterschiedlichen Flows möglich. Die Spalte auf der rechten Seite ist ein Informations- & Hilfecenter für einzelne Funktionsbausteine und ein Informationsfenster für das Debugging bzw. der Fehlersuche. In der folgenden Grafik sehen Sie ein Beispiel eines möglichen Datenflows.
- linke Spalte: Übersicht aller Funktionsbausteine geordent nach Kategorien
- mittleres Feld: Obere Leiste (unter schwarzen Balken) ist Auswahl aller bereits erstellten Flows; Flowfenster zur Verknüpfung der Funktionsbausteine
- rechte Spalte: Hilfe- & Informationscenter für einzelne Funktionsbausteine; Informationsfenster für Debugging
Funkionsbausteine und Datenflows
Mit Node-RED erhalten Sie die Möglichkeit Daten aus verschiedenen Quellen, wie z.B. Maschinen oder Sensoren, automatisiert zu erfassen und individuell zu verarbeiten. Mit Node-RED erfolgen die Schritte Dateneingang, Datenverarbeitung und Datenausgang, anhand von Funktionsbausteinen, die miteinander verbunden werden. Die Leserichtung eines Datenflows ist von links nach rechts.
Eine beispielhafte Folge von Funktionsbausteinen ist in der nachstehenden Abbildung zu sehen:
Die hier abgebildete Folge der Funktionsbausteine, auch Data-Flow genannt, ist ein vereinfachtes Beispiel und dient primär der Darstellung, wie Node-RED aussieht und wie die Funktionsbausteine miteinander verbunden werden. Auf der linken Seite sieht man den Input-Baustein. In der Mitte dieses Flows ist ein Funktions-Baustein abgebildet. Der rechte Node ist ein Output-Baustein. Je nach Einsatzzweck werden unterschiedliche Bausteine für den Dateneingang, die Datenverarbeitung und den Datenausgang benötigt. Node-RED beinhaltet für verschiedene Zwecke eine Vielzahl dieser Bausteine. Mehr Informationen zu den Funktionsbausteinen finden Sie in unserem Blogbeitrag.
Node-RED Versionen
Es wurden verschiedene Versionen von Node-RED veröffentlicht, wobei jede neue Version Verbesserungen und neue Funktionen eingeführt hat. Einige der wichtigsten Release Notes sind wie folgt:
- Version 0.17: Einführung des „Flow Debugger“, mit dem Entwickler den Fluss ihres Projekts überwachen und Fehler identifizieren können. Es wurden auch neue Knoten hinzugefügt, wie zum Beispiel der „Switch“-Knoten, der die Verarbeitung basierend auf Bedingungen ermöglicht.
- Version 1.0: Dieses Release brachte einige bedeutende Änderungen mit sich, einschließlich der Aktualisierung der Benutzeroberfläche. Es wurde auch ein neues Funktionssystem eingeführt, das es Entwicklern ermöglicht, benutzerdefinierte Funktionen innerhalb der Flussdiagramme zu erstellen.
- Version 2.0: Ein wichtiges Feature war die Einführung der Unterstützung für Projekte, die eine einfachere Verwaltung von Flussdateien ermöglichen. Es wurden auch Verbesserungen im Bereich der Sicherheit und der Skalierbarkeit vorgenommen.
- Version 2.1: Diese Version führte das Konzept der Flow-Sandbox ein, mit dem Entwickler Flussdiagramme isoliert voneinander ausführen können. Es wurden auch neue Knoten hinzugefügt, darunter der „gRPC“-Knoten, um mit gRPC-Diensten zu interagieren.
- Version 3.0 ist die neueste Version des beliebten Open-Source-Tools zur visuellen Entwicklung von Flussdiagrammen. Eine der herausragenden Funktionen ist die Einführung des Flow-Editors in der Webversion, der eine verbesserte Benutzeroberfläche und eine intuitivere Erfahrung bietet. Zudem wurde die Unterstützung für TypeScript hinzugefügt, was Entwicklern ermöglicht, Flussdiagramme mit statischer Typisierung zu erstellen und so die Code-Qualität zu verbessern. Eine weitere wichtige Ergänzung ist die Integration des HTTP Request Knotens, der die einfache Durchführung von HTTP-Anfragen ermöglicht. Darüber hinaus wurde die Leistung und Stabilität des Tools insgesamt verbessert.
Es ist wichtig anzumerken, dass dies nur einige der wichtigsten Versionen und Features sind, die in Node-RED eingeführt wurden. Node-RED bleibt eine lebendige und aktive Open-Source-Community, und es werden kontinuierlich neue Versionen und Funktionen entwickelt, um die Entwicklung von Flussdiagrammen zu verbessern.
Herausforderungen für die Industrie
Die Installation, der Einsatz und die Pflege von Node-RED in der Industrie können einige Herausforderungen mit sich bringen.
- Zunächst einmal ist die Installation und Konfiguration von Node-RED auf den verschiedenen industriellen Systemen und Plattformen nicht immer unkompliziert, da diese oft vielfältige Technologien und Protokolle verwenden. Die nahtlose Integration von Node-RED mit bestehenden Industrieanlagen und Datenquellen erfordert maßgeschneiderte Anpassungen und spezialisierte Kenntnisse.
- Während Node-RED als Low-Code-Entwicklungswerkzeug bekannt ist, erfordert die Erstellung komplexer industrieller Automatisierungsabläufe oder Anwendungen dennoch eine gewisse Programmiererfahrung und Kenntnisse in Flusssteuerungen.
- Der Einsatz von Node-RED in der Industrie erfordert auch eine sorgfältige Planung und Evaluierung der Sicherheitsaspekte, da die Plattform potenziell Zugriff auf sensible industrielle Daten und Steuerungssysteme hat. Die Implementierung geeigneter Sicherheitsmaßnahmen wie Authentifizierung, Verschlüsselung und Zugriffssteuerung ist daher unerlässlich.
- Die kontinuierliche Wartung und Pflege von Node-RED, einschließlich Updates und Sicherheitspatches, ist ebenfalls von großer Bedeutung, um eine zuverlässige und sichere Funktion zu gewährleisten.
- Zudem kann die Schulung von Mitarbeitern, die mit Node-RED arbeiten, eine Herausforderung sein, um sicherzustellen, dass sie über das nötige Wissen und die Fähigkeiten verfügen, um die Plattform effektiv zu nutzen und maßgeschneiderte Lösungen für die industriellen Anforderungen zu entwickeln.
Insgesamt bietet Node-RED in der Industrie jedoch wertvolle Möglichkeiten zur Vereinfachung und Automatisierung von Prozessen, aber es ist wichtig, diese Herausforderungen zu bewältigen, um die volle Leistungsfähigkeit und den Nutzen der Plattform in der industriellen Umgebung zu realisieren.
Weitere Informationen unter:
OpenJS Foundation
Node-RED Webseite
Node-RED in der Industrie – mit dem BITMOTECO IoT-Systembaukasten
Forschen mit Node-RED – mit der BITMOTECO Research-Data-Platform
Mehr zur Marktentwicklung von Open-Source-Software
Mehr zu Open-Source-Software
Node-RED Anleitung – allgemeine Funktionsbausteine
Weitere Open-Source-Tools: ChirpStack, InfluxDB, PostgreSQL, Grafana, Mosquitto