Zutaten
- Computer mit beliebigem Betriebssystem
- Zugang zum Internet auf diesem Computer
- Arduino Mega 2560
- Arduino Ethernet Shield
- USBASP USBISP AVR Programmer
- Arduino USB Kabel
Anleitung
- Installiere die Software ArduinoIDE https://www.arduino.cc/en/main/software. Ich habe zum Zeitpunkt der Veröffentlichung dieses Blogartikels die aktuelle Version ArduinoIDE 1.8.13 verwendet.
- Kopiere alle Dateien von https://github.com/jandrassy/my_boards in den lokalen Ordner deiner ArduinoIDE (/Pfad/zumOrdner/Arduino/Hardware/my_boards). Hierfü kannst du das gesamte Git-Repository klonen oder eine ZIP-Datei herunterladen.
- Kopiere die Datei platform.local.txt aus diesem github (https://github.com/jandrassy/ArduinoOTA/tree/master/extras/avr), in den Ordner ~/.arduino15/packages/ auf Linux beziehungsweise %userprofile%\AppData\Local\Arduino15\packages\ auf Windows (AppData ist ein versteckter Ordner).
- Starte die Arduino IDE (neu).
- Kontrolliere, dass unter Werkzeuge -> Board -> my_boards-avr der Punkt„Arduino Mega 2560 (Optiboot)“ vorhanden ist.
- Brenne den Bootloader „Arduino Mega 2560 (Optiboot)“ auf deinen Arduino. Dafür musst du alle Shields und zusätzliche Hardware vom Arduino Mega entfernen und den Programmer mit dem Pin „MISO“ auf PIN1 des ISP-Anschlusses auf dem Arduino stecken.
Danach musst du den USB-Stecker des Programmers mit deinem Computer verbinden. Außerdem muss der Arduino per USB-Programmier-Kabel ebenfalls mit dem PC verbunden werden. In der ArduinoIDE muss der Programmer „USBasp“ ausgewählt sein. Wenn das Brennen des Bootloaders erfolgreich war, dann erscheint unten im grünen Bereich der Entwicklungsumgebung die Meldung „Der Bootloader wurde gebrannt.“. - Setze deinen Arduino Mega, das Netzwerk-Shield und eventuelle andere Hardware wieder zusammen.
- In deinem Sketch sollten folgende Bestandteile enthalten sein: Der Arduino braucht eine Netzwerk-Konfiguration und muss per Ping vom Rechner, auf dem Du die ArduinoIDE ausführst, erreichbar sein.
- Die Arduino OTA Bibliothek muss in der IDE installiert sein und per „#include <ArduinoOTA.h>“ in deinem Skript inkludiert werden.
- Gegen Ende deiner setup Funktion im Sketch muss „ArduinoOTA.begin(Ethernet.localIP(), „Arduino“, „password“, InternalStorage);“ enthalten sein.
- „ArduinoOTA.poll();“ am Anfang der loop() Funktion bewirkt die Abfrage auf eingehende Updates. Code vor diesem Aufruf kann das Update abbrechen lassen.
- Lade deinen Sketch auf den Arduino.
- Trenne den Arduino vom Computer.
- Verbinde ihn mit einem angeschlossenen Netzwerkkabel und einer Stromversorgung.
- Prüfe, dass dein Arduino per Ping erreichbar ist.
- Nach einer relativ kurzen Wartezeit sollte unter Werkzeuge > Port in der ArduinoIDE die IP deines Arduinos auftauchen. Wenn du diesen nun auswählst, dann kannst du mit dem Button hochladen deinen Sketch aktualisieren. Du wirst nach dem im ArduinoOTA.begin angegebenen Passwort gefragt. Dabei kann es durchaus 2 oder mehr Versuche brauchen bis ein Update deines Programms funktioniert.
- Füge die IP-Konfiguration deines Arduino in der Datei /Pfad/zur/Installation/arduino-1-8-13/hardware/my_boards/avr/programmers.txt wie in der Anleitung beschrieben hinzu, falls der Arduino nicht in deiner IDE erscheint.
- Starte anschließend die IDE neu.
- Wähle den neuen Programmer aus.
- Führe Sketch -> Hochladen mit Programmer aus.
Eine inhaltlich gleiche, aber etwas andere Anleitung zu diesem Thema habe ich bereits unter https://plietsche-kate.de/arduino-ota-mit-dem-mega-2560-schritt-fuer-schritt/ veröffentlicht.
Transparenz: Dieser Beitrag ist auf Bitte eines Lesers mit in Aussicht Stellung einer kleinen Spende entstanden.
Solltest Du noch Fragen zu diesem Thema haben, dann scheue dich nicht, einen Kommentar zu schreiben oder mich unter sandra@plietsche-kate.de zu kontaktieren.