Pregunta

Tengo una aplicación de Linux (cuyo código tengo acceso) que debe comunicarse a través del puerto serie con un Windows One (tercero, sin acceso al código). La aplicación de Windows se ejecuta en vino, por lo que quiero establecer el COM1 del vino en algo y hacer que mi software lea y escriba desde allí. Supongo que la mejor manera es usar pseudo terminales, ¿es así?

¿Hay alguna forma de simplemente crear un par pseudo-terminal desde la línea de comandos en Linux? Ya sé cómo hacer esto usando la API, pero ¿hay alguna manera de hacerlo de Bash?

¿Quizás con Socat o algo así?

¿Fue útil?

Solución

Es posible que pueda usar algo como esto (no probado):

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

Esto creará dos Pty consecutivos que es un poco excesivo, pero Socat copiará datos entre ellos. El programa de vinos abriría un lado del enlace como COM1, y su programa abriría $ Home/TMP/Dev/MySerial para comunicarse con COM1.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top