Как я нахожу, с каким последовательным портом мой Ардуино подключен со сценарием оболочки?

Я пишу немного сценария прямо сейчас, который отправляет некоторые данные в Ардуино через сценарий оболочки удара. Команда, которая отправляет данные, похожа на это:

alias led_green="echo -e -n '\x10' > /dev/ttyACM1"

Как Вы видите, у меня есть/dev/ttyACM1, трудно кодированный в программу. Это проблематично, потому что, если я изменяю USB-порты, значение изменится также, и мой сценарий не будет работать. Я - удивление, если существует способ программно сказать, которые портируют arduino, подключен к так сценарию, будет всегда работать, пока существует соединенный arduino.

2
задан 5 February 2016 в 19:36

1 ответ

Я предложил бы переключиться от псевдонима до функции, которая использует цикл для прохождения через списка файлов устройств.

Принятие там не является никакими другими устройствами, можно использовать, чтобы цикл определил, какое устройство существует.

$ for i in $(seq 0 99) ; do                                                    
>    [ -e "/dev/ttyACM$i"  ] && break                                            
> done

, Если Вы повторяете значение $i после выходов цикла, которые будут значением найденного устройства.

Однако, если, например, Вы имеете /dev/ttyACM0 и /dev/ttyACM1 устройства там и они достигают отличающийся скорость в бодах, которую можно циклично выполнить через них и протестировать на stty -a -F /dev/ttyACM$i | grep $BAUD_RATE

, Если оба устройства работают на той же скорости в бодах, хорошо... нет много, чтобы сделать - должны использовать ручной путь.

1
ответ дан 2 December 2019 в 04:59

Другие вопросы по тегам:

Похожие вопросы: