Как заставить arduino всегда подключаться как /dev/ttyUSB0 и с chmod 0777?

У меня есть Debian 10 в качестве ОС, и для проекта мне нужно, чтобы мой arduino всегда был подключен как /dev/ttyUSB0, а не какой-либо другой номер ttyUSB, и мне нужно, чтобы он был связан с правами 0777 для работы скрипта.

Я кое-что читал об удеве, но ничего из того, что я пробовал, еще не работало.

Я попытался создать

/etc/udev/rules.d/51-my_usb_device

с содержанием

ПОДСИСТЕМА =="tty", РЕЖИМ="0777", ЯДРА == "ttyUSB0"

но он не работает даже после перезагрузки (вроде ничего не изменилось). Однако должен признаться, что я не совсем понимаю удева.

Как это сделать?

, 👍1

Обсуждение

https://majenko.co.uk/blog/making-your-boards-unique-linux, @Majenko


1 ответ


3

Вы подумывали о том, чтобы не пытаться принудительно использовать ttyUSB0, а вместо этого создать символическую ссылку на то, что назначено tty? Затем ваше программное обеспечение просто использует символическую ссылку.

Проблема с форсированием конкретного tty заключается в том, что делать, если вы загружаетесь без Arduino, но подключено другое устройство? Затем вам нужно убедить другое устройство пропустить ttyUSB0.

Если бы вы рассматривали символическую ссылку, то что-то вроде:

ACTION=="add", KERNEL=="ttyUSB*", ATTRS{idVendor}=="1a86", ATTRS{idProduct}=="7523", SYMLINK+="arduino"

может быть, вы начнете. Проверьте VID и PID с помощью lsusb или чего-то подобного. Чтобы установить разрешения, вы также можете использовать, например, MODE ="0777", как вы уже сделали.

Есть пример по адресу https://wiki.debian.org/udev это может дать больше информации.

,