Բովանդակություն:

ESP8266 NodeMCU Access Point (AP) վեբ սերվերի համար DT11 ջերմաստիճանի տվիչով և տպման ջերմաստիճան և խոնավություն դիտարկիչում ՝ 5 քայլ
ESP8266 NodeMCU Access Point (AP) վեբ սերվերի համար DT11 ջերմաստիճանի տվիչով և տպման ջերմաստիճան և խոնավություն դիտարկիչում ՝ 5 քայլ

Video: ESP8266 NodeMCU Access Point (AP) վեբ սերվերի համար DT11 ջերմաստիճանի տվիչով և տպման ջերմաստիճան և խոնավություն դիտարկիչում ՝ 5 քայլ

Video: ESP8266 NodeMCU Access Point (AP) վեբ սերվերի համար DT11 ջերմաստիճանի տվիչով և տպման ջերմաստիճան և խոնավություն դիտարկիչում ՝ 5 քայլ
Video: Start Using Wemos D1 Mini NodeMCU WiFi ESP8266 module with Arduino 2024, Հուլիսի
Anonim
ESP8266 NodeMCU Access Point (AP) վեբ սերվերի համար DT11 ջերմաստիճանի տվիչով և տպման ջերմաստիճան և խոնավություն դիտարկիչում
ESP8266 NodeMCU Access Point (AP) վեբ սերվերի համար DT11 ջերմաստիճանի տվիչով և տպման ջերմաստիճան և խոնավություն դիտարկիչում

Ողջույն տղերք, նախագծերի մեծ մասում մենք օգտագործում ենք ESP8266 և նախագծերի մեծ մասում մենք օգտագործում ենք ESP8266 որպես վեբ սերվեր, այնպես որ տվյալները կարող են հասանելի լինել ցանկացած սարքի միջոցով ՝ Wi -Fi- ով մուտք գործելով ESP8266- ի կողմից տեղակայված վեբ սերվեր, սակայն միակ խնդիրը մեզ անհրաժեշտ է աշխատանքային երթուղիչ այն և մեր սարքը նույնպես պետք է միացված լինեն երթուղիչին, և մենք պետք է մեր wifi հավատարմագրերը դնենք ծածկագրում, այնպես որ, եթե փոխում եք wifi- ն, ապա պետք է փոխեք հավատարմագրերը ծածկագրում և անհրաժեշտ է այն վերաբեռնել: Այսպիսով, հիմնականում այստեղ ունենք երկու խնդիր: 1- մեզ անհրաժեշտ է wifi միացում ՝ վեբ սերվերը (երթուղիչը) հյուրընկալելու համար 2- ամեն անգամ, եթե wifi կապը պետք է փոխվի, մենք պետք է մուտքագրենք հավատարմագրերը և վերաբեռնենք ծածկագիրը: Այսպիսով, այս բոլոր խնդիրներից խուսափելու համար մենք կարող ենք անել wifi մուտք գործելու միջոցով մենք կարող ենք ESP8266- ը ստեղծել սեփական wifi կապ, այնպես որ, եթե միանանք այդ wifi կապին, կարող ենք մուտք գործել ESP8266- ի վեբ սերվեր: Այսպիսով, հիմնականում մենք հյուրընկալելու ենք ESP8266- ով վեբ սերվեր ՝ մուտքի կետով: Այսպիսով, այս հրահանգների մեջ մենք կստեղծվի վեբ սերվեր ՝ օգտագործելով Access Point- ը ESP8266- ով, և մենք միացնելու ենք DHT11 սենսոր և տպելու ջերմաստիճանը և խոնավությունը վեբ սերվերի էջում:

Քայլ 1: Ձեզ անհրաժեշտ բաներ

Ձեզ անհրաժեշտ բաներ
Ձեզ անհրաժեշտ բաներ
Ձեզ անհրաժեշտ բաներ
Ձեզ անհրաժեշտ բաներ

1x ESP 8266 Nodemcu: 1x DHT11: 1x տախտակ.: Քիչ ցատկողներ:

Քայլ 2: Ստացեք DHT11 գրադարանները

Ստացեք DHT11 գրադարանները
Ստացեք DHT11 գրադարանները
Ստացեք DHT11 գրադարանները
Ստացեք DHT11 գրադարանները

Բացեք ձեր Arduino IDE- ն և գնացեք ուրվագիծ> Ներառել գրադարան> Կառավարեք գրադարանները: Գրադարանի կառավարիչը պետք է բացվի: Որոնման դաշտում փնտրեք «DHT» և տեղադրեք DHT գրադարանը Adafruit- ից: Adafruit- ից DHT գրադարանը տեղադրելուց հետո որոնման դաշտում մուտքագրեք «Adafruit Unified Sensor»: Ոլորեք մինչև վերջ ՝ գրադարանը գտնելու և տեղադրելու համար: Գրադարանները տեղադրելուց հետո վերագործարկեք ձեր Arduino IDE- ն:

Քայլ 3: Կապեր

Միացումներ
Միացումներ

Շղթան շատ հեշտ է միացնել ամեն ինչ, ինչպես ցույց է տրված սխեմատիկայում

Քայլ 4: Մուտքի կետի կոդ

Մուտքի կետի կոդ
Մուտքի կետի կոդ

Իմ նախորդ հրահանգներից ես փոփոխելու եմ այս հրահանգների վեբ սերվերի կոդը ՝

Եվ այն վերածեք մուտքի կետի վեբ սերվերի ծածկագրի: Խնդրում ենք պատճենել ստորև բերված ծածկագիրը.

#ներառել «Arduino.h»#ներառել «ESP8266WiFi.h»

#ներառել «Hash.h»

#ներառել «ESPAsyncTCP.h»

#ներառել «ESPAsyncWebServer.h»

#ներառել «Adafruit_Sensor.h»

#ներառել «DHT.h»

const char* ssid = "ESP8266"; const char* գաղտնաբառ = "գաղտնաբառ";#սահմանել DHTPIN 5 // DHT սենսորին միացված թվային քորոց // Մեկնաբանել օգտագործվող սենսորի տեսակը. //#սահմանել DHTTYPE DHT11 // DHT 11#սահմանել DHTTYPE DHT22 // DHT 22 (AM2302) //#սահմանել DHTTYPE DHT21 // DHT 21 (AM2301) DHT dht (DHTPIN, DHTTYPE); // ընթացիկ ջերմաստիճան և խոնավություն, թարմացվել է հանգույցում () float t = 0.0; float h = 0.0; // Ստեղծեք AsyncWebServer օբյեկտ 80AsyncWebServer սերվերի նավահանգստում (80); // Ընդհանրապես, դուք պետք է օգտագործեք «անստորագիր երկար» ժամանակ պահող փոփոխականների համար // Արժեքը արագորեն չափազանց մեծ կդառնա ինտերիերի համար ՝ չստորագրված վաղեմի Milis = 0; // կպահի վերջին անգամ, երբ DHT- ն թարմացվել է // Թարմացնում է DHT- ի ընթերցումները յուրաքանչյուր 10 վայրկյանում երկար միջակայք = 10000; const char index_html PROGMEM = R "rawliteral (ESP8266 DHT սերվեր

Temերմաստիճանը % TEMPERATURE % ° C

Խոնավություն % HUMIDITY % %) rawliteral "; // Տեղապահը փոխարինում է DHT արժեքներով Լարային պրոցեսոր (const String & var) {//Serial.println(var); if (var ==" TEMPERATURE ") {return String (t);} else if (var == "HUMIDITY") {return String (h);} return String ();} void setup () {// Սերիական նավահանգիստ ՝ վրիպազերծման նպատակով Serial.begin (115200); dht.begin (); Serial.print ("Setting AP (Մուտքի կետ)… "); // Հեռացրեք գաղտնաբառի պարամետրը, եթե ցանկանում եք, որ AP- ն (Մուտքի կետ) բաց լինի WiFi.softAP (ssid, գաղտնաբառ); IPAddress IP = WiFi.softAPIP (); Serial.print (" AP IP հասցե ՝ "); Serial.println (IP); // Տպել ESP8266 Տեղական IP հասցե Serial.println (WiFi.localIP ()); // Արմատ / վեբ էջի server.on (" / ", HTTP_GET, երթուղի, (AsyncWebServerRequest *request) {request-> send_P (200, "text/html", index_html, processor);}); server.on ("/temperature", HTTP_GET, (AsyncWebServerRequest *request) {request- > send_P (200, "text/plain", String (t).c_str ());}); server.on ("/խոնավություն", HTTP_GET, (AsyncWebServerRequest *request) {request-> send_P (200, "տեքստ/պարզ", Լար (h).c_str ()); }); // Գործարկել սերվերը server.begin ();} void loop () {unsigned long currentMillis = millis (); if (currentMillis - previousMillis> = interval) {// պահպանել վերջին անգամը, երբ թարմացրել եք DHT արժեքները previousMillis = currentMillis; // Կարդացեք ջերմաստիճանը որպես Celsius (կանխադրված) float newT = dht.readTemperature (); // Կարդացեք ջերմաստիճանը որպես Ֆարենհայտ (isFahrenheit = true) // float newT = dht.readTemperature (true); // եթե ջերմաստիճանը չի ընթերցվում, մի փոխեք t արժեքը, եթե (isnan (newT)) {Serial.println ("Failed DHT սենսորից կարդալ »); } else {t = newT; Serial.println (t); } // Կարդալ Humidity float newH = dht.readHumidity (); // եթե խոնավությունը չի ընթերցվում, մի փոխեք h արժեքը, եթե (isnan (newH)) {Serial.println ("Չհաջողվեց կարդալ DHT սենսորից"); } այլ {h = newH; Serial.println (h); }}} Կոդը վերբեռնելուց առաջ համոզվեք, որ տեղադրել եք հետևյալը. Const char* ssid = "ESP8266"; // wifi- ի ինչ կոդ էլ ուզում եք տեղադրել char* գաղտնաբառ = "գաղտնաբառ"; // pass to connect to above ssidSet The ESP8266 as Access Point: esp8266- ը որպես մուտքի կետ սահմանելու համար մենք կօգտագործենք softAP հրամանը, ինչպես ցույց է տրված ստորև. ստեղծել մուտքի կետ. WiFi.softAP (ssid, գաղտնաբառ); Կան նաև այլ պարտադիր պարամետրեր, որոնք կարող եք փոխանցել softAP () մեթոդին: Ահա բոլոր պարամետրերը. Եթե սերիական մոնիտորը բացեք, կարող եք տեսնել մուտքի կետի IP- ն: Որը կատարվում է ՝ հետևելով ծածկագրի մի հատվածին:

Քայլ 5: Վերջնական քայլ. Փորձարկում

Վերջնական քայլ. Թեստավորում
Վերջնական քայլ. Թեստավորում

Կոդը վերբեռնելուց հետո բացեք ձեր բջջային սարքը/համակարգիչը և միացեք esp8266 wifi- ին (ինչ ssid և գաղտնաբառ եք մուտքագրել ծածկագրում, օգտագործեք դա): Միացնելուց հետո պարզապես բացեք ձեր դիտարկիչում IP- ը, որը մենք ստացել ենք սերիական մոնիտորից (https://192.168.4.1.), և դուք կկարողանաք դիտել ջերմաստիճանը և խոնավությունը ձեր դիտարկիչում, ինչպես իմը: Եվ մենք դա չենք օգտագործում որևէ wifi ցանց, որպեսզի դա արվի, որպեսզի այդպես աշխատի esp8266- ի մուտքի կետը:

Խորհուրդ ենք տալիս: