Mündəricat:

DT11 Temperatur Sensoru və Brauzerdə Çap İstiliyi və Nəmliyi olan Veb Server üçün ESP8266 NodeMCU Giriş Nöqtəsi (AP): 5 addım
DT11 Temperatur Sensoru və Brauzerdə Çap İstiliyi və Nəmliyi olan Veb Server üçün ESP8266 NodeMCU Giriş Nöqtəsi (AP): 5 addım

Video: DT11 Temperatur Sensoru və Brauzerdə Çap İstiliyi və Nəmliyi olan Veb Server üçün ESP8266 NodeMCU Giriş Nöqtəsi (AP): 5 addım

Video: DT11 Temperatur Sensoru və Brauzerdə Çap İstiliyi və Nəmliyi olan Veb Server üçün ESP8266 NodeMCU Giriş Nöqtəsi (AP): 5 addım
Video: Урок 24 Блок датчика температуры и влажности DHT11 DHT21 DHT22 2024, Iyul
Anonim
DT11 Temperatur Sensoru və Brauzerdə Çap İstiliyi və Nəmliyi olan Web Server üçün ESP8266 NodeMCU Giriş Nöqtəsi (AP)
DT11 Temperatur Sensoru və Brauzerdə Çap İstiliyi və Nəmliyi olan Web Server üçün ESP8266 NodeMCU Giriş Nöqtəsi (AP)

Salam uşaqlar, ESP8266 -dan istifadə etdiyimiz layihələrin əksəriyyətində və ESP8266 -nı bir veb server olaraq istifadə etdiyimiz üçün ESP8266 -nın ev sahibliyi etdiyi Web Server -ə daxil olaraq hər hansı bir cihazda wifi üzərindən məlumat əldə etmək mümkündür, ancaq yeganə problem işçi yönləndiriciyə ehtiyacımız bu və cihazımızın da yönlendiriciye qoşulması lazımdır və wifi etimadnamənizi koda daxil etməliyik, buna görə wifi dəyişdirsəniz, koddakı etimadnamənizi dəyişdirməlisiniz və yenidən yükləməlisiniz. Yəni burada iki problemimiz var: 1- Veb serverini (yönləndiricini) yerləşdirmək üçün wifi bağlantısına ehtiyacımız var 2- wifi bağlantısının dəyişdirilməsi lazım olduqda hər dəfə etimadnaməsini daxil etməliyik və kodu yenidən yükləməliyik. wifi girişi ESP8266 -nı özünəməxsus bir Wi -Fi bağlantısı yaratmaq üçün edə bilərik, buna görə də bu wifi bağlantısına qoşsaq ESP8266 -nın veb serverinə daxil ola bilərik. ESP8266 ilə bir giriş nöqtəsi olan bir veb -serverə ev sahibliyi edəcəyik. yaradacaq ESP8266 ilə Access Point istifadə edən bir veb serveri və DHT11 sensoru ilə çap edəcəyik və veb server səhifəsində temperatur və rütubəti çap edəcəyik.

Addım 1: Lazım olan şeylər

Ehtiyacınız olan şeylər
Ehtiyacınız olan şeylər
Ehtiyacınız olan şeylər
Ehtiyacınız olan şeylər

1x ESP 8266 Nodemcu: 1x DHT11: 1x çörək taxtası:.: Az tullananlar:

Addım 2: DHT11 Kitabxanalarını əldə edin

DHT11 Kitabxanalarını əldə edin
DHT11 Kitabxanalarını əldə edin
DHT11 Kitabxanalarını əldə edin
DHT11 Kitabxanalarını əldə edin

Arduino IDE -ni açın və Sketch> Kitabxanaya daxil et> Kitabxanaları İdarə et bölməsinə keçin. Kitabxana müdiri açmalıdır. Axtarış qutusunda "DHT" axtarın və Adafruit -dən DHT kitabxanasını quraşdırın. Adafruit -dən DHT kitabxanasını quraşdırdıqdan sonra axtarış qutusuna "Adafruit Unified Sensor" yazın. Kitabxananı tapmaq və quraşdırmaq üçün aşağıya doğru sürüşdürün. Kitabxanaları quraşdırdıqdan sonra Arduino IDE -ni yenidən başladın.

Addım 3: Bağlantılar

Əlaqələr
Əlaqələr

Sxematiklərdə göstərildiyi kimi dövrə hər şeyi çox asanlıqla bağlayır

Addım 4: Giriş nöqtəsi kodu

Giriş nöqtəsi kodu
Giriş nöqtəsi kodu

Əvvəlki təlimatlarımdan bu təlimatların veb server kodunu dəyişdirəcəyəm:

Və onu giriş nöqtəsi veb server koduna çevirin. Aşağıdakı kodu kopyalayın:

#"Arduino.h" daxil edin "ESP8266WiFi.h" daxil edin

#"Hash.h" daxil edin

#"ESPAsyncTCP.h" daxil edin

#"ESPAsyncWebServer.h" daxil edin

#"Adafruit_Sensor.h" daxil edin

#"DHT.h" daxil edin

const char* ssid = "ESP8266"; const char* parol = "parol";#DHTPIN 5 təyin edin // DHT sensörünə qoşulmuş rəqəmsal pin // İstifadə olunan sensor növünü qeyd edin: //#DHTTYPE DHT11 // DHT təyin edin 11#DHTTYPE DHT22 təyin edin // DHT 22 (AM2302) //#DHTTYPE DHT21 təyin edin // DHT 21 (AM2301) DHT dht (DHTPIN, DHTTYPE); // cari temperatur və rütubət, döngədə yenilənir () float t = 0.0; float h = 0.0; // 80AsyncWebServer serverində (80) AsyncWebServer obyekti yaradın; // Ümumiyyətlə, vaxt saxlayan dəyişənlər üçün "işarəsiz uzun" istifadə etməlisiniz // Qiymət tez bir zamanda imzalanmamış uzun bir əvvəlkiMillis -i saxlamaq üçün çox böyük olacaq = 0; // DHT son dəfə yenilənəndə saxlayacaq // DHT oxumalarını hər 10 saniyədə bir uzun fasilələrlə yeniləyir = 10000; const char index_html PROGMEM = R "rawliteral (ESP8266 DHT Server)

Temperatur % TEMPERATURE % ° C

Nəmlik % HUMIDITY % %) rawliteral "; // Yer tutucunu DHT dəyərləri ilə əvəz edirString prosessoru (const String & var) {//Serial.println(var); if (var ==" TEMPERATURE ") {return String (t);} else if (var == "HUMIDITY") {return String (h);} String ();} void setup ();} void setup () {// Serial.begin (115200); dht.begin (); Serial.print ("Ayarlama AP (Giriş nöqtəsi)… "); // AP -nin (Access Point) WiFi.softAP (ssid, parol) açıq olmasını istəyirsinizsə, parol parametrini silin; IPAddress IP = WiFi.softAPIP (); Serial.print (" AP IP ünvanı: "); Serial.println (IP); // ESP8266 Yerli IP ünvanını yazdır Serial.println (WiFi.localIP ()); // Kök / veb səhifəsi server.on üçün marşrut (" / ", HTTP_GET, (AsyncWebServerRequest *sorğusu) {request-> send_P (200, "text/html", index_html, prosessor);}); server.on ("/temperatur", HTTP_GET, (AsyncWebServerRequest *sorğusu) {sorğu- > send_P (200, "mətn/düz", String (t).c_str ());}); server.on ("/nəmlik", HTTP_GET, (AsyncWebServerRequest *istəyi) {request-> send_P (200, "mətn/düz", String (h).c_str ()); }); // Serverə başla server.begin ();} void loop () {unsigned long currentMillis = millis (); if (currentMillis - previousMillis> = interval) {// DHT dəyərlərini sonuncu dəfə yenilədiyiniz zaman əvvəlkiMillis = currentMillis saxla; // İstiliyi Celsius (standart olaraq) float newT = dht.readTemperature () kimi oxuyun. // İstiliyi Fahrenheit olaraq oxuyun (isFahrenheit = true) // float newT = dht.readTemperature (true); // temperatur oxunmursa, (isnan (newT)) {Serial.println ("Failed DHT sensorundan oxumaq! "); } başqa {t = newT; Serial.println (t); } // Oxuyun Nəmlik float newH = dht.readHumidity (); // rütubətin oxunması uğursuz olarsa, h dəyərini dəyişməyin, əgər (isnan (newH)) {Serial.println ("DHT sensorundan oxunmadı!"); } başqa {h = newH; Serial.println (h); }}} Kodu yükləməzdən əvvəl aşağıdakıları qoyduğunuzdan əmin olun: const char* ssid = "ESP8266"; // wifi -dən ssid nə istəyirsə, char* password = "parol"; // keçid yuxarıda ssidSet ESP8266 -nı bir Giriş nöqtəsi olaraq təyin edin: esp8266 -nı bir giriş nöqtəsi olaraq təyin etmək üçün aşağıda göstərildiyi kimi softAP əmrindən istifadə edəcəyik; bir giriş nöqtəsi yaratmaq üçün. WiFi.softAP (ssid, parol); SoftAP () metoduna keçə biləcəyiniz digər əlavə parametrlər də var. Bütün parametrlər budur: Serial monitoru açsanız, giriş nöqtəsinin IP ünvanını görə bilərsiniz. Kodun bir hissəsini izləməklə edilir. IPAddress IP = WiFi.softAPIP (); Serial.print ("AP IP ünvanı:"); Serial.println (IP); Varsayılan olaraq IP ünvanı: 192.168.4.1

Addım 5: Son addım: Test

Son addım: Test
Son addım: Test

Kodu yüklədikdən sonra mobil/pc wifi -nizi açın və esp8266 wifi -yə qoşulun (koda daxil etdiyiniz hər hansı ssid və parol bundan istifadə edir). Bağlandıqdan sonra brauzerinizdə serial monitordan aldığımız IP -ni açın (https://192.168.4.1.) və brauzerinizdəki temperatur və rütubəti mənim kimi görə biləcəksiniz. Və bunu etmək üçün heç bir wifi şəbəkəsindən istifadə etmədik ki, esp8266 -nın giriş nöqtəsi necə işləsin.

Tövsiyə: