W poprzednich artykułach omówiliśmy się jak zainstalować raspbiana na Raspberry Pi, oraz jak zainstalować Domoticza. Najwyższa pora dodać pierwsze urządzenia i rozpocząć gromadzenie danych w Domoticzu!
Dziś przyjrzymy się bezprzewodowym modułom ESP8266. Jest to seria mikro-kontrolerów wyposażonych w komunikację WiFi w standardach B/G/N, zakresu 2,4GHz, oraz szereg wyjść/wejść GPIO, podobnych do tych które znamy np. z Raspberry Pi.
Porty GPIO możemy wykorzystać do wysterowania przekaźników jak do i obsługi wszelkiego rodzaju czujników.
Na dzień dzisiejszy funkcjonuje już wiele gotowych projektów, pozwalających na różne zastosowania ESP, my jednak skupimy się na bezprzewodowej współpracy z Domoticzem.
ESP8266 występuje w wielu wersjach, osobiście korzystam z 1,7 i 12. Ta ostatnia jest najpopularniejszą z całej rodziny i to właśnie na niej skupimy się w dzisiejszym artykule.
Samo ESP-12 możemy nabyć w różnych formach. Jeśli zależy nam na małym rozmiarze budowanego układu – warto zainteresować się wersją uproszczoną, widoczną na pierwszym zdjęciu. Wymaga ona jednak nieco większej wprawy w obsłudze lutownicy, oraz zastosowania zewnętrznego programatora RS232, który umożliwi nam wgranie wymaganego oprogramowania.
Dziś dla ułatwienia zaczniemy od płytki NodeMCU, czyli kompletnego modułu z wbudowanym zasilaczem oraz programatorem RS232, posiadającym na swoim pokładzie wcześniej wspomniane ESP-12.
W oddzielnym artykule postaram się również wkrótce opisać w jaki sposób obchodzić się ze zwykłym ESP-12 bez „stacji dokującej”.
Wgrywamy Firmware do ESP-12/NodeMCU
Na początek zaczniemy od wgrania softu. Do współpracy z Domoticzem polecam projekt ESPeasy. Są to gotowe wsady, które możemy wgrać na nasze ESP, a następnie skonfigurować w przyjazny sposób, poprzez przeglądarkę internetową.
Najnowszą kompilację możemy znaleźć na tutaj. Ja pobiorę wersję 2.0.0 dev12.
Przy pomocy kabla USB podłączamy nasz moduł do komputera. Korzystając z Managera Urządzeń, sprawdzamy pod którym wirtualnym portem COM pojawił się nasz moduł:
Po wypakowaniu archiwum, uruchamiamy plik FlashESP8266
W okienku wybieramy odpowiedni port COM i Firmware, odpowiadający wielkości pamięci zainstalowanej w naszym module.
Przed rozpoczęciem Flashowania, należy jeszcze uruchomić nasz moduł w odpowiednim trybie. W tym celu należy przytrzymać przycisk FLASH, a następnie wcisnąć RST:
Teraz pozostaje tylko kliknięcie Flash w okienku aplikacji.
Konfiguracja ESPeasy
Po zakończonym flashowaniu, ponownie wciskamy RST. Następnie sprawdzamy sieci WiFi dostępne w pobliżu. ESP uruchomi się w trybie Acces Pointa, abyśmy mogli wprowadzić konfigurację sieci.
Po chwili powinna pojawić się nowa sieć o nazwie ESP_Easy_0 – nawiązujemy z nią połączenie, hasło to configesp. Gdy połączenie zostanie ustanowione, w oknie przeglądarki należy odwiedzić adres http://192.168.4.1, ukaże nam się strona pozwalająca na wprowadzenie konfiguracji sieci w której ma pracować nasz moduł.
Po wprowadzeniu ustawień ESP powinno zwrócić nam adres IP, który otrzymało z DHCP routera. Kopiujemy IP, wracamy do sieci domowej i uruchamiamy go w przeglądarce.
Pojawia się panel konfiguracyjny pozwalający na zarządzanie naszym ESP!
W zakładce Config wprowadzamy dodatkowe ustawienia sieciowe np. stały adres IP, warto również wprowadzić nr urządzenie (może przydać się w przyszłości).
Admin Password – można pozostawić puste, lub wprowadzić hasło do zarządzania modułem.
SSID – nazwa naszej sieci WiFi
WPA key – hasło WiFi
Fallback SSID – zapasowa sieć, z którą moduł połączy się w razie problemów z pierwszą.
WPA AP Mode Key – hasło do sieci pojawiającej się w trybie konfiguracyjnym, (configesp)
Następnie wprowadzamy IP, bramę – GW (zazwyczaj adres naszego routera), subnet – maska podsieci, zazwyczaj 255.255.255.0, oraz adres serwera DNS, może to być adres naszego rutera, lub np. DNS udostępniony przez Google 8.8.8.8.
Sleep Mode pomijamy, zapisujemy klikając Submit.
Ostatnim krokiem będzie połączenie naszego modułu z Domoticzem.
Wchodzimy do sekcji Controllers:
Protocol: Wybieramy Domoticz HTTP.
Locate Controller: Use IP address
Controller IP: Adres IP pod którym widoczny jest nasz Domoticz
User, Password – dane logowania Domoticza. Możemy użyć naszego konta, lub założyć oddzielne przeznaczone dla urządzeń.
Czas na dodanie pierwszych czujników, o tym w kolejnym wpisie!
Hej dzięki za bloga, czy będziesz go kontynuował ? Na tąchwilę chcial bym się zacząć się bawić w domoticz, na początek interesuje mnie pomiar energii z licznika 3 fazowego, http://bemko.pl/files/413/a30-bm030l-pl-en-lt-cz-de-ru.pdf za pomocą wyjścia impulsów oraz następnie pomiar pobranej wody, narazie nie wiem jak to ugryźć i zagłębiam się w temat. Fajny blog i napisany w zrozumiały dla mnie język. Szkoda że tak mało 🙂
Dziękuję za komentarz!
Pomiar energii z licznika jest w planach! Z Wodą również się bawiłem 🙂 Początkowe artykuły wstawiłem w formie „próby” jednak widząc rosnące zainteresowanie postaram się poświęcić więcej czasu i podejść do tematu szerzej 🙂
Pozdrawiam
Dla mnie tez jest to SUPER sprawa ale dopiero chciałbym zacząć zabawę od podstaw, czy możesz podlinkować jakiś zestaw startowy z raspberry pi i jaka dokładnie wersje ESP8266 najlepiej teraz kupić?
Chce zacząć od podstaw – na początek pewnie pare czujników temperatury DS18b20 i jakiś przekaznik do sterowania światłem
Ja odpaliłem termometr na NodeMCU wg. powyższej instrukcji jest świetna wszystko poszło elegancko i cieszę się termometrem na razie na DS10B20 ale niebawem zapnę DHT11 bardzo się mi to przyda.
Jeśli masz wiedzę rób jak najwięcej wynalazków i nowości i pisze o tym jak najwięcej instrukcji wielu osobom się to przyda na pewno.
Potrzebuję coś tego typu właśnie tylko na połączenie przewodową siecią LAN.
No dobrze, wszystko ładnie do puki używamy popularnych I/O DSy, PCFy itp.. Ale jak dodać obsługę innych urządzeń niż standardowe, np. licznika energii z protokołem MODBUS RTU? Wiem że można dodać biblioteki do ESP EASY, ale dobrego poradnika jak?; nie znalazłem :(.