Zum Hauptinhalt springen

Lektion 3.3 Node-RED

Node-RED ist ein Low-Code-, Flow-basiertes Tool zum Verknüpfen von Hardware, APIs und Diensten. Mit der IoT-Plattform wird es verwendet, um Geräte zu simulieren, Drittsysteme zu integrieren und als SDK zum Erstellen und Testen von Übersetzern. In dieser Lektion verbinden Sie Node-RED mit der IoT-Plattform und pushen simulierte Daten hinein.

Die vollständige Anleitung ist Node-RED; diese Lektion ist die praktische Schritt-für-Schritt-Anleitung.

Bevor Sie beginnen​

  • Node-RED installiert (nodered.org).
  • Zugriff auf die Swagger-UI Ihres Servers (https://staging.yggio.net/swagger).
  • Netzwerkzugriff von Node-RED zum MQTT-Broker und zur REST-API der IoT-Plattform. Halten Sie Node-RED hinter einer Firewall.

Node-RED-Beispiel-Flow

Übung 1 – Eine simulierte Messung senden (schnellster erster Erfolg)​

  1. Erstellen Sie in Swagger ein basicCredentialSet (einen Benutzernamen/Passwort für MQTT) und reservieren Sie dann ein reservedMqttTopic der Form yggio/generic/v2/<Ihre-eindeutige-ID>.
  2. Fügen Sie in Node-RED einen MQTT out-Knoten hinzu. Erstellen Sie einen MQTT-Server, der auf die URL der IoT-Plattform zeigt, mit dem Benutzernamen/Passwort des basicCredentialSet unter Security, und setzen Sie das Topic auf das reservierte.
  3. Verdrahten Sie einen inject-Knoten (Payload = JSON {"temperature": 21}) mit dem MQTT-out-Knoten und klicken Sie auf Deploy.
  4. In der IoT-Plattform erscheint innerhalb einer Minute ein neues Gerät mit temperature.

Sie haben soeben Daten von Node-RED in die IoT-Plattform gepusht.

Übung 2 – Der vollständige Beispiel-Flow​

Importieren Sie das vorgefertigte Beispiel, um bidirektionales MQTT sowie die REST-API zu sehen:

  1. Importieren Sie den Beispiel-Flow.
  2. Folgen Sie der Einrichtung in der Node-RED-Anleitung (IoT-Plattform: Token, basicCredentialSet, 6 reservierte Topics; Node-RED: Zugangsdaten und MQTT-Server). Deployen Sie.
  3. Beobachten Sie, wie sechs simulierte Geräte an die IoT-Plattform melden, ein REST-GET /iotnodes-Aufruf läuft und (nach dem letzten MQTT-Channel-Schritt) Daten wieder aus der IoT-Plattform herausfließen.

Übung 3 – Einen Übersetzer in Node-RED bauen​

Da Node-RED und die IoT-Plattform dieselbe JavaScript-Engine verwenden, ist es ein idealer Ort, um Übersetzer zu entwickeln (siehe Lektion 3.7):

  1. Importieren Sie den my-first-translator-Flow.
  2. Er erzeugt simulierte Daten, führt eine translate-Funktion aus und gibt den Übersetzer + die Spec in der Konsole aus – bereit zum Einfügen in die Translator-API.
  3. Denken Sie daran: Die Ausgabe muss kanonische Feldnamen verwenden, und die Sandbox der IoT-Plattform ist enger als Node-RED (kein require, keine Timer, kein Netzwerk) – siehe die Hinweise in der Anleitung.

Was Sie gelernt haben​

  • Wie man Node-RED per MQTT mit der IoT-Plattform verbindet und Gerätedaten simuliert.
  • Wie der Beispiel-Flow bidirektionales MQTT + die REST-API demonstriert.
  • Warum Node-RED ein starkes Übersetzer-SDK ist und wie es sich von der Sandbox der IoT-Plattform unterscheidet.

Wie geht es weiter​