Resetea una microcontroladora por software 馃捇

Publicado el 18.06.2022 a las 14:41

Resetea una microcontroladora por software 馃捇

Resetea una microcontroladora por software 馃捇

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().


Soluci贸n

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 馃枛

Servicios

Software

IoT

Digitalizaci贸n

Aplicaciones m贸viles

Consultor铆a

fjmduran.com v0.2.2