Mundarija:
- 1 -qadam: Sizga kerak bo'lgan narsalar
- 2 -qadam: DHT11 kutubxonalarini oling
- 3 -qadam: ulanishlar
- 4 -qadam: kirish nuqtasi kodi
- 5 -qadam: Yakuniy bosqich: test
Video: ESP8266 NodeMCU kirish nuqtasi (AP) DT11 harorat sensori va brauzerda bosma harorati va namligi bo'lgan veb -server uchun: 5 qadam
2024 Muallif: John Day | [email protected]. Oxirgi o'zgartirilgan: 2024-01-30 13:25
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
1x ESP 8266 Nodemcu: 1x DHT11: 1x non paneli:.: Bir nechta sakrash:
2 -qadam: 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
Sxematikada ko'rsatilganidek, sxemani hamma narsaga ulash juda oson
4 -qadam: 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
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:
Oddiy IoT harorati va namligi o'lchagichi: 5 qadam (rasmlar bilan)
Oddiy IoT harorati va namligi o'lchagichi: Oddiy IoT harorati va namligi o'lchagichi sizga harorat, namlik va issiqlik indekslarini yig'ish imkonini beradi. Keyin ularni Adafruit IO ga yuboring
LORA harorati va tuproq namligi sensori: 6 qadam
LORA harorati va tuproq namligi sensori: Men issiqxonani tayyorlashda issiqxona muhitini kuzatish uchun sensornodlar tayyorlayman. Bu sensorni tashqarida ham ishlatishingiz mumkin. Issiqxonaning ichidagi yoki tashqarisidagi haroratni er harorati bilan birgalikda ishlatish
DHT11 harorat sensori Arduino va bosim harorati issiqlik va namlik bilan qanday ishlatiladi: 5 qadam
DHT11 harorat sensori Arduino va bosma haroratli issiqlik va namlik bilan qanday ishlatiladi: DHT11 sensori harorat va namlikni o'lchash uchun ishlatiladi. DHT11 namlik va harorat sensori sizning elektronika loyihalaringizga namlik va harorat ma'lumotlarini qo'shishni juda osonlashtiradi. Bu har
WiFi IoT harorati va namligi sensori. Qism: 8 IoT, uy avtomatizatsiyasi: 9 qadam
WiFi IoT harorati va namligi sensori. Bo'lim: 8 IoT, uy avtomatizatsiyasi: kirish qismi Ushbu maqola avvalgi IoT Wi -Fi qurilmasini "qo'g'irchoqlash" qo'llanmasining amaliy mustahkamligi va oldinga rivojlanishini hujjatlashtiradi. 4 -qism: IoT, uy avtomatizatsiyasi, shu jumladan muvaffaqiyatga erishish uchun zarur bo'lgan barcha dasturiy ta'minot funktsiyalari
Kirish nuqtasi - ikkita ESP8266 MCU o'rtasida stansiya aloqasi: 3 qadam
Kirish nuqtasi - ikkita ESP8266 MCU o'rtasida stansiya aloqasi: Salom ishlab chiqaruvchilar! Oldingi ko'rsatmomda men uydagi WiFi router orqali ikkita ESP8266 MCU o'rtasida WiFi aloqasini o'rnatdim. Sharhlardan ko'rganimdek, ESP8266 MCU -ni yo'riqnoma diapazonidan uzoqda foydalanmoqchi bo'lgan ishlab chiqaruvchilar bor. Mana, bar