Sensore CO2 SCD41 su Raspberry Pi + Home Assistant: tutorial con codice
Misurare CO2, temperatura e umidità con SCD40/SCD41 su Raspberry Pi 4 o 5, pubblicazione MQTT verso Home Assistant, Python e systemd.
Illustrazione generata con IA
Misurare CO2, temperatura e umidità con SCD40/SCD41 su Raspberry Pi 4 o 5, pubblicazione MQTT verso Home Assistant, Python e systemd.
CO2 alto = aria poco rinnovata (camera, ufficio). Con SCD40/SCD41 (fotoacustico, non stima) e Raspberry Pi inviate ppm, temperatura e umidità a Home Assistant e automate « aerate ».
Lettura ogni 30 s, MQTT con discovery HA, servizio all’avvio.
| Durata | Livello |
|---|---|
| ~1 h 30 | intermedio |
| SCD4x | Pi (pin fisico) |
|---|---|
| VIN | 3V3 (pin 1) |
| GND | GND (pin 6) |
| SDA | GPIO2 (pin 3) |
| SCL | GPIO3 (pin 5) |
sudo apt update
sudo apt install -y python3-venv python3-gpiozero python3-lgpio i2c-tools
sudo raspi-config nonint do_i2c 0
# reboot
i2cdetect -y 1 # deve comparire 62
mkdir -p ~/capteurs && cd ~/capteurs
python3 -m venv --system-site-packages venv
source venv/bin/activate
pip install adafruit-circuitpython-scd4x paho-mqtt
Script completo: scaricare /code/raspberry-pi/co2_scd41_mqtt.py.
Variabili: MQTT_HOST, MQTT_USER, MQTT_PASS, DEVICE_ID=pi_scd41_salone.
Add-on Mosquitto, integrazione MQTT. Entità create via discovery su homeassistant/sensor/.../config.
Automazione esempio CO2 > 1000 ppm per 5 min → notifica (adattare entity_id).
Unit capteur-co2.service con ExecStart=.../venv/bin/python .../co2_scd41_mqtt.py, enable --now.
Sensore Derivative su ppm/h per alert su salita rapida prima del soglio fisso.
62 su i2cdetect: SDA/SCL, I2C offVedi installare HA, stazione BME280.
Sei indeciso tra due modelli o ti serve aiuto con un montaggio? Scrivici, ti rispondiamo rapidamente via e-mail.