🛠 Sommeil profond et réveil sur broche WKP
Objectifs
Prolonger l'autonomie sur batterie : le Photon consomme environ 80 mA en fonctionnement Wi-Fi actif mais seulement ~80 µA en sommeil profond (datasheet, Power). Vous allez endormir la carte entre deux mesures et la réveiller via la broche WKP ou par une commande cloud à distance.
Matériel
- 1 Particle Photon alimenté par batterie (broche VIN 3,6–5,5 V, ou micro-USB)
- 1 interrupteur relié entre WKP et 3V3 pour le réveil matériel
- >
Code complet
// photon-sommeil-reveil.ino — mesure, sommeil profond, réveil WKP
#include <application.h>
void setup {
Serial.begin(9600);
pinMode(D7, OUTPUT);
digitalWrite(D7, HIGH);
int brut = analogRead(A0); // mesure avant de dormir
Particle.publish("capteur/brut", String(brut), PRIVATE);
digitalWrite(D7, LOW);
Serial.println("Endormissement...");
// >
// Device OS API reference (modes, delai, broche de réveil).
System.sleep(WKP, RISING, 3600, SLEEP_MODE_DEEP);
// Au réveil, le Photon redemarre : setup est rejoue.
}
void loop { }
Vérification attendue
Après le publish, la carte dort (consommation qui chute vers ~80 µA) ; un changement d'état sur WKP (ou l'expiration du délai) la réveille : elle redémarre, se reconnecte et publie une nouvelle valeur. Réveil à distance possible : curl 0 -d arg=please -H "Authorization: Bearer $TOKEN" (endpoint confirmé par la fiche).
Erreurs fréquentes
- Attendre une reprise du loop : en sommeil profond, le réveil est un redémarrage complet, tout le contexte est perdu.
- Oublier que le Wi-Fi se reconnecte à chaque réveil : comptez plusieurs secondes avant le premier publish.
- Négliger la variance inter-cartes : un cas documenté oppose 1 jour et 30 jours d'autonomie sur trois Photon identiques.
- Alimentation faible : en pic Wi-Fi il faut pouvoir fournir ~1 A côté de VIN.
Autres tutoriels pour cette carte
Exemples de code pour cette carte
clignotante.inoArduinobouton-evenement.inoArduinofonction-distance.inoArduinocapteur-dht.inoArduinoruban-neopixel.inoArduinopwm-respiration.inoArduino