Łączenie dwóch komputerów przez port szeregowy

1

Wcześniej używałem moich Arduinos do programowania innych urządzeń poprzez połączenie szeregowe poprzez podłączenie Arduino do mojego komputera, uziemienie RES i połączenie pinów TX i RX na każdym urządzeniu. To pozwala mi ominąć układ ATmega328 i wysłać dane bezpośrednio do urządzenia podłączonego do Arduino.

Dzisiaj postanowiłem zainstalować Ubuntu Server na bezgłowym Raspberry Pi, używając konsoli szeregowej za pośrednictwem dwóch połączonych ze sobą Arduinos. Zanim zacząłem instalować system, postanowiłem wypróbować ten pomysł na moim laptopie - uziemiłem styki RES na obu, połączyłem ich styki uziemienia, TX i RX ze sobą (RX do TX i odwrotnie) i podłączyłem oba do osobnego Port USB (bez koncentratorów, wewnętrznie lub zewnętrznie). Następnie uruchomiłem Picocom dla obu urządzeń w osobnych terminalach:

sudo picocom -b 38400 /dev/ttyUSB0
sudo picocom -b 38400 /dev/ttyUSB1

i próbował wysłać wiadomość z jednego urządzenia do drugiego, ale pomimo tego, że dioda TX na nadajniku i RX na urządzeniu odbierającym migają, żadne dane nie są wyświetlane w pikocom.

Pobiegłem, dmesg | grep ttyaby potwierdzić, że urządzenia są podłączone i zgodnie z oczekiwaniami otrzymuję następujące dane wyjściowe:

[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

bez komunikatów o błędach.

Nie jest to również problem z picocomem, ponieważ próbowałem już minicom i screena, a echo <message> | sudo tee /dev/ttyUSB0wszystko to bezskutecznie.

Czy coś mi umyka? Czy to w ogóle możliwe?

EDYCJA: Próbowałem usunąć drugie Arduino, używając takiego obwodu: Ale, jak wcześniej, lampki RX i TX migają, ale na monitorze szeregowym nic się nie wyświetlawprowadź opis zdjęcia tutaj

DividedByZero
źródło
Czy obie seriale używają tych samych poziomów napięcia? Porty szeregowe, które można dziś znaleźć na urządzeniach wbudowanych, wykorzystują szeroki zakres różnych napięć.
bezpośrednio
@dirkt Tak, oba urządzenia są identyczne.
DividedByZero
Następną rzeczą, którą spróbuję, jest zmniejszenie prędkości transmisji (spróbuj kilku najniższych ustawień. Czy masz zakres lub podobny sposób monitorowania sygnałów?
dniu