Les tests et les commentaires des forums sont unanimes, on peut utiliser la fonction DeepSleep de l'esp32 pour le mettre en veille , et dans tous les cas il faut une méthode de réveil et éviter de les mettre dans le coma difficilement réversible.
La meilleure performance en veille (serait) une consommation de 12 milli Ampères ce qui est très insuffisant pour ces Esp.
Je vous propose un montage un peu tiré par les cheveux mais qui fonctionne parfaitement.
Autre option, le solaire, il existe des montages simples à réaliser.
On va utiliser un autre modèle d'Arduino comme commande de relais d'alimentation de l'Esp, un ATTINY 45 ou 85 qui se programme comme un Arduino mais qui consomme en veille sur une alimentation de 3.3 V par plus de 7 micro Ampères et réveillé par un timer interne .
Le transistor 2N2222A en mode bloqué supporte jusqu'à 900 mA ce qui est largement suffisant dans notre cas.
************Modifcations au 01/05/2020*****************
Api_d nous propose une alternative en changeant de transistor, ce qui est fort appréciable pour une puissance supérieure, en effet le montage que je vous propose ne fonctionnera pas avec une carte plus gourmande en énergie.
Pour plus de souplesse j'ai testé un système avec un transistor à effet de champ à grille isolée plus couramment nommé MOSFET modèle courant P16NF06 . Le schéma est un peu différent mais s'il est un peu plus cher , ll peut passer beaucoup plus de puissance. Alimenter des relais , des Esp plus gourmands en Wifi etc ...
Le code attiny ne change pas.
La résistance R1 limite le courant de sortie du attiny < 20 mA
La résistance R2 décharge le condensateur interne du Mosfet à la veille du attiny et coupe le circuit externe.
************FIN Modifcations au 01/05/2020*****************
A vous d'améliorer ce montage, les batteries 18650 restent fragiles quand leur tension descend en dessous de 3 v (elles existent aussi en mode protégé) , rechargez les au moins avant 6 mois ou vous pouvez modifier le codes pour y mettre un témoin de charge batterie en entrée analogique, ou mettre une Zener pour bloquer le courant en dessous d'une certaine valeur, ou utiliser une carte BMS etc ...
Le Attiny consomme vraiment très peu , sa batterie peut tenir plus d'un an .
Je suis preneur des améliorations.
cablage et programmation d'un AtTiny
Installation de la carte ATTINY
Installation de la bibliothèque tinysnore ( deep sleep )
Choix de la carte et du programmateur , mettez bien la clock à 8Mhz
et choisissez votre modèle d'Attiny, la différence entre le at45 et le at85 c'est la taille de la mémoire
Première programmation du microcontrôleur ATtiny : si la puce est programmée pour la première fois, allez dans Outils et faites « Graver la séquence d’initialisation ». Ceci n’est pas à refaire pour une reprogrammation de la puce.
Chargez le code "sleepy_blink_at45_20sU-30mnL.ino" , branchez votre programmateur, vérifiez le port com et téléversez.
Vous pouvez au préalable modifier ce code pour faire des tests
20sU correspond à 20 sec en fonctionnement
30mnL correspond à 30 mn en veille
Sachant que le sketch pour l'Esp, on envoie les valeurs de charge toutes les 7 sec (paramétrable), temps de démarrage du module compris on recevra toutes les 30 mn 2 valeurs séparées de 7 sec
digitalWrite(led, HIGH);
delay(20000); // 20 seconds, using full power
digitalWrite(led, LOW);
snore(1780000); // Deep sleeps for 30 mn
Vous pouvez utiliser ce module: https://fr.aliexpress.com/item/32647690484.html
très performant en wifi sur lequel vous installez EspEasy et des sondes de températures et autres sans programmation et compatibles avec la VM présentée dans ce tuto -->mqtt
Source principale à l'origine de ce projet: https://projetsdiy.fr un grand Merci !
Et bien que le sujet soit différent, une excellentissime source de développement Arduino, je cite : https://www.locoduino.org
Et bien sûr le forum Arduino Francophone.
Voilà c'est fini pour ce projet, amis apiculteurs, mes respects .