Turinys:

ESP8266 „Nodemcu“temperatūros stebėjimas naudojant DHT11 vietiniame tinklalapyje - Patvirtinkite kambario temperatūrą ir drėgmę naršyklėje: 6 žingsniai
ESP8266 „Nodemcu“temperatūros stebėjimas naudojant DHT11 vietiniame tinklalapyje - Patvirtinkite kambario temperatūrą ir drėgmę naršyklėje: 6 žingsniai

Video: ESP8266 „Nodemcu“temperatūros stebėjimas naudojant DHT11 vietiniame tinklalapyje - Patvirtinkite kambario temperatūrą ir drėgmę naršyklėje: 6 žingsniai

Video: ESP8266 „Nodemcu“temperatūros stebėjimas naudojant DHT11 vietiniame tinklalapyje - Patvirtinkite kambario temperatūrą ir drėgmę naršyklėje: 6 žingsniai
Video: Karantino projektas - Išmanūs namai, WS2812 LED juosta ir temperatūros jutiklis su ESP8266 1-a dalis 2024, Lapkritis
Anonim
ESP8266 „Nodemcu“temperatūros stebėjimas naudojant DHT11 vietiniame tinklalapyje | Naršyklėje nustatykite kambario temperatūrą ir drėgmę
ESP8266 „Nodemcu“temperatūros stebėjimas naudojant DHT11 vietiniame tinklalapyje | Naršyklėje nustatykite kambario temperatūrą ir drėgmę

Sveiki vaikinai, šiandien mes pagaminsime drėgmės ir temperatūros stebėjimo sistemą, naudojant temperatūros jutiklį ESP 8266 NODEMCU ir DHT11. Temperatūrą ir drėgmę gausite iš DHT11 jutiklio, ir tai galima pamatyti naršyklėje, kurią svetainę valdys esp 8266, priglobdama ją vietiniame interneto serveryje.

1 žingsnis: reikalingi dalykai

Daiktai, kurių jums reikia
Daiktai, kurių jums reikia
Daiktai, kurių jums reikia
Daiktai, kurių jums reikia

Šiam projektui jums reikia šių dalykų: 1x ESP 8266 Nodemcu:

1x DHT11: https://www.utsource.net/itm/p/8831706.html1x duonos lenta:.:

Keletas džemperių:

2 žingsnis: grandinė

Grandinė
Grandinė

Grandinė yra labai paprasta prijungti viską Pagal tai, kaip parodyta schmatikoje

3 žingsnis: įsigykite bibliotekas

Gaukite Bibliotekos
Gaukite Bibliotekos
Gaukite Bibliotekos
Gaukite Bibliotekos

Atidarykite „Arduino IDE“ir eikite į Eskizas> Įtraukti biblioteką> Tvarkyti bibliotekas. Bibliotekos tvarkyklė turėtų atsidaryti. Ieškokite „DHT“paieškos laukelyje ir įdiekite DHT biblioteką iš „Adafruit“. Įdiegę DHT biblioteką iš „Adafruit“, paieškos laukelyje įveskite „Adafruit Unified Sensor“. Slinkite iki galo, kad surastumėte biblioteką ir ją įdiegtumėte. Įdiegę bibliotekas, iš naujo paleiskite „Arduino IDE“.

4 žingsnis: kodas

Kodas
Kodas

Atlikę aukščiau nurodytus veiksmus, įkelkite šį kodą į ESP8266 nodemcu (pasirinkite tinkamą prievadą ir plokštę) ir prieš įkeldami kodą įveskite savo „wifi“SSID ir slaptažodį į kodą: // Įtraukdami ESP8266 „WiFi“biblioteką #include #include "DHT. h "// Nekomentuokite vienos iš toliau pateiktų eilučių, kad ir kokio tipo DHT jutiklį naudojate! #define DHTTYPE DHT11 // DHT 11 //#define DHTTYPE DHT21 // DHT 21 (AM2301) //#define DHTTYPE DHT22 // DHT 22 (AM2302), AM2321 // Pakeiskite savo tinklo informacijaconst char* ssid = "YOUR_NETWORK_NAME"; const char* password = "YOUR_NETWORK_PASSWORD"; // žiniatinklio serveris prievado 80WiFiServer server (80); // DHT Sensorconst int DHTPin = 5; // Inicijuoti DHT jutiklį. DHT dht (DHTPin, DHTTYPE); // Laikini kintamiejistatic char celsiusTemp [7]; static char fahrenheitTemp [7]; static char drėgmėTemp [7]; // veikia tik vieną kartą paleidžiant sistemą () { // Serijinio prievado inicijavimas derinimo tikslais Serial.begin (115200); vėlavimas (10); dht.begin (); // Prisijungimas prie „WiFi“tinklo Serial.println (); Serial.print („Prisijungimas prie“); Serial.println (ssid); WiFi.begin (ssid, slaptažodis); while (WiFi.status ()! = WL_CONNECTED) {delay (500); Serijinis atspaudas ("."); } Serial.println (""); Serial.println („WiFi prijungtas“); // Žiniatinklio serverio serverio paleidimas.begin (); Serial.println ("Veikia žiniatinklio serveris. Laukiama ESP IP …"); vėlavimas (10000); // ESP IP adreso spausdinimas Serial.println (WiFi.localIP ());} // vėl ir vėl paleidžiamas void loop () {// Klausymasis naujų klientų WiFiClient client = server.available (); if (klientas) {Serial.println („Naujas klientas“); // bolean rasti, kada http užklausa baigiasi boolean blank_line = true; while (client.connected ()) {if (client.available ()) {char c = client.read (); if (c == '\ n' && blank_line) {// Jutiklio rodmenys taip pat gali būti iki 2 sekundžių senumo (jo labai lėtas jutiklis) float h = dht.readHumidity (); // Skaityti temperatūrą kaip Celsijų (numatytoji) float t = dht.readTemperature (); // Skaityti temperatūrą kaip Farenheitą (isFahrenheit = true) float f = dht.readTemperature (true); // Patikrinkite, ar nepavyko nuskaityti, ir išeikite anksčiau (bandykite dar kartą). if (isnan (h) || isnan (t) || isnan (f)) {Serial.println ("Nepavyko nuskaityti iš DHT jutiklio!"); strcpy (celsiusTemp, „Nepavyko“); strcpy (fahrenheitTemp, „Nepavyko“); strcpy (drėgmės temperatūra, „Nepavyko“); } else {// Skaičiuoja temperatūros reikšmes Celsijaus + Farenheito ir drėgmės srautu hic = dht.computeHeatIndex (t, h, false); dtostrf (hic, 6, 2, celsiusTemp); plūdė hif = dht.computeHeatIndex (f, h); dtostrf (hif, 6, 2, fahrenheitTemp); dtostrf (h, 6, 2, drėgmėTemp); // Galite ištrinti šiuos Serial.print's, tai tik derinimo tikslais Serial.print ("Humidity:"); Serijinis atspaudas (h); Serial.print (" %\ t Temperatūra:"); Serijinis atspaudas (t); Serial.print (" *C"); Serijinis atspaudas (f); Serial.print (" *F / t šilumos indeksas:"); Serial.print (hic); Serial.print (" *C"); Serijinis atspaudas (hif); Serial.print (" *F"); Serial.print („Drėgmė:“); Serijinis atspaudas (h); Serial.print (" %\ t Temperatūra:"); Serijinis atspaudas (t); Serial.print (" *C"); Serijinis atspaudas (f); Serial.print (" *F / t šilumos indeksas:"); Serial.print (hic); Serial.print (" *C"); Serijinis atspaudas (hif); Serial.println (" *F"); } client.println ("HTTP/1.1 200 Gerai"); client.println ("Turinio tipas: tekstas/html"); client.println ("Ryšys: uždaryti"); klientas.println (); // jūsų tikrasis tinklalapis, kuriame rodomas temperatūros ir drėgmės klientas

5 žingsnis: Gaukite IP

Gaukite IP
Gaukite IP

Jūs matote temperatūrą ir drėgmę, kurių mums reikia norint gauti tinklalapio IP. Taigi įsitikinkite, kad jūsų esp8266 yra prijungtas prie jūsų kompiuterio, tada atidarykite nuoseklųjį monitorių, o nuosekliajame monitoriuje galite pamatyti savo ESP8266 žiniatinklio serverio tinklalapio IP.

6 veiksmas: patikrinkite savo temperatūrą ir drėgmę naršyklėje

Patikrinkite savo temperatūrą ir drėgmę naršyklėje
Patikrinkite savo temperatūrą ir drėgmę naršyklėje

Taigi, gavę savo ESP8266 nodemcu IP, tiesiog atidarykite naršyklę kompiuteryje arba mobiliajame telefone, tačiau įsitikinkite, kad jūsų kompiuteris/mobilusis telefonas yra prijungtas prie to paties tinklo kaip ir jūsų „Nodemcu“/ESP8266, tada eikite į savo naršyklę (jei naudojate mobilųjį, naudokite numatytąją naršyklę) ty „Android“naudokite „Chrome“), tada įveskite IP, kurį gavome ankstesniame žingsnyje, ir vietiniame tinklalapyje bus rodoma drėgmė ir temperatūra, kaip nurodyta mano paveikslėlyje. Taigi smagiai padarykite savo kambario temperatūros ir drėgmės monitorių.

Rekomenduojamas: