Buona sera a tutta la comunità, ho la necessita di riavviare in modo autonomo e ciclico un esp32 dopo un’ora o due di funzionamento, se non vado errato devo richiamare la funzione ESP.restart . Ho dato un’occhiata in giro (esp_timer - Watchdog Timer) e mi sono un po’ perso, che consigli mi date? Un grazie in anticipo
Perché pensi di doverlo fare?
Ciao Uwe
Ciao , per ripristinare il collegamento WiFi e il modulo A9G in caso di perdita di segnale
unsigned long DELAY_TIME = 180000; // 3 minuti x test - 216000000 1 ora
unsigned long delayStart = 0;
bool delayRunning = false;
bool controllo = false;
void setup() {
controllo = false;
delayStart = millis();
delayRunning = true;
}
void loop() {
// controlla se il ritardo è scaduto
if (delayRunning && ((millis() - delayStart) >= DELAY_TIME)) {
delayStart += DELAY_TIME;
controllo = !controllo;
if (controllo) {
} else {
ESP.restart ();
}
}
}
Facendo un pò di prove questa sta funzionando egregiamente, sono sulla strada giusta o ci posso essere problemi?
Se fai il restart completo non servono tutte quelle righe:
if (millis()-delayStart > DELAY_TIME) { ESP.restart (); }
unsigned long DELAY_TIME = 180000; // 3 minuti x test - 3600000 1 ora
unsigned long delayStart = 0;
void setup() {
delayStart = millis();
}
void loop() {
if (millis()-delayStart > DELAY_TIME) { ESP.restart (); }
}
Grazie Claudio