- Drucken
Wie man: Seriell mit Node-RED verwenden
Wie man: Seriell mit Node-RED verwenden
Anleitung zur Verbindung mit einem seriellen Gerät, zur Konfiguration einer seriellen Schnittstelle in Node-RED und eine Einführung in die Abläufe der Node-RED-Bibliothek
Dieser Artikel beschreibt, wie man mit Node-RED serielle Daten von Tulip Edge-Geräten lesen und schreiben kann. Er behandelt den Anschluss an die verschiedenen seriellen Schnittstellen der einzelnen Edge-Geräte und zwei Tulip Node-RED-Bibliotheksabläufe, die serielle Kommunikation verwenden.
Was Sie benötigen ist:
Einen Edge IO oder Edge MC , der in Ihrem Tulip-Konto registriert ist
Ein Gerät, das über die serielle Schnittstelle mit Ihrem Edge-Gerät kommunizieren kann
1. Hardware-Einrichtung: Anschließen an ein serielles Gerät
Stellen Sie zunächst sicher, dass Sie Ihr serielles Peripheriegerät physisch an das Edge-Gerät anschließen.
Optional: Wenn Sie Ihren Node-RED zuerst testen möchten, indem Sie mit einem Host-Gerät (z. B. Ihrem Laptop, einem anderen Tulip Edge-Gerät usw.) kommunizieren, können Sie dies mit RS-232 mit einem Nullmodem oder USB-UART-Kabeln mit gekreuzten TX/RX-Leitungen tun ( keine Stromversorgung anschließen).
Beispiele für Programme, die Sie auf dem Host-Gerät zur Kommunikation mit dem Edge-Gerät verwenden können, sind:
- screen (MacOS): Ein Befehlszeilenprogramm für die serielle Kommunikation.
- PuTTY (Windows/Linux): Ein kostenloser Terminalemulator, der als serielle Konsole fungieren kann.
- Node-RED: Erstellen Sie einen ergänzenden Node-RED-Fluss in einer Instanz von Node-RED, die auf dem Host-Gerät ausgeführt wird.
2. Node-RED-Einrichtung: Serielle Schnittstelle konfigurieren
Wir werden die Knoten im Paket node-red-contrib-serialport
für die serielle Kommunikation in Node-RED verwenden. Wenn Sie ein Tulip Edge-Gerät OS44+ verwenden, ist dieses Paket bereits vorinstalliert. Ansonsten können Sie die Knoten mit dem Node-RED-Editor zur Palette hinzufügen, wie hier beschrieben.
Die seriellen Knoten erscheinen dann unter der Registerkarte Netzwerk
:
Um serielle Eingänge zu lesen, ziehen Sie den seriellen Eingangsknoten
und lassen ihn fallen. Um serielle Ausgänge zu schreiben, ziehen Sie den Knoten serial out
und legen ihn ab. Um den seriellen Anschluss zu konfigurieren, klicken Sie auf beiden Knoten auf die Schaltfläche "Bearbeiten" für die Eigenschaft "Serieller Anschluss":
Geben Sie dann die folgenden Eigenschaften ein:
- Serieller Anschluss: Der Devpath des seriellen Anschlusses (z. B. /dev/ttyS0). Dies hängt davon ab, mit welchem Edge-Gerät und mit welchem physischen seriellen Anschluss Sie eine Verbindung herstellen (siehe Artikel für Edge IO oder Edge MC). Die verfügbaren Pfade können durch Klicken auf die Suchschaltfläche angezeigt werden (siehe unten).
Hinweis: Derzeit gibt es keine Unterstützung für das Hot-Plugging von USB-Geräten in Node-RED. Das bedeutet, dass das USB-Gerät beim Hochfahren des Geräts eingesteckt sein muss, damit Node-RED darauf zugreifen kann.
- Einstellungen: Die Baudrate und andere Einstellungen sollten mit der Baudrate des seriellen Geräts übereinstimmen, mit dem Sie kommunizieren.
- Eingabe: Wählen Sie aus, wann der Knoten eine Nachricht ausgeben soll. Zu den Optionen gehören das Warten auf ein Trennzeichen (wie z. B. einen Zeilenumbruch, ein Komma oder ein Leerzeichen), das Warten auf alle
n
Zeichen, wenn die Ausgabe eine feste Länge hat, oder Sie können eine Zeitüberschreitung festlegen, um allen
Sekunden eine Ausgabe zu erhalten.
- Ausgabe: Fügen Sie der Ausgabemeldung Zeichen hinzu (z. B. fügen Sie den Zeilenumbruch wieder ein).
Sie können sehen, dass Sie mit einem gültigen seriellen Anschluss verbunden sind, wenn der Knotenstatus nach der Bereitstellung "verbunden" lautet:
3. Node-RED Library Flows: Mit Tulip kommunizieren
Tulip bietet mehrere Bibliotheksabläufe, um serielle Eingänge zu lesen und serielle Ausgänge auf Tulip Edge-Geräten mit Node-RED zu schreiben. Siehe Importieren von Tulip Node-RED Flows für Informationen darüber, wie man einen Tulip Bibliotheksfluss importiert.
Um eine serielle Ausgabe von einer Tulip-Anwendung auf ein Tulip Edge-Gerät zu schreiben, können Sie den serial_http_endpoint-Flow
verwenden und einen HTTP-Konnektor auf Ihrer Tulip-Instanz einrichten, der auf dem Edge-Gerätekonnektor-Host läuft. Sie müssen diesem Konnektor eine Konnektorfunktion hinzufügen, die POST-Anfragen an den HTTP-Endpunkt /serial
sendet, und diese Konnektorfunktion von der App aus aufrufen. Weitere Informationen über das Schreiben von Werten in Node-RED mithilfe des Connector Hosts finden Sie unter Kommunikation mit Maschinen mithilfe des Connector Hosts von Edge MC und Node-RED.
Um serielle Eingaben auf einem Tulip Edge-Gerät zu lesen und an Tulip zu senden, können Sie entweder die Tabellen-API (zum Schreiben der Daten in eine Tabelle) oder die Maschinen-API (zum Schreiben der Daten in ein Maschinenattribut) verwenden. Der Bibliotheksablauf serial_to_tulip_table
ist ein Beispiel dafür, wie man Newline-getrennte serielle Eingaben in eine Tulip-Tabelle schreiben kann. Sie müssen den seriellen Knoten und die beiden Tulip-Tabellen-Knoten mit den richtigen Einstellungen für Ihren Anwendungsfall konfigurieren. Erfahren Sie mehr über die Verwendung des Tulip Tables API Knotens in Using Node-RED with the Tulip API