Forum: Mikrocontroller und Digitale Elektronik HTTP-Bootloader?


von Sebastian W. (wangnick)


Lesenswert?

Liebe Leute,

ich habe ein kleines Board mit W5500 und Atmega1284p entwickelt, das 
Heizkessel, Temperatursensoren und Öltankpegel überwacht und minütlich 
an eine URL übermittelt. Dort werden die Daten entgegengenommen und in 
eine MySQL-Datenbank geschrieben.

Ich möchte jetzt einen Bootloader über http entwickeln um die Anwendung 
auch aus der Ferne aktualisieren zu können. Ich stelle mir vor, dass 
beim Zugriff des uC auf die genannte URL ein zurückgeliefertes Flag 
einen Reset auslöst, und dass der Bootloader dann über eine weitere URL 
die neue hex-Datei der Anwendung entgegennimmt, den Flash entsprechend 
programmiert, und dann die neue Anwendung startet.

Ich kenne http://sowerbutts.com/optiboot-w5100/ und 
http://codebendercc.github.io/Ariadne-Bootloader/.

Gibt es weitere Projekte ähnlicher Art mit Anregungen für Lösungen?

LG, Sebastian

von holger (Gast)


Lesenswert?

Beitrag "LAN-Bootloader für AVR-NET-IO usw."

Vieleicht sollte man das mal in die Codesammlung packen.
Dann findet man es einfacher wieder;)

von chloro (Gast)


Lesenswert?

ich hab auch mal sowas geschrieben. es ist also machbar. dabei sollte 
man sich ueberlegen wie man das routing macht. Auf eine fixe Webseite?

von Sebastian W. (wangnick)


Lesenswert?

Liebe Leute,

ich bin jetzt so weit, dass ich auf Anforderung der alten Anwendung beim 
nächsten Reset eine Hex-Datei von einer URL laden und flashen kann. 
MAC-Adresse und URL sind im Eeprom abgelegt und können beim Start über 
den seriellen Port neu eingegeben und programmiert werden. Es fehlen 
allerdings noch DHCP und DNS-Auflösung des Servernamens, da werde ich 
mich mal bei LwIP umsehen. Der Bootloader ist zur Zeit knapp unter 4K 
gross. Nach Aufbau des PHY-Links (1.5 sec) ist eine 7K-Anwendung ist in 
0.8 sec vom Server heruntergeladen, geflasht und gestartet.

LG, Sebastian

von und (Gast)


Lesenswert?

unter verwendung von interrupts im Bootloader?

von Sebastian W. (wangnick)


Lesenswert?

und schrieb:
> unter verwendung von interrupts im Bootloader?

Nein, wieso?

LG, Sebastian

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.