Skocz do zawartości
thc-thc

grower

Czujnik wilgotności i temperatury z Wi-Fi | Arduino + ESP8266 + DHT11


intoksynator

Recommended Posts

Czujnik wilgotności i temperatury z Wi-Fi


gallery_39215_1216_54216.png


Słowem wstępu:
Pisząc ten poradnik starałem się wcielić w osobę która nie ma zielonego pojęcia o arduino, programowaniu mikrokontrolerów ani też nie posiadającej żadnej wiedzy z zakresu elektroniki.
Każdy bez najmniejszej trudności postępując zgodnie z poradnikiem będzie wstanie "żłożyć" działający układ.

Potrzebujemy trzech rzeczy:

  • Arduino Uno
  • modułu sieciowego ESP8266
  • czujnika temperatury/wilgotności DHT11

Dzięki temu stworzymy czujnik temperatury i wilgotności przesyłający dane przez wi-fi :)
 
Na początek zaczniemy od czegoś prostego, potrzebujemy założyć konto w serwisie ThingSpeak, będziemy tam zbierać dane z czujnika.

1. Przechodzimy do formularza rejestracji nowego konta: https://thingspeak.com/users/sign_up

gallery_39215_1216_17507.png


2. Tworzymy własny kanał

gallery_39215_1216_18637.png

Wypełniamy formularz tak jak poniżej, nazwa kanału jest dowolna może to być np "growbox 1"

gallery_39215_1216_68460.png
 
do notatnika kopiujemy sobie id naszego kanału.

Po kliknięciu na "Save Channel" powinniśmy mieć coś takiego jak widać niżej, przechodzimy do zakładki "API Keys":

gallery_39215_1216_6740.png

Klikamy na "Generate New Read API Key"

gallery_39215_1216_23652.png

gallery_39215_1216_26282.png

w notatniku powinniśmy mieć teraz takie dane:

gallery_39215_1216_1046.png


konfiguracje ThingSpeak mamy już za sobą więc przechodzimy dalej


3. Pobieramy, instalujemy i konfigurujemy Arduino IDE
a) Ze strony producenta pobieramy najnowszą wersje Arduino IDE - http://downloads.arduino.cc/arduino-1.6.4-windows.exe
b ) instalujemy - (każdy nie raz coś instalował więc opis pominę)
c) po instalacji należy podłączyć arduino do komputera w celu instalacji sterowników.
d) uruchamiamy Arduino IDE i postępujemy zgodnie z intrukcjami:

gallery_39215_1216_17686.png

W polu "Additional Boards Manager URLs:" podajemy adres: http://arduino.esp8266.com/package_esp8266com_index.json
następnie klikamy OK

gallery_39215_1216_17081.png

Z menu wybieramy Narzędzia -> Płyta -> Boards Manager

gallery_39215_1216_3391.png

W pole wyszukiwania wpisujemy ESP8266 i klikamy na "install"

gallery_39215_1216_9881.png

Po chwili zostaną pobrane nowe ustawienia i pliki dzięki którym będziemy mogli programować ESP8266
Musimy jeszcze "powiedzieć" arduino że mamy zamiar programować ESP8266 w tym celu wybieramy z menu Narzędzia -> Płyta wybieramy "Generic ESP8266 Module"

gallery_39215_1216_45759.png

musimy jeszcze zaznaczyć port COM na którym jest arduino robimy to z menu Narzędzia -> Port

gallery_39215_1216_27233.png

Ostatni krok konfiguracji to zainstalowanie biblioteki DHT11 dzięki której będziemy mogli odczytywać dane z czujnika.
W tym celu pobieramy plik DHT11.zip stąd: https://www.dropbox.com/s/5zpob1nu5eptt31/DHT11.zip?dl=1
Z menu wybieramy Szkic -> Include Library -> Add ZIP Library...

gallery_39215_1216_17605.png

W oknie dialogowym przechodzimy do folderu w którym znajduje się pobrany plik DHT11.zip zaznaczamy go i klikamy "Open"

gallery_39215_1216_1526.png

w tej chwili mamy już w pełni przygotowane środowisko Arduino do programowania ESP8266.

4. Połączenie ESP8266 z arduino w roli programatora
a) Na samym początku musimy z arduino wyciągnąć mikrokontroler (wystarczy go podważyć z obu stron i wyciągnąć) - nie będzie on potrzebny bo w naszym przypadku arduino używamy jedynie jako programatora i zasilacza.
b ) Do podłączenia najlepiej użyć takich przewodów (żeńsko-męskich), choć można się też obejść bez nich :)

gallery_39215_1216_29774.jpg

c) Łączymy wszystko tak jak na poniższym schemacie
gallery_39215_1216_52977.png

Do poprawnego działania modułu sieciowego ESP8266 konieczne jest wgranie najnowszego firmware.

5. Wgrywyamy firmware
a) Pobieramy program XTCOM_UTIL i najnowszy firmware stąd: https://www.dropbox.com/s/cbn90lxjjvilug2/XTCOM_UTIL.zip?dl=1
b ) Wypakowujemy archiwum
c) Podłączamy arduino przewodem usb do komputera
d) otwieramy menedżer urządzeń - w tym celu należy użyć kombinacji klawiszy Windows + R a w oknie które się pojawi wpisać: devmgmt.msc po czym wcisnąć OK

gallery_39215_1216_286.png

e) z listy urządzeń rozwijamy "Porty (COM i LTP)"

gallery_39215_1216_52026.png

Uwaga: program XTCOM_UTIL działa tylko na portach COM od COM1 do COM6
jeśli w menedżerze urządzeń Arudino Uno ma przypisany któryś z tych portów to zapamiętujemy jego numer i możemy przejść do kroku "g"


f) Jeśli przypisany port nie mieści się we wcześniej podanym przedziale musimy go zmienić w tym celu klikamy na urządzenie prawym przyciskiem myszy i wybieramy Właściwości

gallery_39215_1216_109.png

Następnie przechodzimy na zakładkę "Ustawienia portu" i klikamy przycisk "Zaawansowane..."

gallery_39215_1216_14332.png

W nowo otwartym oknie zmieniamy port, po czym klikamy OK:

gallery_39215_1216_19448.png

Możemy już zamknąć menedżer urządzeń i przejść do wgrania firmware

g) Otwieramy XTCOM_UTIL i z menu wybieramy "Tools(T)" -> "Config Device

gallery_39215_1216_4366.png

Teraz podajemy port który znamy z menedżera urządzeń
oraz ustawiamy "Baud Rate" na 115200 po czym klikamy "Open"

gallery_39215_1216_214.png

po chwili powinno pojawić się okienko potwierdzające połączenie z portem COM, klikamy wtedy "OK" a następnie przycisk "Connect"

gallery_39215_1216_2416.png

Nie zamykamy okienka "Config Device" !!

z menu wybieramy "API TEST(A)" -> (4) Flash Image Download

gallery_39215_1216_10688.png

klikamy na "Browse..." w oknie dialogowym przechodzimy do katalogu z programem XTCOM_UTIL i zaznaczamy plik z firmware czyli: AI-v0.9.5.0 AT Firmware.bin
Potwierdzamy nasz wybór przyciskiem Otwórz.

gallery_39215_1216_6533.png

Ostatni krok to wciśnięcie przycisku "DownLoad".

Jeśli wszystko poszło dobrze, po kilkunastu sekundach nasz moduł posiadać będzię nowy firmware, możemy już zamknąć program.

6. Edytujemy i wgrywamy kod do ESP8266
a) Pobieramy kod programu: https://www.dropbox.com/s/5c9v13i2kj1ucjx/esp8266_dht11_thingspeak.ino?dl=1
b ) otwieramy plik (wystarczy dwa razy kliknąć a powinien otworzyć się w arduino ide)
c) w kodzie wpisujemy między cudzysłowy swój klucz WRITE (z notatnika) oraz nazwę i hasło do sieci Wi-Fi

gallery_39215_1216_8670.png

Możemy wgrać kod do modułu, w tym celu kilkamy przycisk wgraj (oznaczony na powyższym screenie cyferką 2)

Jeśli kod został wgrany poprawnie możemy już połączyć se sobą czujnik, moduł sieciowy i arduino tak jak na schemacie:

gallery_39215_1216_21443.png

Po podłączeniu arduino do zasilania po chwili na stronie ThingSpeak.com powinny pokazać się pierwsze odczyty.
Gratulacje właśnie stworzyłeś swój czujnik bezprzewodowy :)

w kolejnej części opiszę jak dodać do tego własną stronę internetową zabezpieczoną hasłem  :D

Odnośnik do komentarza
Share on other sites

  • 2 miesiące temu...

Czy z takim czujnikiem:

 

DHT22 AM2302 Czujnik Temp I Wilgotności  (z tego co widzę po prostu ma większą skalę i dokładność)

 

Wszystko będzie wyglądało tak samo czy trzeba coś zmieniać?

 

Edit:

Domyślam się, że trzeba zaciągnąć bibliotekę od DHT22, ale czy to wystarczy?

 

Edit2:

http://fotolister.pl/show.php?id=35233

 

czy z tym modułem wifi wszystko będzie wyglądało analogicznie? Jest to ten sam model tylko w wersji esp07 - ma więcej złącz i wejście na antenę zewnętrzną.

Odnośnik do komentarza
Share on other sites

  • 4 tygodnie później...
  • 2 miesiące temu...

Sprawuje się dobrze, w domu mam w pokoju tak zrobioną stacje pogodową.

 

Arduino UNO 85zł... To jest oryginalna wersja dlatego drogo w cholerę...

 

 

Zawiadamiając z Chin klona Arduino UNO zapłacimy 10zł. Przesyłka jest darmowa, klon jest identyczny w działaniu.

 

Czeka się około 7-14dni, klona można również kupić na allegro koszt 16zł z przesyłka.

 

Ceny na Aliexpress:

 

Arduino UNO - 10zł

Moduł WiFi - 7zł

Czujnik - 3zł

 

 

Lepiej zamówić z Chin po co przepłacać w Polsce.

 

 

 

Odnośnik do komentarza
Share on other sites

  • 1 miesiąc temu...
Gość
This topic is now closed to further replies.
×
×
  • Dodaj nową pozycję...

Powiadomienie o plikach cookie

Polityka prywatności link do Polityki Prywatności RODO - Strona tylko dla osób pełnoletnich, 18+