Ripristinare un aggiornamento errato
Recuperi il dispositivo in sicurezza quando un caricamento non riesce.
Ripristinare un aggiornamento errato è una lezione Arduino & IoT Academy gratuita su CoddyKit. Questa è la lezione 4 di 4. Puoi leggere la lezione completa qui gratuitamente — poi esercitati direttamente nel browser con un editor di codice integrato e un tutor IA disponibile 24/7. Fa parte del percorso di apprendimento Arduino & IoT Academy, e i tuoi progressi si sincronizzano tra il web e l'app CoddyKit. Il corso Arduino & IoT Academy include 4 lezioni in totale.
Parti di questa lezione non sono ancora state tradotte e vengono mostrate in inglese.
Updates Can Go Wrong
Even careful OTA pushes sometimes ship broken code. A solid plan needs a way to roll back to firmware that actually worked.
The Brick Risk
If new firmware can't connect to WiFi, you lose OTA itself. Without a safety net the device becomes a useless brick.
Two Partitions Save You
The ESP32 keeps the old app in one slot while flashing the new one into another. The previous build is still intact if needed.
Mark a Build as Trusted
A fresh update boots in a pending state. Your code must prove it works and then confirm the image so it becomes permanent.
esp_ota_mark_app_valid_cancel_rollback();Self-Test on Boot
Before confirming, run a quick health check: did WiFi connect, did key sensors respond? Only then mark the build valid.
Auto Rollback on Failure
If a pending build crashes or reboots before confirming, the bootloader quietly returns to the last good firmware on its own.
Trigger It Yourself
You can also force a return to the previous image in code with esp_ota_mark_app_invalid_rollback_and_reboot() when a check fails.
esp_ota_mark_app_invalid_rollback_and_reboot();Use a Watchdog
A watchdog timer resets a frozen board. Paired with rollback, a hung update reboots straight back into working code.
Version Your Firmware
Stamp each build with a version number you can print over Serial, so you instantly know which image is actually running.
#define FW_VERSION "1.4.2"
Serial.println(FW_VERSION);Test on One Device First
Never push to your whole fleet at once. Update a single canary device, watch it, then roll out widely. 🐤
Always Keep a Recovery Path
Worst case, a USB cable still reflashes any board. Design so a bad OTA is an inconvenience, never a permanent loss.
Quick Check
Consider what happens if new firmware crashes before it confirms itself.
Recap
Keep two partitions, self-test then confirm each build, lean on auto rollback and a watchdog, and always leave a USB recovery path. 🛡️
Domande Frequenti
La lezione «Ripristinare un aggiornamento errato» è gratuita?
Sì — il testo completo di «Ripristinare un aggiornamento errato» è gratuito qui sul web. Per esercitarvi in modo interattivo (un editor di codice integrato e un tutor IA 24/7) e sbloccare il resto del corso Arduino & IoT Academy, passa a CoddyKit PRO. Il corso Arduino & IoT Academy include 4 lezioni in totale.
Cosa imparerò in «Ripristinare un aggiornamento errato»?
Recuperi il dispositivo in sicurezza quando un caricamento non riesce. Eserciti Arduino & IoT Academy con codice pratico che esegui direttamente nel browser, e un tutor IA 24/7 risponde alle tue domande mentre lavori sulla lezione.
Ho bisogno di esperienza per iniziare Arduino & IoT Academy?
Non è richiesta alcuna esperienza precedente. Arduino & IoT Academy su CoddyKit è strutturato per principianti e studenti avanzati, quindi puoi iniziare da qui o dall'inizio e procedere al tuo ritmo. Questa è la lezione 4 di 4.
Quanto tempo richiede la lezione «Ripristinare un aggiornamento errato»?
La maggior parte delle lezioni CoddyKit richiede circa 5–10 minuti. Ogni lezione è breve e interattiva, quindi fai progressi costanti e riprendi esattamente da dove hai lasciato su web e app.
Posso scrivere ed eseguire codice in questa lezione Arduino & IoT Academy?
Sì. Ogni lezione Arduino & IoT Academy include un editor di codice integrato, quindi scrivi ed esegui codice reale direttamente nel tuo browser e ricevi feedback istantaneo dall'IA — nessuna configurazione locale necessaria.
Tutte le lezioni di questo corso
- Perché OTA è importante sul campo
- Abilitare ArduinoOTA
- Ospitare una pagina web di aggiornamento
- Ripristinare un aggiornamento errato