
In dit artikel leg ik uit hoe je een veelvoorkomende fout in Arduino kunt oplossen:
avrdude: ser_open(): can't open device "/dev/ttyACM0": Permission denied
Achtergrond
Na lange tijd geen Arduino meer te hebben gebruikt, heb ik mijn twee boards (het originele en de Elegoo ) weer eens gepakt om wat activiteiten met mijn dochter te doen. Ik heb ze aangesloten en wilde de blink-functie testen om te zien of alles in orde was, maar toen ik het signaal naar het board stuurde, kreeg ik de bekende foutmelding.
Arduino:1.8.5 (Linux), Tarjeta:"Arduino/Genuino Uno" avrdude: ser_open(): can't open device "/dev/ttyACM0": Permission denied Problema subiendo a la placa. Visita http://www.arduino.cc/en/Guide/Troubleshooting#upload para sugerencias.
Zowel mijn pc als mijn laptop hebben Ubuntu 18.04 geïnstalleerd.
Het resultaat
Ik begin door de link te volgen die ze voorstellen . En ik volg de stappen.
In de tools/board is Arduino/Genuino Uno gemarkeerd.
In tools / seriële poort /dev/ttyACM0

En zoals de documentatie suggereert, open ik de terminal en voer ik het volgende commando uit als er problemen zijn met de stuurprogramma's en machtigingen:
sudo usermod -a -G tty yourUserName sudo usermod -a -G dialout yourUserName
waarbij yourUserName je gebruikersnaam is 🙂
Nu log ik uit en weer in. En voor de zekerheid herstart ik de pc/laptop.
Het werkt nog steeds niet en de Arduino-documentatie biedt geen uitkomst meer. Daarom ben ik verder gaan zoeken, op forums en blogs. Als het tot nu toe ook niet werkt en je in dezelfde situatie zit als ik, volg dan de volgende stappen.
ls /dev/ttyACM0 retourneert /dev/ttyACM0
ls -l /dev/ttyACM0 retourneert crw-rw—- 1 root dialout 166, 0 nov 26 16:41 /dev/ttyACM
Hiermee bevestigen we dat de haven bestaat.
We zullen machtigingen verlenen en controleren of onze gebruiker de benodigde machtigingen heeft.
sudo chmod a+rw /dev/ttyACM0 id devuelve 20(dialout)
En ik zie dat de gebruiker zich in de uitgaande belgroep bevindt, dus dat gedeelte is in orde.
Wat voor mij heeft gewerkt, is het opnieuw installeren van Arduino.
Als u het selectievakje
which avrdude
En als er niets terugkomt, zou het opnieuw installeren van Arduino het probleem moeten oplossen.
sudo apt install --reinstall arduino
En als het je nog niet gelukt is het probleem op te lossen, laat dan een reactie achter en ik zal proberen je te helpen.
Hulpmiddel om het AVRDUDE-probleem op te lossen
Er bestaat een script om dit probleem op te lossen . Je kunt proberen of het je helpt. Ik heb het zelf nog niet gebruikt, maar ik laat het staan omdat ik denk dat het een nuttige bron kan zijn.
AVRDUDE
Hieronder wat informatie om beter te begrijpen wat AVRDUDE is. De naam komt van AVRDUDE – AVR Downloader / UploaDEr.
AVRDUDE is een hulpprogramma voor het downloaden, uploaden en bewerken van de ROM- en EEPROM-inhoud van AVR-microcontrollers met behulp van de in-system programming-techniek (ISP).
https://www.nongnu.org/avrdude/
AVRDUDE werd door Brian S. Dean opgezet als een privéproject, waarbij hij programmeerde voor de Atmel AVR-microcontrollerserie.
De software en nog veel meer informatie vind je op de projectwebsite.