Hallo Freunde, Ich habe ein älteres messinstrument (kein Radio oder gps) mit einem seriellen USB Port. Nun möchte ich mit 2 Programmen auf den Port zugreifen können (gleichzeitig). Also z.b. com7 ist das Gerät und com8+com9 für die 2 Programme dann
Geht das mit com0com oder brauche ich da kostenpflichtige Software?
Mit com0com hat es zumindest nicht auf Anhieb geklappt und ich finde wenig Infos was machen
Danke :)
Das wird nicht funktionieren, die von beiden Programmen geschriebenen Daten würden ja dann wild durchmischt beim Messinstrument ankommen.
Naja aber geht dass dann nicht dass com0com die Daten sammelt bzw. Koordiniert nacheinander an das Gerät überträgt (was halt zuerst angefragt hat) und dann die daten vom Gerät einfach dupliziert ausgegebene werden
Dafür müsste die Software die das multiplexed verstehen was dort jeweils an das Gerät geschrieben wird und von dort gelesen wird, also das Protokoll. Und das Gerät müsste überhaupt in der Lage sein beliebig durchmischte Kommandos zu bearbeiten was z.B. ein Problem ist wenn ein Kommando Parameter für das nächste Kommando setzt.
Das sollte sich Recht einfach in Python schreiben lassen mit pyserial.
Zwei Ports erstellen, den Input vom Gerät an beide Ports Durchrouten und den Input der Ports entsprechend ans Gerät schicken.
Also ich würde das so machen: lokalen HTTP-server aufsetzen, der requests als befehle entgegennimmt und die entsprechenden kommandos ans USB-gerät weiterleitet. Dann von beiden Programmen Kommandos an den lokalen HTTP-server schicken. Der HTTP-server ist für die serialisierung zuständig, also dass zwei Anfragen, die beinahe gleichzeitig eintreffen, trotzdem geordnet und der Reihe nach ans Gerät übergeben werden. Macht insgesamt am wenigsten Schwierigkeiten.
Okay und wie verteile ich dann die Infos vom Gerät an die beiden Programme?
HTTP response.