Anteriormente, usei meus Arduinos para programar outros dispositivos em série conectando o Arduino ao meu computador, aterrando o RES e conectando os pinos TX e RX em cada dispositivo. Isso me permite ignorar o chip ATmega328 e enviar dados diretamente para o dispositivo conectado ao Arduino.
Hoje eu decidi instalar o Ubuntu Server em um Raspberry Pi sem cabeça usando um console serial via dois Arduinos conectados uns aos outros. Antes de começar a instalar o sistema, decidi experimentar a ideia no meu laptop - liguei os pinos RES em ambos, conectei os pinos de terra, TX e RX uns aos outros (RX a TX e vice-versa) e conectei ambos em um separado Porta USB (sem hubs envolvidos, internamente ou externamente). Então eu iniciei o picocom para os dois dispositivos em terminais separados:
sudo picocom -b 38400 /dev/ttyUSB0
sudo picocom -b 38400 /dev/ttyUSB1
e tentou enviar uma mensagem de um dispositivo para o outro, mas apesar de ter o LED TX na transmissão, e o RX no dispositivo receptor piscar, nenhum dado é exibido no picocom.
Corri dmesg | grep tty
para confirmar que os dispositivos estão conectados e, como esperado, recebo a seguinte saída:
[15085.910703] usb 1-1.2: ch341-uart converter now attached to ttyUSB0
[15086.258910] usb 1-1.3: ch341-uart converter now attached to ttyUSB1
sem mensagens de erro.
Este não é um problema com o picocom, já que tentei o minicom e a tela, bem como echo <message> | sudo tee /dev/ttyUSB0
, tudo sem sucesso.
Estou sentindo falta de algo aqui? É possível fazer isso?
EDIT: Eu tentei remover o segundo Arduino, usando um circuito como este:
Mas, como antes, as luzes RX e TX piscam, mas nada aparece no monitor serial
Tags networking usb serial-port linux serial