Saya mencoba menulis skrip yang menghubungkan dan menjalankan perintah pada / dev / ttyUSB0 setelah itu mendapatkan output.
screen -d -m 'SCREEN COMMAND' -L /dev/ttyUSB0
Tetapi ini tidak membuat file output. Bagaimana saya bisa mengatasi masalah ini? Ada ide?
bash
usb
gnu-screen
tty
denizeren
sumber
sumber
Jawaban:
Coba
pyserial
pustaka python. Saya pikir Anda bisa menyelesaikannya dengan perpustakaan ini. Anda dapat menemukan tutorial di sinisumber
screen
Adalah baik untuk membuat sesi terminal Anda berjalan terpisah. Namun, itu tidak dirancang untuk menjalankan perintah pada terminal secara otomatis.Untuk tujuan ini, alat lain dikembangkan -
expect
.expect
memungkinkan untuk skrip interaksi mirip manusia dengan program yang berjalan di terminal.Ini adalah alat yang ampuh, tetapi juga bahasa scripting lain untuk dipelajari dan bisa sedikit membosankan. Jika Anda terbiasa dengan Perl, modul Perl Expect dapat menghemat banyak usaha (ada juga modul yang diharapkan untuk bahasa skrip lain seperti Python).
Satu catatan lagi. Dalam kasus Anda, sepertinya perangkat
/dev/ttyUSB0
serial-over-USB yang dapat terhubung atau terputus kapan saja. Jika Anda ingin menjaga interaksi secara otomatis ke antarmuka serial-over-USB ini, Anda dapat mempertimbangkan apakah perangkat ini muncul / menghilang dan terhubung kembali secara otomatis (misalnya dalam skrip Perl), atau tambahkan aturan udev (di bawah/etc/udev/rules.d
) yang secara otomatis akan memulai program handler sebagai perangkat USB baru terhubung.sumber