Migliora l'aria del tuo ufficio (o di casa) con un sensore DIY e Home Assistant
L’aria che respiriamo in casa o in ufficio è cruciale per il nostro benessere e la nostra produttività. Spesso, però, la qualità dell’aria interna può risentire di fattori come l’eccesso di anidride carbonica (CO2), che porta a sonnolenza e difficoltà di concentrazione. Per un po’ di tempo, ho cercato una soluzione per monitorare l’aria nel mio ufficio casalingo, ma le opzioni commerciali erano spesso costose e poco flessibili da integrare con la mia configurazione di Home Assistant.
Poi, quasi per caso, la “rivelazione”! Mi sono imbattuto nel sensore Sensirion SCD40. Questo piccolo gioiello prometteva di misurare CO2, temperatura e umidità. So che la qualità dell’aria include molti altri parametri, ma iniziare con questi tre dati fondamentali è un ottimo punto di partenza per avere un quadro generale.
Il cuore intelligente: ESP32-C3 e ESPHome
Un sensore da solo non basta. Per renderlo davvero integrabile nel mio ecosistema, ho deciso di collegarlo a un ESP32-C3, nello specifico la sua versione “supermini”, incredibilmente compatta e potente. La “programmazione” (e qui il virgolettato è d’obbligo, data la semplicità) è stata affidata a ESPHome, uno strumento fantastico che permette di configurare dispositivi IoT basati su ESP con una facilità disarmante, senza dover scrivere una riga di codice C++.
Connessioni semplici e veloci
Per far funzionare il tutto, bastano davvero pochi collegamenti. Ecco lo schema essenziale:
SCD40 | ESP32-C3 | Descrizione |
---|---|---|
GND | GND | Massa |
VDD | 3.3V | Alimentazione (3.3 Volt) |
SCL | GPIO 9 | Linea di clock I2C |
SDA | GPIO 8 | Linea dati I2C |
Configurazione di ESPHome: pochi passi per grandi risultati
La vera magia avviene con la configurazione di ESPHome. È qui che definiamo come il sensore si interfaccia con l’ESP32-C3 e come i dati verranno esposti a Home Assistant. Ecco il file di configurazione YAML che ho utilizzato:
esphome:
name: qualita-aria
friendly_name: Qualità aria
min_version: 2024.11.0 # Assicurati di avere una versione recente di ESPHome
name_add_mac_suffix: false # Per un nome pulito in Home Assistant
esp32:
board: esp32-c3-devkitm-1
framework:
type: esp-idf # Il framework preferito per ESP32-C3
# Abilita il logging per il debug
logger:
# Abilita l'API di Home Assistant per l'integrazione diretta
api:
# Consente aggiornamenti del firmware "Over-The-Air" (OTA)
ota:
- platform: esphome
# Configurazione Wi-Fi (le credenziali sono nascoste per sicurezza)
wifi:
ssid: !secret wifi_ssid
password: !secret wifi_password
# Configurazione del bus I2C
i2c:
sda: GPIO8 # Pin SDA del sensore
scl: GPIO9 # Pin SCL del sensore
scan: true # Scansiona per dispositivi I2C al boot
id: bus_a # Identificatore del bus I2C
# Definizione dei sensori SCD4x
sensor:
- platform: scd4x
co2:
name: "CO2" # Nome più descrittivo per Home Assistant
temperature:
name: "Temperatura"
humidity:
name: "Umidità"
# Compensazione dell'altitudine per misurazioni CO2 più accurate
altitude_compensation: "320m" # Sostituisci con l'altitudine della tua zona!
Con questa configurazione, in pochi istanti avrete tutti i valori letti dal sensore disponibili direttamente in Home Assistant, pronti per essere visualizzati, automatizzati o utilizzati in qualsiasi modo desideriate.
Un tocco di professionalità: la custodia stampata in 3D
Certo, un sensore “nudo” e un ESP collegato con cavi volanti possono sembrare un po’ troppo “artigianali”. Per dare al progetto un aspetto più rifinito e professionale, ho pensato a una custodia.
Grazie ai modelli 3D disponibili su GrabCAD (per l’ESP32-C3 supermini e l’SCD40), ho potuto progettare e iterare una custodia su misura. Il risultato è un case funzionale, stampabile con una stampante 3D domestica in pochi minuti.
Trovate tutti i file della custodia (base e coperchio) su Printables: Case for SCD40 and ESP32-C3.
Questo piccolo progetto DIY mi ha fornito una soluzione di monitoraggio dell’aria completamente integrata e personalizzabile, proprio come piace a me! Fatemi sapere se avete provato a realizzare un progetto simile o se avete domande!