NodeMCU – wysyłka danych z czujników do internetu.

NodeMCU – wysyłka danych z czujników do internetu.

Witam :-)

Chciałbym Wam pokazać jak w łatwy sposób wykorzystać moduł NodeMCU z układem ESP8266 do kontroli parametrów w naszym domu lub innym miejscu, nawet gdy sami jesteśmy gdzieś indziej. Wykorzystamy do tego wcześniej wspomniany moduł, czujnik temperatury i serwis thingspeak. Sam planuje stworzyć podobny układ, który pozwoli mi kontrolować warunki w terrarium z roślinami owadożernymi. Zatem do dzieła! :-)

Co będzie nam potrzebne?

 

Zakładamy konto na thingspeak

Po zarejestrowaniu się w serwisie należy stworzyć nowy kanał, na który będziemy przekazywać informacje z podłączonych czujników (w naszym przypadku jest nim czujnik temperatury DS18b20).

Nadajemy nazwę kanału, podpisujemy swój wykres (na którym będziemy odczytywać dobową zmianę temperatury). Możemy również uczynić nasz kanał publicznym.

Zakładanie kanału thingspeak.

W następnym kroku wchodzimy w zakładkę API Keys i spisujemy klucz, który będzie naam potrzebny podczas programowania NodeMCU.

write api

 

 

Łączymy układ

Ok, przyszedł czas na stworzenie prostego układu, który będzie mierzył temperaturę. Układ należy połączyć zgodnie z schematem przedstawionym poniżej.

schemat

 

20160613_223026-1

 

 

Przygotowanie Arduino IDE do pracy z NodeMCU

Przed rozpoczęciem programowania musimy przygotować nasze Arduino IDE do pracy z NodeMCU. Wchodzimy w zakładkę PLIK->PREFERENCJE i dodajemy dodatkowy adres do menadżera płytek. Adres, który dodajemy to: http://arduino.esp8266.com/staging/package_esp8266com_index.json

Dodatkowy adres URL

Dalej w zakładce NARZĘDZIA wybieramy odpowiednią płytkę i związane z nią parametry.

parametry

 

 

Tworzymy kod

Przed kompilacją kodu musimy wgrać wymagane biblioteki. Są nimi ESP8266WiFi, OneWire i DallasTemperature.

Dodatkowo należy uzupełnić.

Kompletny kod został przedstawiony poniżej.

W efekcie otrzymamy na naszym kanale wykres temperatury, który będzie odświeżany co 15 sekund.

 

wykres

W przyszłości układ można wzbogacić o dodatkowe czujniki takie jak: czujnik ciśnienia, wilgotności itd.

Na koniec chciałbym pokazać jednego z moich “podopiecznych”, o których wspomniałem na początku artykułu :)

20160611_161701

Ocena: 4.12/5 (głosów: 57)

Podobne posty

19 komentarzy do “NodeMCU – wysyłka danych z czujników do internetu.

  • Trochę offtopu:
    Sam miałem kiedyś rośliny mięsożerne: kilka rosiczek, kilka dzbaneczników, kilka muchołówek i kapturnic. Udało mi się nawet doprowadzić do zakwitnięcia i zebrania nasion z muchołówek :) Niestety, wszystko padło w przeciągu kilku miesięcy jak się przeprowadziłem. Strasznie dużo potrzebują uwagi te roślinki i są strasznie delikatne. Przy większej ilości roślin istnieje także niebezpieczeństwo rozprzestrzeniania się chorób – tak mi się stało z kolekcją kaktusów i sukulentów.

    Życzę powodzenie w hodowli. Jak masz jakieś zdjęcia to się pochwal.

    Odpowiedz
  • A co z przesyłaniem danych w drugą stronę? Czy serwer ma może funkcjonalność dzięki której można zadawać nastawy dla urządzenia? To jest zawsze trudniejsza kwestia.

    Odpowiedz
    • Witam,
      Jest to możliwe właśnie opracowałem taką metodę :)
      Baa…

      Posiadam układ w taki sposób że pobiera dane z SQL przez API ( php ) i trafia to do esp. Niestety minimalny czas propagacji czyli czas po jakim zmienia się stan to 1~2 sek.

      Odpowiedz
  • Hej. Super projekt. Zamierzam go wykorzystać do zdalnego monitorowania temperatury pieca CO. Tylko zastanawiam się, czy jest możliwość podłączenia samego czujnika temperatury na przewodzie a jeśli tak to jak długi może być ten przewód (w piwnicy może mi nie złapać WiFi).
    No i jeszcze potrzebował będę aplikacji na androida, która mi wyświetli te wskazania i ewentualnie ostrzeże jeśli temperatura przekroczy jakiś zadany w ustawieniach próg. Wiem, trochę się rozpędziłem ale małymi krokami może się uda.

    Odpowiedz
  • Mam kilka pytań:

    1. Czy w układzie mogę wykorzystać czujniki TMP36 ?
    2. Czy mogę użyć więcej czujników ? (potrzebuje monitorować temperaturę z 4 czujników)
    3. Czy można wykorzystać wolne wyjścia/wejścia jako sterujące ? Czyli przez internet włączyć lub wyłączyć moduł przekaźnikowy.
    Odpowiedz

Odpowiedz

anuluj

Masz uwagi?