Apakah ada alat pemantauan port untuk menonton paket yang ditulis di port? Saya terutama ingin memeriksa apakah program saya yang ditulis dalam Java berfungsi, jadi saya memerlukan beberapa alat untuk melihat apakah aplikasi kecil saya menulis pesan ke port. Bagaimana saya melakukan ini?
linux
serial-port
Deepak
sumber
sumber
Jawaban:
Saya menemukan proyek yang disebut Linux Serial Sniffer , jpnevulator , dan Moni . Dua yang pertama terlihat seperti mereka melakukan apa yang Anda inginkan. Yang terakhir menyebut dirinya monitor, tetapi sebenarnya terlihat seperti program komunikasi serial standar.
sumber
socat adalah alat untuk menghubungkan (hampir) segalanya untuk (hampir) segalanya, dan tee dapat menduplikasi aliran.
Di usecase Anda, Anda dapat menghubungkan port serial Anda
/dev/ttyS0
ke PTY/tmp/ttyV0
, kemudian arahkan aplikasi Anda ke PTY, dan socattee
out Input dan Output di suatu tempat untuk Anda amati.Googling "socat port serial pty tee debug" akan mengarahkan Anda ke beberapa contoh, salah satunya adalah:
File
in.txt
danout.txt
kemudian akan berisi data yang diambil.Ini telah dikonfirmasi untuk berfungsi oleh komentator (@ogurets).
sumber
socat
panggilan proxy ioctl tidak bisa.Saya tidak berpikir driver serial memiliki fungsi pelacakan yang akan memungkinkan Anda untuk menonton paket. Anda dapat menggunakan
strace
untuk mengamati semua membaca dan menulis dari aplikasi Anda:sumber
interceptty
melakukan pekerjaan itu:atau, dengan format output yang bagus dan dengan mengkonfigurasi perangkat backend, dan dengan penyangga garis:
dan kemudian terhubung dengan program Anda ke
/dev/ttyDUMMY
.sumber
wget
sejak mengeklik pada.tar.gz
file itu sepertinya merusaknya), instalgcc
danmake
, kemudian jalankan./configure
danmake install
. Apakah persis apa yang OP dan saya inginkan.Ketika saya men-debug interaksi aplikasi saya dengan port serial, saya menggunakan moserial .
sumber
Coba ini:
bekerja untukku.
sumber
Inilah yang akhirnya saya pilih
Terima kasih atas jawaban Gilles !
Maaf, saya akan jelaskan ...
ls -l /proc/[0-9]*/fd/* | grep ttyUSB0
bukanlsof ttyUSB0
karena saya melihat mereka kadang-kadang lambat.ttyUSB0
tty${1:-USB0}
akan mengizinkan, digunakan sebagai skrip, untuk menjalankan kemudian dengan nama perangkat seri sebagai argumen:ttySniff USB0
atauttySniff S0
dan sebagainya.unbackslash
dicatat oleh stringstrace
.Catatan: Saya menjalankannya dengan menggunakan
script -t
sehingga saya bisa memutar ulang keseluruhan dan melacak eksekusi waktu.sumber
Lihatlah ttyUSBSpy . Ini pada tahap alfa, tetapi berhasil.
sumber
import pcopy
, yang bahkan Google menyerah untuk menemukannya.minicom
hilang dari daftar alat untuk memonitor port serial. Gunakan itu sebagai contoh untuk mendengarkan perangkat Arduino:minicom --device /dev/ttyACM0 --baud 9600
sumber