Mam testowane urządzenie (DUT) i mierzę jego zużycie energii za pomocą rejestratora danych Power Analyzer na podstawie danych z /dev/ttyUSB0
.
Problem polega na tym, że DUT jest teraz zdalnie ze stacji roboczej, z której korzystałem do zbierania danych, ale w tej samej sieci muszę użyć drugiego komputera, który jest bezpośrednio podłączony przez USB do Power Anlayzer jako swego rodzaju proxy USB i ssh aby stworzyć rodzaj symbolicznego łącza na maszynie pomiarowej USB maszyny „proxy”.
Biorąc powyższe pod uwagę schemat jak może 1 st PC dostęp /dev/ttyUSB0
z 2 nd komputerze, który jest bezpośrednio podłączony, w taki sposób, że program czyta strumień od 1 st PC nie będzie zauważyć różnicę?
źródło
Możesz użyć kombinacji
ser2net
isocat
. 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ąsocat
na 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/ttyACM0
z szybkością transmisji115200
i 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
socat
port 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>
iport=3333
(lub cokolwiek, co wybierzesz podczas konfiguracji/etc/ser2net.conf
na 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/MyProxySerialPort
na 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/
źródło
W jądrach Linuksa, które używają dowiązania symbolicznego z / dev / bus / usb / BUS_ID / DEV_ID do / dev / char / MAJOR: MINOR socat nie może otworzyć takich urządzeń z powodu niewłaściwego błędu IOCTL!
Więc to podejście nie działa bezpośrednio na urządzeniach USB.
Próbowałem usbip, który jest bliższą implementacją, ale obsługiwany tylko w starszych jądrach.
Ponieważ moje rozwiązanie dotyczyło czytników kart podłączonych przez pcc-lite, było lepsze rozwiązanie wykorzystujące zmienną środowiskową dla klientów libpcsclite .
W ten sposób można określić inne gniazdo domeny unix. I to można przesłać do gniazda czytnika kart na zdalnym hoście za pomocą socat :
Uruchom to na hoście, aby wymienić czytnik kart
uruchom to na hoście CARD_READER_HOST z podłączonym czytnikiem kart pcc
źródło
/dev/ttyUSB0
lub analizatora mocy, który nie korzysta z PCSCLITE. Jeśli chcesz opublikować te informacje, lepiej byłoby jako osobne pytanie. Masz prawo i zachęcasz do zamieszczania pytań na tematy, na które masz natychmiastową odpowiedź.:
postaci na ścieżce? Strona podręcznika socat, sekcja „SPECYFIKACJE ADRESOWE”, zawiera akapit o tym, jak unikać znaków (wer. 1.5.0).