如何查询USB串口设备、捕获输出并退出?

如何查询USB串口设备、捕获输出并退出?

我有几个 Arduino 设备,连接到 linux box。它们之间唯一的区别是它们在连接时的回答。它们无法通过lsusb命令来区分。虽然我不知道如何将输出转换为lsusb名称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
     ...

相关内容