Hospede uma página de atualização na Web
Envie o firmware por um formulário do navegador.
Hospede uma página de atualização na Web é uma aula grátis de Arduino & IoT Academy no CoddyKit. Esta é a aula 3 de 4. Você pode ler a aula completa abaixo gratuitamente — depois pratica ao vivo no navegador com um editor de código integrado e um tutor de IA 24/7. Faz parte do caminho de aprendizado de Arduino & IoT Academy, e seu progresso é sincronizado entre a web e o app CoddyKit. O curso de Arduino & IoT Academy inclui 4 aulas no total.
Partes desta aula ainda não foram traduzidas e aparecem em inglês.
Update From a Browser
Sometimes you want to flash a device without the Arduino IDE at all. A web update page lets anyone upload firmware from a browser.
The Board Becomes a Server
Your ESP32 runs a tiny web server that serves an upload form, so a phone or laptop can send it a new binary.
Bring In the Libraries
You combine a web server with the Update library, which knows how to write incoming bytes into flash memory.
#include <WebServer.h>
#include <Update.h>
WebServer server(80);Serve an Upload Form
The root page returns a simple HTML form with a file picker and a submit button for the firmware file.
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>");
});Where Did .bin Come From?
In the IDE, Sketch then Export Compiled Binary creates the .bin file you will pick in that upload form.
Open the Update Stream
When the upload starts, you tell the chip how big the image is so Update.begin() can reserve flash space for it.
Update.begin(UPDATE_SIZE_UNKNOWN);Write the Incoming Chunks
Firmware arrives in pieces. You feed each chunk to Update.write() as it lands, building the new image in flash.
Update.write(upload.buf, upload.currentSize);Finish and Verify
When the last byte arrives, Update.end(true) checks the image is complete and valid before marking it ready to boot.
if (Update.end(true)) Serial.println("Update OK");Reboot Into New Code
A successful update needs a fresh start. Call ESP.restart() so the board boots into the firmware you just uploaded. 🔄
ESP.restart();Guard the Page
Anyone who reaches this page can reflash your device, so add a login or token check before accepting any upload.
Keep the Server Alive
Just like OTA, the web server needs attention. Call server.handleClient() in loop so it can accept the upload request.
void loop() { server.handleClient(); }Quick Check
Think about which library actually writes firmware to flash.
Recap
Run a web server that serves an upload form, feed the .bin to the Update library, verify it, then restart, all guarded behind a login. 🌐
Perguntas Frequentes
A aula “Hospede uma página de atualização na Web” é grátis?
Sim — o texto completo de “Hospede uma página de atualização na Web” é grátis para ler aqui na web. Para praticá-la interativamente (um editor de código integrado e um tutor de IA 24/7) e desbloquear o restante do curso de Arduino & IoT Academy, atualize para CoddyKit PRO. O curso de Arduino & IoT Academy inclui 4 aulas no total.
O que vou aprender em “Hospede uma página de atualização na Web”?
Envie o firmware por um formulário do navegador. Você pratica Arduino & IoT Academy com código prático que executa diretamente no navegador, e um tutor de IA 24/7 responde suas dúvidas enquanto trabalha na aula.
Preciso ter experiência prévia para começar Arduino & IoT Academy?
Nenhuma experiência prévia é necessária. Arduino & IoT Academy no CoddyKit é estruturado para alunos iniciantes até avançados, então você pode começar aqui ou desde o início e aprender no seu ritmo. Esta é a aula 3 de 4.
Quanto tempo leva a aula “Hospede uma página de atualização na Web”?
A maioria das aulas CoddyKit leva cerca de 5–10 minutos. Cada uma é compacta e interativa, então você faz progresso constante e retoma exatamente de onde parou entre web e app.
Posso escrever e executar código nesta aula de Arduino & IoT Academy?
Sim. Cada aula de Arduino & IoT Academy inclui um editor de código integrado, então você escreve e executa código real direto no navegador e recebe feedback de IA instantaneamente — nenhuma configuração local necessária.
Todas as aulas deste curso
- Por que OTA é importante em campo
- Ative ArduinoOTA
- Hospede uma página de atualização na Web
- Reverta uma atualização com problemas