Przesyłanie kodu do arduino powoduje błąd: „avrdude: ser_open (): nie można otworzyć urządzenia” / dev / ttyACM0 „: Odmowa uprawnień”


13

Mój system operacyjny to Ubuntu 18.04 i arduino działało do tej pory.

Chociaż istnieje kilka rozwiązań, żadne z nich nie wydaje mi się skuteczne.

Postępowałem zgodnie z tymi instrukcjami na stronie arduino.

Potem wypróbowałem to na arduino Stack Exchange , która powinna działać w przypadkach, w których pierwsze rozwiązanie nie zadziałało. Odpowiedź mówi, że powinniśmy stworzyć kilka zasad na /etc/udev/ruled.d/ścieżce.

Ale żaden z nich nie działał dla mnie.

Przetestowałem także arduino w systemie Windows 10, aby sprawdzić, czy był to problem sprzętowy, ale działał dobrze.

Czy ktoś ma jakieś pomysły na rozwiązanie tego problemu?

AKTUALIZACJA:

  • Moja nazwa użytkownika, sergio, jest częścią obu grup (tty i dialout);
  • Wylogowałem się i wróciłem, jak wyjaśnia oficjalny samouczek arduino;
  • W Arduino IDE konfiguracje są poprawne: Arduino UNO i ttyACM0
  • Oto dane wyjściowe ll /dev/ttyACM0po uruchomieniu poleceń samouczka:

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

AKTUALIZACJA 2:

Stworzyłem skrypt, aby rozwiązać ten problem: https://github.com/sergiomafra/iniarduino


5
Możliwy duplikat Jak zainstalować najnowszy Arduino IDE? Czy zapomniałeś się wylogować i zalogować ponownie po uruchomieniu usermod?
— N0rbert

Nie. Najpierw próbowałem się wylogować i zalogować. Następnie próbowałem ponownie uruchomić notebooka. Wydaje się, że nic nie działa ...
— Sérgio Mafra,

crw-rw-rw- 1 root dialout 166, 0 lip 15 05:41 / dev / ttyACM0 Login: sergio Nazwa: Sérgio Mafra Katalog: / home / sergio Shell: / bin / bash Włączony od niedz 15 lip 08:26 (- 03) wł .: 0 od: 0 (wiadomości wyłączone) Brak poczty. Brak planu.
— Sérgio Mafra

dialout: x: 20: sergio. Kiedy próbowałem uruchomić drugie polecenie, bash wrócił do mnie Brak takiego pliku lub katalogu
— Sérgio Mafra

2
@ N0rbert Nie sądzę, że to pytanie powinno zostać zamknięte jako duplikat Jak zainstalować najnowszą wersję Arduino IDE? ponieważ zaakceptowana odpowiedź na to pytanie jest bardziej szczegółowa dla zadanego pytania.
— karel

Odpowiedzi:


9

Ponownie zainstaluj swoje arduino zainstalowane w centrum oprogramowania Ubuntu:

sudo apt install --reinstall arduino

Ponowna instalacja jest konieczna, ponieważ twoje which avrdudepolecenie zgodnie z komentarzem nic nie zwraca, ale powinno być /usr/bin/avrdude. Sprawdź ponownie:

which avrdude

Uruchom Arduino IDE po ponownej instalacji i zamknij go.

Sprawdź swoją konfigurację arduino. Otwórz /home/sergio/.arduino/preferences.txtplik i zaznacz tam serial.portopcję. Spróbuj to zmienić na /dev/ttyACM0. Otwórz ten plik:

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

i zastosuj odpowiednie zmiany, tzn. opcja powinna wyglądać

serial.port=/dev/ttyACM0

Następnie uruchom ponownie komputer.


1
Dzięki za wszelką pomoc. Odinstalowałem go z Centrum Oprogramowania Ubuntu i zainstalowałem wersję ze strony arduino i działało.
— Sérgio Mafra

24

Miałem podobny problem, gdy próbowałem wgrać szkic do Arduino. Problem związany był z brakiem uprawnień do odczytu / zapisu do portu szeregowego. Byłem w stanie to naprawić za pomocą następującego polecenia:

Aby potwierdzić, że port istnieje, wprowadź następujące dane z katalogu głównego.

ls /dev/ttyACM0

Aby ustawić uprawnienia do odczytu / zapisu, wprowadź następujące dane

sudo chmod a+rw /dev/ttyACM0

Rozwiązany mój problem. Dzięki!
— FunkSoulBrother

Rozwiązałem mój problem ..
— anuraag tummanapally

3

Oto, co zadziałało dla mnie:

  • Odinstaluj wersję z Apt, nie działa ona poprawnie ( sudo apt uninstall arduino; sudo apt autoremove)
  • Zainstaluj wersję ze strony Arduino
  • sudo apt install avrdude ponieważ ten ze strony internetowej go nie zawiera
  • sudo usermod -a -G dialout [your_username] ponieważ ten ze strony internetowej nie robi tego automatycznie

A teraz wszystko znów działa!


0

W połączeniu ze wszystkimi postami, które czytam, to właśnie zrobiłem, aby rozwiązać ten problem, postępując zgodnie ze wskazówkami z tego wątku.

W nowym terminalu wpisałem następujące, jak pokazano poniżej.

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

Pamiętaj, że fourplus to moja nazwa użytkownika.


2
Witamy w pytaniu o Ubuntu. Jeśli to możliwe, w przyszłości powinieneś publikować tekst zamiast obrazów.
— Jeff


0

Widzę, że pytanie jest już zaakceptowane, ale żadne z rozwiązań tego nie zrobiło, więc mam inne rozwiązanie. Zainstalowałem arduino IDE za pomocą instalatora oprogramowania Ubuntu. Musisz tylko to zrobić.

  1. Przejdź do arduino IDE w sklepie z oprogramowaniem Ubuntu
  2. uprawnienia do klikania
  3. Ustaw dostęp do sprzętu USB bezpośrednio na

0

ha jestem nowicjuszem i popełniłem kilka błędów)) Nie rób tak, jak robię.

  1. Po pierwsze, w mojej książce był zły obraz schematu połączeń led. Znalazłem nowy i ponownie podłączyłem przewody. Teraz są poprawnie podłączone.
  2. Następnie podłączyłem arudino do komputera (to ważne).
  3. Następnie wykonałem następujące polecenia:

    • ls -l / dev / ttyACM0
    • sudo usermod -a -G dialout [moja_nazwa_użytkownika]
    • sudo chmod a + rw / dev / ttyACM0

Kiedy szukałem płyty w menu programu arduino (Narzędzia -> Płyta), nie znalazłem „Arduino / Genuino Uno”, tylko „Arduino Uno” (myślę, że jest OK)

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.