ESPHome per monitorare CO2 e qualità dell'aria con Home Assistant
Coding
Scritto da Vincenzo Caputo
Continua la serie dei contenuti dedicati al mondo di ESPHome con un semplice, ma estremamente interessante progettino, che riguarda la realizzazione, e l'integrazione in Home Assistant, di un sensore di C02 realizzato con un micro-controllore ESP32 ed un sensore SCD40.
Prima di iniziare a parlare dell'argomento del giorno, vi ricordo che qualche settimana fa abbiamo pubblicato un video, sul nostro canale YouTube MissingTech ed un articolo su questo Blog, che aveva come argomento la realizzazione di un attuatore domotico a 4 canali con connettività WiFi, simile ad un Sonoff 4CH ma con un costo di realizzazione molto più basso.
Suddetto articolo lo potete leggere al seguente link:
4 Canali a contatto pulito a meno di 5 euro con ESPHome!
Sempre nella stessa categoria abbiamo pubblicato ancora un video ed un articolo dove ho mostrato come utilizzare un sensore di luminosità ambientale sempre collegato allo stesso esp32 con soglia di attivazione per un punto luce, contenuto disponibile al seguente link:
Sensore luce ambiente per Home Assistant con ESPHome
E, se l'argomento vi appassiona, vi segnalo un ulteriore contenuto, di cui potrete leggere (e guardare il video) al seguente link, che aveva come argomento la programmazione di un sensore ultrasonico con attivazione di 4 relè in base alla distanza di un oggetto.
ESPHome per misurare le distanze con un sensore Ultrasonico!
Come detto, oggi ci occuperemo della programmazione di un sensore di C02, ma in realtà il sensore che useremo è un 3 in 1 (temperatura, umidità e C02).
A cosa ci serve monitorare la C02 dentro la nostra abitazione?
Ci spiegano, già dalle scuole elementari, che quando respiriamo, tratteniamo l'ossigeno attraverso i nostri polmoni ed emettiamo CO2 (detta anche anidride carbonica, o in "chimichese" biossido di carbonio o ancora diossido di carbonio).
La CO2 è anche spesso alla ribalta delle news che riguardano il riscaldamento globale, il green deal, la mobilità elettrica, Greta Thunberg e chi più ne ha più ne metta!
Naturalmente non parleremo di riscaldamento globale e di livelli di C02 nell'atmosfera, ma ci limiteremo in questa circostanza al perimetro della nostra abitazione smart.
In generale la qualità dell’aria delle nostre abitazioni rappresenta uno dei principali fattori che determinano il nostro stato di salute.
Incredibile a dirsi ma è all'interno dei luoghi chiusi che avviene la gran parte dell’esposizione della popolazione all'inquinamento atmosferico.
L'Istituto Superiore di Sanità (https://www.iss.it/) indica addirittura delle soglie ben precise, delle sostanze che compongono l'aria all'interno delle nostre abitazione, che non dovrebbero essere superate per garantire un ambiente sano e salubre.
In genere l’aria di casa, come quella degli altri ambienti chiusi che frequentiamo, è tutt'altro che pulita.
Leggendo informazioni sulle conseguenze di una esposizione a tali inquinanti, è facile trovare online diverse indicazioni a riguardo.
Gli inquinanti atmosferici indoor sono molti e sono capaci di influenzare e peggiorare la salute delle persone, con effetti acuti a breve termine o cronici.
Specialmente la salute di chi soffre di patologie cardiache, di ipertensione, ictus, di patologie respiratorie come BPCO e asma, di allergie. Di patologie del sistema immunitario, riproduttivo, di malattie neurologiche, e di tumori.
Ma anche di emicrania, di riniti, irritazioni della gola, occhi e di molto altro su cui non ci soffermeremo troppo perché, come vi sarete accorti, non siamo su un blog di medicina.
Noi in particolare ci concentreremo sulla C02, anche se ad onor del vero non è l'unico inquinatene che si accumula nelle nostre case.
Tuttavia è lecito aspettarsi che ad un accumulo di C02 (che corrisponde ad uno scarso ricambio di aria) possa corrispondere un generale peggioramento della qualità dell'aria anche dal punto di vista di altri elementi.
Guardate ad esempio cosa succede tipicamente in una notte nella mia camera da letto.
Come potete osservare dal grafico, il livello di C02 passa da circa 600 parti per milione (ppm) fino a toccare picchi di 1700 ppm (sarà sicuramente colpa mia che russo!), per poi iniziare a diminuire al mattino quando apriamo la finestra per far arieggiare la camera.
Per la cronaca l'ISS indica come 500 ppm il limite normale della C02 in ambiente aperto e come 1000 ppm il limite in ambiente chiuso.
In teoria dovrei svegliarmi a metà notte, aprire 15 minuti le finestre della camera (con 3 gradi all'esterno), e poi richiudere. In questo modo eviterei tutti gli effetti nocivi di cui sopra, ma rischierei il divorzio!
Sceglierò il minore dei due mali!
Come ho fatto dunque a monitorare in maniera così precisa i livelli di C02 nella mia camera da letto?
Mi sono avvalso di un ESP32 acquistato da Amazon:
Prezzo intero: 8,99€
Prezzo scontato: 8,99€
e di un sensore di CO2 acquistato sempre da Amazon al seguente link:
Prezzo intero: 21,19€
Prezzo scontato: 21,19€
Saranno necessari anche dei cavetti jumper per i collegamenti:
Prezzo intero: 9,98€
Prezzo scontato: 9,98€
A questo punto dovrete effettuare i collegamenti come descritto qui di seguito.
SDA (sulla scheda sensore) su GPIO21 dell'ESP32
SCL (sulla scheda sensore) su GPIO22 dell'ESP32
VDD (sulla scheda sensore) su 3V3 dell'ESP32
GND (sulla scheda sensore) su GND dell'ESP32
Occhio ad usare i PIN indicati perché sono quelli che andremo a configurare di seguito.
Questo sensore utilizza un'interfaccia bus i2c per connettersi all'ESP. Ciò consente di collegare più sensori a questo bus.
Inoltre l'ESP abiliterà i suoi resistori pullup interni da 10 kΩ per questi pin senza il bisogno di usarne di esterni, cosa altrimenti richiesta per questo tipo di sensore.
Maggiori dettagli al seguente link:
https://esphome.io/components/i2c.html
A questo punto non vi resterà altro da fare che caricare in Home Assistant, alla sezione ESPHome Builder, il codice che trovate incollato qui di seguito.
i2c:
sda: 21
scl: 22
sensor:
- platform: scd4x
co2:
name: "Workshop CO2"
temperature:
name: "Workshop Temperature"
humidity:
name: "Workshop Humidity"
Il codice lo dovrete incollare dopo la riga captive_portal:
Nella parte precedente infatti ci sono le informazioni di base del vostro esp32 come i dati della rete WiFi a cui vi collegate, ecc...
Per le istruzioni di caricamento del codice fate riferimento alla guida precedente dove ho spiegato tutto nel dettaglio sia nel caso in cui siate al primo flash di ESPHome su un nuovo dispositivo, sia che siate ad aggiornare come in questo mio caso.
4 Canali a contatto pulito a meno di 5 euro con ESPHome!
Un volta caricato il codice dovreste ottenere un funzionamento di questo tipo.
Come avrete notato il sensore utilizzato indica anche i dati di temperature e di umidità, oltre che quelli di C02 espressi in ppm (parti per milione).
Mentre la temperatura e i livelli di C02 mi sembrano attendibili come valori, lo stesso non posso dire per i livelli di umidità che mi sembrano eccessivamente elevati anche quando ho le finestre aperte.
A questo punto con le entità create potrete realizzare gli automatismi e gli scenari che più ritenere opportuni.
Ad esempio, se possedete una stripled o una lampadina rgb potrete far variare la sua colorazione in base alla concentrazione di C02.
- rosso = apri finestra
- giallo = qualità del'aria al limite
- Verde= qualità dell'aria buona
Oppure potrete semplicemente farvi notificare il valore, oltre una soglia pre-impostata, sul vostro smartphone.
Oppure ancora farvi inviare un messaggio vocale, che vi consiglia di fare un ricambio d'aria, attraverso un Google Home o un Amazon Echo dentro la vostra abitazione.
Oppure qualsiasi altra cosa che vi venga in mente.
Qui di seguito alcuni consigli, presi sempre dal sito dell'Istituto Superiore della Sanità su cosa dovreste fare per tenere sempre una buona qualità dell'aria nel posto dove vivete.
Cambiare frequentemente l’aria in casa aprendo le finestre (Preferibilmente quelle più distanti dalle strade più trafficate).
Tenere aperte le finestre mentre si cucina, pulisce, si lavare, si stira eccetera (Quando si cucina utilizzare anche la cappa)
Ricordare che in assenza di un frequente ricambio di aria gli inquinanti si accumulano in casa, comportando possibili rischi per la salute nostra e per quella dei nostri bambini.
Ricordare che il pulito non ha odore. Non eccedere con l’uso di prodotti per la pulizia come detergenti e detersivi, meglio non utilizzare deodoranti e diffusori di profumi, incensi e candele profumate.
Non miscelare i prodotti di pulizia, in particolare quelli contenenti candeggina o ammoniaca, con sostanze acide come gli anticalcari. Prima di utilizzare i prodotti è necessario leggere le etichette, rispettare i consigli e le indicazioni presenti sulle confezioni, impiegare le quantità di prodotto raccomandate dai produttori e utilizzare i tappi dosatori per non eccedere con le quantità.
Non fumare in casa né sigarette classiche né e-cig. Gli inquinanti chimici rilasciati dal fumo costituiscono un rischio per la salute, soprattutto dei bambini. Questi inquinanti rimangono su pareti, arredi, tende e tappezzerie per lunghi periodi.
Far prendere aria gli abiti ritirati dalla lavanderia prima di riporli negli armadi.In presenza di mobili nuovi, cambiare con più frequenza l’aria.
Limitare e non abusare di insetticidi, leggere attentamente le etichette e le avvertenze, e non soggiornare negli ambienti dopo l’utilizzo.
Le piante non aiutano a ridurre l’inquinamento in casa.
In caso di ristrutturazione o anche di semplice imbiancatura di pareti prediligere prodotti con livelli emissivi più bassi per gli inquinanti chimici e in ogni caso dopo la ristrutturazione arieggiare il più possibile.
Se si hanno animali domestici rimuovere gli allergeni contenuti nelle polveri sui mobili abiti e biancheria. Passare regolarmente aspirapolvere e straccio umido sulle superfici, cambiare con maggiore frequenza l’aria negli ambienti.
Non vi resta che godervi il video direttamente dal nostro canale YouTube MissingTech.
Buona visione!
Produrre e aggiornare contenuti su vincenzocaputo.com richiede molto tempo e lavoro. Se il contenuto che hai appena letto è di tuo gradimento e vuoi supportarmi, clicca uno dei link qui sotto per fare una donazione.