Spisu treści:
- Krok 1: Rzeczy, których potrzebujesz
- Krok 2: Obwód
- Krok 3: Zdobądź biblioteki
- Krok 4: Kod
- Krok 5: Uzyskaj adres IP
- Krok 6: Sprawdź temperaturę i wilgotność w przeglądarce
Wideo: ESP8266 Monitorowanie temperatury Nodemcu przy użyciu DHT11 na lokalnym serwerze WWW - Uzyskaj temperaturę i wilgotność w pomieszczeniu w przeglądarce: 6 kroków
2024 Autor: John Day | [email protected]. Ostatnio zmodyfikowany: 2024-01-30 11:29
Cześć wam dzisiaj zrobimy system monitorowania wilgotności i temperatury za pomocą czujnika temperatury ESP 8266 NODEMCU i DHT11. Temperaturę i wilgotność uzyskamy z czujnika DHT11 i będzie można zobaczyć w przeglądarce, która strona będzie zarządzana przez esp 8266, hostując ją na lokalnym serwerze WWW.
Krok 1: Rzeczy, których potrzebujesz
Potrzebujesz następujących rzeczy do tego projektu: 1x ESP 8266 Nodemcu:
1x DHT11: https://www.utsource.net/itm/p/8831706.html1x płytka stykowa:.:
Kilka zworek:
Krok 2: Obwód
Obwód jest bardzo łatwy połącz wszystko zgodnie z rysunkiem schmatics
Krok 3: Zdobądź biblioteki
Otwórz swoje Arduino IDE i przejdź do Szkic> Dołącz bibliotekę> Zarządzaj bibliotekami. Menedżer biblioteki powinien się otworzyć. Wyszukaj „DHT” w polu wyszukiwania i zainstaluj bibliotekę DHT z Adafruit. Po zainstalowaniu biblioteki DHT z Adafruit wpisz „Adafruit Unified Sensor” w polu wyszukiwania. Przewiń w dół, aby znaleźć bibliotekę i ją zainstalować. Po zainstalowaniu bibliotek uruchom ponownie Arduino IDE.
Krok 4: Kod
Po wykonaniu powyższych czynności prześlij następujący kod do ESP8266 nodemcu (wybierz odpowiedni port i płytkę) i przed przesłaniem kodu wpisz ssid i hasło swojego wifi w kodzie: // W tym biblioteka ESP8266 WiFi #include #include "DHT. h"// Odkomentuj jeden z poniższych wierszy dla dowolnego typu czujnika DHT, którego używasz!#define DHTTYPE DHT11 // DHT 11//#define DHTTYPE DHT21 // DHT21 (AM2301)//#define DHTTYPE DHT22 // DHT 22 (AM2302), AM2321// Zastąp danymi swojej sieciconst char* ssid = "NAZWA_TWOJEJ_SIECI";const char* hasło = "HASŁO_TWOJEJ_SIECI";// Serwer WWW na porcie 80WiFiServer server(80);// DHT Sensorconst int DHTPin = 5;// Zainicjuj czujnik DHT. DHT dht(DHTPin, DHTTYPE);// Zmienne tymczasowestatic char celsiusTemp[7];static char fahrenheitTemp[7];static char wilgotnośćTemp[7];// uruchamiane tylko raz podczas konfiguracji bootvoid() { // Inicjalizacja portu szeregowego do celów debugowania Serial.begin(115200); opóźnienie(10); dht.początek(); // Łączenie z siecią Wi-Fi Serial.println(); Serial.print("Łączenie z"); Serial.println(ssid); WiFi.begin(SSid, hasło); while (WiFi.status() != WL_CONNECTED) { delay(500); Serial.print("."); } Serial.println(""); Serial.println("Połączenie WiFi"); // Uruchamianie serwera WWW server.begin(); Serial.println("Serwer WWW działa. Oczekiwanie na adres IP ESP…"); opóźnienie (10000); // Drukowanie adresu IP ESP Serial.println(WiFi.localIP());}// powtarzane w kółkovoid loop() { // Nasłuchiwanie nowych klientów KlientKlient WiFi = server.available(); if (klient) { Serial.println("Nowy klient"); // boolean do zlokalizowania po zakończeniu żądania http boolean blank_line = true; while (client.connected()) { if (client.available()) { char c = client.read(); if (c == '\n' && blank_line) { // Odczyty czujnika mogą być również 'stare' do 2 sekund (jest to bardzo wolny czujnik) float h = dht.readHumidity(); // Odczytaj temperaturę w stopniach Celsjusza (domyślnie) float t = dht.readTemperature(); // Odczytaj temperaturę w stopniach Fahrenheita (isFahrenheit = true) float f = dht.readTemperature(true); // Sprawdź, czy jakiekolwiek odczyty nie powiodły się i wyjdź wcześniej (aby spróbować ponownie). if (isnan(h) || isnan(t) || isnan(f)) { Serial.println("Nie udało się odczytać z czujnika DHT!"); strcpy(celsiusTemp, "Niepowodzenie"); strcpy(fahrenheitTemp, "Niepowodzenie"); strcpy(wilgotnośćTemp, "Niepowodzenie"); } else{ // Oblicza wartości temperatury w stopniach Celsjusza + Fahrenheita i Wilgotności float hic = dht.computeHeatIndex(t, h, false); dtosrf(hic, 6, 2, stopnie Celsjusza); float hif = dht.computeHeatIndex(f, h); dtosrf(hif, 6, 2, temperatura Fahrenheita); dtosrf(h, 6, 2, wilgotność Temp); // Możesz usunąć następujące Serial.print, to tylko do celów debugowania Serial.print("Wilgotność: "); druk.seryjny(h); Serial.print(" %\t Temperatura: "); Serial.print(t); Serial.print("*C"); druk.seryjny(f); Serial.print(" *F\t Indeks ciepła: "); Serial.print(hic); Serial.print("*C"); Serial.print(hif); Serial.print("*F"); Serial.print("Wilgotność: "); druk.seryjny(h); Serial.print(" %\t Temperatura: "); Serial.print(t); Serial.print("*C"); druk.seryjny(f); Serial.print(" *F\t Indeks ciepła: "); Serial.print(hic); Serial.print("*C"); Serial.print(hif); Serial.println("*F"); } client.println("HTTP/1.1 200 OK"); client.println("Typ treści: text/html"); client.println("Połączenie: zamknij"); klient.println(); // Twoja rzeczywista strona internetowa, która wyświetla klienta temperatury i wilgotności
Krok 5: Uzyskaj adres IP
Wyświetlasz temperaturę i wilgotność, których potrzebujemy, aby uzyskać adres IP strony internetowej. W tym celu upewnij się, że esp8266 jest podłączony do komputera, a następnie otwórz monitor szeregowy, a na monitorze szeregowym możesz zobaczyć adres IP swojej strony internetowej serwera ESP8266.
Krok 6: Sprawdź temperaturę i wilgotność w przeglądarce
Więc po uzyskaniu adresu IP swojego nodemcu ESP8266, po prostu otwórz przeglądarkę na komputerze lub telefonie komórkowym, ale upewnij się, że twój komputer / telefon komórkowy jest podłączony do tej samej sieci, co twój Nodemcu / ESP8266, a następnie przejdź do przeglądarki (jeśli używasz urządzenia mobilnego, użyj domyślnej przeglądarki tj. w przypadku Androida użyj chrome), a następnie wpisz adres IP, który otrzymaliśmy w poprzednim kroku, a lokalna strona internetowa zostanie wyświetlona z wilgotnością i temperaturą, jak pokazano na obrazku. Baw się dobrze, monitorując temperaturę i wilgotność w pomieszczeniu.
Zalecana:
Monitorowanie temperatury i wilgotności w pomieszczeniu za pomocą ESP32 i AskSensors Cloud: 6 kroków
Monitorowanie temperatury i wilgotności w pomieszczeniu za pomocą ESP32 i AskSensors Cloud: W tym samouczku dowiesz się, jak monitorować temperaturę i wilgotność w pomieszczeniu lub biurku za pomocą DHT11 i ESP32 podłączonych do chmury.Aktualizacje naszych samouczków można znaleźć tutaj.DHT11 Specyfikacja:Czujnik DHT11 jest w stanie mierzyć temperaturę
Stacja pogodowa Arduino przy użyciu BMP280-DHT11 - temperatura, wilgotność i ciśnienie: 8 kroków
Stacja pogodowa Arduino przy użyciu BMP280-DHT11 - Temperatura, wilgotność i ciśnienie: W tym samouczku dowiemy się, jak zrobić stację pogodową, która będzie wyświetlać TEMPERATURĘ, WILGOTNOŚĆ I CIŚNIENIE na wyświetlaczu LCD TFT 7735Obejrzyj film demonstracyjny
Monitorowanie temperatury i wilgotności przy użyciu AWS-ESP32: 8 kroków
Monitoring-Temp-and-Humidity-using-AWS-ESP32: W tym samouczku zmierzymy różne dane temperatury i wilgotności za pomocą czujnika temperatury i wilgotności. Dowiesz się również, jak przesłać te dane do AWS
ESP8266 NodeMCU Access Point (AP) dla serwera WWW z czujnikiem temperatury DT11 i drukowaniem temperatury i wilgotności w przeglądarce: 5 kroków
ESP8266 NodeMCU Access Point (AP) dla serwera WWW z czujnikiem temperatury DT11 i drukowaniem temperatury i wilgotności w przeglądarce: Cześć, w większości projektów używamy ESP8266, a w większości projektów używamy ESP8266 jako serwera WWW, dzięki czemu można uzyskać dostęp do danych dowolne urządzenie przez Wi-Fi, uzyskując dostęp do serwera WWW obsługiwanego przez ESP8266, ale jedynym problemem jest to, że potrzebujemy działającego routera
Neopixel Ws2812 Rainbow LED Glow z M5stick-C - Uruchamianie Rainbow na Neopixel Ws2812 przy użyciu M5stack M5stick C przy użyciu Arduino IDE: 5 kroków
Neopixel Ws2812 Rainbow LED Glow z M5stick-C | Uruchamianie Rainbow na Neopixel Ws2812 Używając M5stack M5stick C Używając Arduino IDE: Cześć chłopaki, w tej instrukcji dowiemy się, jak używać neopikselowych ws2812 LED lub taśmy LED lub matrycy LED lub pierścienia LED z płytką rozwojową m5stack m5stick-C z Arduino IDE i zrobimy wzór tęczy z nim