Acest lucru se întâmplă deoarece IDE nu are suficiente permisiuni pentru a accesa dispozitivul Arduino.
Permisiuni
Ne putem uita la dispozitivul Arduino rulând
ls -l /dev/ttyACM*
într-un terminal. Rezultatul arată în mare parte așa:
crw-rw---- 1 root dialout 166, 0 Des 14 09:47 /dev/ttyACM0
„0” de la sfârșitul lui „ACM” ar putea fi diferit, iar mai multe intrări ar putea fi listate, dar părțile pe care trebuie să ne concentrăm sunt șirul de litere și liniuțe din față și cele două nume root
și dialout
.
Primul nume root
este proprietarul dispozitivului, iar dialout
este grupul de proprietari al dispozitivului.
Letrele și liniuțele din față, începând după ‘c’, reprezintă permisiunile pentru dispozitiv în funcție de utilizator: – Primul triplet rw-
înseamnă că proprietarul (root
) poate citi și scrie pe acest dispozitiv – Al doilea triplet rw-
înseamnă că membrii grupului de proprietari (dialout
) pot citi și scrie pe acest dispozitiv – Al treilea triplet ---
înseamnă că ceilalți utilizatori nu au nici un fel de permisiuni (ceea ce înseamnă că nimeni altcineva nu poate citi și scrie pe dispozitiv)
În concluzie, nimeni, cu excepția lui root
și a membrilor grupului dialout
, nu poate face nimic cu Arduino; din moment ce nu rulăm IDE-ul ca root
sau ca membru al dialout
, IDE-ul nu poate accesa Arduino din cauza permisiunilor insuficiente.
Adaugați-vă la grupul de apelare
Dar așteptați! Mai devreme, când lansam IDE-ul, ne-am adăugat la grupul dialout
!
Atunci de ce IDE-ul tot nu are permisiunea de a accesa Arduino?
Modificările pe care le face promptul nu se aplică până când nu ne deconectăm și ne conectăm din nou, așa că trebuie să ne salvăm munca, să ne deconectăm și să ne conectăm din nou.
După ce vă conectați din nou și lansați Arduino IDE, opțiunea Serial Port ar trebui să fie disponibilă; schimbați-o și ar trebui să putem încărca codul pe Arduino.
.