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
...