Hallo Community,
zuerst mal ein großes Lob für dieses tolle Forum, ich habe keinen Rat mehr an wem ich mich sonst noch wenden kann!
Ich benötige ein Pyhton Quellcode um eine Serielle COMM Schnittstelle (RS232) auszulesen.
Hintergrund:
Ich benutze ein Barcode scanner (ohne Software) mit dem ich im HyperTerminal Barcodes in Klartext auslesen kann!
Das ist aber nicht das, was ich mir eigentlich wuensche, gerne wuerde ich in einem aktiven Windowsfenster (Cursor) den Inhalt auslesen koennen!
Vielen Danke + viele Gruesse,
Dennis
RS232- Schnittstelle mit Python auslesen - aber wie?
- gerold
- Python-Forum Veteran
- Beiträge: 5555
- Registriert: Samstag 28. Februar 2004, 22:04
- Wohnort: Oberhofen im Inntal (Tirol)
- Kontaktdaten:
Hi Dennis!think_mupp hat geschrieben:Ich benötige ein Pyhton Quellcode um eine Serielle COMM Schnittstelle (RS232) auszulesen.
Das ist ein altbekanntes Thema. Die Forensuche ist nicht so schlecht. Gewöhn dich schon mal daran.

http://www.python-forum.de/topic-2550.html
http://www.python-forum.de/topic-889.html
http://www.python-forum.de/topic-2527.html
http://www.python-forum.de/topic-5351.html
mfg
Gerold

http://halvar.at | Kleiner Bascom AVR Kurs
Wissen hat eine wunderbare Eigenschaft: Es verdoppelt sich, wenn man es teilt.
Wissen hat eine wunderbare Eigenschaft: Es verdoppelt sich, wenn man es teilt.
-
- User
- Beiträge: 4
- Registriert: Donnerstag 27. April 2006, 15:42
Hallo alpha,
auf Grund dem Thread http://www.python-forum.de/topic-889.html
wende ich mich an dich
Ich habe einen Barcode Scanner, den ich über ich die COM3 Schnittstelle angeschlossen habe - nun kann ich auch problemlos verschiedene Barcodes über den Hyperterminal auslesen.
Das reicht mir aber nicht, gerne würde ich den Barcode in einem aktiven Windows Fenster auslesen Bspl. Texteditor, OHNE den HyperTerminal zu benutzen.
Dein Beispiel Code, funtz bei mir aber nicht.
Ich bekomme folgende Fehlermeldung
"IDLE 1.1.1
>>> interface and no data is sent to or received from the Internet.
SyntaxError: invalid syntax"
auf Grund dem Thread http://www.python-forum.de/topic-889.html
wende ich mich an dich

Ich habe einen Barcode Scanner, den ich über ich die COM3 Schnittstelle angeschlossen habe - nun kann ich auch problemlos verschiedene Barcodes über den Hyperterminal auslesen.
Das reicht mir aber nicht, gerne würde ich den Barcode in einem aktiven Windows Fenster auslesen Bspl. Texteditor, OHNE den HyperTerminal zu benutzen.
Dein Beispiel Code, funtz bei mir aber nicht.
Ich bekomme folgende Fehlermeldung
"IDLE 1.1.1
>>> interface and no data is sent to or received from the Internet.
SyntaxError: invalid syntax"
- gerold
- Python-Forum Veteran
- Beiträge: 5555
- Registriert: Samstag 28. Februar 2004, 22:04
- Wohnort: Oberhofen im Inntal (Tirol)
- Kontaktdaten:
Hi Dennis!
Alles was ich hier schreibe ist reine Theorie, da ich kein Gerät zum Testen habe.
Die einfachste Art, mit einem Gerät über die COM-Schnitstelle zu komunizieren ist --> file().
Zuerst legst du die Schnittstellenparameter mit dem DOS-Programm "mode" fest. http://www.microsoft.com/resources/docu ... x?mfr=true
Das kannst du auch über Python machen. z.B. so:
Danach kannst du den COM-Port wie eine normale Datei öffnen:
Um die Daten vom Barcodescanner in das aktuelle Fenster weiterzuleiten, würde ich einfach mit **SendKeys** arbeiten.
http://aspn.activestate.com/ASPN/Cookbo ... cipe/65107
oder
http://www.rutherfurd.net/python/sendkeys/
mfg
Gerold

Alles was ich hier schreibe ist reine Theorie, da ich kein Gerät zum Testen habe.
Die einfachste Art, mit einem Gerät über die COM-Schnitstelle zu komunizieren ist --> file().
Zuerst legst du die Schnittstellenparameter mit dem DOS-Programm "mode" fest. http://www.microsoft.com/resources/docu ... x?mfr=true
Das kannst du auch über Python machen. z.B. so:
Code: Alles auswählen
os.system("mode com1: baud=9600")
Code: Alles auswählen
f = file("COM1:", "r")
try:
while True:
print f.read(1)
finally:
f.close()
http://aspn.activestate.com/ASPN/Cookbo ... cipe/65107
oder
http://www.rutherfurd.net/python/sendkeys/
mfg
Gerold

http://halvar.at | Kleiner Bascom AVR Kurs
Wissen hat eine wunderbare Eigenschaft: Es verdoppelt sich, wenn man es teilt.
Wissen hat eine wunderbare Eigenschaft: Es verdoppelt sich, wenn man es teilt.
-
- User
- Beiträge: 4
- Registriert: Donnerstag 27. April 2006, 15:42
Hallo Gerold,gerold hat geschrieben:Hi Dennis!
Alles was ich hier schreibe ist reine Theorie, da ich kein Gerät zum Testen habe.
Die einfachste Art, mit einem Gerät über die COM-Schnitstelle zu komunizieren ist --> file().
Zuerst legst du die Schnittstellenparameter mit dem DOS-Programm "mode" fest. http://www.microsoft.com/resources/docu ... x?mfr=true
Das kannst du auch über Python machen. z.B. so:Danach kannst du den COM-Port wie eine normale Datei öffnen:Code: Alles auswählen
os.system("mode com1: baud=9600")
Um die Daten vom Barcodescanner in das aktuelle Fenster weiterzuleiten, würde ich einfach mit **SendKeys** arbeiten.Code: Alles auswählen
f = file("COM1:", "r") try: while True: print f.read(1) finally: f.close()
http://aspn.activestate.com/ASPN/Cookbo ... cipe/65107
oder
http://www.rutherfurd.net/python/sendkeys/
mfg
Gerold
vielen Dank für deine Hilfestellung - aber du sprichst mit einem Laien

Kannst du mir vielleicht den Quellcode ganz langsam erklären- besser noch vordiktieren?
Ich hatte auch bereits ein bissl experimentiert:
Code: Alles auswählen
import serial, time
ser = serial.Serial(0, 9600, bytesize=serial.EIGHTBITS, parity=serial.PARITY_NONE, stopbits=serial.STOPBITS_ONE, timeout=1, xonxoff=0, rtscts=0)
print ser.portstr
w = ser.write("!GPA\r")
#time.sleep(0.2)
r = ser.read(10)
print r
ser.close()
Sorry, wenn sich meine Fragen blöd anhören - ich kenne mich mit der Programmierung überhaupt nicht aus...
Vielen Dank,
für deine Unterstützung!
Edit (Leonidas): Code in Python-Tags gesetzt.
Du verrätst uns die Fehlermeldung nicht. Am besten den Traceback komplett hier posten. Die Fehlermeldungen enthalten meistens ganz gute Hinweise wo das Problem ist.think_mupp hat geschrieben: Leider bekomme ich eine Fehlermeldung - was mache ich falsch?
-
- User
- Beiträge: 4
- Registriert: Donnerstag 27. April 2006, 15:42
Hallo BlackJack,
hier die gewünschte Fehlermeldung:
"IDLE 1.1.1
>>> interface and no data is sent to or received from the Internet.
SyntaxError: invalid syntax"
Vielen Dank für deine Hilfe
hier die gewünschte Fehlermeldung:
"IDLE 1.1.1
>>> interface and no data is sent to or received from the Internet.
SyntaxError: invalid syntax"
Vielen Dank für deine Hilfe
Das ist alles? So ein Traceback enthält normalerweise mehr Informationen, zum Beispiel in welchen Zeilen der Fehler sich befindet.