Een webpagina voor updates hosten
Upload firmware vanuit een browserformulier.
Een webpagina voor updates hosten is een gratis Arduino & IoT Academy-les op CoddyKit. Dit is les 3 van 4. Je kunt de volledige les hieronder gratis lezen en daarna in de browser praktisch oefenen met een ingebouwde code-editor en een AI-begeleider die 24/7 beschikbaar is. Deze les maakt deel uit van het leertraject Arduino & IoT Academy. Je voortgang wordt gesynchroniseerd op het web en in de CoddyKit-app. De cursus Arduino & IoT Academy bevat in totaal 4 lessen.
Updaten vanuit een browser
Soms wil je een apparaat flashen zonder de Arduino IDE te gebruiken. Met een webpagina voor updates kan iedereen firmware vanuit een browser uploaden.
Het bord wordt een server
Je ESP32 voert een kleine webserver uit die een uploadformulier aanbiedt, zodat een telefoon of laptop een nieuwe binaire versie kan verzenden.
Voeg de bibliotheken toe
Je combineert een webserver met de bibliotheek Update, die weet hoe binnenkomende bytes naar het flashgeheugen moeten worden geschreven.
#include <WebServer.h>
#include <Update.h>
WebServer server(80);Bied een uploadformulier aan
De hoofdpagina retourneert een eenvoudig HTML-formulier met een bestandskiezer en een verzendknop voor het firmwarebestand.
server.on("/", []() {
server.send(200, "text/html",
"<form method='POST' action='/update' enctype='multipart/form-data'><input type='file' name='fw'><input type='submit'></form>");
});Waar kwam .bin vandaan?
In de IDE maakt Sketch en vervolgens Export Compiled Binary het .bin-bestand dat je in dat uploadformulier selecteert.
Open de updatestroom
Wanneer de upload begint, geef je de chip de grootte van de image door, zodat Update.begin() er ruimte voor kan reserveren in flash.
Update.begin(UPDATE_SIZE_UNKNOWN);Schrijf de binnenkomende delen
Firmware komt in delen binnen. Je geeft elk deel aan Update.write() zodra het aankomt en bouwt zo de nieuwe image op in flash.
Update.write(upload.buf, upload.currentSize);Voltooien en controleren
Wanneer de laatste byte is aangekomen, controleert Update.end(true) of de image volledig en geldig is voordat deze wordt gemarkeerd als klaar om te starten.
if (Update.end(true)) Serial.println("Update OK");Herstarten met nieuwe code
Een geslaagde update heeft een nieuwe start nodig. Roep ESP.restart() aan, zodat het bord opstart met de firmware die je zojuist hebt geüpload. 🔄
ESP.restart();Beveilig de pagina
Iedereen die deze pagina kan bereiken, kan je apparaat opnieuw flashen. Voeg daarom een aanmelding of tokencontrole toe voordat je een upload accepteert.
Houd de server actief
Net als OTA heeft de webserver aandacht nodig. Roep server.handleClient() aan in loop, zodat deze het uploadverzoek kan accepteren.
void loop() { server.handleClient(); }Korte controle
Denk na over welke bibliotheek firmware daadwerkelijk naar flash schrijft.
Samenvatting
Voer een webserver uit die een uploadformulier aanbiedt, geef het .bin-bestand aan de bibliotheek Update, controleer het en herstart vervolgens alles, beveiligd met een aanmelding. 🌐
Leer C++ met een AI-tutor — gratis
Schrijf echte code en voer die uit in je browser, krijg direct hulp van een AI-tutor die 24/7 beschikbaar is en ga verder waar je gebleven bent op het web of in de app.
- Cursussen
- 30
- Lessen
- 120
Veelgestelde vragen
Is de les “Een webpagina voor updates hosten” gratis?
Ja — de volledige tekst van “Een webpagina voor updates hosten” kun je hier gratis op het web lezen. Als je interactief wilt oefenen met een ingebouwde code-editor en een AI-begeleider die 24/7 beschikbaar is, en de rest van de cursus Arduino & IoT Academy wilt ontgrendelen, kun je upgraden naar CoddyKit PRO. De cursus Arduino & IoT Academy bevat in totaal 4 lessen.
Wat leer ik in “Een webpagina voor updates hosten”?
Upload firmware vanuit een browserformulier. Je oefent met Arduino & IoT Academy door code rechtstreeks in de browser uit te voeren. Een AI-begeleider die 24/7 beschikbaar is beantwoordt je vragen terwijl je de les doorwerkt.
Heb ik ervaring nodig om met Arduino & IoT Academy te beginnen?
Ervaring vooraf is niet nodig. Arduino & IoT Academy op CoddyKit is opgebouwd voor beginners tot gevorderden, zodat je hier of bij het begin kunt starten en in je eigen tempo kunt leren. Dit is les 3 van 4.
Hoe lang duurt de les “Een webpagina voor updates hosten”?
De meeste lessen van CoddyKit duren ongeveer 5–10 minuten. Elke les is kort en interactief, zodat je gestaag vooruitgaat en op het web en in de app precies verdergaat waar je was gebleven.
Kan ik code schrijven en uitvoeren in deze les over Arduino & IoT Academy?
Ja. Elke les over Arduino & IoT Academy bevat een ingebouwde code-editor, zodat je rechtstreeks in je browser echte code kunt schrijven en uitvoeren en direct feedback van AI krijgt — lokale installatie is niet nodig.
Alle lessen in deze cursus
- Waarom OTA belangrijk is in het veld
- ArduinoOTA inschakelen
- Een webpagina voor updates hosten
- Een mislukte update terugdraaien