Możesz użyć kombinacji ser2neti socat. Na przykład mam robota podłączonego do Raspberry Pi przez port szeregowy. Raspberry pi jest podłączony do mojej sieci lokalnej (odpowiednik drugiego komputera). Mój laptop jest podłączony do tej samej sieci lokalnej (odpowiednik pierwszego komputera). Następnie używam ser2net, aby przekierować port szeregowy przez TCP z 2. komputera i utworzyć plik urządzenia szeregowego proxy za pomocą socatna 1. komputerze.
Ta konfiguracja może również działać dla Ciebie. Proponowane rozwiązanie:
Krok 1: Zainstaluj pakiet ser2net na drugim komputerze (zgodnie ze schematem)
sudo apt-get install ser2net
Ser2net nasłuchuje na porcie TCP i jest w stanie przesyłać dane do i z portu szeregowego za pośrednictwem portu TCP. Możesz skonfigurować porty szeregowe, dla których chcesz utworzyć „proxy” za pomocą pliku konfiguracyjnego /etc/ser2net.conf.
Krok 2: Skonfiguruj ser2net na 2. komputerze
Na przykład, jeśli masz podłączone urządzenie /dev/ttyACM0z szybkością transmisji 115200i chcesz je obsługiwać z portu lokalnego hosta 3333, możesz dodać następujący wiersz do/etc/ser2net.conf
3333:raw:0:/dev/ttyACM0:115200,remctl
Po utworzeniu pliku konfiguracyjnego uruchom ser2net, uruchamiając go na drugim komputerze:
ser2net
lub (jeśli już działa, zrestartuj go jak poniżej)
/etc/init.d/ser2net restart
Jedną ważną rzeczą jest tutaj opcja remctl. Umożliwia stronie klienta (1. komputer na schemacie) połączenie się z urządzeniem i swobodne wybieranie opcji połączenia szeregowego. Myślę, że w ten sposób komunikacja szeregowa jest całkowicie przejrzysta z perspektywy obszaru roboczego gromadzenia danych. Zobacz więcej szczegółów tutaj .
Krok 3: Skonfiguruj plik urządzenia szeregowego proxy na stacji roboczej do gromadzenia danych (1. komputer)
(jeśli nie masz socat, to sudo apt-get install socat)
Na koniec w terminalu na 1. komputerze stwórzmy socatport szeregowy proxy, który będzie nasłuchiwał z portu tcp:
socat pty,link=$HOME/MyProxySerialPort,waitslave tcp:$ip:$port,forever,reuseaddr,keepalive
Gdzie, w tym przykładzie ip=<2nd-PC-IP-address>i port=3333(lub cokolwiek, co wybierzesz podczas konfiguracji /etc/ser2net.confna 2. komputerze).
Krok 4: Połącz się z MyProxySerialPort
Teraz powinieneś być w stanie normalnie otworzyć połączenie szeregowe z urządzeniem znajdującym się $HOME/MyProxySerialPortna 1. komputerze.
Ten post na blogu zawiera także więcej informacji na temat tej konfiguracji: http://techtinkering.com/2013/04/02/connecting-to-a-remote-serial-port-over-tcpip/