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.
Okay aber läuft das nicht bei serieller Kommunikation über stop bits und sind die sende/Empfänger Kanäle getrennt? Also dass das einfach setup von der Schnittstelle bedarf aber dann durchaus geht?
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.
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.
Das Messgerät hat eine Software welches die Messdaten anzeigt und mit der ich des parametrieren kann. Die 2. Serial Schnittstelle soll einfach die gemessenen Daten in eine Influxdb Datenbank schieben. Jetzt muss ich aber sehen wie das läuft mit dem auslesen der Daten. Im optimalfall könnte ich ja die Daten die an die Software gehen mitschneiden und für influx umformatieren. Wenn ich selber über den ihre library kommuniziere mit dem Gerät sind das wahrscheinlich immer eigene Anfragen mit Antwort was womöglich das Gerät überlastet oder?