Seite 1 von 1

Seriellen Port von zwei Programmen aus nutzen.

Verfasst: Donnerstag 28. Februar 2019, 16:09
von Streifenhase1
Kann ich ein Serielles Port was von einem anderen Programm genutzt wird, die Signale mit Python lesen?

Wenn ich z.B. Putty mit nutze an com1 und möchte nun mit Python die gesendeten, empfangenen Signale anzeigen.


mit diesem Code klappt die Verbindung allerdings nur wenn der Port noch nicht belegt ist.

Code: Alles auswählen

import serial
 
ser = serial.Serial(port='COM1', baudrate=9600, bytesize=serial.EIGHTBITS, 
    parity=serial.PARITY_NONE, timeout=1)
ser.flushInput()
 
while True:
    print(ser.read())

Re: Seriellen Port von zwei Programmen aus nutzen.

Verfasst: Donnerstag 28. Februar 2019, 16:31
von __deets__
Bitte in Zukunft nicht irgendwelchen 6 Jahre alten Threads ausbuddeln und wiederbeleben. Wir sind hier nicht bei the Walking Dead.

Zu deiner Frage: nein. Das erlaubt Windows nicht. Was ggf. funktioniert ist ein Tool wie https://freevirtualserialports.com/ zu benutzen, um von deinem Python-Programm aus den echten seriellen Port zu oeffnen, und dann ein "virtuellen Null-Modem-Kabel" zu befuettern, an dessen Ende Putty arbeitet.

Re: Seriellen Port von zwei Programmen aus nutzen.

Verfasst: Donnerstag 28. Februar 2019, 17:26
von Streifenhase1
Ok wird ich machen....

Also ist es nicht möglich eine Funktion auszuführen wenn ein anderes Programm ein Signal über den Seriellen Port sendet, oder halt nur über ein virtuelles Port.

Re: Seriellen Port von zwei Programmen aus nutzen.

Verfasst: Donnerstag 28. Februar 2019, 17:47
von __deets__
Nein, es ist nicht moeglich. Wie ich ja schon schrieb...

Re: Seriellen Port von zwei Programmen aus nutzen.

Verfasst: Freitag 1. März 2019, 07:08
von DeaD_EyE
Kann man mit TCP/IP lösen: https://pythonhosted.org/pyserial/examp ... e-rfc-2217
Alternativ kann man message queues verwenden. Ich bin z.B ein Fan von zmq.