Questo post fa parte del progetto La Domotica Fai-da-me, è l’evoluzione del sensore di temperatura a batteria, lo migliora in tre punti fondamentali:
- Il sensore è un SHT30 e non un DHT22, questo sensore è molto più preciso ed affidabile, oltre che lavora su bus I2C ed è semplicissimo da interfacciare
- La batteria è una LiPo, collegata allo shield apposito, dovrebbe durare molto di più ed è più piccola del kit di tre pile stilo AA che uso adesso.
- La trasmissione dei dati è basata su MQTT e non più su http (dovrei aver ridotto il consumo vita la leggerezza del protocollo)
Il post esce quando il sensore è operativo da meno di un mese, l’effettiva durata della batteria l’ho provata abbassando il periodo di deep sleep da 30′ a 4”. Il sensore ha inviato la lettura circa 25000 volte prima che la batteria si scaricasse. A una lettura ogni mezz’ora fa una durata stimata di più di 3un anno. Non male, le tre stilo della versione precedente durano meno di 3 mesi.
La lista della spesa (da prendere con le pinze, le schede cambiano e si aggiornano, se trovate schede aggiornate potreste aver bisogno di fare saldature diverse o cambiare leggermente il codice).
- Scheda WeMos D1 Mini
- Shield WeMos SHT30
- Shield WeMos LiPo battery
- Una resistenza da 100kΩ
- Una o più batterie LiPo da 3,7V (capacità a piacere)
Come per tutti gli altri progetti è necessario saldare i connettori sulle schede, io ho messo, in ordine dal basso verso l’alto:
- Scheda D1 Mini (sotto a tutte)
- Shield batteria (in mezzo)
- Shield SHT30 (in alto, all’aria aperta)
Alcune note sull’evoluzione delle schede.
Uso le WeMos D1 mini da un po’ di tempo, durante questi anni il produttore le ha migliorate continuamente, mantenendo la retrocompatibilità. Il codice scritto quindi dovrebbe funzionare su tutte le schede dalla prima versione a quella attuale (a quando scrivo il post). Ad esempio adesso, con le nuove schede non è più necessario saldare i pin D1 e RST per avere la funzione di reset, c’è una piazzola da riempire di stagno e voilà il problema è risolto. Se avete una scheda senza questa versione, è necessario saldare di due PIN D1 e RST sullo shield del sensore e rimuoverlo se si carica lo scketch sulla scheda. Se i due pin sono saldati l’upload del programma non va a buon fine (almeno a me). De usate la D1 mini Lite vi faccio tanti cari auguri, da programmare è un po’ complessa e sul Mac non ci sono riuscito.
Lo shield del sensore SHT30 adesso ha il sensore staccabile, in modo da poter inscatolare il tutto e mettere solo il sensore fuori dalla stessa. Attenzione al cavetto e allo shield aggiuntivo da prendere per fare il collegamento.
Lo shield della batteria ha un connettore diverso da quello della prima versione e ha una piazzola per collegare direttamente la batteria al pin A0 per leggerne il valore di carica, in questo caso non è più necessario saldare la resistenza da 100KΩ tra il + della batteria e il pin A0. Credo che a questo punto cambi anche il codice da mettere nel programma. Non ho questo shield nuovo e non so se e come funziona.
Attenzione al connettore delle batterie! Si devono comprare quelle giuste, se no sarà un casino da gestire, soprattutto se la scheda e il carica batterie hanno pin diversi.
Dai, iniziamo
Come prima cosa è necessario saldare i connettori, come già detto più su, per ottenere la nostra torre. Prima di assemblarla, e seconda della versione della scheda WeMos e dello shield della batteria, si deve saldare una resistenza da 100kΩ sullo shield della batteria tra il + del connettore della batteria e il pin A0. Poi, sullo shield del sensore si devono saldare insieme i PIN D1 e RST. L’immagine qui sotto è presa dal sito del progetto da cui ho attinto il codice
Il codice si trova, tutto commentato, sulla consueta pagina di GitHub
Per poter leggere le temperature è necessario avere il broker MQTT attivo (come indicato nell’apposito articolo) e avere il programma che ne legge i dati e li memorizza nel DB sempre attivo, anche qui c’è un articolo dedicato.
Alcune note sulla batteria
Le LiPo si comportano in modo diverso dalle classiche batterie ricaricabili AA, bisogna fare un po’ di attenzione in più, sopratutto a questi punti:
- Hanno una corrente massima di scarica molto elevata, evitate assolutamente di mettere in corto + e –
- Se sono gonfie, smaltitele subito
- Vanno ricaricate solo ed esclusivamente con carica batterie appositi
- Se vengono caricate con troppa corrente o oltre la loro capacità possono gonfiare e scoppiare
- Non si deve mai e poi mai tentare di bucarne la confezione
La validità delle batterie termina a circa 2,5V, poi non ce la fanno più ad alimentare la scheda (o meglio, la scheda non riesce ad alzare la tensione inferiore a 2,5V fino ai 3,3V necessari per far funzionare il tutto) . Si può mettere nel codice una sorta di alert che avvisa via Telegram (con il bot creato realizzando questo progetto) se una batteria è sotto i 2,8 in modo da avere tempo per cambiarla. Si deve aggiungere al programma che memorizza i dati dal canale MQTT che se trova 130°C e 100% di umidità o -45°C e 100% di umidità non deve salvare questi dati.
Per ovvi motivi, più la batteria è capiente, più questa durerà, ma sarà più voluminosa e pesante, la scelta dipende dai dove si vuole mettere il sensore.
Lo shield per le batterie ha anche una presa micro USB, questa serve per ricaricare la batteria senza doverla staccare dalla scheda. Un’evoluzione interessante, magari per un sensore esterno, è quella di collegarla a un pannello solare. Non l’ho ancora provato, ma potrebbe essere la soluzione definitiva per non dover più cambiare la batteria, soprattutto nei sensori esterni.
Il progetto è rilasciato con licenza GPL V.3 (Open Source), quindi puoi prenderlo, fartelo a casa, modificarlo e pubblicarlo a nome tuo. Se lo condividi modificato devi citare questo sito (www.iltucci.com) come fonte principale.
Grazie per questo progetto!
Vedo che i link portano su componenti LOLIN, forse WEMOS ha cambiato nome.
Capisco che le batterie sono molteplici, sarebbe utile avere un link o una chiave di ricerca per il connettore giusto.
Non sono riuscito a trovare i data sheet e le librerie per i componenti attuali: puoi darmi una dritta?
Grazie!
Wemos è diventata Lolin anni fa, confermo.
Per il connettore ci ho rinunciato, non l’ho mai trovato per questo ho fatto l’accrocchio.
I componenti funzionano nello stesso modo, è solo cambiato il nome, sul sito del produttore trovi tutte le informazioni