У меня установлена Ubuntu 18.04 LTS.
Я установил Arduino IDE v1.8.5 как оснастку с
snap install arduino-mhall119
Я добавил своего пользователя в группу удаленного доступа и перезагрузил:
sudo usermod -a -G dialout $USER
$ groups
username adm dialout cdrom sudo dip plugdev lpadmin sambashare
Я подключил свой Arduino Nano к ноутбуку он обнаружен в порту / dev / ttyUSB0 ( ch341-uart ).
$ ls /dev/ttyUSB0 -al
crw-rw---- 1 root dialout 188, 0 авг 13 11:59 /dev/ttyUSB0
Я попытался загрузить самый простой эскиз Blink и получить следующие ошибки в терминале:
$ arduino-mhall119.arduino
avrdude: ser_open(): can't open device "/dev/ttyUSB0": Permission denied
Problem uploading to board. See http://www.arduino.cc/en/Guide/Troubleshooting#upload for suggestions.**
Также я установил arduino
1.8.5 с помощью umake. - он может получить доступ к последовательному порту обычным способом.
Примечание: у нас уже есть подобный вопрос здесь, но решение было использовать пакет из umake
, а не исправление для Snap.
Итак, мой вопрос: как заставить Arduino (Snap) получить доступ к последовательному порту / dev / ttyUSB0 (или / dev / ttyACM0)?
Обновление: подключение последовательного порта к Snap завершается ошибкой со следующим сообщением
$ snap connect arduino-mhall119:serial-port
error: snap "core" has no "serial-port" interface slots
Текущие интерфейсы:
$ snap interfaces | grep arduino
:home arduino-mhall119,gedit,organize-my-files,vlc
:network arduino-mhall119,gedit,organize-my-files,pulsemixer,vlc
:unity7 arduino-mhall119,gedit,organize-my-files,vlc
:x11 arduino-mhall119,organize-my-files,pulsemixer,vlc
- arduino-mhall119:serial-port
Изменение разрешений последовательного порта на 777 с sudo chmod 777 /dev/ttyUSB0
не помогает.
Следующие элементы также не работают (из-за синтаксических ошибок):
$ sudo snap connect arduino-mhall119:arduino
error: snap "arduino-mhall119" has no plug named "arduino"
$ snap connect arduino-mhall119:/dev/ttyUSB0
error: snap "arduino-mhall119" has no plug named "/dev/ttyUSB0"
$ snap connect arduino-mhall119
error: cannot resolve connection, plug snap name is empty
Информация о YAML-манифесте:
$ ls -l /snap/arduino-mhall119/current/meta/snap.yaml
-rw-r--r-- 1 root root 353 июл 28 00:20 /snap/arduino-mhall119/current/meta/snap.yaml
$ cat /snap/arduino-mhall119/current/meta/snap.yaml |grep -A 12 slots
$ cat /snap/arduino-mhall119/current/meta/snap.yaml |grep -A 5 plug
plugs:
- x11
- unity7
- home
- network
- serial-port
Снап arduino-mhall119
устарел и больше не должен использоваться. Используйте вместо этого оснастку arduino
. :
snap install arduino
Используя эту оснастку, единственное, что вам нужно сделать, это добавить своего пользователя в группу dailout
:
sudo usermod -a -G dialout $USER
После этого перезагрузите устройство и откройте Arduino IDE.
Решение Джошуа больше не работало для меня, так как я получил ошибку:
Предупреждение: флаг --classic игнорируется для строго ограниченной оснастки arduino-mhall119
Однако при использовании вместо этого devmode он работал нормально:
$ snap install arduino-mhall119 --devmode
Не уверен, есть ли какие-либо дальнейшие последствия с devmode ..
Snap arduino-mhall119
устарел и не должен можно больше использовать. Вместо этого используйте arduino
snap .
См. этот ответ для получения актуальной информации о том, как заставить работать последовательный порт с arduino
оснасткой.
Установите оснастку в классическом режиме, чтобы разрешить доступ к портам
$ snap install arduino-mhall119 --classic
Все очень просто. Теперь у вас должен быть доступ к вашим последовательным портам! Удачного взлома!
Примечание: информация ниже необходима для старого Arduino 1.6.10.
Некоторые интересные ссылки, которые помогли найти ответ
Автоматически подключаемый интерфейс последовательного порта
Ландамар говорит: Пока гаджет / интерфейс последовательного порта не будет улучшен, чтобы предоставить доступ ко всем системным последовательным устройствам, вы можете заставить свою оснастку работать, просто установив ее без ограничений следующим образом:
$ snap install tio --classic
Это лучше, чем ничего, но, безусловно, было бы лучше запустить его ограничен разрешенным доступом к последовательным устройствам tty.
Интерфейсы - последовательный порт
последовательный порт
Может иметь доступ к последовательным портам. Это ограничено, поскольку обеспечивает привилегированный доступ для настройки оборудования последовательного порта. Обратите внимание, что слот предназначен для реализации с помощью оснастки гаджета (это не обеспечивается оснасткой ядра).