web-dev-qa-db-fra.com

Le chargement du code sur arduino me donne l’erreur suivante: "avrdude: ser_open (): impossible d’ouvrir le périphérique" / dev / ttyACM0 ": autorisation refusée"

Mon système d'exploitation s'appelle Ubuntu 18.04 et arduino fonctionnait jusqu'à maintenant.

Bien qu'il existe quelques solutions, aucune ne semble fonctionner pour moi.

J'ai suivi ces instructions sur le site Web arduino.

Ensuite, j'ai essayé ceci sur arduino Stack Exchange , ce qui devrait fonctionner dans les cas où la première solution ne fonctionnait pas. La réponse dit que nous devrions créer quelques règles sur le chemin /etc/udev/ruled.d/.

Mais aucun d'entre eux n'a fonctionné pour moi.

J'ai également testé Arduino dans Windows 10 pour voir s'il s'agissait d'un problème matériel, mais cela a bien fonctionné.

Quelqu'un a-t-il d'autres idées sur la façon de résoudre ce problème?

UPDATE:

  • Mon nom d'utilisateur, sergio, fait partie des deux groupes (tty et dialout);
  • Je me suis déconnecté et je suis revenu comme l'explique le didacticiel officiel d'arduino;
  • Dans Arduino IDE, les configurations sont correctes: Arduino UNO et ttyACM0
  • Voici le résultat de ll /dev/ttyACM0 après l'exécution des commandes du tutoriel:

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

UPDATE 2:

J'ai créé un script pour résoudre ceci: https://github.com/sergiomafra/iniarduino

9
Sérgio Mafra

Réinstallez votre arduino installé à partir du centre logiciel Ubuntu:

Sudo apt install --reinstall arduino

Une réinstallation est nécessaire car votre commande which avrdude, conformément à votre commentaire, ne renvoie rien, mais doit être /usr/bin/avrdude. Revérifier:

which avrdude

Exécutez votre Arduino IDE après la réinstallation et fermez-le.

Vérifiez votre configuration arduino. Ouvrez le fichier /home/sergio/.arduino/preferences.txt et cochez là l'option serial.port. Essayez de le changer en /dev/ttyACM0. Ouvrez ce fichier:

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

et appliquer les modifications correspondantes, c’est-à-dire que l’option devrait ressembler

serial.port=/dev/ttyACM0

Redémarrez l'ordinateur après.

7
Bob

J'ai eu un problème similaire lorsque j'ai essayé de télécharger un dessin sur Arduino. Le problème était lié à l'absence d'autorisations de lecture/écriture sur le port série. J'ai pu réparer en utilisant la commande suivante:

Pour confirmer que le port existe, entrez les informations suivantes dans le répertoire racine.

ls /dev/ttyACM0

Pour définir des autorisations de lecture/écriture, entrez les informations suivantes:

Sudo chmod a+rw /dev/ttyACM0
6
Adrian

Voici ce qui a fonctionné pour moi:

  • Désinstallez la version d'Apt, cela ne fonctionne pas correctement (Sudo apt uninstall arduino; Sudo apt autoremove)
  • Installez la version à partir du site Web Arduino
  • Sudo apt install avrdude puisque celui du site ne l'inclut pas
  • Sudo usermod -a -G dialout [your_username] puisque celui du site Web ne le fait pas automatiquement

Et maintenant tout fonctionne à nouveau!

1
Draconis

En combinaison avec tous les messages que j'ai lus, voici ce que j'ai fait pour résoudre ce problème en suivant les instructions de ce fil.

Dans un nouveau terminal, j'ai tapé ce qui suit comme indiqué ci-dessous.

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

Veuillez noter que fourplus est mon nom d'utilisateur.

0
Arafat Mukasa