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.

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.

Anwendungsfeld Industrial Internet

Damit ein industrieller Anwender Node-Red für seine Zwecke einsetzen kann, muss er in der Lage sein, mit verschiedenen Geräten und Systemen der Automatisierungstechnik zu kommunizieren. Dafür stehen über die Node-Red-Community zahlreiche Knoten zur Verfügung:

  • Modbus: Unterstützung für TCP und serielle Verbindungen
  • Siemens S7: RFC1006 basierende Kommunikation zu Siemens S7-Steuereinheiten
  • OPC UA: Kommunikation zu OPC UA-Servern und Bereitstellung von Serverfunktionalität
  • MQTT: Unterstützung des MQTT-Protokolles (V3.1 und V3.1.1)

Diese Knoten stehen auch im Source Code zur Verfügung, so dass Anpassungen und Änderungen schnell selbst realisiert werden könnten.

Einmal in die Cloud und wieder zurück

Der einfachste Einstieg in Node-Red ist die Verwendung einer Cloudplattform wie z.B. IBM Bluemix. Nach einer Registrierung unter bluemix.net können die Dienste der Plattform für 30 Tage kostenlos genutzt werden und die meisten Dienste bieten auch eine kostenfreie Stufe im Preisplan an. Unter den sogenannten ‚Boilerplates‘ findet man im Katalog die Node-Red Starter Anwendung. Innerhalb weniger Minuten ist eine Instanz angelegt und im Internet verfügbar – es empfiehlt sich allerdings, den zusätzlichen Schritten zur Absicherung des Zuganges zu der Webanwendung zu folgen. Der Floweditor ist sowohl Entwicklungsumgebung wie auch die Admininistrationsschnittstelle z.B. zur Überwachung oder zur Installation neuer Knoten. Er besteht aus drei Hauptbereichen: links findet man die Knoten, in der Mitte den Flow und auf der rechten Seite die Eigenschaften und weitere administrative Funktionen.

‚Hello World‘ mit Node-Red

Nachdem man den Floweditor geöffnet hat, wählt man aus der Liste der Knoten auf der linken Seite den ‚Inject‘ Knoten (unter ‚Input‘) aus. Mit diesem Knoten können Nachrichten in den Flow manuell oder zeitgesteuert injiziert werden. Nun wählt man den ‚Debug‘ Knoten (unter ‚Output‘) aus und fügt ihn dem Flow hinzu. Dieser Knoten gibt den Inhalt der aktuellen Nachricht im ‚Debug‘ Fenster auf der rechten Seite aus. Mittels Drag und Drop verbindet man die beiden Knoten. Jede Aktion im Floweditor führt zu einer Änderung des Flows im Browser – diese muss aber noch dem Server bekanntgegeben werden. Durch drücken des ‚Deploy‘ Knopfes in der rechten oberen Ecke wird das erreicht und damit der aktuelle Flow aktiviert. Wenn man nun auf den ‚Inject‘ Knopf drückt, sollte im ‚Debug‘ Fenster ein Zeitstempel ausgegeben werden, der der Anzahl von Millisekunden seit dem 1. Januar 1970 entspricht. Anpassungen und anmwendungsspezifische Logik, die nicht von speziellen Knoten abgebildet werden kann, wird in Node-Red mittels Javascript implementiert. Dazu wird der ‚Function‘ Knoten (unter ‚Function‘) verwendet. Nachdem man den ‚Function‘ Knoten zwischen den ‚Inject‘ und ‚Debug‘ Knoten eingefügt hat, kann man den Editor-Dialog per doppelten Mausklick öffnen und folgenden Code zur Formatierung des Zeitstempels eingefügen:

Seiten: 1 2Auf einer Seite lesen

IBM Deutschland GmbH
http://www.ibm.com/de

Das könnte Sie auch Interessieren

Weitere Beiträge

Roboter über die SPS programmieren

Die neue SRCI-Schnittstelle soll SPSen und Roboter-Controller verbinden, um Anwendern eine einfachere Programmierung von Robotikfunktionen im gewohnten SPS-Umfeld zu ermöglichen. Wie hoch wird ihr Potenzial eingeschätzt? Und hat SRCI das Zeug, sich wirklich im Markt zu etablieren? Eine Trendumfrage in der Schwesterzeitschrift ROBOTIK UND PRODUKTION hat Roboterhersteller und Automatisierer um ihre Einschätzung gebeten.

mehr lesen
Bild: Grenzebach
Bild: Grenzebach
Lernen beim Schweißen

Lernen beim Schweißen

Die Grenzebach Gruppe und Weidmüller arbeiten auf dem Gebiet der Datenanalyse und Predictive Maintenance zusammen. Schwerpunkt der Forschung ist die Zustands- und Qualitätsüberwachung der Rührreibschweißtechnologie. Eine individuell angepasste Analysesoftware von Weidmüller monitort dabei den Schweißvorgang und soll in Zukunft Anomalien des Schweißprozesses automatisch erkennen und erfassen.

mehr lesen
Bild: Erema Engineering Recycling Maschinen und Anlagen Ges.m.b.H.
Bild: Erema Engineering Recycling Maschinen und Anlagen Ges.m.b.H.
Blinde 
Flecken

Blinde Flecken

Erema ist Weltmarktführer in der Herstellung von Kunststoffrecyclinganlagen. Weltweit verarbeiten die rund 7.500 in Betrieb befindlichen Anlagen mehr als 20 Mio. Tonnen hochwertigem Granulat pro Jahr. Die Anlagen, Maschinen und Systemkomponenten benötigen dafür modernste Hard- und Softwarekonzepte, die den Recycling-Prozess auf ein neues Niveau bringen. Und da kommt Keba ins Spiel.

mehr lesen
Bild: Ing. Büro Roth GmbH
Bild: Ing. Büro Roth GmbH
KI und Siemens Industial Edge bei Krombacher

KI und Siemens Industial Edge bei Krombacher

Die Einsatzmöglichkeiten von KI sind enorm und betreffen viele Bereiche unseres Lebens. Entsprechend sind die Erwartungen im industriellen Sektor ebenfalls sehr hoch. Gleichzeitig steigen nicht nur die Einsatzmöglichkeiten, sondern auch die Anzahl der umgesetzten Projekte. Das solche Lösungen sehr zuverlässig und flexibel eingesetzt werden können, zeigt eine Anwendung aus der Abfüllung der Krombacher Brauerei.

mehr lesen