विषयसूची:

IoT मेड सिंपल: मॉनिटरिंग मल्टीपल सेंसर्स: 7 स्टेप्स
IoT मेड सिंपल: मॉनिटरिंग मल्टीपल सेंसर्स: 7 स्टेप्स

वीडियो: IoT मेड सिंपल: मॉनिटरिंग मल्टीपल सेंसर्स: 7 स्टेप्स

वीडियो: IoT मेड सिंपल: मॉनिटरिंग मल्टीपल सेंसर्स: 7 स्टेप्स
वीडियो: Internet Of Things (IOT) Explained in Hindi 2024, जुलाई
Anonim
IoT मेड सिंपल: मॉनिटरिंग मल्टीपल सेंसर्स
IoT मेड सिंपल: मॉनिटरिंग मल्टीपल सेंसर्स
IoT मेड सिंपल: मॉनिटरिंग मल्टीपल सेंसर्स
IoT मेड सिंपल: मॉनिटरिंग मल्टीपल सेंसर्स

कुछ हफ़्ते पहले, मैंने यहां DS18B20 का उपयोग करके तापमान की निगरानी के बारे में एक ट्यूटोरियल प्रकाशित किया था, एक डिजिटल सेंसर जो 1-वायर बस पर संचार करता है, NodeMCU और Blynk के साथ इंटरनेट पर डेटा भेजता है:

IoT मेड सिंपल: मॉनिटरिंग टेम्परेचर एनीवेयर

लेकिन अन्वेषण में हम जो चूक गए, वह इस तरह के सेंसर के महान लाभों में से एक था जो एक ही 1-वायर बस से जुड़े कई सेंसर से कई डेटा एकत्र करने की संभावना है। और, अब समय आ गया है कि इसे एक्सप्लोर भी किया जाए।

हम पिछले ट्यूटोरियल में जो विकसित किया गया था उसका विस्तार करेंगे, अब दो DS18B20 सेंसर की निगरानी कर रहे हैं, एक को Celcius में और दूसरे को फ़ारेनहाइट में कॉन्फ़िगर किया गया है। डेटा एक Blynk ऐप को भेजा जाएगा, जैसा कि उपरोक्त ब्लॉक आरेख में दिखाया गया है।

चरण 1: सामग्री का बिल

  • नोडएमसीयू ईएसपी 12-ई (*)
  • 2 एक्स DS18B20 तापमान सेंसर
  • रोकनेवाला 4.7K ओम
  • ब्रेड बोर्ड
  • तारों

(*) यहां किसी भी प्रकार के ईएसपी डिवाइस का उपयोग किया जा सकता है। सबसे आम NodeMCU V2 या V3 हैं। दोनों हमेशा ठीक काम करेंगे।

चरण 2: DS18B20 तापमान सेंसर

DS18B20 तापमान सेंसर
DS18B20 तापमान सेंसर

हम इस ट्यूटोरियल में DS18B20 सेंसर के वाटरप्रूफ संस्करण का उपयोग करेंगे। यह गीली परिस्थितियों में दूरस्थ तापमान के लिए बहुत उपयोगी है, उदाहरण के लिए नम मिट्टी पर। सेंसर अलग है और 125oC तक माप ले सकता है (Adafrut अपने केबल पीवीसी जैकेट के कारण इसे 100oC से अधिक उपयोग करने की अनुशंसा नहीं करता है)।

DS18B20 एक डिजिटल सेंसर है जो लंबी दूरी पर भी उपयोग करना अच्छा बनाता है! ये 1-वायर डिजिटल तापमान सेंसर काफी सटीक हैं (अधिकांश सीमा से ± 0.5 डिग्री सेल्सियस) और ऑनबोर्ड डिजिटल-टू-एनालॉग कनवर्टर से 12 बिट तक सटीकता दे सकते हैं। वे एक एकल डिजिटल पिन का उपयोग करके NodeMCU के साथ बहुत अच्छा काम करते हैं, और आप एक ही पिन से कई लोगों को भी जोड़ सकते हैं, प्रत्येक के पास अलग-अलग करने के लिए कारखाने में एक अद्वितीय 64-बिट आईडी बर्न होती है।

सेंसर 3.0 से 5.0V तक काम करता है, इसका मतलब है कि इसे सीधे 3.3V NodeMCU पिन में से एक से संचालित किया जा सकता है।

सेंसर में 3 तार होते हैं:

  • काला: जीएनडी
  • लाल: वीसीसी
  • पीला: 1-तार डेटा

यहां, आप पूरा डेटा पा सकते हैं: DS18B20 डेटाशीट

चरण 3: सेंसर को NodeMCU से जोड़ना

सेंसर को NodeMCU से जोड़ना
सेंसर को NodeMCU से जोड़ना
  1. जैसा कि ऊपर फोटो में दिखाया गया है, मिनी ब्रेडबोर्ड पर प्रत्येक सेंसर से 3 तारों को कनेक्ट करें। मैंने उस पर सेंसर की केबल को बेहतर ढंग से ठीक करने के लिए विशेष कनेक्टर का उपयोग किया।
  2. ध्यान दें कि दोनों सेंसर समानांतर में हैं। यदि आपके पास 2 से अधिक सेंसर हैं, तो आपको भी ऐसा ही करना चाहिए।

    • लाल ==> 3.3V
    • काला ==> जीएनडी
    • पीला ==> D4
  3. VCC (3.3V) और डेटा (D4) के बीच 4.7K ओम रेसिस्टर का उपयोग करें

चरण 4: उपयुक्त पुस्तकालयों को स्थापित करना

DS18B20 का ठीक से उपयोग करने के लिए, दो पुस्तकालयों की आवश्यकता होगी:

  1. वनवायर
  2. डलासतापमान

अपने Arduino IDE लाइब्रेरी डिपॉजिटरी में दोनों लाइब्रेरी स्थापित करें।

ध्यान दें कि वनवायर लाइब्रेरी विशेष होना चाहिए, जिसे ESP8266 के साथ उपयोग करने के लिए संशोधित किया गया है, अन्यथा आपको संकलन के दौरान एक त्रुटि मिलेगी। आपको उपरोक्त लिंक पर अंतिम संस्करण मिलेगा।

चरण 5: सेंसर का परीक्षण

सेंसर का परीक्षण
सेंसर का परीक्षण

सेंसर के परीक्षण के लिए, मेरे GitHub से नीचे दी गई फ़ाइल डाउनलोड करें:

NodeMCU_DS18B20_Dual_Se nsor_test.ino

/**************************************************************

* मल्टीपल टेम्परेचर सेंडर टेस्ट * * 2 x वनवायर सेंसर: DS18B20 * NodeMCU D4 (या Arduino Pin 2) से जुड़ा है * * मार्सेलो रोवई द्वारा विकसित - 25 अगस्त 2017 **************** **********************************************/ #शामिल # NodeMCU पिन D4 वनवायर वनवायर (ONE_WIRE_BUS) पर #define ONE_WIRE_BUS 2 // DS18B20 शामिल करें; डलास तापमान DS18B20(&oneWire); शून्य सेटअप () {Serial.begin(११५२००); DS18B20.begin (); Serial.println ("दोहरी सेंसर डेटा का परीक्षण"); } शून्य लूप () {फ्लोट temp_0; फ्लोट अस्थायी_1; DS18B20.requestTemperatures (); temp_0 = DS18B20.getTempCByIndex (0); // सेंसर 0 Celcius temp_1 = DS18B20.getTempFByIndex(1) में Temp को कैप्चर करेगा; // सेंसर 0 फ़ारेनहाइट सीरियल में टेम्प को कैप्चर करेगा।प्रिंट ("Temp_0:"); सीरियल.प्रिंट (temp_0); सीरियल.प्रिंट ("ओसी। Temp_1:"); सीरियल.प्रिंट (temp_1); Serial.println ("ओएफ"); देरी (1000); }

उपरोक्त कोड को देखते हुए, हमें ध्यान देना चाहिए कि सबसे महत्वपूर्ण पंक्तियाँ हैं:

temp_0 = DS18B20.getTempCByIndex (0); // सेंसर 0 सेल्शियस में टेम्प को कैप्चर करेगा

temp_1 = DS18B20.getTempFByIndex(1); // सेंसर 0 टेम्परेचर को फारेनहाइट में कैप्चर करेगा

पहला वाला सेंसर [0] से एक मान लौटाएगा (सेल्सियस में "इंडेक्स (0)" देखें) (कोड का हिस्सा देखें: "getTempC"। दूसरी लाइन सेंसर से संबंधित है [1] और डेटा लौटाएगा फारेनहाइट में। आपके पास यहां "एन" सेंसर हो सकते हैं क्योंकि आपके पास उनमें से प्रत्येक के लिए एक अलग "इंडेक्स" है।

अपने NodeMCU में अब कोड अपलोड करें और सीरियल मॉनिटर का उपयोग करके तापमान की निगरानी करें।

उपरोक्त फोटो अपेक्षित परिणाम दिखाता है। प्रत्येक सेंसर को अपने हाथ में पकड़ें, आपको तापमान बढ़ता हुआ देखना चाहिए।

चरण 6: Blynk. का उपयोग करना

Blynk. का उपयोग करना
Blynk. का उपयोग करना
Blynk. का उपयोग करना
Blynk. का उपयोग करना

एक बार जब आप तापमान डेटा कैप्चर करना शुरू कर देते हैं, तो इसे कहीं से भी देखने का समय आ गया है। हम Blynk का उपयोग करके ऐसा करेंगे। तो, सभी कैप्चर किए गए डेटा आपके मोबाइल डिवाइस पर वास्तविक समय में प्रदर्शित होंगे और इसके लिए हम एक ऐतिहासिक डिपॉजिटरी भी बनाएंगे।

नीचे दिए गए चरणों का पालन करें:

  1. एक नया प्रोजेक्ट बनाएं।
  2. इसे एक नाम दें (मेरे मामले में "दोहरी तापमान मॉनिटर")
  3. नया उपकरण चुनें - ESP8266 (वाईफाई) "माई डिवाइसेस" के रूप में
  4. कोड में उपयोग किए जाने वाले AUTH TOKEN को कॉपी करें (आप इसे अपने ईमेल पर भेज सकते हैं)।
  5. परिभाषित करने वाले दो "गेज" विजेट शामिल हैं:

    • प्रत्येक सेंसर के साथ उपयोग किया जाने वाला वर्चुअल पिन: V10 (सेंसर [0]) और V11 (सेंसर [1])
    • तापमान रेंज: -5 से १०० oC सेंसर के लिए [०]
    • तापमान सीमा: सेंसर के लिए २५ से २१२ oC [1]
    • डेटा पढ़ने की आवृत्ति: 1 सेकंड
  6. एक "इतिहास ग्राफ़" विजेट शामिल है, जो V10 और V11 को वर्चुअल पिन के रूप में परिभाषित करता है
  7. "चलाएं" दबाएं (दाएं कोने में त्रिकोण)

बेशक, Blynk ऐप आपको बताएगा कि NodeMCU ऑफ लाइन है। आपके Arduino IDE पर पूरा कोड अपलोड करने का समय आ गया है। आप इसे यहां पा सकते हैं:

NodeMCU_Dual_Sensor_Blynk_Ext.ino

अपने स्वयं के क्रेडेंशियल के साथ "डमी डेटा" बदलें।

/* ब्लिंक क्रेडेंशियल्स */

चार ऑथ = "आपका ब्लिंक ऑथ कोड यहाँ"; /* वाईफाई क्रेडेंशियल */ चार एसएसआईडी = "आपका एसएसआईडी"; चार पास = "आपका पासवर्ड";

और बस!

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

/**************************************************************

* Blynk के साथ IoT एकाधिक तापमान मॉनिटर * Blynk पुस्तकालय MIT लाइसेंस के तहत लाइसेंस प्राप्त है * यह उदाहरण कोड सार्वजनिक डोमेन में है। * * मल्टीपल वनवायर सेंसर: DS18B20 * मार्सेलो रोवई द्वारा विकसित - 25 अगस्त 2017 ********************* ***************//* ESP & Blynk */ #include #include #define BLYNK_PRINT सीरियल // इस पर कमेंट करें प्रिंट अक्षम करें और स्थान बचाएं /* Blynk क्रेडेंशियल */ char auth = "आपका BLYNK AUTH CODE यहाँ"; /* वाईफाई क्रेडेंशियल */ चार एसएसआईडी = "आपका एसएसआईडी"; चार पास = "आपका पासवर्ड"; /* टाइमर */ #SimpleTimer टाइमर शामिल करें; /* DS18B20 तापमान सेंसर */ #include #include #define ONE_WIRE_BUS 2 // DS18B20 arduino pin2 पर भौतिक बोर्ड वनवायर वनवायर (ONE_WIRE_BUS) पर D4 से मेल खाता है; डलास तापमान DS18B20(&oneWire); इंट अस्थायी_0; इंट अस्थायी_1; शून्य सेटअप () {Serial.begin(११५२००); Blynk.begin(auth, ssid, pass); DS18B20.begin (); timer.setInterval(1000L, getSendData); सीरियल.प्रिंट्लन (""); Serial.println ("दोहरी सेंसर डेटा का परीक्षण"); } शून्य लूप () {timer.run (); // SimpleTimer Blynk.run () आरंभ करता है; } /******************************** **** Blynk को सेंसर डेटा भेजें ************* *********/ शून्य getSendData () {DS18B20.requestTemperatures (); temp_0 = DS18B20.getTempCByIndex (0); // सेंसर 0 Celcius temp_1 = DS18B20.getTempFByIndex(1) में Temp को कैप्चर करेगा; // सेंसर 0 फ़ारेनहाइट सीरियल में टेम्प को कैप्चर करेगा।प्रिंट ("Temp_0:"); सीरियल.प्रिंट (temp_0); सीरियल.प्रिंट ("ओसी। Temp_1:"); सीरियल.प्रिंट (temp_1); Serial.println ("ओएफ"); Blynk.virtualWrite(10, temp_0); // वर्चुअल पिन V10 Blynk.virtualWrite (11, temp_1); // वर्चुअल पिन V11 }

एक बार कोड अपलोड और चलने के बाद, Blynk ऐप को चेक करें। यह अब भी चलना चाहिए जैसा कि मेरे iPhone से ऊपर प्रिंट स्क्रीन पर दिखाया गया है।

चरण 7: निष्कर्ष

निष्कर्ष
निष्कर्ष

हमेशा की तरह, मुझे उम्मीद है कि यह परियोजना दूसरों को इलेक्ट्रॉनिक्स, रोबोटिक्स और IoT की रोमांचक दुनिया में अपना रास्ता खोजने में मदद कर सकती है!

अद्यतन फ़ाइलों के लिए कृपया मेरे GitHub पर जाएँ: NodeMCU डुअल टेम्प मॉनिटर

अधिक परियोजनाओं के लिए, कृपया मेरे ब्लॉग पर जाएँ: MJRoBot.org

दुनिया के दक्षिण से Saludos!

मेरे अगले निर्देश पर मिलते हैं!

शुक्रिया, मार्सेलो

सिफारिश की: