विषयसूची:

ESP8266 NodeMCU BME280 गेज और चार्ट के साथ: 5 कदम
ESP8266 NodeMCU BME280 गेज और चार्ट के साथ: 5 कदम

वीडियो: ESP8266 NodeMCU BME280 गेज और चार्ट के साथ: 5 कदम

वीडियो: ESP8266 NodeMCU BME280 गेज और चार्ट के साथ: 5 कदम
वीडियो: Temperature and Humidity Monitor using Arduino IOT Cloud and ESP8266 2024, नवंबर
Anonim
ESP8266 NodeMCU BME280 गेज और चार्ट के साथ
ESP8266 NodeMCU BME280 गेज और चार्ट के साथ
ESP8266 NodeMCU BME280 गेज और चार्ट के साथ
ESP8266 NodeMCU BME280 गेज और चार्ट के साथ

BME280 तापमान, आर्द्रता और दबाव सेंसर के साथ आपके ESP8266 NodeMCU विकास बोर्ड के लिए फैंसी गेज और चार्ट। थिंग्सपीक आने वाले वर्षों (उम्मीद है) के लिए किसी भी समय पुनर्प्राप्ति के लिए आपके सभी डेटा को क्लाउड में संग्रहीत करेगा। गेज और चार्ट थिंग्सपीक पर संग्रहीत डेटा से पॉप्युलेट होते हैं और हर 5 मिनट में स्वचालित रूप से अपडेट हो जाते हैं।

आवश्यक वस्तुएँ:

ESP8266 NodeMCU डेवलपमेंट बोर्ड (Banggood.com हांगकांग से $3.79)

बॉश BME280 (Banggood.com हांगकांग से $5.63)

ब्रेडबोर्ड जंपर्स (Banggood.com हांगकांग से $ 3.09)

ब्रेडबोर्ड ($ 2.28 Banggood.com हांगकांग से)

यदि आपके पास माइक्रो यूएसबी फोन चार्जर है तो बिजली की आपूर्ति नि:शुल्क है

माइक्रो यूएसबी केबल, यदि आपके पास पहले से है तो नि:शुल्क

Arduino IDE, मुफ्त डाउनलोड

यहां.ino और. HTML कोड फ़ाइलें प्राप्त करें

चरण 1: अपने थिंग्सपीक चैनल बनाएं और सेट करें

अपने थिंग्सपीक चैनल बनाएं और सेट करें
अपने थिंग्सपीक चैनल बनाएं और सेट करें

1. https://thingspeak.com पर एक निःशुल्क थिंग्सपीक खाता और नया चैनल बनाएं, चैनल को "ESP8266-NodeMCU-12E-BME280" पर कॉल करें।

2. नए चैनल में उस विशिष्ट क्रम में तापमान आर्द्रता दबाव नाम के 3 क्षेत्र होने चाहिए (नोट फर्स्ट लेटर कैपिटलाइज़ेशन)।

3. "चैनल सेटिंग" के अंतर्गत अपनी नई "चैनल आईडी" XXXXXX पर ध्यान दें

4. "एपीआई कुंजी" लिंक पर क्लिक करें और अपने "एपीआई लिखें" और "एपीआई कुंजी पढ़ें" XXXXXXXXXXXXXXX पर ध्यान दें। साथ ही इसे शेयरिंग के तहत एक पब्लिक चैनल बनाएं।

5. एक दूसरा थिंग्सपीक चैनल बनाएं जिसमें "आज" (मध्यरात्रि से) उच्च निम्न डेटा हो। इसे "BME280 डेली हाई लो डेटा" कहें

6. इस नए चैनल में उस विशिष्ट क्रम में Tmax Tmin Hmax Hmin Pmax Pmin नाम के 6 फ़ील्ड होने चाहिए (नोट फर्स्ट लेटर कैपिटलाइज़ेशन)।

7. उपरोक्त चरणों की तरह "BME280 दैनिक उच्च निम्न डेटा" "चैनल आईडी", "पढ़ें" और "एपीआई कुंजी लिखें" पर ध्यान दें।

चरण 2: Arduino IDE, लाइब्रेरी को सेटअप करें और BME280 को कॉन्फ़िगर करें

Arduino IDE, लाइब्रेरी को सेटअप करें और BME280 को कॉन्फ़िगर करें
Arduino IDE, लाइब्रेरी को सेटअप करें और BME280 को कॉन्फ़िगर करें

8. https://easy-esp.com/getting-started-with-easyesp-… पर Arduino IDE और ESP8266 कोर इंस्टॉल करने के लिए निर्देशों का पालन करें।

9. Arduino IDE को फायर करें ताकि हम उन चार पुस्तकालयों को स्थापित कर सकें जिनकी हमें आवश्यकता होगी।

10. आपको "एडफ्रूट यूनिफाइड सेंसर ड्राइवर" लाइब्रेरी की आवश्यकता होगी, इसे Arduino IDE में "लाइब्रेरी मैनेजर" में स्थापित करें। मेनू स्केच शामिल करें पुस्तकालय प्रबंधित करें पुस्तकालय टाइप = "अनुशंसित" विषय = "सेंसर" द्वारा एक खोज करते हैं, फिर खोज बॉक्स में एडफ्रूट यूनिफाइड सेंसर ड्राइवर शब्द डालें। आप जो चाहते हैं वह कहता है "एडफ्रूट यूनिफाइड सेंसर ड्राइवर बाय एडफ्रूट"

11. इसके अलावा, आपको "Adafruit BME280 लाइब्रेरी" को Arduino IDE में "लाइब्रेरी मैनेजर" में स्थापित करने की भी आवश्यकता होगी। मेनू स्केच शामिल करें पुस्तकालय प्रबंधित करें पुस्तकालय टाइप = "अनुशंसित" विषय = "सेंसर" द्वारा एक खोज करते हैं, फिर खोज बॉक्स में Adafruit BME280 लाइब्रेरी शब्द डालें। आप जो चाहते हैं वह कहता है "Adafruit BME280 Library by Adafruit"

12. एक अन्य पुस्तकालय जिसकी आपको आवश्यकता है, वह है Wire.h, इसे Arduino IDE में "लाइब्रेरी मैनेजर" में स्थापित करें। मेनू, स्केच शामिल करें पुस्तकालय प्रबंधित करें पुस्तकालय टाइप करें = "योगदान" विषय = "सिग्नल इनपुट/आउटपुट" द्वारा एक खोज करें फिर खोज बॉक्स में वायर शब्द डालें। आप जो चाहते हैं वह कहता है "वायर बिल्ट-इन अरुडिनो द्वारा" चयन के निचले भाग में सबसे अधिक संभावना है।

13. एक और पुस्तकालय, ESP8266WiFi, इसे Arduino IDE में "लाइब्रेरी मैनेजर" में स्थापित करें। मेनू, स्केच शामिल करें लाइब्रेरी प्रबंधित करें टाइप = "योगदान" विषय = "संचार" द्वारा एक खोज करें फिर खोज बॉक्स में ESP8266wifi शब्द डालें। आप जो चाहते हैं वह कहता है "ESP8266wifi बिल्ट-इन इवान ग्रोखोटकोव द्वारा"

14. BME280 के लिए I2C पता Adafruit_BME280.h फ़ाइल (लाइन #define BME280_ADDRESS 0x77 देखें) में Adafruit_BME280_Library फ़ोल्डर के अंदर हार्डकोड किया गया है। Adafruit के BME सेंसर मॉड्यूल 0x77 के I2C पते का उपयोग करने के लिए हार्ड-वायर्ड हैं। लेकिन BME280 का I2C पता (0x76) थोड़ा अलग हो सकता है यदि इसका बाहरी SDO पिन ग्राउंडेड है। यदि आप किसी तीसरे पक्ष से सेंसर मॉड्यूल का उपयोग कर रहे हैं, तो संभावना है कि इसका पता Adafruit पुस्तकालय में डिफ़ॉल्ट मान से मेल नहीं खाएगा। उदाहरण के लिए, eBay या Aliexpress पर उपलब्ध अधिकांश BME280 सेंसर मॉड्यूल के लिए उनका I2C पता 0x76 होना चाहिए। यदि आपको Adafruit_BME280.h फ़ाइल में सेट किए गए डिफ़ॉल्ट पते का उपयोग करके सेंसर से कोई प्रतिक्रिया नहीं मिलती है, तो आपको इसे 0x76 में बदलने की आवश्यकता हो सकती है।

BME280 और ESP8266 कनेक्शन पॉइंट। ESP8266 3.3V से BME280 विन, ESP8266 GND से BME280 GND, ESP8266 D4 से BME280 SCL, ESP8266 D3 से BME280 SDA। 15. प्रदान की गई ESP8266-NodeMCU-12E-BME280.html फ़ाइल को टेक्स्ट एडिटर में खोलें और अपना "ESP8266-NodeMCU-12E-BME280" (आपके द्वारा बनाया गया पहला चैनल) "चैनल आईडी" और "एपीआई कुंजी पढ़ें" दर्ज करें। चर key1 और chan1. key2 और chan2 के लिए "BME280 डेली हाई लो डेटा" (आपके द्वारा बनाया गया दूसरा चैनल) के लिए "रीड एपीआई की" और "चैनल आईडी" भी दर्ज करें। इसके अलावा, UTC से अपना टाइमज़ोन ऑफ़सेट दर्ज करें। मेरे लिए -5 के रूप में। सभी मान दिए गए सिंगल कोट्स 'XXXXX' के अंदर होने चाहिए। टेक्स्ट एडिटर को सेव करें और बाहर निकलें।

USB केबल के साथ अपने ESP8266 को अपने कंप्यूटर में प्लग इन करें और फिर USB पोर्ट होने के लिए अपने सीरियल पोर्ट का चयन करें।

लिनक्स उपयोगकर्ताओं को /dev/ttyUSB0 के साथ संचार करने के लिए यूएसबी पोर्ट के स्वामित्व को बदलना पड़ सकता है, जैसा कि 'सुडो चाउन योर यूज़रनेम/देव/टीटीयूएसबी0' में या जिसे आपने सेटअप में अपने पोर्ट के रूप में चुना है।

चरण 3: ESP8266 को Arduino IDE के साथ प्रोग्राम करें

Arduino IDE के साथ ESP8266 प्रोग्राम करें
Arduino IDE के साथ ESP8266 प्रोग्राम करें

16. आगे हम ESP8266 प्रोग्राम करेंगे। अपने ESP8266 और अपने कंप्यूटर के बीच एक USB केबल कनेक्ट करें।

प्रदान की गई New_BME_Sensor.ino फ़ाइल को Arduino IDE में लोड करें। आपका BME280 सेंसर ESP8266 पर D3 (SDA) और D4 (SCL) से जुड़ा होना चाहिए। स्केच के सही भाग में अपना "ESP8266-NodeMCU-12E-BME280" (आपके द्वारा बनाया गया पहला चैनल) "कुंजी लिखें" "वायरलेस SSID" और "पासवर्ड" दर्ज करें। फिर मेनू आइटम "स्केच" और "अपलोड" पर क्लिक करें। अपने ESP8266 पर स्केच (प्रगति 100% तक पहुँचती है) अपलोड करने के बाद आप सीरियल मॉनिटर खोल सकते हैं (आइकन शीर्ष दाईं ओर एक आवर्धक कांच की तरह दिखता है) और अपने डेटा को 5 मिनट, हर 5 मिनट के बाद प्रिंट आउट देख सकते हैं। डेटा 5 मिनट के अंतराल पर थिंग्सपीक को भेजा जाता है, इसलिए आपके पास सार्थक चार्ट डेटा होने में कुछ समय होगा लेकिन आपके पास 5 मिनट के बाद गेज रीडिंग होनी चाहिए।

सुनिश्चित करें कि आपको सीरियल मॉनीटर में BME280 से सही रीडिंग मिलती है।

पहला माप संभवतः एक अमान्य नान होगा।

अगले पढ़ने तक कुछ मिनट प्रतीक्षा करें और सत्यापित करें कि रीडिंग अच्छी लग रही है।

चरण 4: कुछ डेटा ट्वीकिंग करने के लिए थिंग्सपीक पर वापस जाएं

कुछ डेटा ट्वीकिंग करने के लिए थिंग्सपीक पर वापस जाएं
कुछ डेटा ट्वीकिंग करने के लिए थिंग्सपीक पर वापस जाएं

17. अब, जबकि डेटा धीरे-धीरे चीजों पर अपलोड हो रहा है, अपलोड किए जा रहे कुछ अतिरिक्त डेटा प्राप्त करने के लिए कुछ बदलाव करने देता है। थिंग्सपीक वेबसाइट पर वापस जाएं और थिंग्सपीक "BME280 डेली हाई लो डेटा" चैनल पेज (आपके द्वारा बनाया गया दूसरा चैनल) में हरे "MATLAB विश्लेषण" बटन पर क्लिक करें। टेम्पलेट चुनें "कस्टम (कोई स्टार्टर कोड नहीं)"

18. MATLAB विश्लेषण का नाम "मध्यरात्रि के बाद से न्यूनतम अधिकतम की गणना करें"।

19. दिए गए स्थान में MATLAB Analysis.txt कोड कॉपी करें। "ESP8266-NodeMCU-12E-BME280" (आपके द्वारा बनाया गया पहला चैनल) के लिए "readChannelID" में "चैनल आईडी" दर्ज करें। "BME280 दैनिक उच्च निम्न डेटा" दर्ज करें (आपके द्वारा बनाया गया दूसरा चैनल) "चैनल आईडी" और "कुंजी लिखें" लिखेंNewChannelID और क्रमशःAPIKey लिखें। मुझे पता है कि यह भ्रमित करने वाला लगता है (इसे फिर से पढ़ें)। सेव एंड रन पर क्लिक करें। यदि आपने इसे सही किया है और पढ़ा हुआ चैनल सार्वजनिक है तो आपको कोई त्रुटि नहीं दिखाई देगी और यह सफलतापूर्वक मानों को प्रिंट करता है। ध्यान दें, यदि उस चैनल पर अभी तक कोई डेटा अपलोड नहीं किया गया है, तो आपको एक त्रुटि दिखाई दे सकती है। त्रुटि के बावजूद जारी है। यदि आप चाहें तो आप क्लिक सेव पर फिर से जा सकते हैं और यह सुनिश्चित करने के लिए चला सकते हैं कि डेटा अपलोड होने के बाद यह काम करता है।

20. इसके बाद, हमें हर 5 मिनट में इस कोड को सक्रिय करने के लिए "टाइम कंट्रोल" बनाने की आवश्यकता है और हमारा डेटा चैनल "BME280 डेली हाई लो डेटा" (आपके द्वारा बनाया गया दूसरा चैनल) पर लिखा जाता है। "BME280 डेली हाई लो डेटा" (आपके द्वारा बनाया गया दूसरा चैनल) के मुख्य पृष्ठ से शीर्ष पर ऐप्स चुनें। क्रियाओं के तहत "टाइमकंट्रोल" और फिर ग्रीन बटन "न्यू टाइमकंट्रोल" चुनें। इसे "उच्च निम्न तापमान भेजें ESP8266" नाम दें। यदि आवश्यक हो तो अपना समय क्षेत्र चुनें और आवृत्ति के तहत "आवर्ती" चुनें। पुनरावृत्ति के अंतर्गत मिनट का चयन करें। हर 5 मिनट में चलाने के लिए सेट करें। कार्रवाई MATLAB विश्लेषण होना चाहिए और "निष्पादित करने के लिए कोड" "मध्यरात्रि से न्यूनतम अधिकतम की गणना करें" है। समय नियंत्रण सहेजें।

चरण 5: प्रदान की गई HTML फ़ाइल को संपादित करें

प्रदान की गई HTML फ़ाइल संपादित करें
प्रदान की गई HTML फ़ाइल संपादित करें

HTML फ़ाइलों को संपादित करें और उन टिप्पणियों की तलाश करें जो कहती हैं "******** मुझे 8 में से 1 बदलें *********" इन्हें अपनी पसंद के अनुसार बदलें।

टिप्पणियाँ:

कुछ टेक्स्ट फ़ील्ड और साप्ताहिक चार्ट तब तक सही ढंग से पॉप्युलेट नहीं होंगे जब तक आपके पास 24 घंटे और सप्ताह अनुभाग और चार्ट के लिए पूरे दिन और पूरे सप्ताह का डेटा नहीं होगा। एक बार आपके पास डेटा का एक गुच्छा हो जाने पर आप माउस व्हील (रीसेट करने के लिए राइट क्लिक) के साथ चार्ट पर ज़ूम इन कर सकते हैं। आप दूसरे चैनल के दूसरे सेंसर से चौथा गेज (जैसा कि स्क्रीनशॉट में देखा गया है) प्राप्त कर सकते हैं, लेकिन मैंने संबंधित भागों को कम कर दिया है। यदि आप समझदार महसूस करते हैं, तो इसे हुक करें। इसके बारे में जागरूक होने के लिए कुछ समय के मुद्दे भी हैं। आपके पास सबसे अधिक वर्तमान डेटा नहीं होने की संभावना है, लेकिन यह हमेशा 5 मिनट से कम पुराना होना चाहिए। यह तब से आता है जब समय नियंत्रण सक्रिय हो जाता है, जब डेटा ESP8266 से भेजा गया था और जब आपने वेब पेज को लोड/रीफ्रेश किया था।

अपने वेब ब्राउज़र में प्रदान की गई ESP8266-NodeMCU-12E-BME280.html फ़ाइल खोलें और आपको गेज और चार्ट पॉपुलेटेड देखना चाहिए।

यहां.ino और. HTML कोड फ़ाइलें प्राप्त करें

सिफारिश की: