So verwenden Sie den generischen seriellen Treiber auf dem I/O-Gateway
  • 31 Oct 2023
  • 4 Minuten zu lesen
  • Mitwirkende

So verwenden Sie den generischen seriellen Treiber auf dem I/O-Gateway


Article Summary

Verwendung des generischen seriellen Treibers im I/O Gateway

Erfahren Sie, wie Sie das I/O Gateway mit jedem seriellen Gerät kommunizieren lassen können.

**Ab dem 1. November 2021 wird Tulip keine I/O Gateway-Geräte mehr verkaufen. Edge IO und Edge MC Geräte sind weiterhin erhältlich. Erfahren Sie mehr

Edge IO serielle Anleitung

Edge MC serielles Einrichtungshandbuch

In diesem Artikel wird erklärt, wie Sie den generischen seriellen Treiber auf Ihrem I/O Gateway verwenden, um mit den meisten seriellen Geräten zu kommunizieren. Dieser Artikel lässt sich auch auf andere Tulip Edge-Geräte wie den Edge MC und Edge IO übertragen.

In diesem Artikel wird davon ausgegangen, dass Sie die Einrichtung des E/A-Gateways bereits abgeschlossen haben.

Beachten Sie, dass sich dieser Treiber von dem seriellen Treiber (nur für Player) unterscheidet, der derzeit nur für den Windows Tulip Player verfügbar ist.

Was ist der generische serielle Treiber?

Der generische serielle Treiber ermöglicht es dem E/A-Gateway, mit anderen Geräten zu kommunizieren, die ein gemeinsames serielles Protokoll verwenden. Diese Geräte können z.B. sein:

  • Arduino
  • Raspberry Pi
  • Andere Tulip Edge-Geräte
  • Mikro-Controller
  • Viele andere Geräte

Aufgrund der Vielseitigkeit dieses Treibers hat er eine komplexe Konfiguration. Diese Konfiguration muss genau mit der Konfiguration Ihres anderen Geräts übereinstimmen.

Dieser Treiber kann die Kommunikation mit mehreren Geräten gleichzeitig unterstützen.

Hinweis: Tulip schreibt keinen eigenen Code für Geräte, die Sie an den generischen seriellen Treiber anschließen.

Einschalten des generischen seriellen Treibers

Verbinden Sie Ihren Computer mit dem I/O Gateway, indem Sie sich in das lokale Netzwerk einloggen, das es erstellt.

Öffnen Sie das Geräteportal. Klicken Sie auf der Seite mit den Dashboards auf die Schaltfläche "Treiber konfigurieren" auf der linken Seite.

Klicken Sie auf der Treiberkonfigurationsseite auf die Option "Generic Serial".

Standardmäßig sollte die Option "Generic Serial" bereits grün (aktiviert) und mit einigen allgemeinen Einstellungen konfiguriert sein.

Windows neigt dazu, \r für die Zeilenumbrüche zu verwenden.

Der generische serielle Treiber erfordert einige Konfigurationen, um mit dem Einschalten des Treibers fortfahren zu können.

Hier sind die Optionen für jedes Feld:

Suffix schreiben

  • Erwartete Eingabe: Beliebige Zeichenfolge - diese wird an jede Nachricht angehängt, die das I/O-Gateway an das Gerät sendet, und ist in der Regel ein Zeilenumbruch (\n) oder ein Wagenrücklauf (\n\r)
  • Erforderlich: Nein

Pfadvergleicher

  • Erwartete Eingabe: Der Systempfad zu Ihrem Gerät - dies kann * sein, um mit jedem unbenutzten seriellen Gerät übereinzustimmen (dies ist nützlich für die Verwendung von USB-seriellen Adaptern)
  • Erforderlich: ja

Name

  • Erwartete Eingabe: Der Name des Geräts (dieser wird verwendet, um das Gerät in Ihren Anwendungen zu referenzieren)
  • Erforderlich: ja

Begrenzungszeichen

  • Erwartete Eingabe: Beliebige Zeichenkette (diese wird verwendet, um die Nachricht von Ihrem Gerät in Teile zu unterteilen, die an Ihr Tulip-Konto gesendet werden)
  • Erforderlich: ja

Baud

  • Erwartete Eingabe: Die Baudrate, die das Gerät für die Kommunikation verwendet
  • Erforderlich: ja

Nativer DB9-Anschluss

Wenn Sie den nativen DB9-Anschluss des I/O-Gateways verwenden möchten, müssen Sie den Pfad /dev/ttyO4 für Ihren Pfadfinder verwenden . Das ist ein großes O und keine Null.

Erstellen einer Anwendung, die mit Ihrem seriellen Treiber arbeitet

So erstellen Sie eine Anwendung, um Ihren Treiber zu testen.

Erstellen Sie zunächst eine neue Anwendung und fügen Sie eine Schaltfläche hinzu.

Fügen Sie dieser Schaltfläche einen Auslöser hinzu, um das generische serielle Gerät mit dem Namen aufzurufen, den Sie bei der Konfiguration des Treibers verwendet haben.

Hier sind die Felder, die Sie in der "Then"-Anweisung benötigen:

  • "Gerätefunktion ausführen"
  • "Generisches serielles Gerät"
  • "Send string to serial device" (Zeichenkette an serielles Gerät senden)
  • An "dieser Station"
  • Gerät, an das gesendet werden soll: "Text" "RS232"
  • Zu sendende Nachricht: "text" "testet generisches serielles Gerät"

Fügen Sie dieser Anwendung einen Auslöser hinzu, um Daten in einer Variablen aufzuzeichnen, wenn der generische serielle Treiber Daten sendet. Verwenden Sie eine "If"-Anweisung, um Daten nur zu speichern, wenn das richtige Gerät Daten ausgibt.

Wenn

  • "Gerät" "generisches serielles Gerät" an "dieser Station" ausgibt

Wenn

  • "Gerät ausgibt"
  • "name"
  • "="
  • "Text" "RS232"

Dann

  • "Datenmanipulation"
  • "Speichern"
  • "Geräteausgang" "Daten"
  • Ort: "generic serial" (das ist der Name einer Variablen)

Fügen Sie diese Variable zu Ihrer Anwendung hinzu. Sie wird ein Objekt mit den Eigenschaften "name" und "data" sein.

Testen Sie die Anwendung

Verwenden Sie ein Nullmodem und einen USB-RS232-Konverter, um die Anwendung zu testen.

Schließen Sie den USB an Ihren Computer an. Verbinden Sie dann den Nullmodemadapter mit dem RS232-Adapter und dem DB9-Port des I/O-Gateways.

Starten Sie von:

Wenn Sie unter Windows arbeiten, verwenden Sie Putty, um die Verbindung zu testen. Ermitteln Sie die Anschlussnummer mit dem Geräte-Manager.

Geben Sie die Nummer des COM-Ports in das Feld "Geschwindigkeit" ein und wählen Sie als "Verbindungstyp" "Seriell" aus.

Das Putty-Terminal gibt nur dann Nachrichten an das I/O-Gateway aus, wenn Sie in der laufenden Anwendung auf die Schaltfläche klicken.

Senden Sie die Nachricht 'Tulip' über Putty, indem Sie sie eintippen und die Eingabetaste drücken.

So testen Sie den generischen seriellen Treiber auf Linux oder Mac mit Node.js

Dies erfordert node.js und npm. Installieren Sie dann das serialport-Paket über npm.



const Readline = require('@serialport/parser-readline') 


const port = new SerialPort('/dev/ttyUSB0', { baudRate: 19200 }) 


const parser = new Readline() 


port.pipe(parser) 


parser.on('Daten', Zeile => { 


console.log(> ${Zeile}) 


}); 


let test = false; 


setInterval(()=>{ 


if (test){ 


port.write('output\n'); 


test = false 


} 


sonst { 


port.write('andere Ausgabe\n'); 


test = true 


} 


},1000) ```


War dieser Artikel hilfreich?