
Spis treści
Cześć!
Inteligentne rozwiązania domowe stają się coraz bardziej popularne, oferując wygodę, oszczędność energii i lepszą kontrolę nad naszym otoczeniem. Jednym z narzędzi, które ułatwia tworzenie takich systemów, jest ESPHome – potężna platforma oparta na układach ESP. Pozwala ona na programowanie różnych czujników i urządzeń, aby zyskać pełną kontrolę nad inteligentnym domem.
W dzisiejszym poradniku skorzystamy z ESPHome do stworzenia prostej, ale niezwykle przydatnej stacji pogodowej na balkon. Wykorzystamy do tego czujnik BME280, który umożliwi pomiar temperatury, wilgotności i ciśnienia atmosferycznego. Dzięki temu będziesz mógł na bieżąco monitorować warunki pogodowe w najbliższym otoczeniu.
Tworzenie stacji pogodowej przy użyciu ESPHome jest nie tylko praktyczne, ale także stanowi doskonałą okazję do nauki podstaw programowania systemów domowej automatyki. Krok po kroku przeprowadzimy przez cały proces – od konfiguracji środowiska, poprzez podłączenie czujnika, aż po wizualizację danych na przykładowym interfejsie.
Gotowy? Zapnij pasy bezpieczeństwa, bo czas wprowadzić nieco inteligencji do twojego domu! Zaczynajmy przygodę z ESPHome i stacją pogodową na balkonie. 🚀
Czym jest ESP8266 NodeMCU?
ESP8266 NodeMCU to niewielka, ale niezwykle wszechstronna płytka rozwojowa oparta na popularnym układzie ESP8266 firmy Espressif. Wyposażona w zintegrowany moduł Wi-Fi działający w standardzie 802.11 b/g/n, umożliwia łatwe podłączenie do istniejących sieci bezprzewodowych i komunikację z innymi urządzeniami przez Internet.
Sercem płytki jest 32-bitowy procesor Tensilica L106 o częstotliwości 80-160 MHz oraz 64 KiB pamięci instrukcji i 96 KiB pamięci danych. NodeMCU posiada wbudowany konwerter USB-UART (CP2102), dzięki czemu można ją w prosty sposób podłączyć do komputera i zaprogramować przy użyciu Arduino IDE lub innego środowiska.
Kluczową zaletą jest obecność aż 17 wyprowadzeń GPIO (General-Purpose Input/Output), które można swobodnie wykorzystać jako cyfrowe wejścia/wyjścia lub przypisać im inne funkcje, takie jak I2C, SPI, UART itp. To pozwala na komunikację i sterowanie wszelkiego rodzaju czujnikami, wyświetlaczami i urządzeniami wykonawczymi.
Pomimo kompaktowych wymiarów i niskiej ceny, ESP8266 NodeMCU ma ogromny potencjał w projektach DIY oraz Internetu Rzeczy dzięki dużym możliwościom, niskim kosztom i doskonałemu wsparciu społeczności.
Czym jest ESPHome?
ESPHome to potężne, open source’owe środowisko programistyczne stworzone specjalnie z myślą o urządzeniach opartych na popularnych mikro-kontrolerach ESP8266 i ESP32. Jego głównym celem jest ułatwienie tworzenia inteligentnych urządzeń z zakresu Internetu Rzeczy (IoT), które można następnie w pełni zintegrować i kontrolować za pośrednictwem platformy Home Assistant.
Konfiguracja urządzeń w ESPHome odbywa się poprzez przyjazne pliki w formacie YAML, które pozwalają na definiowanie działania różnych komponentów, czujników, wyświetlaczy czy elementów wykonawczych. Dzięki temu programowanie staje się intuicyjne i przystępne nawet dla osób bez dogłębnej znajomości kodowania.
Oprócz natywnej integracji z Home Assistant, ESPHome wspiera również szeroką gamę gotowych modułów i bibliotek, pozwalając na obsługę wielu popularnych innych podzespołów.
Przygotowanie
Zanim zanurzymy się w adaptację pilota do naszego systemu przy użyciu ESP8266 i ESPHome, warto odpowiednio się przygotować. Poniżej znajdziesz kluczowe kroki, aby rozpocząć projekt:
Upewnij się, że masz wszystkie niezbędne materiały:
- Płytka ESP8266 NodeMCU (lub ESP32, jeśli zdecydujesz się na nowszy model),
- Warto zweryfikować przed zakupem płytki ESP, czy zasięg sieci Wi-Fi dociera w miejsce naszej instalacji. Może się okazać, że będziemy potrzebować zakupić płytkę z możliwością podłączenia zewnętrznej anteny.
- Waveshare BME280 – czujnik temperatury, ciśnienia oraz wilgotności (Link do sklepu),
- Źródło zasilania dla płytki ESP8266 (5V DC),
- Kostki elektryczne,
- Puszka, w której schowamy płytkę (odporna na warunki atmosferyczne),
- Klatka meteorologiczna,
- Przewody połączeniowe do wszystkich elementów.
Instalacja ESPHome w Home Assistant
Zainstaluj ESPHome w swoim środowisku Home Assistant, aby móc łatwo konfigurować i zarządzać urządzeniem ESP8266. Skorzystaj z dokumentacji ESPHome i postępuj zgodnie z instrukcjami.
Przygotowanie przestrzeni pracy
Zorganizuj miejsce pracy, gdzie będziesz montować układ. Upewnij się, że masz dostęp do narzędzi i jesteś w stanie swobodnie pracować nad projektem.
Krok 1 – VLAN IoT
Jako praktykę bezpieczeństwa zalecam utworzenie osobnej sieci dla urządzeń IoT, odseparowanej od głównej sieci domowej. W tym celu warto skorzystać z funkcji VLAN (Virtual Local Area Network), która pozwala na fizyczną separację urządzeń, takich jak te oparte na ESPHome, od innych urządzeń w domowej infrastrukturze.
Korzyści
Tworzenie dedykowanej sieci dla urządzeń IoT oferuje kilka korzyści:
- Bezpieczeństwo: Odseparowanie urządzeń IoT od głównej sieci pomaga zminimalizować potencjalne ryzyko ataków. W przypadku ewentualnej kompromitacji urządzenia IoT, dostęp do głównej sieci domowej jest utrudniony.
- Kontrola Komunikacji: Utworzenie osobnej sieci pozwala na bardziej precyzyjną kontrolę, kto i jak komunikuje się z urządzeniami IoT. Można zdefiniować reguły komunikacyjne, które pozwalają jedynie konkretnym urządzeniom (na przykład serwer czy wirtualna maszyna z Home Assistant) na interakcję z urządzeniami IoT.
- Optymalizacja Ruchu Sieciowego: Oddzielenie ruchu urządzeń IoT od ruchu głównej sieci może przyczynić się do optymalizacji wydajności sieci.
Wdrożenie
W celu implementacji takiej separacji, warto skonsultować się z dokumentacją i ustawieniami routera. W przypadku Home Assistant, korzystając z odpowiednich reguł firewalla na routerze, można dostosować dostęp do urządzeń IoT. To podejście wprowadza warstwę dodatkowego bezpieczeństwa do naszej infrastruktury smart home.
Krok 2 – Instalacja i konfiguracja firmware do pracy z Home Assistantem
Kiedy już uruchomiony zostanie dodatek ESPHome na serwerze Home Assistant, czas przejść do dodania pierwszego urządzenia opartego na ESPHome.
Podłączenie do komputera
- Podłącz płytkę przy użyciu przewodu USB do swojego komputera. Ważne jest, aby korzystać z przewodu USB z transmisją danych, ponieważ wiele tanich przewodów dostarcza jedynie zasilanie.
- Dla pewności co do poprawnego działania, zalecam używanie przeglądarki Chrome lub Edge (następuje przekazywanie transmisji danych za pośrednictwem portu COM do przeglądarki przy użyciu WebSerial).
Home Assistant
- Po zakończeniu tych kroków, zaloguj się do Home Assistant,
- Z panelu bocznego przechodzimy do zakładki ESPHome,
- Następnie klikamy New Device,
Po wybraniu opcji dodania nowego urządzenia, możemy napotkać komunikat o niekompatybilności przeglądarki, szczególnie w przypadku przeglądarek, które nie obsługują WebSerial. Alternatywnie, możemy również natrafić na komunikat informujący o braku bezpiecznego połączenia (HTTPS) do dashboardu. W takiej sytuacji możemy kliknąć Continue, aby kontynuować proces dodawania urządzenia.
- W kolejnym oknie wprowadzamy nazwę dla naszego urządzenia (może to być utworzona przez nas nazwa lub alias) oraz dane naszej sieci Wi-Fi.
- Wprowadzanie danych do sieci Wi-Fi jest konieczne jedynie przy pierwszym dodawaniu urządzenia. Kolejne dodawane urządzenia oparte o ESPHome nie będą wymagały tego kroku.
- Następnie, aby ESPHome zainstalował firmware na płytce ESP8266 kliknij przycisk Connect.
- Po chwili w przeglądarce pojawi się okno wyboru urządzenia do komunikacji po porcie szeregowym. Znajdź swoje urządzenie, którego nazwa powinna zawierać CP210x UART, i kliknij Connect.
- Następnie zaczekaj, aż firmware zostanie zainstalowany na płytce.
Zakończenie procesu
Po pomyślnej instalacji powinieneś otrzymać komunikat potwierdzający zakończenie procesu. Na dashboardzie pojawi się także Twoje urządzenie z opisem ONLINE. To oznacza, że płyta została poprawnie skonfigurowana i jest gotowa do dalszych działań.
Krok 3 – Wgraj kod w ESPHome
esphome:
name: esp01-loggia
esp8266:
board: esp01_1m
# Enable logging
logger:
web_server:
port: 80
# Enable Home Assistant API
api:
encryption:
key: "HERE WILL BE THE CODE GENERATED BY ESPHOME"
ota:
password: "HERE WILL APPEAR THE PASSWORD GENERATED BY ESPHOME"
wifi:
ssid: !secret wifi_ssid
password: !secret wifi_password
# Enable fallback hotspot (captive portal) in case wifi connection fails
ap:
ssid: "Esp01-Loggia Fallback Hotspot"
password: "1234567890"
captive_portal:
i2c:
- id: bus_a
sda: 5
scl: 4
scan: true
binary_sensor:
- platform: status
name: "Status"
id: status_sensor
sensor:
- platform: bme280_i2c
temperature:
name: "Ambient temperature"
oversampling: 16x
pressure:
name: "Atmospheric pressure"
humidity:
name: "Air humidity"
address: 0x77
update_interval: 300s
i2c_id: bus_a
- platform: wifi_signal
name: "Wi-Fi Signal"
update_interval: 60s
icon: mdi:wifi
- Czekamy, aż oprogramowanie zostanie skompilowane i wgrane na płytkę. Jeśli proces instalacji przebiegnie pomyślnie, w podglądzie logów zostanie Ci pokazane podsumowanie konfiguracji Twojej płytki.
Krok 4 – Podłącz wszystkie elementy do płytki
Pamiętaj, aby wykonywać te czynności z zachowaniem najwyższych standardów bezpieczeństwa elektrycznego. Upewnij się, że wszystkie połączenia są odpowiednio zabezpieczone.
Instalacja
Zacznijmy od podłączenia czujnika BME280 do płytki ESP8266. BME280 komunikuje się za pomocą interfejsu I2C, dlatego musimy połączyć odpowiednie piny:
- Pin D1 (GPIO5) na ESP8266 to linia SCL (Serial Clock)
- Pin D2 (GPIO4) na ESP8266 to linia SDA (Serial Data)
Połącz następująco:
- Pin SCL czujnika BME280 z pinem D1 (GPIO5) na ESP8266
- Pin SDA czujnika BME280 z pinem D2 (GPIO4) na ESP8266
- Połącz masy (GND) czujnika i ESP8266
- Podłącz zasilanie (VCC) czujnika do 3.3V na ESP8266
Końcowa weryfikacja
Po skonfigurowaniu ESPHome i połączeniu czujnika BME280, czas na weryfikację działania naszej stacji pogodowej. Podłącz płytkę ESP8266 do zasilania i poczekaj na uruchomienie. W logach ESPHome powinny pojawić się komunikaty informujące o wykryciu czujnika BME280 i odczytach temperatury, wilgotności i ciśnienia atmosferycznego.
Możesz teraz przetestować działanie stacji, obserwując zmiany parametrów pogodowych lub wyświetlając je na wybranym przez Ciebie interfejsie, np. przez przeglądarkę internetową lub aplikację mobilną współpracującą z Home Assistant.
Dużo więcej możliwości
Warto wspomnieć, że ta sama płytka ESP8266, którą wykorzystaliśmy do stworzenia stacji pogodowej, może posłużyć również do innych zastosowań w inteligentnym domu. Jednym z nich jest sterowanie szlabanem osiedlowym.
Wyobraź sobie możliwość otwierania i zamykania szlabanu za pomocą smartfona lub asystenta głosowego – to nie tylko wygoda, ale również dodatkowe bezpieczeństwo. Wykorzystując ESPHome i moduł przekaźnika, można w prosty sposób zintegrować szlaban z systemem automatyki domowej.
Jeśli interesuje Cię ten temat, polecam zapoznać się z moim poradnikiem dotyczącym instalacji i konfiguracji zdalnego sterowania szlabanem osiedlowym przy użyciu ESP8266 i ESPHome. Znajdziesz tam wszystkie niezbędne informacje krok po kroku.
Krok 5 – Reverse proxy na Synology przy pomocy Nginx Proxy Manager
Czy korzystasz z Synology i chcesz usprawnić dostęp do swojego serwera Home Assistant? Oto szybki przewodnik krok po kroku, jak skonfigurować logowanie przy użyciu nazwy domeny i subdomeny, na przykład ha.xyz.com, zamiast wprowadzania adresu IP. Wszystko to możesz osiągnąć za pomocą Docker Compose w Portainerze.
👉 Sprawdź teraz i przygotuj swoje środowisko do kolejnych usprawnień!
Dzięki temu, korzystając z nazwy domeny, zamiast adresu IP, upraszczasz proces logowania do swojego serwera Home Assistant na Synology
Krok 6 – Dodawanie urządzenia do Home Assistant
- W sekcji powiadomień Home Assistant powinna pojawić się informacja, że nasz serwer automatyki domowej wykrył nowe urządzenie,
- Przejdź do Ustawień, a następnie do Integracji i urządzeń.
- Nowe urządzenie będzie opatrzone błękitną ramką. Zatwierdzamy nowe urządzenie do integracji.
- Ustaw obszar, gdzie będzie znajdować się dane urządzenie. W naszym przypadku będzie to Loggia.
- Gratulacje! Osiągnąłeś ten etap, co oznacza, że sukcesywnie przeszedłeś przez proces konfiguracji. Aby sprawdzić działanie nowego urządzenia, możesz bezpośrednio przejść do niego i z poziomu Home Assistant kontrolować parametry czujnika. 🚀
Jeśli masz dodatkowe pytania dotyczące konfiguracji, śmiało zostaw komentarz pod tym artykułem lub skontaktuj się ze mną bezpośrednio. Chętnie odpowiem na wszelkie wątpliwości i pomogę rozwiązać ewentualne problemy. Twoje pytania mogą pomóc w ulepszeniu tego poradnika dla innych użytkowników.
Dodatkowe materiały i informacje
W celu dalszego zgłębienia tematu i uzyskania szczegółowych informacji, polecam sprawdzenie poniższych linków. Są one wartościowymi źródłami, które zostały wykorzystane podczas opracowywania tego poradnika.
- Getting Started with ESPHome and Home Assistant: https://esphome.io/guides/getting_started_hassio#installing-esphome-dashboard
Przeczytaj także
- Nginx Proxy & Cloudflare: Jak przywrócić prawdziwy adres IP. Odkryj, jak przywrócić prawdziwe adresy IP użytkowników w dziennikach serwera za pomocą Nginx Proxy Manager i Cloudflare jako reverse proxy.
- TVHeadend: Instalacja i konfiguracja dekodera SAT>IP. Telestar Digibit Twin: Odkryj w dzisiejszym wpisie na blogu krok po kroku konfigurację dekodera SAT>IP z TVHeadend w Docker Compose.
- Jak skonfigurować wkładkę Leox GPON ONT na routerze Mikrotik. Poradnik krok po kroku jak skonfigurować wkładkę Leox LXT-010S-H GPON ONT na routerze Mikrotik RB5009, zamiast modułu ONT od Orange.
- UniFi Network Application: Podłączenie Access Point z innej sieci. Odkryj jak podłączyć urządzenie od Ubiquiti UniFi z innej sieci do Network Application – na przykładzie tunelu IPSec w Mikrotiku.
- UniFi Controller w Dockerze: Migracja do UniFi Network Application. UniFi Controller: Odkryj krok po kroku, jak skutecznie przeprowadzić migrację do Network Application, wykorzystując Docker Compose.
- ADS-B: Instalacja i konfiguracja odbiornika na Raspberry Pi. Odkryj tajniki instalacji i konfiguracji własnej anteny ADS-B na Raspberry Pi. Rozwijaj umiejętności i śledź samoloty w czasie rzeczywistym.
- Traccar: Przewodnik instalacji na Synology w Dockerze. Przewodnik krok po kroku: Instalacja Traccar na Synology za pomocą Docker. Skuteczne śledzenie pojazdów na własnym serwerze.
Dodaj komentarz