Frage

Ich habe eine Linux -Anwendung (deren Code ich Zugriff habe), die über einen seriellen Port mit einem Windows -One (Dritter, ohne Zugriff auf Code) kommunizieren muss. Die Windows -App läuft in Wein, daher möchte ich COM1 von Wine auf etwas setzen und meine Software von dort aus lesen und schreiben lassen. Ich denke, der beste Weg ist, Pseudo-Terminale zu verwenden, ist das so?

Gibt es eine Möglichkeit, einfach ein pseudo-terminales Paar aus der Befehlszeile unter Linux zu erstellen? Ich wusste bereits, wie man das mit der API macht, aber gibt es eine Möglichkeit, dies von Bash zu tun?

Vielleicht mit SOCAT oder so etwas?

War es hilfreich?

Lösung

Möglicherweise können Sie so etwas verwenden (ungetestet):

socat PTY,link=$HOME/.wine/dosdevices/com1,raw,echo=0 PTY,link=$HOME/tmp/dev/myserial,raw,echo=0

Dadurch werden zwei hintereinander abgestimmte PTY's erstellt, die ein wenig übertrieben sind, aber SoCat wird Daten zwischen ihnen kopieren. Das Weinprogramm würde eine Seite des Links als COM1 eröffnen, und Ihr Programm würde $ home/tmp/dev/myserial eröffnen, um mit COM1 zu kommunizieren.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top