Mundarija:

ESP8266 NodeMCU kirish nuqtasi (AP) DT11 harorat sensori va brauzerda bosma harorati va namligi bo'lgan veb -server uchun: 5 qadam
ESP8266 NodeMCU kirish nuqtasi (AP) DT11 harorat sensori va brauzerda bosma harorati va namligi bo'lgan veb -server uchun: 5 qadam

Video: ESP8266 NodeMCU kirish nuqtasi (AP) DT11 harorat sensori va brauzerda bosma harorati va namligi bo'lgan veb -server uchun: 5 qadam

Video: ESP8266 NodeMCU kirish nuqtasi (AP) DT11 harorat sensori va brauzerda bosma harorati va namligi bo'lgan veb -server uchun: 5 qadam
Video: NodeMCU ESP8266 WiFi Development paneliga HTTP Client misolida kirish 2024, Iyul
Anonim
ESP8266 NodeMCU kirish nuqtasi (AP) DT11 harorat sensori va brauzerda bosma harorati va namligi bo'lgan veb -server uchun
ESP8266 NodeMCU kirish nuqtasi (AP) DT11 harorat sensori va brauzerda bosma harorati va namligi bo'lgan veb -server uchun

Salom bolalar, biz ESP8266 -dan foydalanadigan ko'pgina loyihalarda va ESP8266 -ni veb -server sifatida ishlatamiz, shuning uchun ma'lumotlarni ESP8266 -da joylashgan veb -serverga kirish orqali Wi -Fi orqali har qanday qurilmadan olish mumkin, lekin yagona muammo shundaki, bizda ishlaydigan yo'riqnoma kerak. bu va bizning qurilmamiz ham yo'riqchiga ulangan bo'lishi kerak va biz Wi -Fi ma'lumotlarini kodga kiritishimiz kerak, shuning uchun agar siz wifi -ni o'zgartirsangiz, siz koddagi hisob ma'lumotlarini o'zgartirishingiz kerak va siz uni qayta yuklashingiz kerak. Shunday qilib, bizda bu erda ikkita muammo bor.: 1- bizga veb-serverni (yo'riqnoma) joylashtirish uchun wifi ulanishi kerak 2- har safar Wi-Fi ulanishi o'zgarganda, biz hisob ma'lumotlarini kiritishimiz va kodni qayta yuklashimiz kerak, shuning uchun bu muammoning oldini olish uchun nima qilish kerak? wifi -ga kirish biz ESP8266 -ni o'ziga xos Wi -Fi ulanishini yaratishimiz mumkin, shuning uchun agar biz wifi -ga ulansak, biz ESP8266 -ning veb -serveriga kira olamiz, shuning uchun biz asosan kirish nuqtasi bo'lgan ESP8266 -ga ega bo'lgan veb -serverni joylashtiramiz. yaratadi ESP8266 bilan kirish nuqtasini ishlatadigan veb -server va biz DHT11 sensorini ulaymiz va veb -server sahifasida harorat va namlikni bosib chiqaramiz.

1 -qadam: Sizga kerak bo'lgan narsalar

Sizga kerak bo'lgan narsalar
Sizga kerak bo'lgan narsalar
Sizga kerak bo'lgan narsalar
Sizga kerak bo'lgan narsalar

1x ESP 8266 Nodemcu: 1x DHT11: 1x non paneli:.: Bir nechta sakrash:

2 -qadam: DHT11 kutubxonalarini oling

DHT11 kutubxonalarini oling
DHT11 kutubxonalarini oling
DHT11 kutubxonalarini oling
DHT11 kutubxonalarini oling

Arduino IDE -ni oching va Sketch> Kutubxonani qo'shish> Kutubxonalarni boshqarish -ga o'ting. Kutubxona menejeri ochilishi kerak. Qidiruv maydonida "DHT" ni qidiring va Adafruit -dan DHT kutubxonasini o'rnating. Adafruit -dan DHT kutubxonasini o'rnatgandan so'ng, qidiruv maydoniga "Adafruit Unified Sensor" yozing. Kutubxonani topib o'rnatish uchun pastga aylantiring va kutubxonalarni o'rnatgandan so'ng Arduino IDE -ni qayta ishga tushiring.

3 -qadam: ulanishlar

Ulanishlar
Ulanishlar

Sxematikada ko'rsatilganidek, sxemani hamma narsaga ulash juda oson

4 -qadam: kirish nuqtasi kodi

Kirish nuqtasi kodi
Kirish nuqtasi kodi

Oldingi ko'rsatmalarimdan men ushbu ko'rsatmalarni veb-server kodini o'zgartiraman:

Va uni kirish nuqtasi veb -server kodiga aylantiring. Iltimos, quyida keltirilgan kodni nusxa ko'chiring:

#"Arduino.h" ni kiriting#"ESP8266WiFi.h" ni qo'shing

#"Hash.h" ni qo'shing

#"ESPAsyncTCP.h" ni qo'shing

#"ESPAsyncWebServer.h" ni qo'shing

#"Adafruit_Sensor.h" ni qo'shing

#"DHT.h" ni qo'shing

const char* ssid = "ESP8266"; const char* parol = "parol";#DHTPIN 5 ni aniqlang // DHT sensoriga ulangan raqamli pin // Amaldagi sensor turiga izoh qoldirmang: //#DHTTYPE DHT11 // DHT ni aniqlang 11#DHTTYPE DHT22 // DHT 22 (AM2302) //#DHTTYPE DHT21 // DHT 21 (AM2301) DHT dht (DHTPIN, DHTTYPE) ni belgilang; // joriy harorat va namlik, pastadir () float t = 0.0; float h = 0.0; // 80AsyncWebServer server (80) portida AsyncWebServer ob'ektini yaratish; // Odatda, vaqtni ushlab turuvchi o'zgaruvchilar uchun "imzosiz uzun" dan foydalanish kerak // qiymat imzolanmagan uzoq oldingiMillisni saqlash uchun tezda juda katta bo'ladi. = 0; // DHT oxirgi marta yangilanganida saqlanadi // DHT o'qilishini har 10 soniya oralig'ida yangilaydi = 10000; const char index_html PROGMEM = R "rawliteral (ESP8266 DHT Server)

Harorat % TEMPERATURE % ° C

Namlik % HUMIDITY % %) rawliteral "; // Doldorni DHT qiymatlari bilan almashtiradi String protsessori (const String & var) {//Serial.println(var); if (var ==" TEMPERATURE ") {return String (t);} else if (var == "HUMIDITY") {return String (h);} Stringni qaytarish ();} void setup ();} nosozliklarni tuzatish uchun ketma -ket port Serial.begin (115200); dht.begin (); Serial.print ("APni sozlash (Kirish nuqtasi) … "); // Parol parametrini olib tashlang, agar AP (kirish nuqtasi) WiFi.softAP (ssid, parol) ochiq bo'lishini xohlasangiz; IPAddress IP = WiFi.softAPIP (); Serial.print (" AP IP manzili: "); Serial.println (IP); // ESP8266 mahalliy IP -manzilini chop etish Serial.println (WiFi.localIP ()); // Ildiz / veb -sahifa serveri.on (" / ", HTTP_GET, (AsyncWebServerRequest *so'rovi) {request-> send_P (200, "text/html", index_html, protsessor);}); server.on ("/harorat", HTTP_GET, (AsyncWebServerRequest *so'rovi) {so'rov- > send_P (200, "matn/oddiy", String (t).c_str ());}); server.on ("/namlik", HTTP_GET, (AsyncWebServerRequest *so'rovi) {request-> send_P (200, "matn/oddiy", String (h).c_str ()); }); // serverni ishga tushiring server.begin ();} void loop () {unsigned long currentMillis = millis (); if (currentMillis - previousMillis> = interval) {// oxirgi marta DHT qiymatlarini yangilaganingizda avvalgiMillis = currentMillis saqlang; // Haroratni Selsiy bo'yicha o'qing (standart) float newT = dht.readTemperature (); // Haroratni Farengeyt (isFahrenheit = rost) sifatida o'qing // float newT = dht.readTemperature (true); // agar harorat o'qilmasa, t qiymatini o'zgartirmang, agar (isnan (newT)) {Serial.println ("Muvaffaqiyatsiz DHT sensoridan o'qish! "); } boshqa {t = newT; Serial.println (t); } // O'qing namlik float newH = dht.readHumidity (); // agar namlik o'qilmasa, h qiymatini o'zgartirmang if (isnan (newH)) {Serial.println ("DHT sensoridan o'qib bo'lmadi!"); } boshqa {h = newH; Serial.println (h); }}} Kodni yuklashdan oldin quyidagi narsalarni qo'yganingizga ishonch hosil qiling: const char* ssid = "ESP8266"; // wifi -ning ssid nima bo'lishidan qat'i nazar, char* password = "parol"; // o'tish ssidSet ESP8266 -ni kirish nuqtasi sifatida ulash uchun: esp8266 -ni kirish nuqtasi sifatida o'rnatish uchun biz quyida ko'rsatilgan softAP buyrug'idan foydalanamiz; kirish nuqtasini yaratish uchun Wi -Fi.softAP (ssid, parol); softAP () usuliga o'tishingiz mumkin bo'lgan boshqa ixtiyoriy parametrlar ham mavjud. Bu erda barcha parametrlar: Agar siz ketma -ket monitorni ochsangiz, kirish nuqtasining IP -manzilini ko'rishingiz mumkin. Bu kodning bir qismini bajarish orqali amalga oshiriladi. IPAddress IP = WiFi.softAPIP (); Serial.print ("AP IP -manzili:"); Serial.println (IP); Odatiy IP manzili: 192.168.4.1

5 -qadam: Yakuniy bosqich: test

Yakuniy bosqich: sinov
Yakuniy bosqich: sinov

Kodni yuklaganingizdan so'ng, mobil/kompyuter Wi -Fi -ni oching va esp8266 wifi -ga ulaning (kodga kiritilgan ssid va parolni ishlating). Ulagandan so'ng, brauzerda ketma -ket monitordan olingan IP -ni oching (https://192.168.4.1.) va siz brauzeringizdagi harorat va namlikni meniki sifatida ko'rishingiz mumkin va biz buni amalga oshirish uchun hech qanday Wi -Fi tarmog'idan foydalanmaganmiz, shuning uchun esp8266 kirish nuqtasi qanday ishlaydi.

Tavsiya: