eine RS232 Schnittstelle an mehrere Programme - umleiten auf Sockets

Gast #3351437
Lesenswert?

Hallihallo,

Kurz worum es geht:
Ein Gerät ist über RS232 mit einem PC verbunden. Auf dem PC läuft eine 
Software des Geräteherstellers zur Steuerung, Fehlerabfrage etc. In der 
Dokumentation ist das Protokoll auf der Schnittstelle beschrieben.

Ich möchte nun ein Programm schreiben, möglichst in QT, um mich auch mit 
dem Gerät zu unterhalten.

Meine Probleme:
- Können zwei Programme einen COM-Port benutzen?
- Gibt es inzwischen mal funktionierende Beispiele zu Qextserialport 
(immer wenn ich dazu was suche finde ich nur Posts mit Fehlern, 
Problemen etc. kein Funktionierendes Beispiel)

Meine Wunschlösung:
- Einen Treiber/Programm, der einen COM-Port und einen UDP-Socket 
emuliert. Die Software benutzt also den emulierten COM-Port, der dann 
1:1 vom Treiber an den echten COM-Port des Geräts durchgeschleift wird, 
gleichzeitig kann ich aber über UDP dem Treiber Datenpakete schicken, 
welche in den Datenstrom an freier Stelle eingefügt werden, und 
andersrum schickt er mir auch die Antworten des Geräts per UDP. Das 
hätte den Vorteil das ich die ganze RS232 Schnittstelle über UDP-Sockets 
abhandle, spare mir also den Qextserialport krams.

Ich meine von so einem Programm mal gehört zu haben, finde aber nichts 
vergleichbares (natürlich Freeware).
Kennt von euch einer was vergleichbares?

Danke für jede Hilfe!
Persönliche Seite #3351465
Lesenswert?

Opa schrieb:
> Können zwei Programme einen COM-Port benutzen?

Nein, wie soll das gehen?

Opa schrieb:
> Gibt es inzwischen mal funktionierende Beispiele zu Qextserialport
> (immer wenn ich dazu was suche finde ich nur Posts mit Fehlern,
> Problemen etc. kein Funktionierendes Beispiel)

Beiss dich durch die API, debugge auftretende Probleme und "Be the 
first" ;-)

Opa schrieb:
> Meine Wunschlösung

Mit TCP könntet du folgendes nutzen: http://com0com.sourceforge.net/ mit 
hum4com kannst du wohl eine Serielle auch mehreren Applikationen 
bereitstellen, das das gut geht musst du dann aber selber sicherstellen.
Gast #3351924
Lesenswert?

Opa schrieb:
> Ich meine von so einem Programm mal gehört zu haben, finde aber nichts
> vergleichbares (natürlich Freeware).
> Kennt von euch einer was vergleichbares?

dass Klingt nach netcat, damit kann man udp und tcp machen.
Quick & dirty via tcp.

nc -t -l -p port  < /dev/ttyS0 > /dev/ttyS0

wegen des udp musst du ein wenig Forschen.
Gast #3360726
Lesenswert?

Ich habe jetzt zum "Virtual Serial Ports Emulator (VSP)" gegriffen, in 
der 32bit Version (läuft aber auf einem 64bit Rechner).

Glücklicherweise musste ich beim Updaten auf die aktuelle QT-Version 
feststellen, das QTSerialport nun zu den Standard-Klassen gehört 
(QT5.1.1), die implementierung anhand eines Beispiels war vollkommen 
unkompliziert.

Aaaaaaaaaaaaaaber:
Die Virtuellen Ports werden nicht im Gerätemanager angezeigt, auch mein 
Terminal-Programm findet den virtuellen Port nicht. Was aber 
funktioniert ist mein c++ (QT)-Programm, wenn ich dort einfach den 
Portnamen des virtuellen Ports angebe, funktioniert das ganze.

Jemand eine Idee?

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren