Moduł WiFi z ESP8266 (NodeMCU) i ESP Easy. Bezprzewodowe czujniki i przekaźniki w Domoticzu.

W moim systemie od dłuższego czasu prym wiodą czujniki i przełączniki bezprzewodowe.  Na blogu testowałem kilka takich rozwiązań  jak np.  gniazdka Orvibo czy Xiaomi Smart Home Starter Kit. Do odczytu temperatury, wilgotności, natężenia światła czy przełączników stosuje moduły WiFi z ESP8266 (NodeMCU) z oprogramowaniem ESP Easy.  Ich niewątpliwą zaletą jest łatwość programowania, kompletny firmware i nie ukrywam niska cena. Nie do przecenienia jest stabilność odczytów. Pierwsza płytka pracuje u mnie w systemie ponad rok bez przerwy, monitorując pogodę na zewnątrz.

Poradników i przewodników jak zintegrować płytki NodeMCU z Domoticzem jest w sieci dużo, jednak i ja postanowiłem opisać swoje doświadczenia. Myślę, że właśnie to rozwiązanie stanie się u mnie wiodącym.

  • Wybór odpowiedniej płytki.

Nie wdając się w szczegóły na rynku mamy płytki ESP8266 NodeMCU dwóch generacji. Od razu polecam urządzenia drugiej generacji. Jednak i one różnią się między sobą. Na pierwszy rzut oka możemy je rozpoznać po tym, iż wersja V2 jest węższa od V3 i na płytce stykowej pozostawia po jednym rzędzie otworów. Jest jednak i poważniejsza różnica. Leży ona w konwerterze USB-UART. NodeMCU w wersji V3 został wyposażony w układ CH340, natomiast V2 w Silicon Labs CP2102. Ten drugi jest lepiej obsługiwany przez system Windows z uwagi na dostępność sterowników. Ja mam płytki w obu wersjach i nigdy nie miałem z nimi problemów, jednak na początek polecam wersję V2.

IMG_20180120_104432.jpg

  • Programowanie płytki w systemie Windows

W pierwszej kolejności pobieramy najnowsze oprogramowanie ESPEasy_v2.0. Jest to wersja rozwojowa, ale już bardzo stabilna. Wypakowujemy archiwum, podłączamy płytkę do portu USB i uruchamiamy plik ESPEasy_v2.0.

Screenshot_20180120_144640

 

Jeżeli płytka zostanie poprawnie wykryta ( u mnie na porcie COM4) wybieramy firmware ( w zależności od ilości pamięci ). Dla płytki  ESP8266 NodeMCU V2 i V3 tak jak na zdjęciu powyżej. Naciskamy Flash. Kropki świadczą o postępie programowania. Na koniec otrzymujemy komunikat Flash Complete. Jeżeli pojawią się problemy z wykryciem płytki polecam zainstalowanie Arduino IDE.

  • Podłączenie płytki do sieci Wifi

Odłączamy płytkę od komputera i podłączamy do zasilania. W tym momencie urządzenie powinno zostać wykryte  jako dodatkowa sieć ESP_Easy_0. Płytka w tym momencie pracuje w trybie AP. Logujemy się do sieci hasłem configesp. Po wpisaniu w przeglądarkę adresu 192.168.4.1 otrzymamy możliwość dodania urządzenia do naszej sieci.

Screenshot_20180120_144148

Po kilkunastu sekundach urządzenie dostanie adres IP w naszej sieci.

Screenshot_20180120_144306

  • Konfiguracja ESPEasy.

Wpisujemy powyższy adres w przeglądarkę i przechodzimy do podłączenia czujników.

Screenshot_20180120_141633.png

Aby przekazać dane do Domoticza przechodzimy do zakładki Controllers.

Screenshot_20180120_152907.png

Naciskamy EDIT i wprowadzamy dane ( adres IP i port ) Domoticza. Pamiętać należy o zaznaczeniu Enabled.

Screenshot_20180120_153059.png

  • Dodanie czujników do płytki

Jako przykład pokaże jak podłączyć popularny czujnik temperatury i wilgotności DHT11.

Znalezione obrazy dla zapytania nodemcu dht11

Następnie przechodzimy do zakładki Devices. Naciskamy EDIT i wprowadzamy dane.

Screenshot_20180120_153849.png

Pamiętać należy o zaznaczeniu Enabled. Podajemy Pin do którego podłączyliśmy czujnik i IDX czujnika w Domoticzu. Jak dodać wirtualny przełącznik pisałem we wpisie.

Sprawdzamy czy widzimy odczyty.

Screenshot_20180120_155041.png

Jeżeli prawidłowo podaliśmy adres IP, port i IDX Domoticza to musi działać.

Screenshot_20180120_155337

W następnych wpisach pokażę jak podłączyć czujnik odległości HC-SR04 i prosty przekaźnik.

12 komentarzy do “Moduł WiFi z ESP8266 (NodeMCU) i ESP Easy. Bezprzewodowe czujniki i przekaźniki w Domoticzu.

    • Witam. Żadne cuda. Node MCU w puszce montażowej. Czujniki przyklejony do puszki. Wszystko przykręcone do ramy okna. Zasilanie przez okno do najbliższego gniazdka. Działa już ok. 2 sezony. Nic nie jest hermetyczne. Jest pod małym okapem więc deszcz bezpośrednio nie pada na czujnik. Jak wrócę do domu zrobię zdjęcie. Pamiętaj tylko aby stosować czujnik DHT 22. Lepiej sprawdza się na zewnątrz. Życzę owocnego testowania.

      Polubienie

      • Dzięki za odpowiedź.
        Temat mnie zainteresował ponieważ mój ojciec jest fanatykiem monitorowania temperatury i tworzenia z tego wykresów itd. Do tej pory ma pociągnięte czujniki przez całe mieszkanie oraz specjalnie napisany przez brata program który wszelkie dane zbiera i zapisuje.

        Muszę pomyśleć o dwóch sprawach:
        – jakie Raspberry zastosować (pewnie wersja trzecia byłaby najlepsza, ale czy jest wymagana?)
        – jak zasilić moduły z czujnikami (finalnie będą pewnie 3 albo 4) bateryjnym zasilaniem (na szybko googlowałem i widziałem zdjęcia, że niby da radę)

        PS. czy znasz może czujnik który również monitorowałby ciśnienie?

        Polubienie

      • Jeżeli chodzi o Raspberry to moim zdaniem nie ma znaczenia. Działa nawet na ZERO. Oczywiście wersja z wbudowanym Wifi będzie najlepsza. Ja wszystkie czujniki zasilam z sieci. Będę robił testy zasilania 2 bateriami AA ale nie wiąże z tym specjalnej nadziei. Podobno pociągnie kilka godzin. Test opiszę na blogu. Czujnik ciśnienia jaki wykorzystuje to BMP 180.

        Polubienie

  1. Witam !
    Czujnik BMP280 mierzy ciśnienie, wilgotność i temperaturę. Co do zasilania z baterii, to w esp8266 jest tryb deep sleep w którym moduł pobiera jakieś mikroampery i przy pomiarach co np. pół godziny potrafi to 2-3 miesiące wytrzymać na zasilaniu z akumulatorów li-po. Nie wiem tylko czy Esp Easy obsługuje taki tryb.

    Polubienie

  2. Witam . Mam pytanie czy jest możliwość przypisania płytce esp8266 z oprogramowaniem espeasy własnego portu do połączenia np z zewnątrz nie 80 np 2200 + adres ip.Np 78.45.XX.45:2200 po przekierowaniu na routerze

    Polubienie

  3. Witam wszystkich, czy może ktoś opisać jak zasila ten cały układ? wydaje mi się że moim złotym środkiem to zasilanie 230V i późnij zmniejszenie do 3.3V tylko co zakupić? Po przeglądnięciu różnych for niema jednego 100% wyjaśnienia. Chciałbym aby cały czas czujnik zbierał informacje czyli nie był w uśpieniu.

    Bardzo Proszę o pomoc.

    Polubienie

    • Witam sadzę że chodzi o ESP8266 samo zasilanie układu zwykła ładowarka taka jak do telefonu ,sterowanie układami zewnętrznymi 230V można rozwiązać na różne sposoby od przekaźników triaki lub układy SSR-40A dc-ac sterowanie od 3V .Drugim elementem a zarazem centrum zbierania danych + sterowanie jest jeden z układów pi tz.. raspberry pi warto zainwestować w wersję 3b moduł droższy ale większe możliwości rozbudowy i tu zasilanie podobnie zasilacz z telefonu 2,5-3A . W zasadzie układy esp8266 z czujnikami instalowane są poza układem głównym a przekazywanie danych odbywa się droga radiową przez wifi

      Polubienie

  4. Takie pytanko
    Czy da się żeby NodeMCU działo jako czujnik temperatury, było zasilane z ogniwa 18650 i pokazywało stan naładowania baterii w Domoticzu/Home Assistant? Ewentualnie jaka inna płytka mogłaby do tego posłużyć?

    Polubienie

Dodaj komentarz