Comunicando-se com um dispositivo serial USB conectado a uma máquina diferente na rede?

0

Eu tenho a seguinte configuração:
Computador - > Programador - > Microcontrolador
E eu interface com o micro controlador através de um terminal serial. A localização do dispositivo é /dev/cu.usbmodem401311 e uma taxa de transmissão é especificada.

Agora, gostaria de mover o Microcontrolador para um local remoto e conectá-lo via USB a um Raspberry Pi. Então, agora eu preciso de um caminho para o Pi agir como uma ponte entre o terminal no meu computador e o programador. Eu preciso de um dispositivo "virtual" para me conectar, e os dados que normalmente fluiriam pelo meu cabo USB precisam ser roteados pela rede.

Eu sou capaz de usar o SSH no meu computador a partir do Pi e vice-versa, então pensei socat seria a ferramenta a ser usada para isso. Ele ainda dá o seguinte exemplo no manual:

socat PTY,link=$HOME/dev/vmodem0,rawer,wait-slave \
EXEC:'"ssh modemserver.us.org socat - /dev/ttyS0,nonblock,rawer"'

O que supostamente faz o que eu quero e torna uma "porta serial virtual" disponível em / dev / vmodem0. No entanto, estou tendo alguns problemas. Primeiro, não posso especificar um nome de dispositivo. Isso:

sudo socat PTY,link=/dev/vmodem0,rawer,wait-slave \
EXEC:'"ssh [email protected] socat - /dev/ttyACM0,nonblock,rawer"'

Me dá um strong:

socat[6608] E symlink("/dev/ttys002", "/dev/vmodem0"): Operation not permitted

Estou executando o OS X, então removi o link=... para que ele descobrisse seu próprio nome. Em seguida, tive que adicionar um -t 10 porque o tempo limite antes de me permitir fornecer uma senha para a conta que estou acessando no pi do framboesa. Agora, este comando:

sudo socat -t 10 PTY,rawer,wait-slave EXEC:'"ssh [email protected] socat - /dev/ttyACM0,nonblock,rawer"' 

Dá o seguinte:

socat[6613] E write(5, 0x7fccc0801800, 259): Input/output error

Existe uma maneira melhor de fazer isso, em vez de usar o SSH? A primeira resposta aqui sugere o uso de TCP, mas isso não está funcionando: Como posso configurar um" proxy USB "para / dev / ttyUSB0 pela rede?

Obrigado!

    
por R. Gosman 10.01.2018 / 01:18

0 respostas