Ich habe ein Gerät mit einem seriellen USB-Anschlusskabel, das ich an meinen Raspberry Pi anschließen möchte. Der Chipsatz für dieses USB-Seriell-Kabel ist der PL-2303 von Prolific Technology, Inc.
Wie kann ich mit Python Daten von der seriellen Verbindung dieses Geräts lesen?
Antworten:
Verwenden Sie das Pyserial-Modul, um mit einem seriellen Gerät über Python zu kommunizieren. Wenn es in Ihrer Distribution nicht verfügbar ist, kann es installiert werden, indem Sie eine Kopie der Quelle von der pyserial-Projektseite abrufen und "python setup.py install" ausführen.
Einfache Beispiele für die Verwendung von Pyserial finden Sie in der kurzen Einführung .
Das Modul für den PL-2303 ist standardmäßig verfügbar (siehe das Firmware-GitHub-Repository ). Wenn Sie das Gerät anschließen, sollte es gestartet werden
/var/log/messages
. Ich habe eine Verbindung zu einem Arduino hergestellt, und das "funktionierte" nur am Kommunikationsport/dev/ttyUSB0
(anderes Gerät, Treiber, Chipsatz usw., sodass Ihre Laufleistung variieren kann ).quelle
Der PL-2303 wird gut unterstützt und es wird angezeigt als
/dev/ttyUSBx
. Es werden keine Treiber benötigt. Lesen Sie es wie jede normale serielle Schnittstelle. Ich habe Python nicht verwendet, aber in C ++ öffne () ich es im nicht blockierenden Modus, wähle (), um zu sehen, ob Daten gelesen werden müssen, und lese ().quelle
PySerial herunterladen ( https://pypi.python.org/pypi/pyserial )
Sie können die Verfügbarkeit von ttyUSB mit der Leitung überprüfen
Verwenden Sie zum Anzeigen der seriellen Ausgabe
Strg + c ausbrechen
Erstellen Sie eine Datei testserial.py und fügen Sie diesen Code ein
quelle
Tolles Tutorial dafür:
http://www.digitalmihailo.com/post/usb-programming-with-python-on-linux
Eine wertvolle Informationsquelle ist http://www.lvr.com/usbc.htm Complete
quelle