Cela se produit parce que l’IDE n’a pas les autorisations suffisantes pour accéder au périphérique Arduino.
Permissions
Nous pouvons regarder le périphérique Arduino en exécutant
ls -l /dev/ttyACM*
dans un terminal. La sortie ressemble principalement à ceci :
crw-rw---- 1 root dialout 166, 0 Des 14 09:47 /dev/ttyACM0
Le ‘0’ à la fin de ‘ACM’ pourrait être différent, et plusieurs entrées pourraient être listées, mais les parties sur lesquelles nous devons nous concentrer sont la chaîne de lettres et de tirets devant, et les deux noms root
et dialout
.
Le premier nom root
est le propriétaire du périphérique, et dialout
est le groupe propriétaire du périphérique.
Les lettres et les tirets devant, commençant après ‘c’, représentent les permissions pour le périphérique par utilisateur : – Le premier triplet rw-
signifie que le propriétaire (root
) peut lire et écrire sur ce périphérique – Le deuxième triplet rw-
signifie que les membres du groupe propriétaire (dialout
) peuvent lire et écrire sur ce périphérique – Le troisième triplet ---
signifie que les autres utilisateurs n’ont aucune permission (ce qui signifie que personne d’autre ne peut lire et écrire sur le périphérique)
En bref, personne à part root
et les membres de dialout
ne peut faire quoi que ce soit avec l’Arduino ; puisque nous n’exécutons pas l’IDE en tant que root
ou en tant que membre de dialout
, l’IDE ne peut pas accéder à l’Arduino en raison de permissions insuffisantes.
S’ajouter au groupe d’appel
Mais attendez ! Plus tôt, lorsque nous avons lancé l’IDE, nous nous sommes bien ajoutés au groupe dialout
!
Alors pourquoi l’IDE n’a toujours pas la permission d’accéder à l’Arduino ?
Les modifications apportées par l’invite ne s’appliquent pas tant que nous ne nous déconnectons pas et ne nous reconnectons pas à nouveau, nous devons donc sauvegarder notre travail, nous déconnecter et nous reconnecter à nouveau.
Après vous être reconnecté et avoir lancé l’IDE Arduino, l’option de port série devrait être disponible ; changez-la, et nous devrions être en mesure de télécharger du code sur l’Arduino.