Aiuto su alimentazione solare

Ciao ho un esp8266 a cui ho collegato un sensore di temperatura dht22. Il tutto trasmette via mqqt i dati ogni minuto (ma penso di estendere il tempo a 10/15 minuti).
Sto pensando di usare il tutto per monitorare la temperatura esterna. Avendo in casa un piccolo pannellino da 5,5v di picco e 1 watt stavo addirittura immaginando di alimentarlo col sole.
Qui peró finisce la mia conoscenza. Come potrei fare? Immaginavo ad esempio di usare 3 o 4 ministilo ricaricabili. Mi basta collegare il pannello alle batterie e le batterie all'esp8266? Ci va forse qualche regolatore in mezzo? Può bastare un diodo sul pannello solare per evitare ritorno di corrente? Ma. Sopratutto regge la carica se non c'è sole per qualche giorno?

ciao non sono molto pratico, però mi è capitato per le mani proprio ieri sera questo progetto. prova a vedere se ti puo essere di aiuto.
https://www.danilolarizza.com/stazione-meteo-solare-wifi-v2-0/

Grazie. Più che altro si può nel codice farlo collegare al WiFi, comunicare la lettura e poi fare in modo che si disconnetta andando in una sorta di sleep mode che assorbe poco? Poi dopo 10 minuti si ricollega, invia la nuova lettura e così via?

L'ESP8266, contrariamete ad altre MCU che, quando escono dallo "sleep", proseguono l'esecuzione del programma dove avevano interrotto, genera all'uscita dal "deep sleep" un segnale sul GPIO16/D0, segnale che va collegato al pin di "reset" e che ... provoca la ripartenza del programma dall'inizio.

Detto questo, se vuoi usare il "deep-sleep" del ESP, devi immaginare il programma in modo che parta, faccia quello che deve fare e vada in "deep-sleep". Al riavvio, la sequenza si ripete :slight_smile:

Guglielmo

corrobor:
Ma. Sopratutto regge la carica se non c'è sole per qualche giorno?

Devi misurare l'energia richiesta (serra domotica con arduino - #5 by Claudio_FF - Hardware - Arduino Forum) e dimensionare pannello e batteria di conseguenza.

se vuoi andare sul sicuro ti serve un pannello da almeno 10W altrimenti con un paio di giorni in cui il cielo è nuvoloso ciao ciao batteria :slight_smile: nella mia stazioncina meteo dopo innumerevoli modifiche al circuito di ricarica adesso con un pannello da 35W riesce a ricaricare (poco) la batteria anche se piove

io, per me, anzi per il mio inganniere preferito, ho fatto quasi la stessa cosa a rovescio:
ho ridotto al minimo i consumi lato misura, e solo quando serve trasmetto NON in wi-fi ad una ESP12 che gestisce il lavoro sporco (ed energeticamente esoso), ma è in casa e attaccata alla corrente
io parolo sempre secondo me, ma eviterei wi-fi se sei a pile
se ti va prova a dare uno sguardo al mio "termoremoto non è termometro scritto sbagliato"

gpb01:
L'ESP8266, contrariamete ad altre MCU che, quando escono dallo "sleep", proseguono l'esecuzione del programma dove avevano interrotto, genera all'uscita dal "deep sleep" un segnale sul GPIO16/D0, segnale che va collegato al pin di "reset" e che ... provoca la ripartenza del programma dall'inizio.

Detto questo, se vuoi usare il "deep-sleep" del ESP, devi immaginare il programma in modo che parta, faccia quello che deve fare e vada in "deep-sleep". Al riavvio, la sequenza si ripete :slight_smile:

Guglielmo

Interessante. Quindi io scrivo il mio programma, invece di mandarlo in loop devo terminare con un comando di deepsleep indicandone il tempo (es 10 minuti)? Mi potresti dire come si scrive questa riga di codice? A questo punto collegando gpio0 a reset (direttamente?) si riavvia e riparte?

-zef-:
se vuoi andare sul sicuro ti serve un pannello da almeno 10W altrimenti con un paio di giorni in cui il cielo è nuvoloso ciao ciao batteria :slight_smile: nella mia stazioncina meteo dopo innumerevoli modifiche al circuito di ricarica adesso con un pannello da 35W riesce a ricaricare (poco) la batteria anche se piove

Beh chiaro. Stavo cercando di capire se c'è il modo di ridurre all'osso i consumi per realizzare a costo 0 ossia con quello che ho in casa.

Grazie a tutti

corrobor:
Mi potresti dire come si scrive questa riga di codice? A questo punto collegando gpio0 a reset (direttamente?) si riavvia e riparte?

Molto semplice, ricorda solo di unire il GPIO16/D0 con il pin di "reset", dopo di che, alla fine del codice da eseguire (io normalmente lascio vuoto il loop() e metto tutto nel setup()) metti:

#define SLEEPINTERVAL  1200000000UL // 20 minuti espressi in microsecondi
...
...
...
// Entra in "deep-sleep" per un periodo di SLEEPINTERVAL microsecondi (μsec) ...
ESP.deepSleep(SLEEPINTERVAL);
// ... ed, al risveglio, effettua un RESET della scheda ripartendo da capo con il setup()

Ricorda che è un vero e proprio "reset", quindi ricominci esattamente da capo :wink:

Guglielmo

P.S.: Ah, occhio, perché durante il "deep-sleep" e come se l'ESP fosse spento, tutti i pin vanno in three-state, ecc. ecc. ... tienine conto se ci comandi qualche cosa

Aspetta, io ho un esp8266 01 non ho quel pin, ho gpio0 e gpio2 oltre a en, reset, rx, TX, 3,3 e gnd...

Allora ti serve una saldatore e occhio buono

corrobor:
Aspetta, io ho un esp8266 01 non ho quel pin, ho gpio0 e gpio2 oltre a en, reset, rx, TX, 3,3 e gnd...

Ahi, ahi ... io lo uso su delle NodeMCU :slight_smile:

Guarda allora quanto ti ha linkato Brunello ... e spero tu abbia un saldatore a punta finissima, buon occhio e mano molto ferma! :wink:

Guglielmo

Ci provo

Ci sono riuscito. Ho messo un chiodino al posto della punta dello stagnatore. Funziona.
Ho fatto un programmino che mette high sulla gpio2 a cui ho collegato un led, faccio rimanere acceso 5 secondi, poi mando in deepsleep per 10 secondi. Dopo 10 secondi il led si riaccende quindi direi che funziona cioè si resetta!

Adesso misurare quanto consuma in deepsleep e quanto consuma facendo fare una lettura ogni 20 minuti tenendo conto che la lettura dura pochi secondi.

Potessi usare una batteria recuperata da un vecchio cellulare e quel pannellino...

Il dht22 secondo voi se lo alimento direttamente da gpio risparmio consumo? O rischio di avere letture non corrette perche non è "caldo" cioè ha bisogno di qualche minuto per assestarsi?

corrobor:
...
Il dht22 secondo voi se lo alimento direttamente da gpio risparmio consumo? O rischio di avere letture non corrette perche non è "caldo" cioè ha bisogno di qualche minuto per assestarsi?

Il DHT22 ha bisogno di almeno 2 secondi per assestarsi e trasmettere correttamente.
Il DATASHEET dice però che <5 secondi per lettura stabile dell'umidità e <10 secondi per una lettura stabile della temperatura (e questo a causa dell'autoriscaldamento del componente).
Quindi accendi, aspetti dieci secondi, fai un paio di letture e spegni.

Se è solo per temperatura e per ridurre i consumi, ai tempi delle prime prove del termoremtoto avevamo deciso che la soluzione migliore era un glorioso LM35, che prende "vita" in pochi mS

Il dht22 secondo voi se lo alimento direttamente da gpio risparmio consumo?

Consumi meno a collegarlo normalmente ai 3.3V

Adesso per le prove lo sto alimentando con un caricabatterie da cellulare (5v) con due diodi in serie sul positivo.
Ho provato ad alimentare con una batteria al litio recuperata da un vecchio cellulare (3,7v nominali), non viene caricata da una vita ma col tester leggo comunque 3,6. Il sistema si accende, si connette al WiFi ma non riesce a connettersi al broker mqqt. Sarà perché la batteria non è carica o non gli bastano 3.7v?
Effettivamente ero partito con 3 diodi in serie (la caduta su ciascuno è circa 0,5 e quindi pensavo di arrivare a 3,5v) ma avevo lo stesso problema. Quindi sto razza di esp8266 va a 3.3 o a 4 volt?

Mi sa che con quel pannello non ci faccio una mazza

E poi stavo pensando ad un altra cosa: devo mettere tutto il sistema chiaramente al sole. Ma il sensore di temperatura però così forse non è in posizione ottimale, andrebbe all'ombra... O sbaglio?

corrobor:
... Quindi sto razza di esp8266 va a 3.3 o a 4 volt?

... non so se hai notato, ma in Megatopic c'è un thread di oltre 180 pagine interamente dedicato al ESP8266.

Nella prima pagina troverai una serie di link a guide e tutorials che sicuramente ti permetteranno di chiarirti le idee ...

Guglielmo

Ops non mi ero accorto sorry