ESP8266 na NodeMCU Amica Board z zasilaniem bateryjnym oraz czujnikiem DHT22

Domoticz część 3: ESP Easy – sensor do stacji pogodowej na ESP8266

ESP8266 zdobyło już tak dużą popularność, że pojawiły się gotowe firmware/projekty, które początkujący może bardzo łatwo zaadaptować. Również zaawansowani użytkownicy IoT docenią szybkość i stabilność. Dziś zajmiemy się projektem Richarda Ten Kloostera – czyli ESPEasy (https://github.com/ESP8266nu/ESPEasy). W skrócie jest to firmware, który po uruchomieniu na ESP8266 daje możliwość skonfigurowania przez przeglądarkę WWW potrzebnych czujników oraz wysłanie automatycznie danych do domoticz. Tak więc pozostaje nam podłączyć czujniki, które wybraliśmy, ustawić wysyłania danych do np: domoticz’a – można przy wprawie w 10 minut uruchomić czujnik bezprzewodowy do stacji pogodowej! ESPEasy jest tak uprzejme, że po uruchomieniu samo uruchamia sieć bezprzewodową ESP_XXYYZZ, do której łączymy się bez hasła, w przeglądarkę wpisując domyślny adres 192.168.4.1

Więcej na stronie projektu: http://www.esp8266.nu/index.php/Main_Page

Podsumowując – jeśli kiedykolwiek frustrowałaś się skomplikowaniem poradników, ESPEasy jest dla Ciebie!

Co będzie potrzebne ?

ESPEasy wymaga minimalnie ESP8266, najlepiej w wersji ESP-12E lub nowszej ESP-12F (stabilniejszy chip). Aby było nam jeszcze łatwiej proponuję spojrzeć na gotowe płytki z chipem ESP8266, wyprowadzeniami na goldpin i układem zasilania, który wymaga 5V na micro USB. Dzięki temu, możemy użyć zasilacza do telefonu komórkowego, albo powerbanku z wyjściem USB. Dodatkowo w projekcie wybierzemy ciekawy czujnik – na początek, uniwersalny, pozwalający na osiągnięcie precyzyjnych rezultatów – DHT22, który podaje temperaturę i wilgotność. Zaawansowani użytkownicy mogą po prostu lutować ESP-12E, zasilić je 3,3V.
Oprogramowanie jest trochę bardziej skomplikowane, ale można także użyć szybkiej ścieżki – gotowych plików *.bin. Nauczmy się jednak (opcjonalnie) co trzeba zrobić w przypadku budowania ze źródeł – pobrać Arduino Studio, odpowiednie biblioteki i źródła ESP Easy, wykonać kompilację – a następnie załadować na płytkę.

Hardware:

  • płytka NodeMCU (2.0) z ESP-12E w wersji V2 (np: Amica NodeMCU)
  • czujnik DHT22

    ESP8266 na NodeMCU Amica Board z czujnikiem DHT22
    ESP8266 na NodeMCU Amica Board z czujnikiem DHT22
  • kilka kabli typu jumper do podłączenia
  • rezystor o mocy 0,125W – 4,7k do 10k Ohm
  • OPCJONALNIE: Raspberry Pi służące do flashowania

Software:

  • gotowy firmware ESPEasy w formie binarnej
  • Arduino Studio w wersji 1.6.5
  • źródła i biblioteki ze strony ESP Easy

OPCJONALNIE: Budowanie firmware ESPEasy

Kiedy mamy już wybraną płytkę – możemy zbudować ze źródeł firmware ESPEasy, albo możemy użyć gotowej – skompilowanej wersji w postaci pliku bin. Można więc przeskoczyć ten krok, jak zauważył w komentarzach huczas – użyć wersji 078, w której mamy trzy gotowe, zbudowane (skompilowane) firmware – dla różnych rozmiarów flash. W przykładzie mamy płytkę NodeMCU – wybieramy największy plik. Jeśli jednak nie działa poprawnie – należy pobrać tzw. środowisko Arduino IDE. Jest to program, który pozwala ze źródeł tworzyć m.in. firmware dla ESP8266. Dlaczego akurat Arduino IDE, czy będę potrzebował Arduino ? Nie, ponieważ łatwo w nim przygotować projekt TAKŻE dla ESP8266 – nie potrzebujesz Arduino.
Pobieramy i instalujemy (Windows lub inne systemy operacyjne) KONIECZNIE wersję 1.6.5: https://www.arduino.cc/en/Main/OldSoftwareReleases#previous.
Dlaczego koniecznie? Inne wersje nie są przystosowane do naszej płytki (nowsze) – w rezultacie nasz firmware nie skompiluje się. Po zainstalowaniu,

Arduino IDE
Arduino IDE

należy pobrać opis naszego ESP8266 (zarządcy płytek) – wpisujemy w preferencjach:

Arduino IDE - preferencje
Arduino IDE – preferencje

W pole „Additional Boards Manager URLs:” wpisujemy adres http://arduino.esp8266.com/stable/package_esp8266com_index.json który zawiera definicję ESPEasy 2.0.0 – którą instalujemy w menu Tools/Narzędzia -> Boards Manager:

Arduino IDE - Boards Manager - instalacja płytki ESP8266
Arduino IDE – Boards Manager – instalacja płytki ESP8266

Następnie, z menu Tools – wybieramy odpowiednią płytkę:

Wybór płytki ESP
Wybór płytki ESP

Kierujemy się teraz po źródła – w trakcie pisania przetestowałem wersję 048, a pojawiła się już 120: http://www.letscontrolit.com/

Podbieramy plik, rozpakowujemy go w katalogu ESPEasy w Arduino IDE, a następnie kopiujemy biblioteki – katalogi z folderu Libraries do katalogu Arduino IDE – libraries.

Teraz należy otworzyć plik ESPEasy.ino poprzez Arduino IDE i wybrać Eksport compiled binary

Eksport firmware ESP8266
Eksport firmware ESP8266

Nastąpi teraz kompilacja,

Kompilacja w toku...
Kompilacja w toku…

która powinna zakończyć się tak:

Ukończona kompilacja ESPEasy
Ukończona kompilacja ESPEasy

W rezultacie w katalogu ESPEasy dostajemy plik ESPEasy.cpp.thing.bin

Flash firmware ESPEasy

Zakładam, że masz płytkę NodeMCU jak na zdjęciu, więc wybieramy odpowiedni flash do niej podczas kompilacji, lub korzystając z nowszych wersji (078) mamy do wyboru co najmniej trzy pliki *.bin dla różnej pojemności SPI flash. Sprawdźmy więc który wybrać, podłączając jak w poprzednim przykładzie przez konsolę – a następnie wydając komendy dla firmware NodeMCU:

a dla klasycznego firmware AT –

Ponieważ większość konwerterów UART na Windows ma albo kłopot z nieoryginalnym chipem, albo ogólny problem sterowników – przenosimy się tak jak w poprzednio – na RaspberryPi. Transferujemy plik do folderu z esptool.py i wykonujemy po podłączeniu identycznie jak w przykładzie (z ekstra komendami dla SPI flash 4M): https://blog.jokielowie.com/2015/10/domoticz-cz-2-termometr-wifi-z-precyzja-do-dwoch-miejsc-po-przecinku-czyli-esp8266-dla-poczatkujach-w-praktyce/ komendę:

Jeśli flashowanie przebiegło sprawnie – zauważ ekstra parametry wobec flashowania ESP-01 – mamy działający ESPEasy!

Podłączenie DHT22 i konfiguracja z Domoticzem

Jak zapewne zauważyłeś na pierwszym zdjęciu, podłączenie czujnika DHT22 – podającego z dużą precyzją temperaturę i wilgotność przeprowadziłem bez rezystora podciągającego (pull-up). Zgodnie ze sztuką powinno się umieścić pomiędzy PIN DATA (środkowym) a PIN VCC – rezystor około 10k. Tymczasem – podłączyłem z ciekawości – do płytki NodeMCU PIN DATA i działa! Niemniej – gorąco polecam dołączenie rezystora.

Podłączenie

Płytka NodeMCU ma nad napisem WiFi interesujące nas PINy, które łączymy:

ESP8266 na NodeMCU Amica Board z czujnikiem DHT22 - podłączenie z boku
ESP8266 na NodeMCU Amica Board z czujnikiem DHT22 – podłączenie z boku
  • PIN +3,3V -> pierwsza nóżka po lewej DHT22 (patrząc od frontu na czujnik)
  • PIN GND -> ostatnia, czwarta nóżka od lewej DHT22
  • PIN D4 -> druga nóżka od lewej DHT22, przy czym łączymy ją także przez rezystor 10k z PIN +3,3V

Konfiguracja

Płytkę NodeMCU v 1.0/2.0 zasilamy +5V z zasilacza ze złączem microUSB – czyli takim samym jak RaspberryPi, przy czym może to być stara ładowarka do telefonu o wydajności 300-500mA (jeśli masz 2A to też nic nie zaszkodzi). Po uruchomieniu – wyszukaj na komputerze nową, niezabezpieczoną (lub zabezpieczoną od wersji 078 – wtedy hasło >stron>configesp) sieć bezprzewodową – ESP_XXYYZZ (ostatnie sześć znaków to część adresu MAC interfejsu WiFi ESP8266). Połącz się z siecią, wpisz w przeglądarkę adres: http://192.168.4.1/ a uzyskasz następujący, lub podobny widok:

ESPEasy - Main Screen
ESPEasy – Main Screen

W przykładzie mamy już zmienione adresy IP, więc zauważ – jest na odwrót. Kierujemy się do zakładki Config i uzupełniamy ją naszymi danymi:

ESPEasy - konfiguracja sieciowa
ESPEasy – konfiguracja sieciowa

Po kolei – dajemy czujnikowi nazwę, ustawiamy hasło dostępu przez WWW. Następnie podajemy sieć WiFi i hasło dzięki której ESP przejdzie do naszej sieci i będzie mógł wysyłać dane do Domoticz – konfigurujemy go tak jak inne urządzenia w naszej sieci, a adres IP pobierze z DHCP. WP Ap Mode Key pozostawiamy domyślnie, ustawiamy protokół na Domoticz HTTP, adres IP domoticz’a odbierającego dane, jego port oraz Sensor Delay – czyli jak często wysyłamy dane z naszych czujników – tutaj 300 sekund czyli co pięć minut.
UWAGA: jeśli zapomnimy hasła do WiFi, albo ustawimy hasło do DOSTĘPU do ESP8266 przez WWW – i zapomnimy – możemy przywrócić nasze ESP do ustawień domyślnych z konsoli (patrz poprzedni wpis) – wydając komendę reset.

Następnie dodajemy nasz czujnik – już podłaczony – DHT22 w zakładce Hardware:

ESPEasy-devces

Kluczowe jest wybranie odpowiedniego PIN płytki NodeMCU – D4 to GPIO2 oraz IDX – numeru indeksu czujnika jaki występuje w Domoticz. Co to takiego ? Tworzyliśmy go jak czujnik wirtualny w Domoticz w pierwszym przykładzie: https://blog.jokielowie.com/2015/07/przekazniki-kontaktrony-wake-on-lan-oraz-z-wave-czyli-domoticz-w-sluzbie-domu/. Tym razem tworzymy czujnik Temp+Humidity!

Dodawanie wirtualnego czujnika temperatury i wilgotności
Dodawanie wirtualnego czujnika temperatury i wilgotności

Podobnie jak poprzedni w sekcji Domoticz – Ustawienia -> Urządzenia odnajdujemy nasz czujnik i notujemy wartość IDX – którą wpisujemy w IDX / Var ESPEasy. To już… wszysto!

Oto wykres jakiego należy się spodziewać po kilku dniach pracy:

Wykres z czujnika ESPEasy
Wykres z czujnika ESPEasy

Aktualnie – u mnie – czujnik pracuje na zasilaniu bateryjnym, na wiosnę, gdy temperatura wzrośnie – będzie ładowany z panelu solarnego.



  • huczas

    w najnowszej wersji EspEasy nie trzeba już nic kompilować… w zpie jest program do wgrania softu, wczoraj go testowałem, działa bardzo sprawnie i bez problemów 🙂

    • Łukasz C. Jokiel

      Świetnie, czyli jest coraz łatwiej! 🙂 Piszesz o wersji 078?

      • huczas

        dokładnie tak, w moim przypadku 1024 bajtowa ale wszystkie 3 są do wyboru w kreatorze instalacji.

        • Łukasz C. Jokiel

          A więc pozostaje zidentyfikowanie wielkości flash na każdej z płytek, dzięki.

  • huczas

    właśnie zamówiłem dwie sztuki ESP-12e 🙂 Ile na baterii Ci działa ten układ? jaka bateria?

  • ciko

    Cześć. Mam problem. Próbował ktoś uruchomić MQTT na raspberry?. Mam czujnik DHT na ESP8266 i w lokalnej sieci nie ma problemu bo wysyłam sobie dane bez hasła. Do Domoticza mam hasło i jak przeniosłem czujnik do innej lokalizacji to żeby przesyłać dane do Domoticza muszę usunąć hasło. Podobno da się przesyałć dane przez tego mqtt i zostawić hasło ale nie wiem zupełnie jak się za to zabrać. Pomoże ktoś?

    • Łukasz C. Jokiel

      Nie zajmowałem się MQTT, ale jeśli przesyłasz do domoticza to nie ma sensu używać MQTT, tylko zrobić wirtualne przełączniki, a po IDX EasyESP je zaktualizuje,

  • Adam Sobczak

    Cześć. Nie dość, wychodzi na to, że znamy się z Opola to jeszcze interesujesz się Raspberry. A mam pytania pośrednio z nim związane, jeśli mogę.

    Po pierwsze – jak długo działa Ci ESP z termometrem na bateriach?

    A dwa – zamówiłem RFLink – czy uważasz że lepiej bawić się w ESP + termometr czy od razu iść w http://www.banggood.com/433MHz-Wireless-Weather-Station-Digital-Thermometer-Humidity-Sensor-p-965559.html a RFLink? Oba rozwiązania wydają się dobre…

    Dla własnej przyjemności i nauki zamówię sobie chyba ESP z koszykiem na baterie i DHT22 (https://botland.com.pl/moduly-wifi/5594-yellow-board-esp8266-modul-wifi-esp-12e-koszyk-na-baterie.html?search_query=esp&results=107), ale cena już będzie większa niż termometru z Chin 🙂

    • Łukasz C. Jokiel

      #1 Testowałem około 40h na dwóch używanych 18650. Z buforem słonecznym zaczynam testy za tydzień dwa – muszę znaleźć czas na poąłczenie drugiego ESP jako testowy.
      #2 IMHO tylko albo WiFi (ESP32 zapowiada się ciekawie od strony zasilania) – 433MHz nawet tylko na czujniki – nie stosuję – zbyt mała jednak kontrola nad pasmem i brak toru zwrotnego
      #3 Hehe. Cierpliwość vs. niecierpliwość 😉

      • Adam Sobczak

        Dziękuję za odpowiedź.

        Sprawdzę ESP8266 z deep sleep, zapowiada się ciekawie. A jak nie to wyląduje w garażu w gniazdku.

        RFLink z czystej ciekawości i dużego wsparcia w Domoticz – potestuję z przyjemnością.

        ESP32 faktycznie wróży dobrze dla naszego hobby – WiFi i Bluetooth na jednej płytce może rozwiązać większość problemów.

        • Marek Kucmerka

          Używam RFLinka od kilku miesięcy i wg mnie do czego innego można wykorzystać pasmo 433 a gdzie indziej WiFi na 2.4GHz będzie lepsze. RFLinka używam przede wszystkim do sterowania roletami okiennymi i w tym sprawdza się genialnie – nie ma tu praktycznie wyboru bo producenci napędów uzywają tylko pasma 433MHz. Mam też kilka sensorów temp/wilgotność na 433 ale mają onie niestety żenująco mały zasięg. Częstotliwość 2.4GHz dużo lepiej penetruje ściany i stropy dlatego dla sensorów EspEasy + WiFi będzie dużo lepsze

          • Łukasz C. Jokiel

            Hmm… Nie bardzo – 433MHz jest lepsze do „ścian”, to poprostu kwestia implementacji protokołu odpornego na zakłócenia (albo jego braku!). Taki Z-wave na 862MHz działa lepiej i doniośniej niż 2,4GHz…

  • Łukasz

    Witam. Wiesz może jak podpiąć np. czujnik deszczu fc-37 do espeasy w tym konfiguratorze? W sensie którą opcję wybrać. A inne czujniki? Z góry dzięki

    • Łukasz C. Jokiel

      Akurat trafiłeś! Wybieram właśnie wszystkie zabawki „na później” i trafiłem na niego. Ponieważ ma wyjście cyfrowe (D0) to zapewne jako Switch input i sprawdzić czy jest Inversed. Powinno działać, ciekawe czy jak podgrzejesz to wykryje śnieg? 😉

      • Łukasz

        On pokazuje wartości od 300 do 1023 gdzie 1023 jest sucho a 300 mokro

        • Łukasz C. Jokiel

          Na D0? Czy na A0?
          Mój BH1750 po prostu działa – pokazuje co trzeba, może zasilanie? Albo bardziej poświeć!

          • Łukasz

            Deszczu sprawdzałem tylko pod arduino uno bo jeszcze go pod esp easy nie podpiąłem a tam na A0 więc penie na D0 będzie podobnie. Fajny układ z tym że czujnik ma D0 i A0 ma też czujnik wilgotności gleby :). Co do czujnika to podpiąłem go do 3v3 na arduino uno i pokazywał w serial monitorze około 200 lumenów i po zakryciu zmniejszał czyli działa… sda i scl też są na bank dobrze podpięte bo skan i2c wykrywa go w 0x23… NIe mam pojęcia co nie gra… Jedyne co mam wątpliwości to to że pokazuje że pin GND chyba jest połączony (może źle zlutowałem) z AD0 który jest nieużywany

          • Łukasz C. Jokiel

            D0 to cyfrowe a A0 analog – więc będzie albo załączony albo nie. B1750 na 3,3V działa z ESP, więc pewnie „luty”. U mnie: 0x23 BH1750 Lux Sensor
            0x3c i OLED SSD1306 Display

          • Łukasz

            Działa już wystarczyło parę restartów, o tym co znaczy A0 i D0 wiem ale jedyne co z cyfrowymi robiłem to Dht22 i dioda z pwm

          • Łukasz C. Jokiel

            Podłączyłem FC-37, po wysterowaniu potencjometrem – tak aby za chwilę zapalił się LED D0 – po „dolaniu” wody działa zero-jedynkowo. Konfiguracja w ESPEasy na obrazku: http://imgur.com/a/EMQy8

          • Łukasz

            Wielkie dzięki

  • Andrzej Bialecki

    Witam,
    Mam taki dziwny problem… ESPEasy R120 / NodeMCU / 4MB nie widzi żadnych czujników. Próbowałem DS18b20, DHT22, na różnych pinach – i nic. Z DS to nawet podczas konfiguracji zczytuje adresy ROM i pokazuje w formularzu, ale potem na liście Devices pokazuje tylko same 0-0-0-0-0-0-0… Próbowałem zmieniać pullup, od 4.7k do 1k, i też nic.

    Co ciekawe, dokładnie ta sama konfiguracja sprzętowa (bez ruszania drutów na breadboardzie) śmiga pod NodeMCU, jestem w stanie odczytać wszystkie czujniki z jednego 1-wire.

    Jakieś sugestie? Z góry dziękuję.

    • Andrzej Bialecki

      W pewnym sensie znalazłem rozwiązanie – umieściłem każdy czujnik 1-wire na osobnym gpio, i poszło. Dziwne tylko że pod nodeMCU działało – pewnie chodzi o timing lub coś w tym rodzaju…

      • Łukasz C. Jokiel

        Być może – za dużo – spadek napięcia albo prąd przy odczycie poza specyfikacją. Może spróbować po dwa na GPIO?

  • Michał

    Witaj,możesz podpowiedzieć jak to ugryźć – mam esp-12s , niestety jak sądzę, to nowsze rozwiązanie niż opisujesz, i np nie ma GPIO 0 do zwarcia z masą, co by firmware wgrać – dalej pisałeś, że do tego są już gotowe pliki zip do wgrania?
    Byłbym wdzięczny za jakaś wskazówkę, albo czego szukac, bo szczerze mówiąc pierwszy raz mam w rękach tego typu zabawkę:)

    • Łukasz C. Jokiel

      Hej!
      ESP-12s to nowy design płytki – poprawia oczywiście radio – ale jest w pełni zgodny z ESP-12E. Pliki ZIP – rozpakowujesz oczywiście i ‚wgrywasz’ plik bin – odpowiedni do Twojego ESP – zakładam, że są to wszystkie 4096 (4K). Jeśli masz sam chip z płytką to trzeba lutować – wygląda na to że ostatnio najlepiej zaczynać od Wemos D1 mini, bo ma rozwiązane różne kłopoty poprzednich wersji. Stosuj tak jak ESP-01 – sprawdź czy masz dobry opis PINów.

  • Michał

    Chwila minęła, poddałem się trochę, najpierw zorganizowałem samą płytkę jak pisałem niżej, ale później kupiłem taki moduł jak masz na zdjęciu:) ze względu na kombinacje z konwerterem, zasilaniem itp… szedł z Chin chwilę ale jest…
    Możesz podpowiedzieć czy jeśli moduł generuje już sieć ( nie mogę się co prawda połączyć), to znaczy, że jest gotowy do użytku i po podłączeniu dht22 i konfiguracji domoticza zaskoczy wszystko, czy nie? Nie wiem co jest,ale nie mogę się połączyć, mam niezabezpieczoną sieć, połączę się, adres dostaję, rzeczywiście z puli 4.xx, brama jest 4.1 ale nie mogę się połączyć, powyłączałem zapory itp i nic;/

    • Łukasz C. Jokiel

      Nie, nie zawsze – np: dostałem Wemos D1 mini, który tworzy własną sieć, ta sama adresacja, ale nie ma wgranego ESPEasy. Dopiero po flash ESPEasy działa tak jak w opisie.

      • Michał

        Ok, rozumiem, że dla tych, co już coś robia poradnik jest pomocny… z mojej strony to nie lenistwo, ale na serio nie mogę ogarnąć tego, mimo, że różnymi rzeczami się bawiłem;/ możesz mi podać który plik firmware z gotowych trzeba wgrać? TU znalazłem: http://www.letscontrolit.com/wiki/index.php/ESPEasy
        Jakiś ostatni R120 – ten będzie ok?

        • Łukasz C. Jokiel

          Pobierasz, rozpakowujesz, bierzesz plik z 4096 w nazwie i flashujesz z Raspberry jak w przykładzie. Po zwarciu z masą – restart, trzymasz zwarcie, puszczasz i odpalasz flash.
          PS: Ostrożnie – upaliłem jednego Wemosa – „omskło” mi się 😀

  • Kajot

    Hej
    Mi DHT22 o 12 godzinach przestał podawac wartości tylko Nan, po restarcie wszystko wraca do normy. Czy ktoś miał podobny problem ?

    • Łukasz C. Jokiel

      Tak, dwa razy zdarzyło mi się, że ESP przestał od DHT22 dostawać dane. Pomaga reset całego ESP, albo wypięcie zasilania DHT22. Planuję wszystkie DHT22 używane zastąpić BME280, jak już przyjdą.

  • Hey,
    Mam pytanie na ktore nie mogę znaleźć odpowiedzi, a dosc mocno mnie nurtuje.
    Czy na wemos’a d1 mini mozna wgrac esp easy?

    • Łukasz C. Jokiel

      Oczywiście, także wersję MEGA

  • Krzysztof Cebulski

    Cześć!
    Dzięki, że podzieliłeś się ze wszystkimi swoimi doświadczeniem.. dzięki temu znacznie szybciej mogę wystartować.

    1) Czemu wybrałeś NodeMCU a nie np.: WEMOS D1 mini V2.2.0?
    Chcę wykonać na tym czujniki otwarcia bram i sterowanie podlewaniem ogrodu
    Właśnie przygotowuję sobie listę zakupów w AliExpress: http://my.aliexpress.com/wishlist/shared.htm?groupId=3111101266 ale trafiłem na twoje projekty i zastanawiam się czy nie powinienem zmienić planów (na płytę NodeMCU).

    Z moich pierwszych spostrzeżeń widzę, że:
    – muszę przerabiać gotowy soft gdyż nie chcę wysyłać stanu bramy co jakiś czas tylko na zapytanie, albo jak się zmieni.
    – ESP podlewające ogródek musiało by również „pingować” domoticza, jeżeli nie będzie komunikacji powinno przerwać podlewanie.
    Mam nadzieję, że nie będzie to problematyczne w domoticzu i protokole domoticza.
    2) Da się pokazać takie stany jak: podczas otwierania, podczas zamykania?

    Jestem programistą więc z programem nie powinienem mieć zbyt dużych problemów o ile technologia/język/domoticz umożliwia takie operacje ale jeszcze nie rozeznałem wszystkiego więc nie jestem tego pewny.
    Może zerkniesz na „listę zakupów” i coś doradzisz?

    Z góry dziękuję za pomoc.

    • Łukasz C. Jokiel

      1 – Haha, wtedy jeszcze nie było/nie znalazłem – po prostu! Tak samo jak DHT22 – teraz tylko BME280
      Domoticz będzie wiedział (szczególnie od niedawana, że nie ma komunikacji)
      2 – użyj w ESP Easy i Domoticzu – MQTT. To jest bardziej przyjazne temu co robisz. Zobacz też na projest ESPEasy Mega – łatwo można pisać obsługę własnych urządzeń i łączyć ESPeki w „mesh”

      Co do zakupów – to upewnij się, że przekaźniki są sterowane wysokim stanem, a te czujniki gazowe… to bym zamówił może później – poczytaj jeszcze o nich 🙂

      Natomiast zobacz na ‚pulse meter’ – załóż na licznik i może zrobisz sobie licznik wody! Właśnie coś takiego planuje niedługo zrobić.

      • Krzysztof Cebulski

        Te do gazu to na przyszłość.. (czadu , gazu, dymu) raczej wolałbym zaufać alarmowi.. max 2tyg temu uratował mi chatę przed spaleniem :/
        Już lookam na to MQTT.
        Czytam gaz („kontrakton”) i licznik energi ellektrycznej (Iskra protokołem IEC), wodę również bym chciał tylko nie chciało mi się nic doklejać do licznika podaj linka do tego „pulse meter”.

        • Łukasz C. Jokiel

          Tak, dym obowiązkowo – najlepiej jak ten alarm jest audio + GSM + powiadomienia. Musi zadziałać.
          1) Energię i wszystko co ma 230V – robię na z-wave. Właśnie aby nie było pożaru. Miernik cęgowy 3-fazowy albo 1-fazowy – poczytaj
          2) Wemos D1 mini – zasilanie 5V, fajnie się lutuje tanie shieldy – przycisk, ów mikro ekranik, przekaźnik. Nie wiem czy rzeczywiście ma rozwiązany problem z Depp Sleep – ale i bez tego jest teraz najlepszy
          3) Nie wiem – można mieć na pewno namiastę na trzech lub więcej kontaktronach, ale chyba nie tędy droga. Natomiast pod każdy przełacznik masz skrypt podpinany – więc tam można ustawiać dodatkowe warunki – np: póki konaktron numer dwa się nie zamknie po tym jak numer 1 się otworzył – to jest to otwieranie

          Licznik – zrobię zdjęcie później – załączę.

          • Krzysztof Cebulski

            Dzięki..
            Zamówiłem wczoraj wszystko.. teraz zaczynam rozpoznawać domoticza.

            1) Licznik czytam po optozłączu (podczerwone diody nadawcze i odbiorcze) więc mam z niego historię (zużycie energii w godzinie chyba z rok wstecz) ale jak Enea się oburzy to mi może zabezpieczyć opto więc może lepiej samodzielnie kombinować.
            Do gazomierza w PGNIGu dostałem pozwolenie na umieszczenie w nim dedykowanego impulsatora a do niego mam urządzenie, które zapisuje w swojej historii (ilość impulsów w 15minutach) a ja je czytam po modbusie.

            3) Otwieranie zamykanie bram zaprezentuję na razie na wskaźnikach 0-100%
            O%-Zamknięte (zielone) 25%-Zamykanie (żółte) 75%-Otwieranie (pomarańczowe) 100%-Otwarte (czerwone)
            Czy się zamyka czy otwiera to polaryzacja na wyjściu ze sterownika do siłowników + stan otwarty z kontraktonu zamknięcia bramy.
            Widziałem kody od mysensors i myślę, że tam na początku zacznę grzebać.. jak mi to nie wystarczy to przejdę na Betę domoticza i protokół MQTT.

            Na razie to domoticz nie chce mi działać na Android 7. BTW czy on działa tylko po IP? Uruchamia się w sieci lokalnej ale z adresem typu http mojahata.dyndns.org : 8080 nic.. oczywiście porty przekierowałem i przeglądarka z sieci zewnętrznej mi na tym działa.
            Docelowo muszę przejść na https.

            Jestem ciekawy jak zrobiłeś / zrobisz odczyt z wodomierza… Nie chciałbym, żeby licznik zliczał litry zużytej wody po zapaleniu światła w kotłowni. Może trzeba kupić licznik wody z wyjściem impulsowym.

            A może się umówimy na jakiejś prezentacji przez TeamViewera? Chciałbym zobaczyć co masz zrobione albo na moim systemie co jak się robi. Widziałem ładniutkie wykresy z Twoich czujników. Też sobie takie zrobię 😀
            Na razie skonfigurowałem powiadomienia z apkami na androida i teraz robię plany domku (tak na przyszłość).

            No właśnie, widziałem miernik opadów deszczu, na czym to zrobiłeś?

            Pozdrawiam

          • Łukasz C. Jokiel

            1) właśnie o takim opto mówię – teoretycznie wskazóweczka ma go aktywować. Zobaczymy!
            2) Gazomierz – hmm… tego chyba nie ruszam 🙂
            3) To będzie chyba OK

            Do Domoticza masz natywną apkę, działa na 7,6,5 i 4.2. Zobacz ImperiHome – znacznie lepsze i warte ceny.
            U mnie nie ma problemu bo LED emitują minimalnie podczerwieni, a jeden impuls to wiesz…

            Prezentacja – podłączę niedługo prezentację z PLNOG jak się pojawi – ale generalnie – lepiej dłub samemu i opisuj – bo w ten sposób można się czegoś nauczyć i rozwiązać po swojemu. Jak już odtwarzamy gotowce – to chociaż jakąś optymalizację róbmy!

            Deszcz na prostym czujniku – poszukaj po nazwie 🙂

          • Krzysztof Cebulski

            1) Czytam głowicą optyczną… taką jak na tym filmiku: https://youtu.be/06w3vKRwW9E?t=43 ale natknąłem się przed chwilą na youtube – odbicie światła podczerwonego od wskazówki na liczniku wody więc pewnie kiedyś tak zrobię o ile mam jakiś odbłyśnik w liczniku wody.. raczej zapalenie światła nie powinno wyzwolić sygnału..
            2) Co do gazu to do takiego licznika: http://www.apator.com/uploads/gallery/128/6G4L-250_7ad4855.jpg włożyłem za pozwoleniem http://www.intergaz.eu/sklep/produkty/nadajniki/nadajnik-in-z61.html a potem pozostaje zliczać impulsy..

            Ilość opadów w ciągu dnia (litrów na 1m2) na prostym czujników opadu? Nie możliwe :p) nie mogę na razie znaleźć takiego zastosowania..
            Imperihome współdziała z domoticzem czy czujnikami mysensors? czy jak? Mogą te dwa systemy działać razem?
            Szkoda.. będę sam walczył.. na razie mam problemy z konfiguracją… nie wiem co i jak mimo iż przeczytałem pseudo dokumentację domoticza..

          • Łukasz C. Jokiel

            To tylko czujnik samego deszczu – ale wyjście analogowe można przeliczać – zdecydowanie do opadów lepszy jest taki przelewowy.
            ImperHome to interfejs do zarządzania Domoticzem. My Sensors (nie używam) z kolei integrują się ładnie z samym Domoticzem. Zobacz na wpis o instalacji Domoticza – jest wszystko co trzeba aby odpalić na RPi

          • Krzysztof Cebulski

            Może kiedyś zrobię wagowy albo pluwiograf http://holmes.iigw.pl/~mbodzion/dydaktyka/mik/pliki/opad.pdf… to na dużo później… myślałem, że jest na to prostszy sposób.
            Ok dzięki..
            Na razie nie chciałem siedzieć bezczynnie.
            Zrobię plany mieszkania i całej działki z ogrodem z jakiegoś drona żeby fajnie wyglądało.

          • Krzysztof Cebulski

            W domoticz jest taki Switch rolety, którym można je zamykać, otwierać albo ustawić procent otwarcia tylko nie widzę możliwości odczytu stanu. Trzeba wysyłać stan z danego czujnika? Czy w ogóle nie można mieć pewności stanu rolet, drzwi itp?

            Nie wiesz czy można robić swoje kontrolki? Zamiast rolet potrzebuje bramę itp..

            Nie mogłem się doczekać i zamówiłem w Polsce 1ego wemosa (cenax2) 😀

          • Łukasz C. Jokiel

            Wemos x2? To i tak tanio!
            Nie mam doświadczenia w roletach – musisz poszukać. Możesz zmienić ikonkę, ale własnego typu jeszcze nie można tworzyć.

          • Krzysztof Cebulski

            v2 a nie v2.2.0 + koszty przesyłki więc bym miał ze 3 sztuki tylko, że za miesiąc..
            Zobaczymy czy na pewno wyślą w ciągu 24h z Polski http://allegro.pl/wemos-d1-mini-v2-esp8266-e12-wifi-nodemcu-arduino-i6704464477.html

          • Krzysztof Cebulski

            Po mału w głowie wszystko mi się układa.
            Mówiłeś, że nie używasz mysensors (biblioteki?).
            Jak wysyłasz dane? Używasz MQTT?
            Chcę mieć raczej bezpieczne połączenia, informacje zwrotne z przycisków itp więc wygląda na to, że muszę opanować to MQTT.
            Mam nadzieje, że jest gotowa implementacja tego protokołu: https://learn.adafruit.com/adafruit-io/arduino znalazłem coś takiego..
            Wiesz coś o tym? Możesz mi powiedzieć co i jak?
            Widziałem, że nie jest łatwo:
            http://www.instructables.com/id/Send-sensor-data-DHT11-BMP180-to-ThingSpeak-with-a/

            Pozdr..

          • Łukasz C. Jokiel

            Używam slave domoticz’a. MQTT w Domoticzu nie jest doskonałe, ale nadaje się do użycia – a z pewnością do przetestowania. Jak się ‚zatniesz’ to pamiętaj, że zawsze można wziąć ESP8266 i ESPEasy – do kontroli i raportowania.

          • Krzysztof Cebulski

            Dzięki. Zobaczę jutro jak wygląda slave dom. A czemu nie mysensors? Z jakiejś konkretnej przyczyny?

          • Łukasz C. Jokiel

            Po prostu – nie znalazłem na nie czasu – nie zainteresowały mnie jeszcze

          • Krzysztof Cebulski

            Acha.. To zajmę się nim jak oryginalny będzie za trudny. Ale skoro jest gotowa implementacja protokołu to pewnie zostanę przy MQTT… Zobaczymy..

          • Krzysztof Cebulski

            Zaciąłem się :p
            Te gotowe coś nie działają..

            0;255;3;0;9;!TSM:INIT:TSP FAIL
            0;255;3;0;9;TSM:FAIL:CNT=7
            0;255;3;0;9;TSM:FAIL:PDT

            Serwery w domoticzu MQTT różne stawiałem..

            Raportują twoje wejścia i przekaźniki stan do domoticza samoistnie?
            Po zmianie stanu wejścia? Czy co jakiś czas?

            Możesz mi pokazać twój kod?
            Byłbym wdzięczny.
            Pozdr.

          • Łukasz C. Jokiel

            Nie, nie używam MQTT – musisz poszukac przykładów – mogę jedynie naprowadzać.

          • Krzysztof Cebulski

            Chciałem zobaczyc jak ty przekazujesz do domoticza…
            Mozesz wkleic gdzies swoj kod na chwilę?
            codeshare.io albo pastebin.com

          • Krzysztof Cebulski

            chyba już wiem..

          • Krzysztof Cebulski

            Udało mi się 😀 i to na lepszym systemie HomeGenie komunikaty przez kolejkę MQTT.
            Czujki nawet się same wykrywają i dodają do programu 😀
            Tylko dopracować, bo ten HG jest strasznie dziwny i ciężko go na początku ogarnąć, ale za to nie ma ograniczeń.

          • Łukasz C. Jokiel

            Nie używam MQTT – kod do garaży we wpisie. HomeGenie testowałem przez chwilę, ale jednak nie używam!

          • Krzysztof Cebulski

            Chyba wiem dla czego.. strasznie to niestabilne. Mam nadzieję, że dzięki temu MQTT będę mógł zrobić niezależnie w różnych systemach (domoticz, homegenie itp).

          • Krzysztof Cebulski

            Licznik energii ma diode świecącą, która emituje światło co chyba dziesięć wat, (stała impulsowa jest napisana na liczniku) więc zużycie energii też możesz bardzo dokładnie monitorować.

      • Bartek

        Co lepsze do komunikacji – WEMOS D1 mini V2.2.0 czy ESP32?

        • Łukasz C. Jokiel

          Obecnie – więcej gotowych przykładów jest na tańszego Wemosa.

          • Bartek

            Czy WeMosa mozna podlączyć pod 5V? czy trzeba jakąś przetwornicę na 3.3V? Jeśli tak jaką najlepiej? Dziękuje

          • Łukasz C. Jokiel

            Wemosa zasilasz zwykłą ładowarką 5V z microUSB, można też z PC – wystarczy mu 500mA jakie daje. Na pinie dostajesz zarówno 5V jak i na kolejnm 3,3V bo Wemos ma regulator i step-down do 3,3V. A więc – wygodnie!

          • Bartek

            Super. Że ja tego wcześniej nie znałem! Jutro kupuje na aliexpresie 🙂

  • Wojciech Maj

    Cześć
    Mam problem z DHT22. Czujnik poprawnie mierzy temperaturę, ale nie przesyła jej do Domoticza 🙁 IDX jest poprawnie ustawiony….. Wiesz może o co chodzi?

  • Andrzej Robert Szerszen

    Cześć, dzięki za tutorial, właśnie zaczynam zabawę z domoticzem, i planuję dobudować kilka czujników… Doświadczenia z ESP8266 mam zero… Zastanawiam się, czy mozna by zastopic dht22 modulem BME280, i jeszcze dodac do tego PIR-a? Czy to już zbyt dużo na raz 🙂

    • Łukasz C. Jokiel

      Tak, BME280 jest na i2c, co jest lepsze ze względu ma obciążenie CPU. PiR to zupełnie luz.

      • Andrzej Robert Szerszen

        Bardzo dziekuje! W takim razie zamawiam i szaleje! Napisze czy poszlo dobrze 🙂