ESPHome dla elektryków – jak tworzyć własne czujniki i sterowniki IoT na platformie ESP32
Jeszcze kilka lat temu budowa własnego urządzenia IoT wymagała zaawansowanej wiedzy z zakresu programowania mikrokontrolerów, znajomości protokołów komunikacyjnych i dziesiątek godzin debugowania kodu. Dziś, dzięki platformie ESPHome, elektryk z podstawową wiedzą techniczną jest w stanie w ciągu jednego popołudnia zbudować w pełni funkcjonalny czujnik temperatury, sterownik rolet czy moduł zarządzania oświetleniem. Sprawdźmy, jak to zrobić.
Co to jest ESPHome i dlaczego warto je znać?
ESPHome to system oparty na plikach konfiguracyjnych w formacie YAML, który automatycznie generuje oprogramowanie firmware dla modułów z rodziny ESP8266 i ESP32. Zamiast pisać setki linii kodu w C++, wystarczy opisać zachowanie urządzenia w prostym pliku tekstowym – ESPHome zajmie się resztą.
Platforma ta doskonale integruje się z popularnym systemem automatyki domowej Home Assistant, ale może działać również jako samodzielne rozwiązanie, komunikując się przez MQTT z innymi systemami SCADA czy BMS (Building Management System).
Główne zalety ESPHome dla elektryków i automatyków:
- Brak konieczności programowania – konfiguracja w YAML jest intuicyjna i przypomina wypełnianie formularza technicznego
- Aktualizacje OTA (Over-The-Air) – nie trzeba fizycznie podłączać urządzenia do komputera przy każdej zmianie
- Bogata biblioteka komponentów – obsługa setek czujników, przekaźników, wyświetlaczy i modułów komunikacyjnych
- Niezawodność – urządzenia działają autonomicznie, bez zależności od chmury
- Niski koszt – moduł ESP32 kosztuje kilkanaście złotych
Niezbędny sprzęt – co kupić na start?
Do pierwszych projektów wystarczy minimalne wyposażenie. Oto lista zakupowa dla elektryka zaczynającego przygodę z ESPHome:
- Moduł ESP32 (np. ESP32 DevKit V1, Wemos D1 Mini ESP32) – ok. 15–25 zł
- Kabel USB-C lub micro-USB – do pierwszego programowania
- Płytka stykowa (breadboard) – do prototypowania
- Czujnik temperatury i wilgotności (np. DHT22, SHT31, BME280) – 10–30 zł
- Moduł przekaźnikowy – do sterowania obwodami 230V – 5–15 zł
- Zasilacz 5V/1A lub 3,3V – ewentualnie konwerter Hi-Link HLK-PM01 do zasilania z sieci 230V
Uwaga bezpieczeństwa: Przy pracy z napięciem 230V zawsze stosuj zasady BHP. Moduły ESP32 pracują na napięciu 3,3V i muszą być galwanicznie oddzielone od sieci energetycznej. Stosuj certyfikowane przekaźniki i obudowy z odpowiednim stopniem ochrony IP.
Instalacja ESPHome – dwa sposoby
Metoda 1: ESPHome przez Home Assistant (zalecana)
Jeśli posiadasz już działający Home Assistant (np. na Raspberry Pi lub jako VM), instalacja ESPHome jest banalnie prosta:
- Wejdź do Ustawienia → Dodatki → Sklep z dodatkami
- Znajdź ESPHome i kliknij Instaluj
- Uruchom dodatek i otwórz interfejs webowy
Metoda 2: ESPHome standalone (Python)
Jeśli chcesz korzystać z ESPHome niezależnie od Home Assistant, możesz zainstalować je przez pip:
pip install esphome
esphome wizard moj_czujnik.yaml
Pierwszy projekt – czujnik temperatury i wilgotności
Zacznijmy od klasycznego projektu: czujnik temperatury i wilgotności oparty na module BME280, który wyśle dane do Home Assistant przez WiFi.
Schemat podłączenia BME280 do ESP32:
- VCC → 3,3V
- GND → GND
- SDA → GPIO 21
- SCL → GPIO 22
Plik konfiguracyjny YAML:
esphome:
name: czujnik-kotlownia
friendly_name: Czujnik Kotłownia
esp32:
board: esp32dev
# Połączenie WiFi
wifi:
ssid: "NazwaSieciWiFi"
password: "HasloDoSieci"
ap:
ssid: "Czujnik-Kotlownia-Fallback"
password: "hasloawaryjne"
captive_portal:
# Logowanie
logger:
# API dla Home Assistant
api:
encryption:
key: "twoj_klucz_szyfrowania"
# Aktualizacje OTA
ota:
password: "haslo_ota"
# Magistrala I2C
i2c:
sda: GPIO21
scl: GPIO22
scan: true
# Czujnik BME280
sensor:
- platform: bme280_i2c
temperature:
name: "Temperatura Kotłownia"
oversampling: 16x
pressure:
name: "Ciśnienie Kotłownia"
humidity:
name: "Wilgotność Kotłownia"
address: 0x76
update_interval: 60s
Po wgraniu tego firmware (przez USB przy pierwszym programowaniu, a następnie OTA), urządzenie automatycznie pojawi się w Home Assistant jako nowa encja z danymi o temperaturze, wilgotności i ciśnieniu atmosferycznym.
Sterownik przekaźnikowy – sterowanie oświetleniem lub gniazdem
Drugi popularny projekt to sterownik przekaźnikowy, który może posłużyć do zarządzania oświetleniem, pompą obiegową, wentylatorem czy dowolnym odbiornikiem 230V.
Ważne: Moduły przekaźnikowe z cewką 5V możesz zasilać bezpośrednio z pinu VIN modułu ESP32 (przy zasilaniu przez USB). Styki przekaźnika są galwanicznie odseparowane i mogą przełączać obwody 230V – sprawdź specyfikację techniczną modułu przed podłączeniem.
Konfiguracja sterownika przekaźnikowego:
esphome:
name: sterownik-oswietlenie
friendly_name: Sterownik Oświetlenie Garaż
esp32:
board: esp32dev
wifi:
ssid: "NazwaSieciWiFi"
password: "HasloDoSieci"
api:
encryption:
key: "twoj_klucz_szyfrowania"
ota:
password: "haslo_ota"
logger:
# Przycisk fizyczny
binary_sensor:
- platform: gpio
pin:
number: GPIO0
mode: INPUT_PULLUP
inverted: true
name: "Przycisk Garażu"
on_press:
then:
- switch.toggle: przekaznik_oswietlenie
# Przekaźnik
switch:
- platform: gpio
pin: GPIO26
name: "Oświetlenie Garażu"
id: przekaznik_oswietlenie
icon: "mdi:lightbulb"
restore_mode: RESTORE_DEFAULT_OFF
Zaawansowane funkcje – automatyzacje w ESPHome
ESPHome pozwala na tworzenie lokalnych automatyzacji bezpośrednio na urządzeniu – co oznacza, że będą działać nawet bez połączenia z siecią lub Home Assistant. To szczególnie ważne w instalacjach przemysłowych, gdzie niezawodność jest priorytetem.
Przykład: automatyczne wyłączenie po czasie
switch:
- platform: gpio
pin: GPIO26
name: "Pompa Cyrkulacyjna"
id: pompa
on_turn_on:
then:
- delay: 30min
- switch.turn_off: pompa
Przykład: termostat lokalny
climate:
- platform: thermostat
name: "Termostat Kotłownia"
sensor: temperatura_kotlownia
min_heating_off_time: 300s
min_heating_run_time: 300s
min_idle_time: 30s
heat_action:
- switch.turn_on: kociol
idle_action:
- switch.turn_off: kociol
default_preset: Home
preset:
- name: Home
default_target_temperature_low: 20°C
Komunikacja MQTT – integracja z innymi systemami BMS
ESPHome obsługuje protokół MQTT, co pozwala na integrację z systemami zarządzania budynkiem (BMS), sterownikami PLC czy platformami SCADA. Wystarczy dodać do konfiguracji:
mqtt:
broker: 192.168.1.100
port: 1883
username: "uzytkownik_mqtt"
password: "haslo_mqtt"
topic_prefix: "budynek/pietro2/czujnik1"
Po tej konfiguracji wszystkie wartości czujników są automatycznie publikowane na zdefiniowane tematy MQTT, a urządzenie nasłuchuje na komendy sterujące.
Praktyczne zastosowania w instalacjach elektrycznych
ESPHome znajduje zastosowanie w wielu scenariuszach, z którymi elektrycy spotykają się na co dzień:
- Monitoring instalacji fotowoltaicznej – czujniki prądu (np. SCT-013) + ESPHome + wizualizacja w HA
- Sterowanie roletami elektrycznymi – dedykowany komponent
coverobsługuje silniki 24V - Monitoring temperatury w rozdzielnicach – wczesne wykrywanie przegrzania
- Liczniki energii – współpraca z modułami PZEM-004T przez UART
- Sterowanie pompami i wentylatorami – PWM lub przekaźnikowe
- Sygnalizacja alarmowa – integracja z czujnikami ruchu PIR, czujnikami dymu
- Monitoring zalewania – czujniki wody w piwnicach, maszynowniach
Bezpieczeństwo i dobre praktyki
Przy wdrażaniu ESPHome w instalacjach elektrycznych należy pamiętać o kilku kluczowych zasadach:
- Zawsze stosuj galwaniczne odseparowanie między obwodami 230V a elektroniką 3,3V
- Używaj certyfikowanych modułów przekaźnikowych z odpowiednim prądem znamionowym
- Zabezpieczaj sieć WiFi i API – używaj silnych haseł i szyfrowania
- Regularnie aktualizuj firmware – ESPHome regularnie wydaje poprawki bezpieczeństwa
- Stosuj bezpieczniki i wyłączniki nadprądowe przy każdym sterowanym obwodzie
- Dokumentuj instalację – oznaczaj urządzenia i prowadź dokumentację konfiguracji
Podsumowanie
ESPHome to narzędzie, które demokratyzuje świat IoT – sprawia, że tworzenie inteligentnych urządzeń staje się dostępne nie tylko dla programistów, ale dla każdego elektryka czy automatyka, który rozumie schematy elektryczne i chce wzbogacić swoje projekty o warstwę cyfrową. Platforma ta łączy prostotę konfiguracji z ogromną elastycznością, a społeczność skupiona wokół projektu stale rozszerza bibliotekę obsługiwanych komponentów.
Zainwestowanie kilku godzin w naukę ESPHome szybko się opłaci – zamiast kupować drogie, zamknięte systemy automatyki, możesz budować własne rozwiązania dopasowane dokładnie do potrzeb klienta, za ułamek ceny komercyjnych alternatyw. W kolejnych artykułach pokażemy bardziej zaawansowane projekty – monitoring instalacji PV oraz budowę lokalnego termostatu sterownika ogrzewania podłogowego.