विषयसूची:

NodeMCU का उपयोग करते हुए स्मार्ट वितरित IoT मौसम निगरानी प्रणाली: 11 चरण
NodeMCU का उपयोग करते हुए स्मार्ट वितरित IoT मौसम निगरानी प्रणाली: 11 चरण

वीडियो: NodeMCU का उपयोग करते हुए स्मार्ट वितरित IoT मौसम निगरानी प्रणाली: 11 चरण

वीडियो: NodeMCU का उपयोग करते हुए स्मार्ट वितरित IoT मौसम निगरानी प्रणाली: 11 चरण
वीडियो: 35. IoT Based Smart Water Heater Using ESP8266 | Temperature | Blynk | Wifi | AutoCut | Data Storage 2024, जुलाई
Anonim
NodeMCU का उपयोग करते हुए स्मार्ट वितरित IoT मौसम निगरानी प्रणाली
NodeMCU का उपयोग करते हुए स्मार्ट वितरित IoT मौसम निगरानी प्रणाली

आप सभी पारंपरिक मौसम स्टेशन के बारे में जानते होंगे; लेकिन क्या आपने कभी सोचा है कि यह वास्तव में कैसे काम करता है? चूंकि पारंपरिक मौसम स्टेशन महंगा और भारी होता है, इसलिए प्रति यूनिट क्षेत्र में इन स्टेशनों का घनत्व बहुत कम होता है जो डेटा की अशुद्धि में योगदान देता है। मैं आपको समझाता हूँ कि कैसे: मान लीजिए कि कोई स्टेशन किसी शहर के बीच में स्थित है और यह एकमात्र स्टेशन है जो 'x' मीटर के दायरे में स्थित है, तो यह आसानी से पक्षपाती हो सकता है यदि कोई प्रदूषण फैलाने वाला एजेंट आसपास के क्षेत्र में मौजूद हो। पूरे 'x' मीटर त्रिज्या क्षेत्र को प्रदूषित के रूप में दर्शाने वाले स्टेशन का, क्योंकि वह एकल स्टेशन पूरे क्षेत्र के मौसम के आंकड़ों को निर्धारित करने के लिए जिम्मेदार है।

इस समस्या को दूर करने के लिए, मॉड्यूल का घनत्व बढ़ाया जाना चाहिए जो तभी संभव है जब मॉड्यूल सस्ते हों और मौजूदा की तुलना में एक छोटा पदचिह्न लें।

यही कारण है कि मेरा प्रस्तावित समाधान इस समस्या का सही समाधान है, इसकी लागत $ 10 से कम है और यह आसानी से मेरी हथेली पर भी टिकी हुई है।

यह काम किस प्रकार करता है…

इस परियोजना के 3 प्रमुख भाग हैं।

डिवाइस पक्ष:

डिवाइस एक IoT मॉड्यूल है जो चित्र में दिखाया गया है जो सर्वर को हर 'x' अंतराल में मौसम डेटा भेजता है। डेटा में वास्तविक मौसम डेटा, मॉड्यूल की भौगोलिक स्थिति शामिल है; यानी इसके निर्देशांक, इसका मैक पता; डिवाइस को विशिष्ट रूप से पहचानने के लिए, फर्मवेयर संस्करण जिस पर यह वर्तमान में चल रहा है। डिवाइस-साइड में पूरे क्षेत्र में वितरित एन-मॉड्यूल शामिल हैं जो सर्वर में सक्रिय रूप से डेटा का योगदान करते हैं।

सर्वर साइड:

जैसा कि नाम से पता चलता है, यह केंद्रीकृत सर्वर है जो कई कार्यों को संभालता है जैसे मॉड्यूल से डेटा प्राप्त करना और इसे डेटाबेस में संग्रहीत करना, नवीनतम फर्मवेयर के साथ मॉड्यूल को अपडेट करना यदि यह पुराने संस्करण पर चल रहा है, मौसम डेटा को भेजना अनुरोध पर ग्राहक।

ग्राहक/उपयोगकर्ता पक्ष:

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

आपूर्ति

  • NodeMCU (ESP8266-12E)
  • DHT11 (आर्द्रता और तापमान सेंसर)
  • BMP180 (दबाव और तापमान सेंसर)
  • MQ-135 (वायु गुणवत्ता सूचकांक सेंसर)
  • यूएसबी केबल (प्रोग्राम अपलोड करने के लिए)
  • 5 वोल्ट बिजली की आपूर्ति
  • कैपेसिटर (वैकल्पिक: पावरलाइन के समानांतर रखा जाना)
  • Arduino IDE (प्रोग्राम को डिबग और अपलोड करने के लिए)
  • पोस्टमैन एप्लिकेशन (वैकल्पिक: एपीआई डीबग करने के लिए)
  • एक वेबसाइट (PHP और MySQL सर्वर को होस्ट करने के लिए)

चरण 1: सभी घटकों को मिलाएं और प्रोग्राम को NodeMCU में अपलोड करें।

सभी घटकों को मिलाएं और प्रोग्राम को NodeMCU में अपलोड करें।
सभी घटकों को मिलाएं और प्रोग्राम को NodeMCU में अपलोड करें।
सभी घटकों को मिलाएं और प्रोग्राम को NodeMCU में अपलोड करें।
सभी घटकों को मिलाएं और प्रोग्राम को NodeMCU में अपलोड करें।

सभी घटकों को NodeMCU में मिलाएं जैसा कि एक पूर्ण बोर्ड पर सर्किट आरेख में दिखाया गया है। इसके अलावा, सक्रिय रूप से संचारित और डेटा प्राप्त करने के दौरान बिजली बढ़ने के बाद से पावरलाइन के समानांतर में एक संधारित्र मिलाप।

एक बार टांका लगाने का काम हो जाने के बाद, "code.c" फ़ाइल में दिए गए कोड को अपलोड करें।

नोट: क्रेडेंशियल्स को अपने क्रेडेंशियल्स से बदलना न भूलें। साथ ही "html_file.h" नाम की फाइल को arduino स्केच फोल्डर के अंदर रखें। इस प्रोजेक्ट में उपयोग की जाने वाली सभी हेडर फाइलें यहां पाई जा सकती हैं

कोड की विशेषताएं:

एक्सेस प्वाइंट: चूंकि बड़े पैमाने पर उत्पादन में क्रेडेंशियल के साथ हर मॉड्यूल को प्रोग्राम करना मुश्किल है, मॉड्यूल वाईफाई के क्रेडेंशियल्स को स्वीकार करने के लिए अपने पहले बूट पर एक वेबपेज होस्ट करता है जिससे मॉड्यूल को कनेक्ट करना होता है और बाद में उपयोग के लिए EEPROM में स्टोर करना होता है।

एक बार क्रेडेंशियल कॉन्फ़िगर हो जाने के बाद, NodeMCU क्रेडेंशियल के लिए EEPROM की जांच करता है और EEPROM में मौजूद वाईफाई क्रेडेंशियल से जुड़ता है।

वाईफाई से सफलतापूर्वक कनेक्ट होने के बाद, NodeMCU हर 'x' अंतराल में सर्वर पर डेटा अपलोड करना शुरू कर देता है, डेटा में मौसम डेटा, मॉड्यूल का मैक पता, फर्मवेयर का संस्करण, डिवाइस की भौगोलिक स्थिति शामिल होती है।

ओटीए अपडेट: मॉड्यूल कोड में निर्दिष्ट विशिष्ट समय पर हर दिन नए फर्मवेयर अपडेट की भी जांच करता है। यह सुविधा उपयोगी है क्योंकि किसी भी निर्माता के लिए यह संभव नहीं है कि कोई भी बदलाव किए जाने की स्थिति में किसी व्यक्तिगत मॉड्यूल के कार्यक्रम को बदल सके।

वॉचडॉग टाइमर: अगर यह अटक जाता है या दुर्घटनाग्रस्त हो जाता है, तो बिना किसी मानवीय हस्तक्षेप के खुद को ठीक करने का एक तरीका होना चाहिए। यह वॉचडॉग टाइमर का उपयोग करके प्राप्त किया जा सकता है। जिस तरह से यह काम करता है: एक इंटरप्ट सब-रूटीन है जो हर सेकेंड चलता है। ISR काउंटर को हर बार निष्पादित करता है और यह जांचता है कि काउंटर अधिकतम गणना तक पहुंच गया है या नहीं। एक बार जब काउंटर अधिकतम मूल्य तक पहुंच जाता है, तो मॉड्यूल खुद को यह मानकर रीसेट हो जाता है कि यह दुर्घटनाग्रस्त हो गया है। सामान्य ऑपरेशन पर, काउंटर हमेशा अधिकतम गिनती तक पहुंचने से पहले रीसेट हो जाता है।

चरण 2: SQL सर्वर को कॉन्फ़िगर करना

SQL सर्वर को कॉन्फ़िगर करना
SQL सर्वर को कॉन्फ़िगर करना

SQL सर्वर सेटअप भी वास्तव में सरल है। बस SQL सर्वर में एक डेटाबेस बनाएं और "database_structure.txt" नाम की फ़ाइल आयात करके सेटिंग आयात करें। आप इस चरण में फ़ाइल पा सकते हैं। जैसा कि निर्देशयोग्य ".sql" फ़ाइलों को अपलोड करने की अनुमति नहीं देता है, मैंने फ़ाइल का नाम बदलकर ".txt" कर दिया है।

नोट: फ़ाइल का नाम ".txt" से ".sql" में बदलें।

चरण 3: फ़ाइल सर्वर को कॉन्फ़िगर करना

सर्वर को कॉन्फ़िगर करना वास्तव में आसान है यदि आप एक वेबसाइट के मालिक हैं और इसे ऑनलाइन होस्ट किया गया है। मैं वेबसाइट स्थापित करने और इसे होस्ट करने की पूरी प्रक्रिया से नहीं गुजरूंगा क्योंकि यह इस ट्यूटोरियल के दायरे से बाहर है। लेकिन आप फाइलों के काम करने की कोशिश करने के लिए इसे अपने पीसी में लोकलहोस्ट के रूप में होस्ट कर सकते हैं।

चूंकि निर्देशयोग्य PHP फ़ाइलों को अपलोड करने की अनुमति नहीं देता है, इसलिए मैंने फ़ाइलों का नाम बदलकर ".txt" कर दिया है।

नोट: कृपया फाइलों के एक्सटेंशन का नाम बदलकर ".php" कर दें। साथ ही "config.php" फाइल के क्रेडेंशियल्स को बदलना न भूलें।

बस सर्वर पर फ़ाइलें अपलोड करें और आप जाने के लिए तैयार हैं।

मैं आपको PHP फाइलों के बारे में संक्षिप्त जानकारी दूंगा।

db_config.php:

इस फ़ाइल में, SQL सर्वर से कनेक्ट करने के लिए आवश्यक सभी क्रेडेंशियल संग्रहीत किए जाते हैं।

डीबी_कनेक्ट:

इस फ़ाइल में डेटाबेस कनेक्शन के लिए आवश्यक वर्ग मौजूद है।

सम्मिलित करें.php:

NodeMCU GET पद्धति का उपयोग करके सर्वर पर डेटा अपलोड करने के लिए इस PHP फ़ाइल को कॉल करता है। यह फ़ाइल उसी डेटा को SQL सर्वर पर संग्रहीत करने के लिए भी ज़िम्मेदार है।

पुनः प्राप्त करें। पीएचपी:

उपयोगकर्ता/ग्राहक इस PHP को GET विधि का उपयोग करके कॉल करते हैं। सर्वर उपयोगकर्ता और सभी मॉड्यूल के बीच की दूरी की गणना करता है। फिर निकटतम मॉड्यूल का डेटा क्लाइंट द्वारा पसंद किए गए JSON/XML प्रारूप में क्लाइंट को प्रतिक्रिया के रूप में भेजा जाता है।

अद्यतन.php:

इस PHP फ़ाइल को मॉड्यूल द्वारा हर दिन एक विशिष्ट समय पर यह जांचने के लिए बुलाया जाता है कि मॉड्यूल फर्मवेयर का नवीनतम संस्करण चला रहा है या नहीं। बस नवीनतम ".bin" फ़ाइल को फ़ाइल सर्वर में रखें और फ़ाइल के वेरिएबल में फ़ाइल की निर्देशिका निर्दिष्ट करें।

यदि ये कई फ़ाइलें पहली बार में कठिन लगती हैं, तो मैंने उपयोगकर्ता दस्तावेज़ीकरण को अगले चरण में शामिल कर लिया है।

चरण 4: उपयोगकर्ता दस्तावेज़ीकरण

उपयोगकर्ता दस्तावेज़ीकरण
उपयोगकर्ता दस्तावेज़ीकरण
उपयोगकर्ता दस्तावेज़ीकरण
उपयोगकर्ता दस्तावेज़ीकरण

परिचय:

मौसम एपीआई पृथ्वी की सतह पर स्थानों के लिए मौसम डेटा का अनुरोध करने के लिए एक सरल इंटरफ़ेस प्रदान करता है। आप निर्दिष्ट आउटपुट स्वरूप के साथ एक विशिष्ट अक्षांश/देशांतर युग्म के लिए मौसम की जानकारी का अनुरोध करते हैं। एपीआई तापमान, आर्द्रता, दबाव और वायु गुणवत्ता सूचकांक देता है जिसे अंतिम बार अनुरोधित स्थान से निकटतम मॉड्यूल द्वारा दर्ज किया गया था।

शुरू करने से पहले:

यह दस्तावेज़ वेबसाइट और मोबाइल डेवलपर्स के लिए अभिप्रेत है जो विकसित किए जा रहे एप्लिकेशन पर मौसम की जानकारी शामिल करना चाहते हैं। यह उपलब्ध मापदंडों पर एपीआई और संदर्भ सामग्री का उपयोग करके उपयोग का परिचय देता है।

मौसम डेटा अनुरोध:

Weather API अनुरोध URL स्ट्रिंग के रूप में बनाए गए हैं। एपीआई अक्षांश/देशांतर जोड़ी द्वारा निर्दिष्ट पृथ्वी पर एक बिंदु के लिए मौसम डेटा देता है। ध्यान दें कि मौसम डेटा सटीकता किसी क्षेत्र में रखे गए मॉड्यूल के घनत्व के सीधे आनुपातिक है।

एक मौसम एपीआई अनुरोध निम्नलिखित रूप लेता है:

example.com/retrieve.php?lat=25.96446&lon=53.9443&format=json

जहां आउटपुट स्वरूप (प्रारूप) निम्न में से कोई भी मान हो सकता है:

  • JSON (अनुशंसित), जावास्क्रिप्ट ऑब्जेक्ट नोटेशन (JSON) में आउटपुट इंगित करता है; या
  • एक्सएमएल, नोड के भीतर लिपटे एक्सएमएल में आउटपुट को इंगित करता है।

अनुरोध पैरामीटर:

जैसा कि सभी URL में मानक है, पैरामीटर एम्परसेंड (&) वर्ण का उपयोग करके अलग किए जाते हैं। मापदंडों की सूची और उनके संभावित मूल्यों को नीचे दर्शाया गया है।

आवश्यक पैरामीटर:

  • lat: देखने के लिए किसी स्थान के अक्षांश का प्रतिनिधित्व करना। (उदा. अक्षांश=19.56875)
  • lon: देखने के लिए किसी स्थान के देशांतर का प्रतिनिधित्व करना। (जैसे लोन = 72.97568)

वैकल्पिक पैरामीटर:

प्रारूप: मौसम डेटा के प्रतिक्रिया आउटपुट स्वरूप को निर्दिष्ट करता है। यह या तो JSON या XML हो सकता है। डिफ़ॉल्ट JSON है। (जैसे प्रारूप = जेसन या प्रारूप = एक्सएमएल)

मौसम प्रतिक्रियाएं:

प्रत्येक वैध अनुरोध के लिए, समय क्षेत्र सेवा अनुरोध URL में दर्शाए गए प्रारूप में एक प्रतिक्रिया लौटाएगी। प्रत्येक प्रतिक्रिया में निम्नलिखित तत्व होंगे:

  • सफलता: प्रतिक्रिया की स्थिति को दर्शाने वाला मान।

    • 0: नकारात्मक; इंगित करता है कि अनुरोध विकृत था।
    • 1: सकारात्मक; इंगित करता है कि अनुरोध सफल रहा।
  • संदेश: अनुरोध की खराबी के कारण को इंगित करने वाली एक स्ट्रिंग। केवल तभी उपलब्ध होता है जब स्थिति नकारात्मक हो।
  • डेटा: कई मौसम मापदंडों के साथ एक सरणी।

    • अस्थायी: तापमान डेटा।
    • हम: आर्द्रता उपस्थिति डेटा।
    • अध्यक्ष: पूर्ण दबाव डेटा।
    • आकी: वर्तमान वायु गुणवत्ता सूचकांक।

छवियों में दोनों स्वरूपों की उदाहरण प्रतिक्रिया देखी जा सकती है।

चरण 5: मॉड्यूल सेटअप

मॉड्यूल सेटअप
मॉड्यूल सेटअप
मॉड्यूल सेटअप
मॉड्यूल सेटअप

एक एक्सेस-पॉइंट बनाया जाता है और पहले बूट पर डिवाइस मैनेजर/यूजर से क्रेडेंशियल प्राप्त करने के लिए एक आईपी एड्रेस (डिफ़ॉल्ट: 192.168.4.1) पर एक वेबपेज होस्ट किया जाता है या यदि मॉड्यूल को पहले से ही स्टोर किए गए क्रेडेंशियल्स नहीं मिलते हैं ईईपीरोम।

उपयोगकर्ता को SSID और पासवर्ड दर्ज करना होगा जिससे उपयोगकर्ता मॉड्यूल को कनेक्ट करना चाहता है। यदि आप ब्राउज़र को स्थान तक पहुँचने की अनुमति देते हैं तो अक्षांश और देशांतर अपने आप भर जाता है।

एक बार सभी विवरण दर्ज करने के बाद, "भेजें" बटन पर क्लिक करें, और फिर सभी क्रेडेंशियल मॉड्यूल के EEPROM में लिखे गए हैं।

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

चरण 6: अब क्लाउड में डेटा का योगदान करने का समय है।

अब क्लाउड में डेटा का योगदान करने का समय है।
अब क्लाउड में डेटा का योगदान करने का समय है।
अब क्लाउड में डेटा का योगदान करने का समय है।
अब क्लाउड में डेटा का योगदान करने का समय है।

पिछले सभी चरणों के पूरा होने के बाद, अब मॉड्यूल को सर्वर पर डेटा अपलोड करने देने का समय आ गया है। एक बार जब आप क्रेडेंशियल सहेज लेते हैं तो यह स्वचालित रूप से अपलोड होना शुरू हो जाता है।

यह "insert.php" को GET विधि में भेजने के लिए सभी मापदंडों को पारित करने के साथ एक API कॉल के रूप में कॉल करता है।

नीचे दिया गया कोड स्निपेट दिखाता है कि पैरामीटर कैसे संसाधित होते हैं।

अगर (isset($_GET['temp']) && isset($_GET['hum']) && isset($_GET['pres']) && isset($_GET['aqi']) && isset($_GET ['मैक']) && isset($_GET['lat']) && isset($_GET['lon'])) 2. {3.//मुख्य कार्यक्रम 4. }

ऐसे ही सभी मॉड्यूल डेटा अपलोड करना शुरू कर देते हैं।

नोट: अगर आपको लगता है कि सर्वर ओवरलोड हो रहा है, तो कोड में अपलोड फ़्रीक्वेंसी कम करें।

चरण 7: ओवर द एयर (OTA) अपडेट

ओवर द एयर (OTA) अपडेट
ओवर द एयर (OTA) अपडेट

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

नए अपडेट की जांच करने के लिए, मॉड्यूल अपने अनुरोध शीर्षलेख में मैक पता भेजकर "update.php" को कॉल करता है। सर्वर तब जांचता है कि क्या उस विशिष्ट मैक पते में कोई नया अपडेट है, यदि हां, तो यह प्रतिक्रिया में नवीनतम फर्मवेयर की बाइनरी फाइल भेजता है।

यह मॉड्यूल के मूल प्रमाणीकरण के लिए आवश्यक सभी आवश्यक शीर्षलेखों की भी जांच करता है।

चरण 8: उपयोगकर्ता / ग्राहक डेटा तक कैसे पहुँच सकते हैं…

उपयोगकर्ता/ग्राहक डेटा तक कैसे पहुँच सकते हैं…
उपयोगकर्ता/ग्राहक डेटा तक कैसे पहुँच सकते हैं…
उपयोगकर्ता/ग्राहक डेटा तक कैसे पहुँच सकते हैं…
उपयोगकर्ता/ग्राहक डेटा तक कैसे पहुँच सकते हैं…
उपयोगकर्ता/ग्राहक डेटा तक कैसे पहुँच सकते हैं…
उपयोगकर्ता/ग्राहक डेटा तक कैसे पहुँच सकते हैं…

सर्वर से डेटा तक पहुंचना बहुत आसान है। बस "retrieve.php" को कॉल करके, हम JSON प्रारूप में प्रतिक्रिया में मौसम डेटा प्राप्त करेंगे। उसके बाद, यह व्यक्तिगत तत्वों तक पहुँचने के लिए JSON डेटा को पार्स करने की बात है। एक्सएमएल प्रतिक्रिया के साथ भी ऐसा ही है। उपयोगकर्ता हमेशा प्रतिक्रिया का पसंदीदा प्रारूप निर्दिष्ट कर सकता है जिसमें उपयोगकर्ता काम करने में सहज हो। यदि उपयोगकर्ता प्रारूप निर्दिष्ट नहीं करता है, तो डिफ़ॉल्ट प्रारूप JSON है।

एपीआई के कामकाज की जांच के लिए पोस्टमैन टूल का उपयोग करके एक नमूना अनुरोध किया जाता है।

जावास्क्रिप्ट में JSON प्रतिक्रिया को पार्स करने का एक उदाहरण नीचे दिए गए कोड स्निपेट में दिखाया गया है।

var url = "https://example.com/retrieve.php?lat=19.044848&lon=72.84464373";फ़ंक्शन httpGet(theUrl) { var xmlHttp = new XMLHttpRequest(); xmlHttp.open("GET", theUrl, false); // तुल्यकालिक अनुरोध के लिए गलत xmlHttp.send(null); वापसी xmlHttp.responseText; } var myVar = httpGet(url); वर obj = JSON.parse (myVar); document.getElementById("aqi").innerHTML = obj.data[0].aqi; document.getElementById("temperature").innerHTML = Math.round(obj.data[0].temp) + "°C"; document.getElementById("temp").innerHTML = Math.round(obj.data[0].temp) + "°C"; document.getElementById("humidity").innerHTML = Math.round(obj.data[0].hum) + "%"; document.getElementById("दबाव")। innerHTML = Math.round(obj.data[0].pres) + "mb";

JSON प्रतिक्रिया को पार्स करने वाले उदाहरण HTML पृष्ठ का स्रोत कोड इस चरण के अंत में उपलब्ध है।

नोट: फ़ाइल के एक्सटेंशन को ".html" में बदलें।

चरण 9: इस परियोजना की सीमाएं

  • प्रोजेक्ट डेटा भेजने के लिए GET का उपयोग करता है; भले ही यह संवेदनशील डेटा के साथ काम नहीं कर रहा हो, डेटा में आसानी से हेरफेर किया जा सकता है क्योंकि इसमें हेडर की जांच के अलावा स्रोत की प्रामाणिकता की जांच करने के लिए कोई तंत्र नहीं है, जिसे आसानी से संशोधित किया जा सकता है और यहां तक कि एक सामान्य डिवाइस को भी धोखा दिया जा सकता है। एक मौसम मॉड्यूल की तरह प्रतीत होने के लिए।
  • चूंकि मॉड्यूल पूरी तरह से डेटा भेजने के लिए अन्य एक्सेस-पॉइंट (WIFI) पर निर्भर करता है और निर्भर करता है, जो कि ज्यादातर मामलों में अन्य संगठनों का होगा। यदि किसी कारण से एक्सेस-पॉइंट सेवा पर बंद है, तो मॉड्यूल डेटा भेजने में सक्षम नहीं होगा।
  • भले ही परियोजना मौजूदा प्रणाली की सटीकता को बढ़ाने के लिए बनाई गई है, बाजार में उपलब्ध सेंसर अपेक्षा से कम सटीक है जिसके परिणामस्वरूप इसका मुख्य उद्देश्य विफल हो जाता है।
  • परियोजना की योजना बनाते समय, मैंने एक मोड शामिल करने की योजना बनाई जिसमें सर्वर त्रुटि सुधार के लिए स्थान के आधार पर डेटा मान का औसत करता है। लेकिन इस सुविधा को लागू करने पर, मैंने महसूस किया कि निर्देशांक को भौगोलिक क्षेत्रों में अनुवाद करने के लिए इसे कुछ तृतीय-पक्ष API की आवश्यकता है।

चरण 10: इस परियोजना में और सुधार किए जा सकते हैं।

  • बाजार में उपलब्ध जेनेरिक मॉड्यूल का उपयोग करने के बजाय विशिष्ट उद्देश्य के लिए सेंसर को विशेष रूप से सिलाई करके मॉड्यूल की सटीकता में और सुधार किया जा सकता है।
  • मॉड्यूल को एक विशेष चिप का उपयोग करके और भी अधिक स्वतंत्र रूप से काम करने के लिए संशोधित किया जा सकता है जो डेटा भेजने के लिए सेल-टॉवर के साथ वायरलेस रूप से संचार करता है जिससे गलती सहनशीलता में सुधार होता है।
  • सौर पैनल और बैटरी प्रणाली का उपयोग ईएसपी के डीप-स्लीप मोड के संयोजन में किया जा सकता है, जिससे बिजली दक्षता में सुधार होता है और यह बाहरी बिजली आपूर्ति से अधिक स्वतंत्र होता है।
  • POST का उपयोग कुछ प्रमाणीकरण तंत्र के साथ डेटा भेजने के लिए किया जा सकता है जैसे डेटा के हर प्रसारण के लिए चक्रीय कोड का उपयोग करना।
  • NodeMCU के बजाय, जो एक प्रोटोटाइप बोर्ड है, हम बड़े पैमाने पर उत्पादन में एक कस्टम माइक्रोकंट्रोलर का उपयोग कर सकते हैं जो न केवल लागत को कम करता है बल्कि सिस्टम संसाधनों का सर्वोत्तम उपयोग भी करता है।
  • Google जियोलोकेशन एपीआई के संयोजन के साथ और किसी भी उपलब्ध खुले वाईफ़ाई से कनेक्ट होने पर, मॉड्यूल इसे कॉन्फ़िगर किए बिना भी काम कर सकता है; बिना किसी सेटअप की आवश्यकता के फ़ैक्टरी से डेटा संचारित करने के लिए तैयार है।

चरण 11: दर्शकों के लिए कुछ शब्द।

दर्शकों के लिए कुछ शब्द।
दर्शकों के लिए कुछ शब्द।

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

अगर आप लोगों को इस परियोजना या इससे मिलती-जुलती किसी भी चीज़ को बनाने में किसी मदद की ज़रूरत है, तो बस [email protected] पर मुझसे संपर्क करें या आप हमेशा की तरह एक टिप्पणी छोड़ सकते हैं। मैं अपनी पूरी क्षमता से आप लोगों की मदद करने की कोशिश करूंगा।

शुक्रिया!!

सिफारिश की: