विषयसूची:

DT11 तापमान सेंसर के साथ वेब सर्वर के लिए ESP8266 NodeMCU एक्सेस प्वाइंट (AP) और ब्राउज़र में प्रिंटिंग तापमान और आर्द्रता: 5 कदम
DT11 तापमान सेंसर के साथ वेब सर्वर के लिए ESP8266 NodeMCU एक्सेस प्वाइंट (AP) और ब्राउज़र में प्रिंटिंग तापमान और आर्द्रता: 5 कदम

वीडियो: DT11 तापमान सेंसर के साथ वेब सर्वर के लिए ESP8266 NodeMCU एक्सेस प्वाइंट (AP) और ब्राउज़र में प्रिंटिंग तापमान और आर्द्रता: 5 कदम

वीडियो: DT11 तापमान सेंसर के साथ वेब सर्वर के लिए ESP8266 NodeMCU एक्सेस प्वाइंट (AP) और ब्राउज़र में प्रिंटिंग तापमान और आर्द्रता: 5 कदम
वीडियो: DHT11 & NodeMCU Tutorial || Humidity & Temperature Monitoring over Thingspeak 2024, जुलाई
Anonim
DT11 तापमान सेंसर और ब्राउज़र में मुद्रण तापमान और आर्द्रता के साथ वेब सर्वर के लिए ESP8266 NodeMCU एक्सेस प्वाइंट (AP)
DT11 तापमान सेंसर और ब्राउज़र में मुद्रण तापमान और आर्द्रता के साथ वेब सर्वर के लिए ESP8266 NodeMCU एक्सेस प्वाइंट (AP)

हाय दोस्तों अधिकांश परियोजनाओं में हम ईएसपी 8266 का उपयोग करते हैं और अधिकांश परियोजनाओं में हम ईएसपी 8266 का उपयोग वेबसर्वर के रूप में करते हैं ताकि ईएसपी 8266 द्वारा होस्ट किए गए वेबसर्वर तक पहुंचकर वाईफाई पर किसी भी डिवाइस पर डेटा एक्सेस किया जा सके लेकिन एकमात्र समस्या यह है कि हमें एक काम करने वाले राउटर की आवश्यकता है उसे और हमारे डिवाइस को भी राउटर से कनेक्ट करने की आवश्यकता है और हमें अपने वाईफाई क्रेडेंशियल्स को कोड में डालने की आवश्यकता है ताकि यदि आप वाईफाई बदल रहे हैं तो आपको कोड में क्रेडेंशियल बदलने की जरूरत है और आपको इसे फिर से अपलोड करने की आवश्यकता है। मूल रूप से हमारे यहां दो मुद्दे हैं:1- हमें वेबसर्वर (राउटर) को होस्ट करने के लिए वाईफाई कनेक्शन की जरूरत है 2- हर बार अगर वाईफाई कनेक्शन को बदलने की जरूरत है तो हमें क्रेडेंशियल इनपुट करने और कोड को फिर से अपलोड करने की जरूरत है। वाईफाई एक्सेस हम ESP8266 को अपना वाईफाई कनेक्शन बनाने के लिए बना सकते हैं, इसलिए यदि हम उस वाईफाई कनेक्शन से जुड़ते हैं तो हम ESP8266 के वेबसर्वर तक पहुंच सकते हैं। मूल रूप से हम एक्सेस प्वाइंट के साथ ESP8266 के साथ एक वेबसर्वर की मेजबानी करेंगे। बना रहा होगा ESP8266 के साथ एक्सेस प्वाइंट का उपयोग करने वाला एक वेबसर्वर और हम वेबसर्वर पेज पर एक DHT11 सेंसर और प्रिंट तापमान और आर्द्रता को जोड़ेंगे।

चरण 1: चीजें जो आपको चाहिए

तुम्हें जिन चीज़ों की ज़रूरत पड़ेगी
तुम्हें जिन चीज़ों की ज़रूरत पड़ेगी
तुम्हें जिन चीज़ों की ज़रूरत पड़ेगी
तुम्हें जिन चीज़ों की ज़रूरत पड़ेगी

1x ESP 8266 Nodemcu: 1x DHT11: 1x ब्रेडबोर्ड:।: कुछ कूदने वाले:

चरण 2: DHT11 पुस्तकालय प्राप्त करें

DHT11 पुस्तकालय प्राप्त करें
DHT11 पुस्तकालय प्राप्त करें
DHT11 पुस्तकालय प्राप्त करें
DHT11 पुस्तकालय प्राप्त करें

अपना Arduino IDE खोलें और स्केच> लाइब्रेरी शामिल करें> लाइब्रेरी प्रबंधित करें पर जाएं। लाइब्रेरी मैनेजर को ओपन करना चाहिए। सर्च बॉक्स पर “DHT” सर्च करें और Adafruit से DHT लाइब्रेरी इंस्टॉल करें। Adafruit से DHT लाइब्रेरी इंस्टॉल करने के बाद, सर्च बॉक्स में “Adafruit Unified sensor” टाइप करें। पुस्तकालय को खोजने और इसे स्थापित करने के लिए सभी तरह से नीचे स्क्रॉल करें। पुस्तकालयों को स्थापित करने के बाद, अपने Arduino IDE को पुनरारंभ करें।

चरण 3: कनेक्शन

सम्बन्ध
सम्बन्ध

सर्किट बहुत आसान है सब कुछ कनेक्ट करें जैसा कि schmatics में दिखाया गया है

चरण 4: एक्सेस प्वाइंट कोड

एक्सेस प्वाइंट कोड
एक्सेस प्वाइंट कोड

अपने पिछले इंस्ट्रक्शंस से मैं इस इंस्ट्रक्शंस के वेबसर्वर कोड को संशोधित करने जा रहा हूं:

और इसे एक्सेस प्वाइंट वेबसर्वर कोड में बदल दें। कृपया नीचे दिए गए कोड को कॉपी करें:

#शामिल "Arduino.h"#शामिल "ESP8266WiFi.h"

#शामिल "हैश.एच"

#शामिल "ESPAsyncTCP.h"

#शामिल "ESPAsyncWebServer.h"

#शामिल "Adafruit_Sensor.h"

#शामिल "डीएचटी.एच"

const char* ssid = "ESP8266";const char* password = "password";#define DHTPIN 5 // DHT सेंसर से जुड़ा डिजिटल पिन // उपयोग में आने वाले सेंसर के प्रकार को अनकम्मेंट करें: //# DHTTYPE DHT11 // DHT को परिभाषित करें 11#DHTTYPE DHT22 को परिभाषित करें // DHT 22 (AM2302) //# DHTTYPE DHT21 // DHT 21 (AM2301) DHT dht (DHTPIN, DHTTYPE) को परिभाषित करें; // वर्तमान तापमान और आर्द्रता, लूप में अपडेट किया गया () फ्लोट टी = 0.0; फ्लोट एच = 0.0;// पोर्ट 80AsyncWebServer सर्वर (80) पर AsyncWebServer ऑब्जेक्ट बनाएं;// आम तौर पर, आपको समय रखने वाले चर के लिए "अहस्ताक्षरित लंबे" का उपयोग करना चाहिए // एक इंट के लिए लंबे समय तक पिछले मिलिस को स्टोर करने के लिए मान जल्दी से बहुत बड़ा हो जाएगा = 0; // पिछली बार डीएचटी अपडेट होने पर स्टोर करेगा // हर 10 सेकंड में डीएचटी रीडिंग अपडेट करता है, लंबे अंतराल = 10000; const char index_html PROGMEM = R"rawliteral(ESP8266 DHT Server

तापमान% तापमान% डिग्री सेल्सियस

आर्द्रता% आर्द्रता%%)rawliteral";// प्लेसहोल्डर को DHT मानों से बदल देता है, स्ट्रिंग प्रोसेसर (कॉन्स्ट स्ट्रिंग और var) {//Serial.println (var); if (var == "TEMPERATURE") {रिटर्न स्ट्रिंग (t); } और अगर (var == "आर्द्रता") {वापसी स्ट्रिंग (एच); } वापसी स्ट्रिंग ();} शून्य सेटअप () {// डिबगिंग उद्देश्यों के लिए सीरियल पोर्ट सीरियल.बेगिन (115200); dht.begin (); सीरियल.प्रिंट ("सेटिंग एपी (एक्सेस प्वाइंट)…"); // पासवर्ड पैरामीटर को हटा दें, अगर आप चाहते हैं कि एपी (एक्सेस प्वाइंट) खुला वाईफाई.सॉफ्टएपी (एसएसआईडी, पासवर्ड); आईपीएड्रेस आईपी = वाईफाई.सॉफ्टएपीआईपी (); सीरियल। एपी आईपी पता: "); Serial.println (आईपी); // प्रिंट ESP8266 स्थानीय आईपी पता Serial.println (वाईफाई। लोकलआईपी ()); // रूट के लिए रूट / वेब पेज सर्वर.ऑन ("/", HTTP_GET, (AsyncWebServerRequest *request){ request->send_P(200, "text/html", index_html, प्रोसेसर); }); server.on("/temperature", HTTP_GET, (AsyncWebServerRequest *request){ अनुरोध- >send_P(200, "text/plain", String(t).c_str()); }); server.on("/humidity", HTTP_GET, (AsyncWebServerRequest *request){ request->send_P(200, "पाठ/सादा", स्ट्रिंग (एच)। c_str ()); }); // सर्वर सर्वर शुरू करें। शुरू करें ();} शून्य लूप () {अहस्ताक्षरित लंबे करंटमिलिस = मिलिस (); अगर (करंटमिलिस - पिछलामिलिस>= अंतराल) {// पिछली बार जब आपने डीएचटी मूल्यों को अपडेट किया था तो सहेजें पिछलामिलिस = करंटमिलिस; // तापमान को सेल्सियस के रूप में पढ़ें (डिफ़ॉल्ट) फ्लोट newT = dht.readTemperature (); // तापमान को फ़ारेनहाइट के रूप में पढ़ें (isFahrenheit = true) //float newT = dht.readTemperature(true);// यदि तापमान पढ़ा नहीं गया है, तो t मान न बदलें अगर (isnan (newT)) {Serial.println ("विफल" DHT सेंसर से पढ़ने के लिए!"); } और {टी = नया टी; सीरियल.प्रिंट्लन (टी); } // पढ़ें आर्द्रता फ्लोट newH = dht.readHumidity (); // अगर ह्यूमिडिटी रीड फेल हो गई है, तो h वैल्यू न बदलें अगर (isnan(newH)) {Serial.println ("DHT सेंसर से पढ़ने में विफल!"); } और {एच = न्यूएच; सीरियल.प्रिंट्लन (एच); } }}कोड अपलोड करने से पहले सुनिश्चित करें कि आपने निम्नलिखित चीजें डाली हैं: const char* ssid = "ESP8266"; // वाईफाई का जो भी एसएसआईडी आप चाहते हैं, चार * पासवर्ड = "पासवर्ड"; // ऊपर ssidSet से कनेक्ट करने के लिए पास करें ESP8266 एक एक्सेस प्वाइंट के रूप में: esp8266 को एक्सेस प्वाइंट के रूप में सेट करने के लिए हम softAP कमांड का उपयोग करेंगे जैसा कि नीचे दिखाया गया है; एक एक्सेस प्वाइंट बनाने के लिए। वाईफाई। सॉफ्टएपी (एसएसआईडी, पासवर्ड); अन्य वैकल्पिक पैरामीटर भी हैं जिन्हें आप सॉफ्टएपी () विधि में पास कर सकते हैं। यहां सभी पैरामीटर हैं: यदि आप सीरियल मॉनिटर को खोलते हैं तो आप एक्सेस प्वाइंट का आईपी देख सकते हैं। जो कोड के निम्नलिखित भाग द्वारा किया जाता है. IPAddress IP = WiFi.softAPIP();Serial.print("AP IP पता:");Serial.println(IP);डिफ़ॉल्ट रूप से आईपी पता है: 192.168.4.1

चरण 5: अंतिम चरण: परीक्षण

अंतिम चरण: परीक्षण
अंतिम चरण: परीक्षण

कोड अपलोड करने के बाद अपना मोबाइल/पीसी वाईफाई खोलें और esp8266 वाईफाई से कनेक्ट करें (जो भी ssid और पासवर्ड आपने कोड में दर्ज किया है, उसका उपयोग करें)। कनेक्ट करने के बाद अपने ब्राउज़र में आईपी खोलें जो हमें सीरियल मॉनिटर से मिला है (https://192.168.4.1.) और आप अपने ब्राउज़र में तापमान और आर्द्रता को मेरे रूप में देख पाएंगे। और हमने इसे करने के लिए किसी भी वाईफाई नेटवर्क का उपयोग नहीं किया है, इसलिए esp8266 का एक्सेस प्वाइंट कैसे काम करता है।

सिफारिश की: