Reset d'un esp8266

Je veux envoyer sur un broker MQTT mosquito des infos : date, heure, et données d'un BMP280.

Physiquement :

Un panneau solaire recharge un accu li-ion 18650 avec un
5V-1A-1S-3-7V-Li-ion-18650-Lithium-Lipo-Battery-Charging-Module-Charger-Board
L'alim est maintenue à 5v avec un
0.9V-5V to 5V DC-DC Booster USB Mobile Step-up Power Supply Module
L'accu est protégé d'une décharge profonde par
3A Protection Board for 1S 3.7V 18650 Li-ion lithium Battery W/ Solder Belt

Je sais, y a pas mal de pertes

Tout fonctionne à merveille le panneau solaire recharge l'accu, l'accu alimente l'ESP8266, il faut 3 jours ensoleillés pour recharger l'accu et panneau solaire débranché en ayant un démarrage qui se connecte à la box, va chercher l'heure sur un serveur NTP, recueille les données du BMP280, envoie sur le broker puis se met en deep sleep durant une minute, l'accu se met en sécurité au bout de 4 jours.
Si je compte un démarrage toutes les demi-heures cela donne de la marge...

SAUF que plusieurs jours sans soleil c'est possible, cela ne gêne pas à la limite à condition que une fois le soleil revenu on puisse reprendre les choses.

Si l'accu est en sécurité (rôle du BMS) l'esp8266 est à l'arrêt mais quand le soleil réapparaît le chargeur libère le bms pas tout de suite mais l'esp8266 est alimenté avec une intensité fournie insuffisante il démarre mal et même une fois l'accu entièrement rechargé, il reste incapable de faire son programme, la seule chose qui le remet correctement en marche est un reset manuel.

Mais faire un reset manuel n'est pas envisageable dans l'appli

Il faut donc que l'esp ne soit alimenté que si le courant disponible est suffisant ou avoir un montage qui fasse un reset une fois par jour par exemple et sans consommer trop de courant :slight_smile:

J'ai testé l'esp en direct sur le panneau solaire :
Si on fait un reset manuel avec le panneau au soleil le démarrage est correct
Si l'esp est branché sur le panneau étant dans l'obscurité puis place le panneau au soleil l'esp est incapable de faire un blink banal, il lui faut un reset manuel.

Une idée ?

Dans les microcontrôleurs modernes, les fabricants ont implémenté le brownout detection. Ce dernier fait un reset du µC quand la tension d'alimentation devient suffisant entre autre.

Voici une Application note de Atmel pour une détection externe.

A+

Super !
Un grand merci.
J'avais déjà trouvé la solution 1 sur le web mais un MAX811T qui est en vente sur e...y, c'est tellement plus simple !