COM-Port Kommunikation zwischen Windows und Raspberry Pi
Verfasst: Montag 28. November 2016, 16:06
Liebe Forengemeinde,
ich versuche derzeit, Strings zwischen einem Raspberry Pi sowie einem Rechner mit Windows 7 hin und her zu schicken. Dabei geht es mir zunächst darum, dass das prinzipiell funktioniert. Später möchte ich ein Skript auf dem Raspberry Pi dazu verwenden, um über den COM-Port eine Lichtquelle zu steuern.
In meinem Minimalbeispiel empfängt der Windows-Rechner einen Text. Dazu verwende ich den folgenden Code:
Für das Raspberry Pi habe ich mir ein Konverter-Kabel von USB zu COM besorgt. Den COM habe ich an meinem Windows-Rechner eingestöpselt (wobei mein Kabel nur 8 von 9 Adern führt). Notwendige Treiber haben sich - so wie ich das sehe - automatisch installiert, so dass bei Einstecken des Konverterkabels der zusätzliche Port ttyUSB0 erscheint. Auf dem Raspberry lasse ich den folgenden Code laufen:
Zuerst starte ich das Skript auf meinem Windows-Rechner. Anschließend lasse ich mein Raspberry einen Text senden. Leider ist der String aber stets leer.
Ich habe das obenstehende Skript schon in diversen Weisen variiert und es will einfach nicht klappen. Könntet ihr mir verraten, ob das alles prinzipiell schon so funktionieren sollte? Oder habe ich mich hier verrant?
Viele Grüße
Moritz
ich versuche derzeit, Strings zwischen einem Raspberry Pi sowie einem Rechner mit Windows 7 hin und her zu schicken. Dabei geht es mir zunächst darum, dass das prinzipiell funktioniert. Später möchte ich ein Skript auf dem Raspberry Pi dazu verwenden, um über den COM-Port eine Lichtquelle zu steuern.
In meinem Minimalbeispiel empfängt der Windows-Rechner einen Text. Dazu verwende ich den folgenden Code:
Code: Alles auswählen
import serial
ser = serial.Serial()
ser.port='COM1'
ser.baudrate=9600
ser.bytesize=8
ser.timeout=10
ser.parity=serial.PARITY_EVEN
ser.stopbits=1
ser.rtscts=1
ser.xonxoff=1
ser.open()
s=ser.read(1)
print(s)
ser.close()
Code: Alles auswählen
import serial
ser = serial.Serial()
ser.port='/dev/ttyUSB0'
ser.baudrate=9600
ser.bytesize=8
ser.timeout=10
ser.parity=serial.PARITY_EVEN
ser.stopbits=1
ser.rtscts=1
ser.xonxoff=1
ser.open()
ser.write('Text!')
ser.close
Ich habe das obenstehende Skript schon in diversen Weisen variiert und es will einfach nicht klappen. Könntet ihr mir verraten, ob das alles prinzipiell schon so funktionieren sollte? Oder habe ich mich hier verrant?
Viele Grüße
Moritz