Spisu treści:

ESP8266 i Visuino: Serwer sieciowy temperatury i wilgotności DHT11: 12 kroków
ESP8266 i Visuino: Serwer sieciowy temperatury i wilgotności DHT11: 12 kroków

Wideo: ESP8266 i Visuino: Serwer sieciowy temperatury i wilgotności DHT11: 12 kroków

Wideo: ESP8266 i Visuino: Serwer sieciowy temperatury i wilgotności DHT11: 12 kroków
Wideo: Rozbudowa czujnika smogu Luftdaten o sensor BME280 i wyświetlacz OLED/LCD 2024, Listopad
Anonim
Image
Image

Moduły ESP8266 są świetnymi, niedrogimi samodzielnymi kontrolerami z wbudowanym Wi-Fi, i zrobiłem już na ich temat wiele instrukcji.

DTH11/DTH21/DTH22 i AM2301 są bardzo popularnymi połączonymi czujnikami temperatury i wilgotności Arduino, a ja również stworzyłem z nimi szereg instrukcji, w tym instrukcję na zdalnym termometrze i czujniku wilgotności z 2 ESP8266 połączonymi razem w ich własnej prywatnej sieci Wi-Fi.

W tej instrukcji pokażę, jak możesz stworzyć serwer sieciowy temperatury i wilgotności za pomocą ESP8266 i DHT11 i połączyć się z nim w istniejącej sieci Wi-Fi z wielu urządzeń z przeglądarką internetową.

Krok 1: Komponenty

Podłącz DHT11 do modułu NodeMCU ESP8266
Podłącz DHT11 do modułu NodeMCU ESP8266
  1. Płyta OneNodeMCU ESP8266 (użyłem wersji NodeMCU 0.9, ale każda inna, a nawet samodzielna ESP-12 lub ESP-01 będzie działać)
  2. Jeden moduł czujnika DHT11, który dostałem z tego taniego zestawu 37 czujników
  3. 3 przewody połączeniowe żeńsko-żeńskie

Krok 2: Podłącz DHT11 do modułu NodeMCU ESP8266

Podłącz DHT11 do modułu NodeMCU ESP8266
Podłącz DHT11 do modułu NodeMCU ESP8266
Podłącz DHT11 do modułu NodeMCU ESP8266
Podłącz DHT11 do modułu NodeMCU ESP8266
Podłącz DHT11 do modułu NodeMCU ESP8266
Podłącz DHT11 do modułu NodeMCU ESP8266
  1. Podłącz zasilanie (czerwony przewód), uziemienie (czarny przewód) i dane (szary przewód) do modułu DHT11 (Zdjęcie 1 pokazuje 2 różne typy modułów czujników DHT11. Jak widać, styki mogą się różnić, więc podłącz ostrożnie!)
  2. Podłącz drugi koniec przewodu uziemiającego (czarny przewód) do styku uziemiającego modułu ESP8266 (zdjęcie 2)
  3. Podłącz drugi koniec przewodu zasilającego (czerwony przewód) do styku zasilania 3,3 V modułu ESP8266 (Zdjęcie 2)
  4. Podłącz drugi koniec przewodu danych (szary przewód) do cyfrowego styku 2 modułu ESP8266 (zdjęcie 3)
  5. Zdjęcie 4 pokazuje, gdzie jest uziemienie, zasilanie 3,3 V i cyfrowe 2 piny NodeMCU 0,9

Krok 3: Uruchom Visuino i wybierz typ płyty ESP8266

Uruchom Visuino i wybierz typ płyty ESP8266
Uruchom Visuino i wybierz typ płyty ESP8266
Uruchom Visuino i wybierz typ płyty ESP8266
Uruchom Visuino i wybierz typ płyty ESP8266

Aby rozpocząć programowanie Arduino, musisz mieć zainstalowane Arduino IDE stąd:

Należy pamiętać, że w Arduino IDE 1.6.6 występuje kilka krytycznych błędów

Upewnij się, że zainstalowałeś 1.6.7 lub nowszy, w przeciwnym razie ta instrukcja nie będzie działać!

Jeśli jeszcze tego nie zrobiłeś, wykonaj kroki opisane w tej instrukcji, aby skonfigurować Arduino IDE do programowania ESP 8266

Visuino: https://www.visuino.com również musi być zainstalowane.

  1. Uruchom Visuinoa jak pokazano na pierwszym obrazku
  2. Kliknij przycisk „Narzędzia” na komponencie Arduino (Zdjęcie 1) w Visuino
  3. Gdy pojawi się okno dialogowe, wybierz „NodeMCU ESP-12”, jak pokazano na Zdjęciu 2

Krok 4: W Visuino: Ustaw nazwę hosta i punkt dostępu

W Visuino: Ustaw nazwę hosta i punkt dostępu
W Visuino: Ustaw nazwę hosta i punkt dostępu
W Visuino: Ustaw nazwę hosta i punkt dostępu
W Visuino: Ustaw nazwę hosta i punkt dostępu
W Visuino: Ustaw nazwę hosta i punkt dostępu
W Visuino: Ustaw nazwę hosta i punkt dostępu
W Visuino: Ustaw nazwę hosta i punkt dostępu
W Visuino: Ustaw nazwę hosta i punkt dostępu

Najpierw musimy skonfigurować moduł, aby połączyć się z istniejącym punktem dostępu i przypisać mu nazwę hosta, abyśmy mogli wykryć go w sieci.

  1. W Inspektorze obiektów rozwiń właściwość „Moduły”, a następnie podwłaściwość „WiFi”
  2. W Inspektorze obiektów ustaw wartość właściwości "HostName" na "dht11server" (Zdjęcie 1)
  3. W Inspektorze obiektów rozwiń podwłaściwość „AccessPoints” „WiFi” i kliknij przycisk „…” obok jej wartości (Rysunek 2)
  4. W edytorze „AccessPoins” wybierz „Punkt dostępu WiFi” w prawym widoku, a następnie kliknij przycisk „+” po lewej stronie, aby dodać punkt dostępu (Zdjęcie 2)
  5. W Inspektorze obiektów ustaw wartość właściwości „SSID” na identyfikator SSID swojego hotspotu Wi-Fi (punktu dostępu) (Zdjęcie 4)
  6. Jeśli Twój hotspot Wi-Fi (punkt dostępu) wymaga hasła, w Inspektorze obiektów ustaw hasło w wartości właściwości „Password” (Zdjęcie 4)
  7. Zamknij okno „AccessPoints”

Krok 5: W Visuino: Dodaj gniazdo serwera TCP/IP do komunikacji

W Visuino: Dodaj gniazdo serwera TCP/IP do komunikacji
W Visuino: Dodaj gniazdo serwera TCP/IP do komunikacji
W Visuino: Dodaj gniazdo serwera TCP/IP do komunikacji
W Visuino: Dodaj gniazdo serwera TCP/IP do komunikacji
W Visuino: Dodaj gniazdo serwera TCP/IP do komunikacji
W Visuino: Dodaj gniazdo serwera TCP/IP do komunikacji

Następnie musimy dodać gniazdo TCP/IP Server do komunikacji.

  1. W Inspektorze obiektów kliknij przycisk „…” obok wartości właściwości podrzędnej „Sockets” sieci WiFi (Zdjęcie 1)
  2. W edytorze gniazd wybierz „Serwer TCP/IP”, a następnie kliknij przycisk „+” (Zdjęcie 2), aby go dodać (Zdjęcie 3)
  3. Zamknij okno „Gniazda”

Krok 6: W Visuino: Dodaj DTH11 i sformatowany komponent tekstowy z 2 kanałami analogowymi

W Visuino: Dodaj DTH11 i sformatowany komponent tekstowy z 2 kanałami analogowymi
W Visuino: Dodaj DTH11 i sformatowany komponent tekstowy z 2 kanałami analogowymi
W Visuino: Dodaj DTH11 i sformatowany komponent tekstowy z 2 kanałami analogowymi
W Visuino: Dodaj DTH11 i sformatowany komponent tekstowy z 2 kanałami analogowymi
W Visuino: Dodaj DTH11 i sformatowany komponent tekstowy z 2 kanałami analogowymi
W Visuino: Dodaj DTH11 i sformatowany komponent tekstowy z 2 kanałami analogowymi

Aby kontrolować i odczytywać temperaturę i wilgotność z DHT11, musimy dodać do tego komponent w Visuino.

Musimy również wygenerować stronę internetową z danych. Strona jest po prostu dokumentem tekstowym HTML, więc do jej wygenerowania możemy użyć komponentu Sformatowany tekst.

  1. Wpisz „dht” w polu Filtr przybornika komponentów, a następnie wybierz komponent „Wilgotność i termometr DHT11/21/22/AM2301” (Zdjęcie 1) i upuść go w obszarze projektowym
  2. Wpisz „formularz” w polu Filtr przybornika komponentów, a następnie wybierz komponent „Sformatowany tekst” (Zdjęcie 2) i upuść go w obszarze projektu
  3. Kliknij przycisk „Narzędzia” komponentu FormattedText1 (Zdjęcie 3)
  4. W edytorze elementów wybierz element analogowy po prawej stronie i kliknij 2 razy przycisk „+” po lewej stronie (Zdjęcie 4), aby dodać 2 z nich (Zdjęcie 5)
  5. Zamknij edytor „Elementy”

Krok 7: W Visuino: Ustaw sformatowany tekst dla odpowiedzi serwera

W Visuino: Ustaw sformatowany tekst odpowiedzi serwera
W Visuino: Ustaw sformatowany tekst odpowiedzi serwera
W Visuino: Ustaw sformatowany tekst odpowiedzi serwera
W Visuino: Ustaw sformatowany tekst odpowiedzi serwera

Musimy określić tekst HTML, który zostanie wygenerowany, gdy klient sieciowy połączy się z serwerem.

Określimy połączenie, które ma zostać zamknięte po przesłaniu danych, a także poinstruujemy przeglądarkę, aby po 5 sekundach ponownie nawiązała połączenie (Odśwież), dodając do dokumentu „Odśwież: 5”. W ten sposób strona będzie się odświeżać co 5 sekund.

  1. W obszarze projektu wybierz komponent FormattedText1 (Rysunek 1)
  2. W Inspektorze obiektów wybierz właściwość „Tekst” i kliknij przycisk „…” obok jej wartości (Rysunek 1)
  3. W edytorze "Tekst" wpisz:"HTTP/1.1 200 OK""Content-Type: text/html""Połączenie: zamknij""Odśwież: 5""""""""""Temperatura: %0""Wilgotność: %1"""""(Zdjęcie 2) %0 zostanie zastąpione wartością z AnalogElement1, a %1 zostanie zastąpione wartością z AnalogElement2
  4. Kliknij przycisk OK, aby zamknąć okno dialogowe

Krok 8: W Visuino: Podłącz komponent DHT11

W Visuino: Podłącz komponent DHT11
W Visuino: Podłącz komponent DHT11
W Visuino: Podłącz komponent DHT11
W Visuino: Podłącz komponent DHT11
W Visuino: Podłącz komponent DHT11
W Visuino: Podłącz komponent DHT11
  1. Podłącz styk wyjściowy „Temperatura” składnika HumidityThermometer1 do styku „In” AnalogElement1 składnika FormattedText1 (Zdjęcie 1)
  2. Podłącz styk wyjściowy „Humidity” składnika HumidityThermometer1 do styku „In” w AnalogElement2 składnika FormattedText1 (Zdjęcie 2)
  3. Podłącz pin "Czujnik" komponentu HumidityThermometer1 do "Cyfrowego" pinu wejściowego kanału "Cyfrowego [2]" komponentu Arduino (Zdjęcie 3)

Krok 9: W Visuino: Dodaj i połącz komponent wykrywania krawędzi

W Visuino: Dodaj i połącz komponent wykrywania krawędzi
W Visuino: Dodaj i połącz komponent wykrywania krawędzi
W Visuino: Dodaj i połącz komponent wykrywania krawędzi
W Visuino: Dodaj i połącz komponent wykrywania krawędzi
W Visuino: Dodaj i połącz komponent wykrywania krawędzi
W Visuino: Dodaj i połącz komponent wykrywania krawędzi
W Visuino: Dodaj i połącz komponent wykrywania krawędzi
W Visuino: Dodaj i połącz komponent wykrywania krawędzi

Musimy wysłać tekst HTML za każdym razem, gdy jest nowe połączenie. Zanim wyślemy, musimy trochę poczekać, ponieważ przeglądarki internetowe muszą wysłać żądanie, zanim spodziewają się zobaczyć wynik. W tym celu wykorzystamy komponent Delay podłączony do pinu „Connected” w gnieździe serwera TCP/IP.

  1. Wpisz „opóźnienie” w polu Filtr przybornika komponentów, a następnie wybierz komponent „Opóźnienie” (zdjęcie 1) i upuść go w obszarze projektowym
  2. We właściwościach ustaw wartość właściwości „Interwał (uS)” na 200000 (Rysunek 2)
  3. Podłącz styk „Connected” modułu „Modules. WiFi. Sockets. TCPServer1” elementu „NodeMCU ESP-12” do styku „In” elementu Delay1 (Zdjęcie 3)
  4. Połącz pin „Out” składnika Delay1 z pinem wejściowym „Clock” składnika FormattedText1 (Zdjęcie 4)

Krok 10: W Visuino: Połącz sformatowany komponent tekstowy oraz Dodaj i połącz komponent opóźnienia

W Visuino: Połącz sformatowany komponent tekstowy oraz Dodaj i połącz komponent opóźnienia
W Visuino: Połącz sformatowany komponent tekstowy oraz Dodaj i połącz komponent opóźnienia
W Visuino: Połącz sformatowany komponent tekstowy oraz Dodaj i połącz komponent opóźnienia
W Visuino: Połącz sformatowany komponent tekstowy oraz Dodaj i połącz komponent opóźnienia
W Visuino: Połącz sformatowany komponent tekstowy oraz Dodaj i połącz komponent opóźnienia
W Visuino: Połącz sformatowany komponent tekstowy oraz Dodaj i połącz komponent opóźnienia
W Visuino: Połącz sformatowany komponent tekstowy oraz Dodaj i połącz komponent opóźnienia
W Visuino: Połącz sformatowany komponent tekstowy oraz Dodaj i połącz komponent opóźnienia
  1. Podłącz styk „Out” komponentu FormattedText1 do styku „In” „Modules. WiFi. Sockets. TCPServer1” komponentu „NodeMCU ESP-12” (Zdjęcie 1)
  2. Wpisz "opóźnienie" w polu Filtr przybornika komponentów, a następnie wybierz komponent "Opóźnienie" (Rysunek 2) i upuść go w obszarze projektowym
  3. Połącz pin „Out” komponentu FormattedText1 z pinem „In” komponentu Delay2 (Zdjęcie 3)
  4. Podłącz styk „Out” komponentu Delay2 do styku wejściowego „Disconnect” modułu „Modules. WiFi. Sockets. TCPServer1” komponentu „NodeMCU ESP-12” (Zdjęcie 4)

Składnik Delay odłączy gniazdo wkrótce po wysłaniu tekstu.

Krok 11: Wygeneruj, skompiluj i prześlij kod Arduino

Generuj, kompiluj i przesyłaj kod Arduino
Generuj, kompiluj i przesyłaj kod Arduino
Generuj, kompiluj i przesyłaj kod Arduino
Generuj, kompiluj i przesyłaj kod Arduino
  1. W Visuino naciśnij F9 lub kliknij przycisk pokazany na Zdjęciu 1, aby wygenerować kod Arduino i otworzyć Arduino IDE
  2. Podłącz moduł NodeMCU kablem USB do komputera
  3. Wybierz typ płyty i port szeregowy, jak pokazałem w tej instrukcji
  4. W Arduino IDE kliknij przycisk Prześlij, aby skompilować i przesłać kod (Zdjęcie 2)

Krok 12: I graj…

Image
Image
I gra…
I gra…

Gratulacje! Utworzyłeś serwer sieciowy temperatury i wilgotności Wi-Fi.

Na Zdjęciu 1 i w Wideo widać podłączony i zasilany projekt. Do zasilania modułu użyłem małego USB Power Bank.

Upewnij się, że w projekcie w kroku 4 wpisałeś poprawny identyfikator SSID i hasło do hotspotu Wi-Fi

Jeśli otworzysz przeglądarkę internetową na swoim komputerze lub urządzeniu mobilnym i wpiszesz:

serwer dht11./

I naciśnij Enter, zobaczysz temperaturę i wilgotność mierzoną przez moduł. Odczyt będzie odświeżany co 5 sekund, jak określono w kroku 7.

Pamiętaj, aby dodać kropkę na końcu nazwy, w przeciwnym razie system Windows nie będzie w stanie rozpoznać nazwy domeny

Na Zdjęciu 2 widać pełny schemat Visuino.

Dołączony jest również projekt Visuino, który stworzyłem dla tego Instructable. Możesz go pobrać i otworzyć w Visuino:

Zalecana: