Senden von Nachrichten von Tulip an Node-RED
  • 20 Feb 2024
  • 3 Minuten zu lesen
  • Mitwirkende

Senden von Nachrichten von Tulip an Node-RED


Article Summary

Um Nachrichten von Tulip zu senden (z.B. von In-App Triggern oder Automationen), kann ein Connector verwendet werden. Dies ist am einfachsten möglich, wenn der Connector Host auf allen Tulip Edge Devices installiert ist.

Mit Tulip Edge-Geräten

Der folgende Ablauf wird verwendet, um eine Nachricht von einem Tulip Trigger an Node-RED zu senden, das auf einem Tulip Edge Device läuft:

Communicate with Machines using Edge MC's Connector Host & Node-RED_314676359.png

Nach der Fertigstellung verwenden Sie den neu erstellten Connector in einer beliebigen Tulip App oder Automation, um Nachrichten an Node-RED zu senden, z.B. Gerätebefehle oder Flow-Inputs.

In Tulip: Konfigurieren Sie Ihren Connector und Connector Host

Hinweis: Wenn Sie mit den Connector Hosts und der Connector Funktion in Tulip nicht vertraut sind, lesen Sie diesen Artikel.

  1. Erstellen Sie einen neuen Connector auf der Seite Connectors in Ihrer Tulip-Instanz.
  2. In dem erscheinenden Modal geben Sie die unten angegebenen Informationen ein:

Name: Wählen Sie einen Namen für Ihren Connector HostBeschreibung: Wählen Sie einen Namen für Ihren Connector HostConnector Typ: Wählen Sie HTTP

  1. Klicken Sie auf "Speichern".
  2. Um die Details des Connector Hosts festzulegen, klicken Sie auf die Schaltfläche " Produktion & Test & Entwicklung " auf der linken Seite. Geben Sie in dem angezeigten Modal die folgenden Informationen ein:

Ausführen auf: Wählen Sie den Connector-Host des Ziel-Edge-Geräts aus*Hinweis: Wenn der Connector-Host des Edge-Geräts nicht gefunden werden kann, navigieren Sie zum Portal des Edge-Geräts und stellen Sie sicher, dass "Connector-Host" aktiviert wurde.*Host: Geben Sie localhost ein Port: Geben Sie 1880 ein (dies ist der Port, auf dem Node-RED läuft) TLS: Geben Sie No ein Es ist nicht erforderlich, Header oder Zertifikate hinzuzufügen.

  1. Klicken Sie auf Testen und überprüfen Sie, ob Ihre Verbindung funktioniert. Klicken Sie abschließend auf Speichern.

Dieser Connector kann nun mit Node-RED auf dem Edge-Zielgerät kommunizieren.


In Node-RED: Konfigurieren des HTTP-IN-Knotens

Hinweis: Dieser Abschnitt setzt voraus, dass Sie mit Node-RED vertraut sind.

Um die Nachricht vom geräteinternen Connector-Host zu empfangen, wird ein HTTP-IN-Knoten verwendet.

  1. Klicken und ziehen Sie, um einen HTTP IN-Knoten aus der Palette auf der linken Seite des Node-RED-Editors zum Fluss hinzuzufügen:

image.png

Geben Sie die folgenden Informationen ein:
Methode: POST URL: ein beliebiger benutzerdefinierter Pfad, z. B. /nodeRED oder /myMachine/0013. Er wird in Node-RED wiederverwendet, sollte also leicht zu erkennen und zu merken sein. Das folgende Beispiel zeigt die URL, die als /test konfiguriert ist:
image.png

  1. Klicken Sie auf "Done", um die Änderungen zu speichern.

HTTP-Anfragen werden fehlschlagen, ohne dass eine Antwort an den Server (in diesem Fall Tulip) zurückgegeben wird.

  1. Ziehen Sie einen HTTP Response Knoten hinein.
  2. Verbinden Sie den HTTP Request Knoten mit dem HTTP Response Knoten. 3. Doppelklicken Sie auf den HTTP Response Knoten und geben Sie 200 als Status Code ein. Klicken Sie auf Done.

image.png

:::(Info) (HTTP-Antworten und erweitertes Feedback) Ändern Sie den Statuscode und/oder verwenden Sie die Schaltfläche +add im HTTP-Antwortknoten, um die Antwort des Connectors zu ändern oder zu ergänzen. Diese Daten (meist vom Flow generierte System- oder Geräteausgaben) werden in der Antwort des Connectors angezeigt. Konfigurieren Sie die Konnektorausgänge mit dem Leitfaden hier: Ist das der richtige Wortlaut?

  1. Ziehen Sie schließlich einen Debug-Knoten aus der Palette hinein. Konfigurieren Sie diesen Knoten so, dass er**"Complete Message Object** " ausgibt, indem Sie das msg. drop-down verwenden:image.png

Dieser Node-RED Ablauf empfängt nun eine Nachricht von Tulip und zeigt sie im Node-RED Debug Log an.

Ein fertiger Ablauf kann wie unten gezeigt aussehen:image.png

Klicken Sie oben rechts auf Deploy, um alle Änderungen zu übernehmen.

In Tulip: Konfigurieren und Testen der Connector-Funktion

Sobald die Konfiguration des Node-RED Flow abgeschlossen ist, kehren Sie zum Connector in Tulip zurück.

  1. Erstellen Sie eine neue Connector-Funktion.
  2. Ändern Sie die Connector-Funktion von GET auf POST.
  3. Geben Sie den in Node-RED konfigurierten Pfad (in diesem Beispiel /test) in die URL ein.
  4. (optional) Fügen Sie dem Konnektor einen Eingang hinzu, um dem Konnektor Inhalte hinzuzufügen (z. B. eine Nachricht oder einen Befehl).
  1. (optional) Fügen Sie den Input zum Request Body hinzu, indem Sie zuerst den Content Type auf JSON ändern und dann ein Element zum Root hinzufügen.

Der folgende Screenshot zeigt einen Connector, der für den oben angegebenen Endpunkt /test konfiguriert ist und einen Input namens testValue enthält:image.png

Klicken Sie auf "Ausführen", um die Connector-Funktion zu testen. Zwei Erfolgsindikatoren werden angezeigt:

  1. Die Connector-Funktion erhält eine 200 OK-Antwort, die (falls zutreffend) enthält:
  2. Alle für den Konnektor konfigurierten Eingänge 2. Alle zusätzlichen Ausgaben, die im HTTP-Antwort-Knoten von Node-RED konfiguriert wurden 2. Das Debug-Protokoll in Node-RED zeigt die Nachricht des Konnektors an. *Hinweis: Je nach aktueller Version von Node-RED befindet sich der Körper der Konnektoranforderung entweder unter:*a. msg.payload, oder b. msg.req.body

Die beiden Erfolgszustände finden Sie unten:

Konnektor Erfolg:image.png

Node-RED Erfolg:image.png


War dieser Artikel hilfreich?