ESPHome i ESP32 w praktyce: Własne czujniki środowiskowe bez chmury
Część 2 z 4 serii Home Assistant bez chmury
Spis treści
ESPHome i ESP32 w praktyce: Własne czujniki środowiskowe bez chmury
Komercyjnie dostępne monitory jakości powietrza często opierają się na zamkniętych ekosystemach chmurowych, co generuje opóźnienia, podatności bezpieczeństwa oraz zależność od zewnętrznych serwerów. Zaprojektowanie własnych czujników środowiskowych w oparciu o mikrokontrolery ESP32 i oprogramowanie ESPHome umożliwia pełną lokalną autonomię, sekundową telemetrię i bezpośrednią integrację z Home Assistant. Zastosowanie prawdziwych czujników NDIR (niedyspersyjnej podczerwieni) takich jak Sensirion SCD40 lub SCD30 wraz z modułami LZO (VOC) oraz precyzyjnego pomiaru temperatury i wilgotności dostarcza dane o dokładności laboratoryjnej, które nie opuszczają izolowanej sieci lokalnej VLAN.
1. Architektura sprzętowa i projekt magistrali I2C
Precyzyjny pomiar jakości powietrza wymaga doboru czujników mierzących rzeczywiste stężenia gazów na podstawie fizycznych właściwości, zamiast polegania na matematycznych estymacjach z tanich czujników metalo-tlenkowych. Podłączenie wielu modułów do wspólnej magistrali I2C wymaga odpowiedniego doboru rezystorów podciągających oraz stabilnego zasilania:
- Sensirion SCD40 / SCD30 (CO2): Działając w oparciu o fotoakustyczną lub optyczną metodę NDIR, moduły te mierzą rzeczywiste stężenie dwutlenku węgla w zakresie od 400 ppm do 5000 ppm z wysoką dokładnością i niskim dryfem w czasie.
- Moduły VOC i termohigrometrów: Równoległa integracja czujników takich jak Bosch BME680 lub Sensirion SGP40 wraz z SHT40 pozwala na monitorowanie indeksu lotnych związków organicznych oraz skompensowanej temperaturowo wilgotności względnej na tych samych liniach danych 3.3 V I2C (SDA/SCL).
2. Implementacja oprogramowania za pomocą ESPHome YAML
ESPHome kompiluje lekki, wysoce zoptymalizowany kod w języku C++ bezpośrednio z uporządkowanych plików konfiguracyjnych YAML. Aktywacja procedur automatycznej kalibracji – takich jak Automatic Self-Calibration (ASC) dla czujników NDIR – gwarantuje długoterminową stabilność linii bazowej bez konieczności ręcznej ingerencji.
# Przykład: Konfiguracja ESPHome dla ESP32 z czujnikiem SCD40 i pomiarem środowiskowym
esphome:
name: "env-monitor-office"
platform: ESP32
board: esp32dev
wifi:
ssid: "IoT_VLAN_20"
password: "StrongVLANPasswordHere"
api:
encryption:
key: "32CharacterBase64EncodedKey====="
i2c:
sda: GPIO21
scl: GPIO22
scan: true
frequency: 100kHz
sensor:
- platform: scd4x
co2:
name: "Office CO2"
accuracy_decimals: 0
temperature:
name: "Office Temperature"
accuracy_decimals: 1
humidity:
name: "Office Humidity"
accuracy_decimals: 1
update_interval: 30s
automatic_self_calibration: true
3. Izolacja w sieci VLAN i natywne API Home Assistant
W celu maksymalizacji bezpieczeństwa sieciowego, własnoręcznie zbudowane czujniki ESP32 powinny funkcjonować w dedykowanej sieci wirtualnej IoT VLAN z zablokowanym dostępem do Internetu na poziomie zapory sieciowej. Komunikacja z Home Assistant realizowana jest lokalnie przez natywne API ESPHome (port TCP 6053) z wykorzystaniem szyfrowania Noise Protocol. Architektura ta zapobiega wyciekom danych, zapewniając natychmiastową aktualizację stanów dla systemów sterowania wentylacją mechaniczną, rekuperacją oraz powiadomień o wietrzeniu pomieszczeń.
Podsumowanie
Budowa własnych czujników środowiskowych przy użyciu mikrokontrolerów ESP32, modułów NDIR Sensirion SCD40 i platformy ESPHome eliminuje zależność od chmury oraz zamkniętych silosów danych. Umieszczenie sensorów w izolowanej sieci VLAN i połączenie ich przez szyfrowane, natywne API Home Assistant gwarantuje laboratoryjną dokładność telemetrii, maksymalną prywatność oraz najwyższą stabilność działania.
Źródła
Home Assistant bez chmury
- Zigbee2MQTT vs. ZHA: Budowa bezawaryjnej sieci Mesh w Home Assistant
- ESPHome i ESP32 w praktyce: Własne czujniki środowiskowe bez chmury
- Presence Detection 2.0: Radary mmWave (LD2410/LD2450) w automatyzacji oświetlenia
- Lokalny system zarządzania energią: Integracja falowników PV i magazynów energii przez Modbus TCP