Завантаження коду в arduino дає мені помилку: "avrdude: ser_open (): не вдається відкрити пристрій" / dev / ttyACM0 ": Дозвіл відхилено"


13

Моя ОС - Ubuntu 18.04 і arduino працював досі.

Хоча є кілька рішень, жодне з них, здається, не працює для мене.

Я дотримувався цих інструкцій на веб-сайті arduino.

Потім я спробував це на Arduino Stack Exchange , який повинен працювати в тих випадках, коли перше рішення не було. Відповідь говорить, що ми повинні створити кілька правил щодо /etc/udev/ruled.d/шляху.

Але жоден з них не працював на мене.

Я також тестував arduino в Windows 10, щоб побачити, чи це проблема з обладнанням, але це справно.

Хтось має інші ідеї щодо вирішення цього питання?

ОНОВЛЕННЯ:

  • Моє ім’я користувача, sergio, є частиною обох груп (tty та dialout);
  • Я вийшов із системи та повернувся назад, як пояснюється офіційний підручник для arduino;
  • У Arduino IDE конфігурації є правильними: Arduino UNO та ttyACM0
  • Це результат ll /dev/ttyACM0після запуску команд підручника:

    crw-rw-rw- 1 root dialout 166, 0 Jul 15 05:41 /dev/ttyACM0
    

ОНОВЛЕННЯ 2:

Я створив сценарій для вирішення цього питання: https://github.com/sergiomafra/iniarduino


5
Можливий дублікат Як встановити останній ID Arduino IDE? Ви забули вийти та знову увійти після запуску usermod?
N0rbert

Ні. Спочатку я спробував вийти та ввійти. Потім я спробував перезапустити свій ноутбук. Начебто нічого не працює ...
Серхіо Мафра

crw-rw-rw- 1 кореневий діалог 166, 0 15 липня 05:41 / dev / ttyACM0 Вхід: sergio Ім'я: Sérgio Mafra Каталог: / home / sergio Shell: / bin / bash On з 15 липня 08:26 (- 03) в: 0 від: 0 (повідомлення вимкнено) Немає пошти. Ніякого плану.
Серхіо Мафра

діалот: x: 20: серхіо. Коли я спробував запустити другу команду, Баш повернувся мені. Немає такого файлу чи каталогу
Sérgio Mafra

2
@ N0rbert Я не думаю, що це питання слід закрити як дублікат Як встановити останній ID Arduino IDE? тому що прийнята відповідь на це запитання більш конкретна на запитання, яке було задано.
карел

Відповіді:


9

Перевстановіть встановлений ардуїно з центру програмного забезпечення Ubuntu:

sudo apt install --reinstall arduino

Перевстановлення необхідне, оскільки ваша which avrdudeкоманда згідно з вашим коментарем нічого не повертає, але має бути /usr/bin/avrdude. Перевірте ще раз:

which avrdude

Запустіть свій Arduino IDE після перевстановлення та закрийте його.

Перевірте свою конфігурацію arduino. Відкрийте /home/sergio/.arduino/preferences.txtфайл і перевірте serial.portпараметр. Спробуйте змінити його на /dev/ttyACM0. Відкрийте цей файл:

sudo nano /home/sergio/.arduino/preferences.txt

і застосувати відповідні зміни, тобто параметр повинен виглядати

serial.port=/dev/ttyACM0

Після цього перезавантажте комп'ютер.


1
Дякую за всю допомогу. Я видалив його з програмного забезпечення Ubuntu Software Center і встановив версію з веб-сайту arduino, і вона працювала.
Серхіо Мафра

24

У мене було подібне питання, коли я намагався завантажити ескіз до Arduino. Проблема була пов'язана з відсутністю дозволу на читання / запис до послідовного порту. Мені вдалося виправити за допомогою наступної команди:

Для підтвердження наявності порту введіть наступне з кореневого каталогу.

ls /dev/ttyACM0

Щоб встановити дозволи на читання / запис, введіть наступне

sudo chmod a+rw /dev/ttyACM0

Вирішили мою проблему. Дякую!
FunkSoulBrother

Вирішили мою проблему ..
anuraag tummanapally

3

Ось що для мене спрацювало:

  • Видаліть версію з Apt, вона не працює належним чином ( sudo apt uninstall arduino; sudo apt autoremove)
  • Встановіть версію з веб-сайту Arduino
  • sudo apt install avrdude оскільки той, який розміщено на веб-сайті, не включає його
  • sudo usermod -a -G dialout [your_username] оскільки той, який знаходиться на веб-сайті, не робить цього автоматично

А тепер все знову працює!


0

У поєднанні з усіма прочитаними мною публікаціями я це вирішив, щоб вирішити цю проблему, дотримуючись вказівок з цієї теми.

У новому терміналі я набрав наступне, як показано нижче.

https://i.stack.imgur.com/ifRmx.png

Зверніть увагу, що fourplus - це моє ім’я користувача.


2
Ласкаво просимо попросити ubuntu. Надалі слід розміщувати текст замість зображень, де це можливо.
Джефф

0

Я отримав рішення.

  1. Знайдіть свій порт, до якого підключений Arduino (наприклад, мій був /dev/ttyUSB0). Ви можете знайти його в повідомленні про помилку в Arduino IDE.

  2. Відкрийте термінал ( Ctrl+ Alt+ T).

  3. У термінальному виконанні:

    sudo chmod 777 /dev/ttyUSB0
    

    Вищевказана команда встановлює необхідні дозволи.



0

Я бачу, що питання вже прийнято, але жоден з варіантів не зробив це для мене, тому я отримав інше рішення. Я встановив IDE arduino через інсталятор програмного забезпечення Ubuntu. Що вам потрібно зробити - це.

  1. Перейдіть на ардуїно IDE в магазин програмного забезпечення Ubuntu
  2. дозволи на натискання
  3. встановити Доступ до апаратного забезпечення usb безпосередньо

0

га Я новачок і я допустив деякі помилки)) Не роби це так, як я.

  1. Перш за все, в моїй книзі з’явилася погана картина про схему підключення світлодіодів. Я знайшов новий і знову підключив дроти. Тепер вони підключені правильно.
  2. Потім я підключив arudino до комп’ютера (це важливо).
  3. Тоді я виконав такі команди:

    • ls -l / dev / ttyACM0
    • sudo usermod -a -G діалог [my_username]
    • sudo chmod a + rw / dev / ttyACM0

Коли я шукав дошку в меню програми arduino (Інструменти -> Дошка), я не знайшов "Arduino / Genuino Uno", просто там було "Arduino Uno" (я думаю, це нормально)

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.