Ich bin heute von Windows auf Linux umgestiegen und habe mir gleich die Arduino-IDE installiert!
Leider gibt es jetzt Probleme mit dem hochladen des Sketchs!
Es handelt sich um den Arduino-Klon von Elegoo, genauer den Elegoo Mega2560 R3!
Hat mit Windows 7 einwandfrei funktioniert!
Mit Ubuntu habe ich jetzt wie üblich in der Arduino-IDE über "Werkzeuge" das Modell ausgesucht "Arduino/Genuino Mega or Mega2560" mit Prozessor "ATmega 2560 (Mega2560)" (gleich wie in Windows) und der Port wurde nach dem anschliessen dann auch alleine erkannt "/dev/ttyACM0 (Arduino/Genuino Mega or Mega2560)" !
Leider kommt beim hochladen jetzt immer die Meldung dass das Board nicht erkannt wurde oder der serielle Port nicht existiert!
Arduino: 1.8.6 (Linux), Board: "Arduino/Genuino Mega or Mega 2560, ATmega2560 (Mega 2560)"
Der Sketch verwendet 1460 Bytes (0%) des Programmspeicherplatzes. Das Maximum sind 253952 Bytes.
Globale Variablen verwenden 9 Bytes (0%) des dynamischen Speichers, 8183 Bytes für lokale Variablen verbleiben. Das Maximum sind 8192 Bytes.
avrdude: ser_open(): can't open device "/dev/ttyACM0": Permission denied
ioctl("TIOCMGET"): Inappropriate ioctl for device
ioctl("TIOCMGET"): Inappropriate ioctl for device
avrdude: ser_send(): write error: Bad file descriptor
avrdude: stk500_send(): failed to send command to serial port
avrdude: stk500v2_ReceiveMessage(): timeout
avrdude: ser_send(): write error: Bad file descriptor
avrdude: stk500_send(): failed to send command to serial port
avrdude: stk500v2_ReceiveMessage(): timeout
avrdude: ser_send(): write error: Bad file descriptor
avrdude: stk500_send(): failed to send command to serial port
avrdude: stk500v2_ReceiveMessage(): timeout
avrdude: ser_send(): write error: Bad file descriptor
avrdude: stk500_send(): failed to send command to serial port
avrdude: stk500v2_ReceiveMessage(): timeout
avrdude: ser_send(): write error: Bad file descriptor
avrdude: stk500_send(): failed to send command to serial port
avrdude: stk500v2_ReceiveMessage(): timeout
avrdude: ser_send(): write error: Bad file descriptor
avrdude: stk500_send(): failed to send command to serial port
avrdude: stk500v2_ReceiveMessage(): timeout
avrdude: stk500v2_getsync(): timeout communicating with programmer
Der ausgewählte serielle Port avrdude: stk500v2_getsync(): timeout communicating with programmer
ist nicht vorhanden oder das Board ist nicht angeschlossen
Woran liegt das und wie kann ich den Fehler beheben??
Ja, meint er. Der Benutzer muss wenn ich mich recht erinnere in die Gruppe dialout aufgenommen/getan werden, dann darf man auch auf das Gerät schreiben. Evtl. heißt die Gruppe auch anders.
Ein
ls -l /dev/ttyACM*
gibt Auskunft.
Gruß
Gregor
PS: Als pflichtbewusster Knipser dokumentiere ich, was ich anstelle. Einen mit Parallaxenfehlern gespicktes Bildchen gibt es hier.
Danke erstmal,
verstehe zwar nur Bahnhof aber ich habe den Befehl ausgeführt und die Kommandozeile spuckt folgendes aus:
crw-rw---- 1 root dialout 166, 0 Aug 26 15:33 /dev/ttyACM0
Schulz:
crw-rw---- 1 root dialout 166, 0 Aug 26 15:33 /dev/ttyACM0
Was sagt mir das bzw was muss ich machen??
Das ist genau das, was ich meinte.
Nur root und Mitglieder der Gruppe dialout dürfen ttyACM0 benutzen. Uh ... lange her, dass ich derlei Zeug machen musste. Guck Dir den Befehl addgroup an (oder groupadd, bin mir gerade nicht sicher).
Gruß
Gregor
PS: Linux ist eine gute Entscheidung. In meinem Bekanntenkreis hat der Umstieg immer dazu geführt, dass sich die Leute auf Dauer wieder mehr mit dem beschäftigen konnten, was sie wirklich interessiert.
PPS: Guck Dir hier die untersten vier Punkte an. Die könnten Dich interessieren. Zumindest zum Einstieg ist das immer noch gut, hoffe ich. Bei meinen Weekendern beschreibe ich ein paar Sachen, die ich in den letzten Jahren angestellt habe. Das ist eine aufgebohrte Merkzettelsammlung.
Wenn ich das richtig verstehe müsste ich mich ja zu der bereits existierenden Gruppe (dialout) hinzufügen oder??
Das würde wiederum heißen ich müsste folgenden Befehl ausführen:
Bestehenden Benutzer einer weiteren Gruppe hinzufügen
sudo usermod -aG GRUPPENNAME BENUTZERNAME
Habe ich jetzt auch versucht, dabei kam nur die Abfrage nach meinem Passwort aber anschließend keine Rückmeldung im Terminal, und hochladen funktioniert immer noch nicht...
Als Gruppenname habe ich dialout eingegeben und Benutzernamen naturlich meinen eigenen!
Muss ich vielleicht neu starten oder habe ich das alles falsch interpretiert??
Allgemein bin ich bei solchen Problemen eh der Meinung, daß man die Informationen zu den Befehlen, Die man (meist als root) ausführt, selber gelesen haben sollte.
... eigentlich war ich der Meinung, Das ginge auch mit 'id' - also den eigenen Nutzer einer Gruppe hinzufügen - schon etwas her.
MfG
PS: Was sagt 'id' im Terminal?
Bist Du mittlerweile in der Gruppe dialout(20) drin?
Ggf. musst Du auch die 20, statt dialout angeben.
Schulz:
Wenn ich das richtig verstehe müsste ich mich ja zu der bereits existierenden Gruppe (dialout) hinzufügen oder??
Ja, genau.
Schulz:
Das würde wiederum heißen ich müsste folgenden Befehl ausführen:
Bestehenden Benutzer einer weiteren Gruppe hinzufügen
sudo usermod -aG GRUPPENNAME BENUTZERNAME
Habe ich jetzt auch versucht, dabei kam nur die Abfrage nach meinem Passwort aber anschließend keine Rückmeldung im Terminal, und hochladen funktioniert immer noch nicht...
Als Gruppenname habe ich dialout eingegeben und Benutzernamen naturlich meinen eigenen!
Du musst Dich vermutlich nur mal aus- und wieder einloggen.
Wenn man sich null auskennt bei was Neuem können einem solche Kleinigkeiten schon vor Probleme stellen oder gar zum Verzweifeln bringen, und man kann sich eben nicht mehr mit dem beschäftigen kann was einem wirklich interessiert,
aber zum Glück gibt es Orte wie hier wo einem geholfen wird!
Ihr seid echt die Besten!!
Neustart hättest Du NICHT gebraucht.
Hier ist nicht Alles so, wie unter Windows gelernt
Auch ein Update braucht in den seltensten Fällen ein Reboot, wenn's heftig wird, braucht's ein logout/login.
(Ausnahme, wenn's einen neuen Kernel gibt)
Neustart hättest Du NICHT gebraucht.
Hier ist nicht Alles so, wie unter Windows gelernt
Auch ein Update braucht in den seltensten Fällen ein Reboot, wenn's heftig wird, braucht's ein logout/login.
(Ausnahme, wenn's einen neuen Kernel gibt)
Als kleiner Tip kann ich Dir noch eine Kleinigkeit mitgeben, Die Du garantiert in Zukunft auf Windows vermissen wirst:
Wenn Du etwas kopieren/einfügen willst, markiere den Text nur, gehe mit der Maus zur Zielposition und drücke dort die mittlere Maustaste.
Ganz ohne Kontext-Menü 'Kopieren' und Kontext-Menü 'Einfügen'.
Zumindest ich finde diese Art des Kopieren sehr gelungen und ärgere mich regelmäßig, daß Das in der Win-VM, in Der ich die Arduino-IDE nutze (die Linux-IDE soll der Win-Version aber in Nichts mehr nachstehen), eben nicht so funktioniert.
Also z.B. Code-Beispiele aus dem Netz (surfen in Linux per FireFox) lassen sich so nur mittels STRG+C und in Win mit STRG+V übertragen, da dort explizit die Zwischenablage benutzt wird.