mercoledì 14 dicembre 2016
Particle Electron Sleep Mode
Dopo il precedente post ho provato ad utilizzare le funzioni di risparmio energietico di Particle Electron in modo da massimizzare il tempo di durata della batteria
Nel precedente tentativo la batteria (da 2000 mAh) si esauriva dopo circa 24 ore
Usando la modalita' di sleep e spengendo l'apparato di trasmissione cellulare pur inviando un dato ogni 10 minuti (vedi grafico sottostante) l'autonomia e' passata ad oltre 4 giorni (piu' precisamente 4.3)
utilizzando un risparmio piu' aggressivo (tipo un dato ogni ora) si puo' tranquillamente superare una settimana di autonomia in sola alimentazione da batteria per arrivare a quasi un mese utilizzando batterie piu' capienti.
---------------------------------------
#include "cellular_hal.h"
STARTUP(cellular_credentials_set("ibox.tim.it", "", "", NULL));
int status;
int counter = 0;
double batteria = 0.0;
int sleepInterval = 10; //Specify minutes between each reading sent
void fuel()
{
FuelGauge fuel;
batteria = static_cast<double>(fuel.getSoC());
}
void connect_status()
{
RGB.control(false);
Cellular.on();
Cellular.connect();
delay(10000);
Particle.connect();
//waitUntil(Particle.connected);
delay(20000);
Particle.connect();
while(status < 3)//send one reading
{
if(Cellular.ready() && Particle.connected() == true)
{
delay(10000);
fuel();
if(Particle.publish("batteria", "batteria") == true)
{
delay(10000);
status++;
}
else if(Particle.publish("batteria", "batteria") == false)
{
Cellular.on();
Cellular.connect();
delay(20000);
Particle.connect();
status=status -1;
delay(20000);
}
}
else
{
Cellular.on();
Cellular.connect();
delay(10000);
Particle.connect();
status=0;
delay(10000);
}
}
}
void setup() {
Time.zone(+1);
RGB.control(false);
Particle.variable("batteria", &batteria, DOUBLE);
}
void loop() {
RGB.control(false);
if(counter == 0)
{
delay(5000);
fuel();
Particle.publish("batteria", "batteria");
delay(5000);
counter =1;
}
System.sleep(D0, RISING, sleepInterval * 60); //Puts device in stop mode
delay(1500);
status=0;
connect_status();
}
---------------------------------------
Iscriviti a:
Commenti sul post (Atom)
Debugger integrato ESP32S3
Aggiornamento In realta' il Jtag USB funziona anche sui moduli cinesi Il problema risiede nell'ID USB della porta Jtag. Nel modulo...
-
In questo post viene indicato come creare uno scatterplot dinamico basato da dati ripresi da un file csv (nel dettaglio il file csv e' c...
-
Questo post e' a seguito di quanto gia' visto nella precedente prova Lo scopo e' sempre il solito: creare un sistema che permet...
-
La scheda ESP32-2432S028R monta un Esp Dev Module con uno schermo TFT a driver ILI9341 di 320x240 pixels 16 bit colore.Il sito di riferiment...
Nessun commento:
Posta un commento