Sisukord:
2025 Autor: John Day | [email protected]. Viimati modifitseeritud: 2025-01-13 06:57
Tere poisid, täna valmistame niiskuse ja temperatuuri jälgimissüsteemi, kasutades ESP 8266 NODEMCU ja DHT11 temperatuuriandurit. Temperatuuri ja niiskuse saab DHT11 andurilt ja seda saab näha brauseris, millist veebilehte haldab esp 8266, hostides selle kohalikus veebiserveris.
Samm: asjad, mida vajate
Selle projekti jaoks on vaja järgmisi asju: 1x ESP 8266 Nodemcu:
1x DHT11: https://www.utsource.net/itm/p/8831706.html1x leivalaud:.:
Vähesed hüppajad:
2. samm: ahel
Ahel on väga lihtne ühendada kõik Vastavalt skemaatikale näidatule
Samm: hankige raamatukogud
Avage oma Arduino IDE ja valige Visand> Kaasa kogu> Halda raamatukogusid. Raamatukoguhaldur peaks avanema. Otsige otsingukastist „DHT” ja installige DHT -teek Adafruitist. Pärast DHT -teegi installimist Adafruitist tippige otsingukasti „Adafruit Unified Sensor”. Kogu leidmiseks ja selle installimiseks kerige lõpuni alla. Pärast raamatukogude installimist taaskäivitage Arduino IDE.
4. samm: kood
Pärast ülaltoodud toimingute tegemist laadige järgmine kood üles ESP8266 nodemcu (palun valige õige port ja pardal) ja enne koodi üleslaadimist sisestage koodi sisse oma wifi ssid ja parool: // ESP8266 WiFi raamatukogu kaasamine #include #include "DHT. h "// Tühjendage üks allolevatest ridadest mis tahes kasutatava DHT -anduri tüübi jaoks! #define DHTTYPE DHT11 // DHT 11 //#define DHTTYPE DHT21 // DHT 21 (AM2301) //#define DHTTYPE DHT22 // DHT 22 (AM2302), AM2321 // Asenda oma võrguandmetegaconst char* ssid = "YOUR_NETWORK_NAME"; const char* password = "YOUR_NETWORK_PASSWORD"; // Veebiserver pordis 80WiFiServer server (80); // DHT Sensorconst int DHTPin = 5; // Initsialiseeri DHT -andur. DHT dht (DHTPin, DHTTYPE); // Ajutised muutujad staatiline char celsiusTemp [7]; staatiline sümbol fahrenheitTemp [7]; staatiline söe niiskusTemp [7]; // töötab ainult üks kord bootvoidi seadistamisel () { // jadapordi lähtestamine silumiseks Serial.begin (115200); viivitus (10); dht.begin (); // WiFi -võrguga ühenduse loomine Serial.println (); Serial.print ("Ühendamine"); Serial.println (ssid); WiFi.begin (ssid, parool); while (WiFi.status ()! = WL_CONNECTED) {delay (500); Seeria.print ("."); } Serial.println (""); Serial.println ("WiFi ühendatud"); // Veebiserveri serveri käivitamine.begin (); Serial.println ("Veebiserver töötab. ESP IP ootamine …"); viivitus (10000); // ESP IP -aadressi printimine Serial.println (WiFi.localIP ());} // jookseb ikka ja jällevoid loop () {// Uute klientide kuulamine WiFiClient client = server.available (); if (klient) {Serial.println ("Uus klient"); // bolean, et leida, millal http -päring lõpeb boolean blank_line = true; while (client.connected ()) {if (client.available ()) {char c = client.read (); if (c == '\ n' && blank_line) {// Andurite näidud võivad olla ka kuni 2 sekundit vanad (see on väga aeglane andur) float h = dht.readHumidity (); // Temperatuuri lugemine Celsiuse järgi (vaikimisi) float t = dht.readTemperature (); // Temperatuuri lugemine Fahrenheiti järgi (isFahrenheit = tõene) float f = dht.readTemperature (true); // Kontrollige, kas mõni lugemine ebaõnnestus, ja väljuge varakult (uuesti proovimiseks). if (isnan (h) || isnan (t) || isnan (f)) {Serial.println ("DHT -andurilt ei õnnestunud lugeda!"); strcpy (celsiusTemp, "ebaõnnestus"); strcpy (fahrenheitTemp, "Ebaõnnestus"); strcpy (niiskustemperatuur, "ebaõnnestus"); } else {// Arvutab temperatuuri väärtused Celsiuse + Fahrenheiti ja Niiskuse ujukites hic = dht.computeHeatIndex (t, h, false); dtostrf (hic, 6, 2, celsiusTemp); float hif = dht.computeHeatIndex (f, h); dtostrf (hif, 6, 2, fahrenheitTemp); dtostrf (h, 6, 2, niiskusTemp); // Saate kustutada järgmised Serial.print's, see on ainult silumiseks Serial.print ("Humidity:"); Seeriatrükk (h); Serial.print (" %\ t Temperatuur:"); Jadajälg (t); Serial.print (" *C"); Seeriatrükk (f); Serial.print (" *F / t Soojusindeks:"); Serial.print (hic); Serial.print (" *C"); Serial.print (hif); Serial.print (" *F"); Serial.print ("Niiskus:"); Seeriatrükk (h); Serial.print (" %\ t Temperatuur:"); Jadajälg (t); Serial.print (" *C"); Seeriatrükk (f); Serial.print (" *F / t Soojusindeks:"); Serial.print (hic); Serial.print (" *C"); Serial.print (hif); Serial.println (" *F"); } client.println ("HTTP/1.1 200 OK"); client.println ("Sisu tüüp: tekst/html"); client.println ("Ühendus: sulge"); klient.println (); // teie tegelik veebileht, mis kuvab temperatuuri ja niiskuse klienti
Samm: hankige IP
Saate vaadata temperatuuri ja niiskust, mida vajame veebilehe IP saamiseks. Seetõttu veenduge, et teie esp8266 oleks arvutiga ühendatud, ja seejärel avage jadamonitor ning jadamonitoril näete oma ESP8266 veebiserveri veebilehe IP -d.
Samm: kontrollige oma brauseri temperatuuri ja niiskust
Nii et pärast ESP8266 nodemcu IP -aadressi saamist avage lihtsalt arvutis või mobiilseadmes brauser, kuid veenduge, et teie arvuti/mobiiltelefon on ühendatud sama võrguga nagu teie Nodemcu/ESP8266, ja minge seejärel oma brauserisse (kui kasutate mobiili, kasutage vaikebrauserit st Androidi jaoks kasutage Chrome'i) ja seejärel tippige eelmises etapis saadud IP ja kohalik veebisait kuvatakse b niiskuse ja temperatuuriga nagu minu pilt. Nii et nautige oma toatemperatuuri ja niiskuse jälgimist.