Watchdog y recuperación del firmware

Recupérate de bloqueos de red y errores del bus de sensores poco frecuentes sin subir a una escalera para reiniciar la placa.

Vista superior de una placa microcontroladora Arduino Uno azul sobre fondo blanco
Las placas compatibles con Arduino ejecutan el sketch que consulta las sondas y publica JSON. Foto: Wikimedia Commons contributor. CC0

El hardware del garaje funciona sin supervisión durante meses. Los bloqueos poco frecuentes (el driver de Ethernet que se cuelga, la fragmentación de memoria o un bus de sensores bloqueado) se resuelven más barato con un reinicio por watchdog que subiendo a la escalera. Un reinicio temporizado rearranca el MCU y vuelve a inicializar los shields y los sensores.

Cuándo ayuda el watchdog

  • La pila de red se congela tras microcortes de luz en el router.
  • Bucle infinito de reintentos con la línea de datos de un DHT22 desconectada.
  • Cola de clientes HTTP acumulada en el W5100 tras un sondeo continuo desde la nube.

Notas de implementación

Alimenta el watchdog solo cuando el bucle principal complete un ciclo entero: lectura de sensores, actualización de la LCD y tareas HTTP. Alimentarlo con demasiada frecuencia oculta bloqueos reales. Combínalo con la renovación DHCP y la lógica de servicio del JSON descrita en bucle principal de sondeo del sketch.

Qué esperar en la práctica

Cuenta con una breve interrupción del JSON durante el reinicio: segundos, no minutos. La depuración de lecturas obsoletas distingue los huecos por reinicio de una mala configuración del feed. Notas sobre el apilado de Ethernet: apilar el shield Ethernet.