вторник, 19 ноября 2024 г.

Debian + Arduino +ESP32 - фиксируем порты)

Столкнулся с необходимостью "закрепить" порт за микроконтроллером типа Arduino Nano/Uno и ESP32, особенно если кроме этих плат у вас есть другие usb устройства с виртуальным COM-портом, например такими как usb-ttl платы и др.

Создаем в каталоге /etc/udev/rules.d файл 99-usb-mk.rules со следующим содержимым:

# Fix Arduino (CH340) and ESP (CH9102)
ACTION!="add", SUBSYSTEMS!="usb", GOTO="END"
KERNEL=="ttyACM[0-9]*", ATTRS{idVendor}=="1a86", ATTRS{idProduct}=="55d4", SYMLINK+="ttyESP", MODE:="0660", GROUP="dialout"
KERNEL=="ttyUSB[0-9]*", ATTRS{idVendor}=="1a86", ATTRS{idProduct}=="7523", SYMLINK+="ttyARD", MODE:="0660", GROUP="dialout"
LABEL="END"

 

Теперь можно перезагрузить компьютер или ввести команду в консоли:

udevadm control --reload

Готово. Теперь к Arduino и ESP можем обращаться через /dev/ttyARD и /dev/ttyESP соответственно.

Ну и проверьте входит ли ваш пользователь в группу dialout.

ПС. К сожалению те же платы usb-ttl могут встречаться на аналогичных микросхемах что приведет к ложной фиксации порта. 

ПСС. Добавление группы пользователю:

sudo usermod -a -G dialout $USER

Комментариев нет:

Отправить комментарий