Watchdog e recuperação do firmware

Recupere-se de raros travamentos de rede e erros no barramento do sensor sem subir na escada para reiniciar a placa.

Vista de cima de uma placa microcontroladora Arduino Uno azul sobre fundo branco
Placas compatíveis com Arduino rodam o sketch que lê as sondas e publica o JSON. Foto: Wikimedia Commons contributor. CC0

O hardware da garagem roda sem supervisão por meses. Travamentos raros (paradas do driver Ethernet, fragmentação de memória ou bloqueios no barramento dos sensores) saem mais baratos de resolver com um reset por watchdog do que com uma subida na escada. Um reset temporizado reinicia o microcontrolador e reinicializa os shields e os sensores.

Quando o watchdog ajuda

  • Travamento da pilha de rede depois de piscadas de energia no roteador.
  • Loop infinito de novas tentativas com a linha de dados do DHT22 desconectada.
  • Fila de clientes HTTP acumulada no W5100 após consultas constantes da nuvem.

Notas de implementação

Alimente o watchdog só quando o loop principal completar um ciclo inteiro: leitura dos sensores, atualização do LCD e manutenção do HTTP. Alimentá-lo com frequência demais mascara travamentos reais. Combine com a renovação de DHCP e a lógica de envio do JSON descritas em loop principal de leitura do sketch.

O que esperar na operação

Espere uma breve interrupção do JSON durante a reinicialização: segundos, não minutos. A depuração de leituras desatualizadas distingue as lacunas de reinicialização de erros de configuração do feed. Notas sobre empilhamento: empilhamento do shield Ethernet.