Arduino & IoT Academy · Aula

Reverta uma atualização com problemas

Recupere-se com segurança quando um envio der errado.

Aula 4 de 413 etapas

Reverta uma atualização com problemas é uma aula grátis de Arduino & IoT Academy no CoddyKit. Esta é a aula 4 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.

As atualizações podem dar errado

Mesmo atualizações OTA cuidadosas às vezes enviam código com problemas. Um plano sólido precisa de uma forma de reverter para um firmware que realmente funcionava.

O risco de inutilizar o dispositivo

Se o novo firmware não conseguir se conectar ao WiFi, o próprio OTA será perdido. Sem uma rede de segurança, o dispositivo se torna um tijolo inútil.

Duas partições salvam você

O ESP32 mantém o aplicativo antigo em um espaço enquanto grava o novo em outro. A compilação anterior continua intacta, caso seja necessária.

Marque uma compilação como confiável

Uma atualização nova é inicializada em estado pendente. Seu código precisa comprovar que ela funciona e então confirmar a imagem para que se torne permanente.

esp_ota_mark_app_valid_cancel_rollback();

Autoteste na inicialização

Antes de confirmar, faça uma rápida verificação de integridade: o WiFi se conectou? Os sensores principais responderam? Só então marque a compilação como válida.

Reversão automática em caso de falha

Se uma compilação pendente travar ou reiniciar antes da confirmação, o carregador de inicialização retorna silenciosamente ao último firmware bom por conta própria.

Acione você mesmo

Você também pode forçar o retorno à imagem anterior no código com esp_ota_mark_app_invalid_rollback_and_reboot() quando uma verificação falhar.

esp_ota_mark_app_invalid_rollback_and_reboot();

Use um temporizador de vigilância

Um temporizador de vigilância reinicia uma placa congelada. Junto com a reversão, uma atualização travada reinicia diretamente no código funcional.

Versione seu firmware

Identifique cada compilação com um número de versão que você possa imprimir pela porta serial, para saber imediatamente qual imagem está realmente em execução.

#define FW_VERSION "1.4.2"
Serial.println(FW_VERSION);

Teste primeiro em um dispositivo

Nunca atualize toda a sua frota de uma só vez. Atualize um único dispositivo canário, monitore-o e depois faça a distribuição ampla. 🐤

Mantenha sempre um caminho de recuperação

No pior caso, um cabo USB ainda permite regravar qualquer placa. Projete o sistema para que um OTA defeituoso seja um inconveniente, nunca uma perda permanente.

Verificação rápida

Considere o que acontece se o novo firmware travar antes de se confirmar.

Recapitulação

Mantenha duas partições, faça um autoteste e confirme cada compilação, conte com a reversão automática e um temporizador de vigilância, e deixe sempre um caminho de recuperação por USB. 🛡️

Grátis para começar

Aprenda C++ com um tutor de IA — grátis

Escreva e execute código real no seu navegador, obtenha ajuda instantânea de um tutor de IA 24/7 e continue de onde parou na web ou no app.

Cursos
30
Aulas
120

Perguntas Frequentes

A aula “Reverta uma atualização com problemas” é grátis?

Sim — o texto completo de “Reverta uma atualização com problemas” é 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 “Reverta uma atualização com problemas”?

Recupere-se com segurança quando um envio der errado. 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 4 de 4.

Quanto tempo leva a aula “Reverta uma atualização com problemas”?

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

  1. Por que OTA é importante em campo
  2. Ative ArduinoOTA
  3. Hospede uma página de atualização na Web
  4. Reverta uma atualização com problemas
← Voltar para Arduino & IoT Academy