Czy jest jakieś narzędzie do monitorowania portu do oglądania pakietów zapisanych na porcie? W szczególności chcę sprawdzić, czy mój program napisany w Javie działa, więc potrzebuję jakiegoś narzędzia, aby sprawdzić, czy moja mała aplikacja pisze wiadomości do portu. Jak mam to zrobic?
linux
serial-port
Deepak
źródło
źródło
Odpowiedzi:
Znalazłem projekty o nazwach Linux Serial Sniffer , jpnevulator i Moni . Pierwsze dwa wyglądają, jakby robiły dokładnie to, co chcesz. Ten ostatni nazywa się monitorem, ale tak naprawdę wygląda jak standardowy program do komunikacji szeregowej.
źródło
socat to narzędzie do łączenia (prawie) wszystkiego z (prawie) wszystkim, a tee może powielać strumienie.
W twoim przypadku możesz podłączyć swój port szeregowy
/dev/ttyS0
do PTY/tmp/ttyV0
, a następnie skierować swoją aplikację do PTY i miećtee
gdzieś wejście i wyjście, gdzie możesz je obserwować.Googling „Socat serial port szeregowy pty tee debugowanie” wskaże Ci kilka przykładów, z których jeden to:
Pliki,
in.txt
aout.txt
następnie będą zawierać przechwycone dane.Zostało to potwierdzone przez komentujących (@ogurets).
źródło
socat
może proxy połączeń ioctl.Nie sądzę, aby sterownik szeregowy miał jakąkolwiek funkcję śledzenia, która pozwalałaby na oglądanie pakietów. Możesz użyć,
strace
aby obserwować wszystkie odczyty i zapisy z Twojej aplikacji:źródło
interceptty
wykonuje tę pracę:lub z ładnym formatem wyjściowym i konfiguracją urządzenia zaplecza oraz z buforowaniem linii:
a następnie połącz się z programem do
/dev/ttyDUMMY
.źródło
wget
ponieważ kliknięcie na.tar.gz
plik wydawała się jakoś uszkodzony), zainstalowaćgcc
imake
, a następnie uruchomić./configure
imake install
. Robi dokładnie to, czego OP i ja chcemy.Kiedy debuguję interakcję mojej aplikacji z portem szeregowym, używam moserial .
źródło
Spróbuj tego:
pracuje dla mnie.
źródło
Tak właśnie wybrałem
Dzięki odpowiedzi Gillesa !
Przepraszam, wyjaśnię ...
ls -l /proc/[0-9]*/fd/* | grep ttyUSB0
zamiast,lsof ttyUSB0
ponieważ widziałem je kiedyś powolne.ttyUSB0
tty${1:-USB0}
pozwoli, używane jako skrypt, aby uruchomić następnie z seryjnym nazwy urządzenia jako argument:ttySniff USB0
czyttySniff S0
i tak dalej.unbackslash
rejestrował ciągi znakówstrace
.Nota: Uruchamiam je za pomocą,
script -t
aby móc odtworzyć całość i śledzić wykonania czasowe.źródło
Spójrz na ttyUSBSpy . Jest na etapie alfa, ale działa.
źródło
import pcopy
, co nawet Google zrezygnował z szukania.minicom
brakuje na liście narzędzi do monitorowania portów szeregowych. Użyj go na przykład do słuchania urządzenia arduino:minicom --device /dev/ttyACM0 --baud 9600
źródło