USBシリアルデバイスを照会し、出力をキャプチャして終了する方法は?

USBシリアルデバイスを照会し、出力をキャプチャして終了する方法は?

Linuxボックスに接続された複数のArduinoデバイスがあります。それらの間の唯一の違いは、接続されたときの反応です。lsusbコマンドでは区別できません。出力をlsusbnameに変換する方法がわかりませんが、ttyUSB?とにかく私のデバイスが見つかりません。

$ lsusb
Bus 002 Device 004: ID 1a86:7523 QinHeng Electronics HL-340 USB-Serial adapter
Bus 002 Device 006: ID 1a86:7523 QinHeng Electronics HL-340 USB-Serial adapter
...

しかし、以下を介してデバイスに接続するとcu

$ cu -l /dev/ttyUSB0 -s 9600
Connected.
OK
~.
Disconnected.
$ cu -l /dev/ttyUSB1 -s 9600
Connected.

Relay module awaiting commands
Command 'help' is for help
~.
Disconnected.

cuBashスクリプトや他の手段でこれらの出力を取得し、デバイスを識別できますか?


シリアルポートを介してArduinoを区別することはできません。

# udevadm info -a -n /dev/ttyUSB0 | grep '{serial}'
    ATTRS{serial}=="0000:00:1d.0"

# udevadm info -a -n /dev/ttyUSB1 | grep '{serial}'
    ATTRS{serial}=="0000:00:1d.0"

ベストアンサー1

これが私がする方法です:

devices="/dev/ttyUSB0 /dev/ttyUSB1"

for device in $devices
do

   if timeout 10s cat $device | grep -q OK
   then
     ...

おすすめ記事