sommeil-basse-consommation.ino
El ciclo de supervivencia a batería: despertar, medida DHT, publicación cloud y luego sueño profundo de 60 s con la radio apagada. Reiniciar cada ciclo simplifica el firmware a cambio de una reconexión cloud: el clásico compromiso del sensor a pila.
Hardware
Un módulo Particle Photon (Wi-Fi 2,4 GHz, microcontrolador STM32, blindaje metálico) alimentado por USB o VIN. 1 sensor DHT11 + batería LiPo (el módulo gestiona la carga en su borne VUSB/VIN).
Cableado
DHT en D5 como en el ejemplo del sensor; batería en las pads LiPo. Antena externa si la caja es metálica.
Funcionamiento
System.sleep(SLEEP_MODE_DEEP, 60) corta todo salvo el temporizador de despertar; la placa arranca de nuevo desde setup(). WiFi.off/Cellular.off evitan el consumo residual de la radio.
Ejecución
Con el CLI de Particle: particle flash --serial (modo DFU, doble reset) o flash OTA cuando la placa esté en línea. El Safe Mode (reset + WiFi) sirve para depurar.
Variantes
Despertar por interrupción externa (interrupt en D2 para un detector), o adaptativo: alargar el sueño mientras la medida es estable.
sommeil-basse-consommation.ino
// Cycle basse consommation : mesure, publication, Stop 60 s.
// Le lien cloud est coupe pendant le Stop (reconnexion au reveil).
#include "DHT.h"
DHT dht(D5, DHT11);
void setup() {
Serial.begin(9600);
dht.begin();
Particle.process(); // laisse la connexion s'etablir
}
void loop() {
// 1) Rejoindre le cloud (bloquant jusqu'a 10 s).
if (!Particle.connected()) Particle.connect();
// 2) Mesurer et publier.
dht.measure();
char trame[64];
snprintf(trame, sizeof(trame), "{\"t\":%.1f,\"h\":%.1f}",
dht.readTemperature(), dht.readHumidity());
Particle.publish("mesure-batterie", trame, 60, PRIVATE);
// 3) Endormissement : radio eteinte, courant divise.
Serial.println("Endormissement 60 s...");
Serial.flush();
WiFi.off();
Cellular.off(); // ignore sur les modeles sans cellulaire
delay(100);
System.sleep(SLEEP_MODE_DEEP, 60); // deep sleep 60 s
// Au reveil, la carte redemarre depuis setup() :
// le cycle complet se repete a chaque reveil.
}
// Sur batterie 180 mAh, le deep sleep entre deux publications
// fait tenir des semaines ; verifier le courant reel de sa variante.