Publicado el 18.06.2022 a las 14:41
Tengo corriendo una ESP32 en el campo de mi padre para controlar el riego.
Cada 3 semanas se queda bloqueada y tengo que reiniciarla. Sospecho que sea una fuga de memoria ocasionada por una librer铆a que uso para comunicar con un servicio MQTT en la nube.
Mientras que saco tiempo para analizarlo en profundidad he decidido programar un reseteo de la placa cuando quede muy poca memoria disponible.
Escribo este art铆culo porque el reseteo no es tan f谩cil como escribir ESP.restart()
. Es cierto que reinicia la placa, pero no completamente. En mi caso nunca consigue volver a conectar con el hotspot despu茅s del ESP.restart()
.
Incluye las librer铆as esp_int_wdt.h
y esp_task_wdt.h
#include <esp_int_wdt.h> #include <esp_task_wdt.h> void hard_restart() { esp_task_wdt_init(1, true); esp_task_wdt_add(NULL); while (true); }
Hasta luego 馃枛