Linuxボックスに接続された複数のArduinoデバイスがあります。それらの間の唯一の違いは、接続されたときの反応です。lsusb
コマンドでは区別できません。出力をlsusb
nameに変換する方法がわかりませんが、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.
cu
Bashスクリプトや他の手段でこれらの出力を取得し、デバイスを識別できますか?
シリアルポートを介して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
...