विषयसूची:

ESP-01 के साथ MQTT/गूगल होम फ्लड/जल वाईफ़ाई सेंसर: 7 कदम
ESP-01 के साथ MQTT/गूगल होम फ्लड/जल वाईफ़ाई सेंसर: 7 कदम

वीडियो: ESP-01 के साथ MQTT/गूगल होम फ्लड/जल वाईफ़ाई सेंसर: 7 कदम

वीडियो: ESP-01 के साथ MQTT/गूगल होम फ्लड/जल वाईफ़ाई सेंसर: 7 कदम
वीडियो: Arduino project 😎^ Arduino #arduino #2022 #2021 #2023 #dc #arduinoproject #diy #foryou 2024, जुलाई
Anonim
ESP-01. के साथ MQTT/गूगल होम फ्लड/जल वाईफ़ाई सेंसर
ESP-01. के साथ MQTT/गूगल होम फ्लड/जल वाईफ़ाई सेंसर

इस निर्देश में, मैं आपको दिखाऊंगा कि न्यूनतम लागत के साथ वाईफाई फ्लड / वाटर सेंसर कैसे बनाया जाता है। पूरे प्रोजेक्ट की लागत मुझे eBay और मेरे मौजूदा स्पेयर-पार्ट्स से प्राप्त भागों के लिए $ 8 से कम है।

इस परियोजना में, हम पानी की उपस्थिति का पता लगाने के लिए वाईफाई और एमक्यूटीटी क्लाइंट प्रदान करने के लिए ईएसपी-01 का उपयोग करेंगे, और वैकल्पिक रूप से स्थानीयकृत अलार्म प्रदान करने के लिए सीधे कनेक्टेड स्पीकर/बजर का उपयोग करेंगे।

परियोजना के लिए मेरा विशिष्ट आवेदन नाबदान पंप की विफलता के मामले में, मेरे नाबदान पंप कुएं के अंदर बाढ़/पानी का पता लगाना है। जब 2 खुले तारों से पानी का पता चलता है, तो यह एमक्यूटीटी ब्रोकर को संदेश भेजेगा। MQTT ब्रोकर तब संदेश को NodeRED को रिले करेगा। MQTT संदेश प्राप्त करने पर, NodeRED कई Google घरेलू उपकरणों पर घोषणा भेजेगा और वैकल्पिक रूप से पुशबुलेट के माध्यम से सेलफोन / ब्राउज़र पर संदेश भेजेगा।

अब निश्चित रूप से यह परियोजना तभी काम करेगी जब घरेलू बिजली चालू हो। अगले निर्देश में मैं बैटरी बैकअप सर्किट को एकीकृत करूंगा। लेकिन अगर आप बिजली की आपूर्ति उसी तरह करते हैं जैसे मैंने की, तो आप बैटरी बैकअप के लिए यूएसबी पावर-बैंक में प्लग इन कर सकते हैं। यदि आपके पास एक पावर-बैंक है जो आपको एक ही समय में बिजली चार्ज करने और आपूर्ति करने देता है, तो आप पूरी तरह तैयार हैं।

मैं मच्छर MQTT सर्वर और NodeRED को होस्ट करने के लिए RaspberryPi ZeroW का उपयोग करता हूं। यह बिना किसी समस्या के एक साल से अधिक समय से चल रहा है।

संदर्भ: रास्पबेरी पाई: https://www.switchdoc.com/2016/02/tutorial-installi… रास्पबेरी पाई पर NodeRED स्थापित करें:

चरण 1: वे भाग जिनकी आपको आवश्यकता होगी

भाग जिनकी आपको आवश्यकता होगी
भाग जिनकी आपको आवश्यकता होगी
भाग जिनकी आपको आवश्यकता होगी
भाग जिनकी आपको आवश्यकता होगी
भाग जिनकी आपको आवश्यकता होगी
भाग जिनकी आपको आवश्यकता होगी

हिस्सों की सूची:

(१) ईएसपी-०१

(२) १० के ओम रेसिस्टर

(1) छोटा सिग्नल जेनेरिक एनपीएन ट्रांजिस्टर (मैंने 2N3904 का इस्तेमाल किया)

(२) लंबे तार

(१) ५वी जेनेरिक बिजली की आपूर्ति (इस सर्किट को ३००mA से कम करंट की आवश्यकता होती है)

(1) 3.3V नियामक मॉड्यूल AMS1117

(1) माइक्रो-यूएसबी टू डीआईपी एडेप्टर महिला कनेक्टर पीसीबी कन्वर्टर DIY किट

(1) यूएसबी-ए से माइक्रोयूएसबी केबल।

(१) 8-पिन आईसी सॉकेट - छोड़ा जा सकता है यदि आप ईएसपी -०१ को सीधे सर्किट बोर्ड में मिलाप करना चाहते हैं। प्लास्टिक के पुलों को काटें जो पंक्तियों के बीच का अंतर पैदा करते हैं, और फिर 2 पंक्तियों को एक साथ गोंद दें, फोटो देखें।

(१) परियोजना के लिए छोटा संलग्नक

यदि आपको स्पीकर/बजर का उपयोग करके स्थानीयकृत अलार्म की आवश्यकता है तो नीचे वैकल्पिक भाग दिए गए हैं

(1) जेनेरिक पीएनपी ट्रांजिस्टर, स्पीकर / बजर करंट / वाट क्षमता की आवश्यकता के अनुसार चुनें। मेरे मामले में मैं 2N2907 का उपयोग करता हूं क्योंकि मेरा स्पीकर केवल 0.3W (8 ओम) है, यह स्पीकर को चलाने के लिए पर्याप्त शक्ति प्रदान करेगा। यदि आप तेज ध्वनि चाहते हैं तो आप एक बड़ा ट्रांजिस्टर और स्पीकर चुन सकते हैं।

(१) अध्यक्ष, ऊपर पीएनपी ट्रांजिस्टर पर नोट देखें

(१) १०० - ११० ओम रेसिस्टर

चरण 2: सर्किट आरेख

सर्किट आरेख
सर्किट आरेख

आरेख में दिखाए गए सर्किट को बनाने के लिए पहला कदम होगा।

मैंने AMS1117 3.3VDC नियामक के साथ मिलकर एक पुराने 5V सेलफोन चार्जर का उपयोग करके 3.3VDC बिजली की आपूर्ति का निर्माण किया। ESP-01 सॉकेट के लिए, मैं 8-पिन मानक IC सॉकेट का उपयोग करता हूं, और प्लास्टिक के पुलों को काटता हूं जो पंक्तियों के बीच का अंतर बनाते हैं, और फिर 2 पंक्तियों को एक साथ गोंद करते हैं।

मैंने जो सर्किट डिजाइन किया है वह दो तारों के बीच पानी की उपस्थिति को महसूस करने के लिए है। जब पानी दोनों तारों के सिरे तक पहुंचता है, तो यह लगभग 10K से 20K ओम का प्रतिरोध पैदा करेगा। फिर 10K ओम R1 के साथ श्रृंखला में, यह Q1 के आधार को एक छोटा करंट प्रदान करता है, जिससे Q1 संतृप्त हो जाता है, GPIO-2 को जमीन पर दबा देता है। सेंसिंग तारों में आकस्मिक कमी होने की स्थिति में Q1 को सुरक्षा प्रदान करने के लिए R1 आवश्यक है।

R2 एक पुल-अप रोकनेवाला है जो ESP-01 को फ्लैश से बूट करने की अनुमति देता है।

अब वैकल्पिक स्पीकर/बजर के लिए, यदि आपको MQTT बोलने के लिए केवल ESP-01 की आवश्यकता है और आप इस स्थानीय अलार्म को लागू नहीं करना चाहते हैं, तो आप R2, Q2, स्पीकर को हटा सकते हैं और GPIO-0 के बीच 10K पुल-अप रोकनेवाला लगा सकते हैं। और वी.सी.सी.

यदि आपको महिला माइक्रो-यूएसबी से डीआईपी एडाप्टर का उपयोग करने की आवश्यकता महसूस नहीं होती है, तो आप 5V PS से 3.3V नियामक मॉड्यूल के बीच तारों को मिलाप कर सकते हैं। मैं महिला माइक्रोयूएसबी एडेप्टर का उपयोग करना पसंद करता हूं ताकि मैं किसी भी सामान्य सेलफोन चार्जर और माइक्रोयूएसबी केबल का उपयोग कर सकूं।

चरण 3: सर्किट का निर्माण

सर्किट का निर्माण
सर्किट का निर्माण
सर्किट का निर्माण
सर्किट का निर्माण
सर्किट का निर्माण
सर्किट का निर्माण

पिछले पृष्ठ में सर्किट आरेख के अनुसार सभी घटकों और भागों को पीसीबी में मिलाएं, और पीसीबी को आकार में काटें।

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

चरण 4: ESP-01 चमकाना

इस चरण में, हम ESP-01 को arduino स्केच के साथ फ्लैश करेंगे। यदि आपने ESP-01 मॉड्यूल को कभी फ्लैश नहीं किया है, तो आप आरंभ करने के लिए मेरे निर्देश का अनुसरण कर सकते हैं:

आप मेरा स्केच मेरे जीथब पेज में पा सकते हैं:

स्केच में, कम से कम आपको अपने होम नेटवर्क/सेटअप से संबंधित निम्नलिखित जानकारी को बदलने की आवश्यकता है:

#define MQTT_SERVER "10.0.0.30" const char* ssid1 = "SSID";const char* password1 = "MYSSIDpassword";const char* ssid2 = "SSID1";const char* password2 = "MYSSIDpassword";

मेरे होम नेटवर्क में, मेरे पास 2 अलग-अलग एक्सेस पॉइंट हैं जो 2 अलग-अलग SSID को प्रसारित करते हैं, और यह स्केच अगले SSID से कनेक्ट करके अतिरेक की अनुमति देगा यदि वर्तमान AP से संचार खो जाता है। यदि आपके पास केवल एक SSID है, तो ssid1 और ssid2 दोनों को समान मान से भर दें।

एक बार जब आप संशोधन कर लेते हैं, तो स्केच को ESP-01 में अपलोड करें, और ESP-01 को इंटरफ़ेस बोर्ड में प्लग करें।

चरण 5: टेस्ट रन

यह जांचने के लिए कि क्या हमारी परियोजना काम करती है, नेटवर्क में एमक्यूटीटी संदेशों की निगरानी करना सबसे आसान होगा। ऐसा करने के लिए, आपको मच्छर दलाल के लिए एक SSH सत्र खोलने और निम्नलिखित आदेश जारी करने की आवश्यकता है:

mosquitto_sub -v -t '#'

उपरोक्त आदेश हमें ब्रोकर में आने वाले सभी MQTT संदेशों को देखने की अनुमति देगा।

अब हमारे सर्किट को पावर दें, और अगर सब कुछ काम करता है, तो कुछ सेकंड में आपको कम से कम निम्नलिखित MQTT संदेश देखना चाहिए:

स्टेट/SumpWaterSensor/LWT ऑनलाइन

अब 2 सेंसिंग तारों को एक कप पानी में डुबो कर पानी के सेंसर का परीक्षण करें, और आपको यह संदेश देखना चाहिए:

टेली/संपवाटर सेंसर गीला

और यदि आप तारों को पानी से बाहर निकालते हैं, तो आपको यह संदेश देखना चाहिए:

टेली/संपवाटर सेंसर DRY

यदि आप उन संदेशों को देखते हैं, तो आपका प्रोजेक्ट सफल है।

मैंने स्केच में कई उपयोगी MQTT विषयों को भी शामिल किया है जिनका आप उपयोग कर सकते हैं:

"stat/SumpWaterSensorInfo": यह संदेश हर मिनट अपटाइम और अन्य जानकारी प्रदान करने के लिए भेजा जाता है।

"cmnd/SumpWaterSensorInfo": ESP-01 इस विषय को '1' (ascii=49) के मान के साथ प्राप्त होने पर जानकारी भेजेगा।

"cmnd/SumpWaterSensorCPUrestart": ESP-01 फिर से चालू हो जाएगा यदि यह इस विषय को '1' के मान के साथ प्राप्त करता है (ascii=49)

"cmnd/SumpWaterSensorBeep": ESP-01 स्पीकर को ध्वनि देगा यदि वह इस विषय को '1' के मान के साथ प्राप्त करता है (ascii=49)

"cmnd/SumpWaterSensorBeepFreq": स्पीकर अलार्म की आवृत्ति सेट करता है, डिफ़ॉल्ट = 900 (Hz)

"cmnd/SumpWaterSensorDebug": सीरियल डिबगिंग स्तर को सक्षम और सेट करें (डिफ़ॉल्ट 0 है - कोई डिबगिंग नहीं)

चरण 6: सेंसर माउंट करें

सेंसर माउंट करें
सेंसर माउंट करें
सेंसर माउंट करें
सेंसर माउंट करें

मेरे आवेदन में, मैं अपने नाबदान पंप के अंदर पानी के स्तर की अच्छी तरह से निगरानी करना चाहता हूं, और अगर पानी नाबदान पंप फ्लोट स्विच से ऊपर पहुंचता है, तो मुझे सूचित करने के लिए, जिसका अर्थ है कि मेरा नाबदान पंप काम नहीं कर रहा है। मैंने तारों को चलाया और इसे नाली के पाइप के साथ सुरक्षित करने के लिए तार संबंधों का उपयोग किया।

चरण 7: अंतिम स्पर्श

अंतिम परिष्करण
अंतिम परिष्करण

अब जब हमारे पास प्रोजेक्ट काम कर रहा है और ब्रोकर को एमक्यूटीटी संदेश प्रकाशित करने में सक्षम है, तो अगला कदम यह सोचना है कि उसके साथ क्या करना है।

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

मैंने सेंसर की स्थिति (ऑन/ऑफ़लाइन, अपटाइम, आदि) देखने के लिए एक वेब फ्रंट-एंड भी बनाया है। कभी-कभी मैंने देखा कि यह आंकड़ों से 1 सप्ताह के दौरान कुछ बार ऑफ़लाइन हो जाता है, कई बार यह ESP-01 के वाईफाई या MQTT से डिस्कनेक्ट होने के कारण होता है। लेकिन बहुत चिंता की बात नहीं है, मेरे स्केच में ESP-01 को फिर से शुरू करने के लिए रूटीन शामिल है यदि यह वाईफ़ाई और / या MQTT ब्रोकर से कनेक्ट करने का प्रयास करने में विफल रहता है।

इस चरण की छवि, इसे पूरा करने के लिए नोड-लाल प्रवाह दिखाती है। आप मेरे जीथब पेज से प्रवाह को अपने नोड-रेड में भी पेस्ट कर सकते हैं:

Google होम घोषणा इस परियोजना के लिए सिर्फ एक उदाहरण है, लेकिन मुझे लगता है कि यह सबसे उपयोगी और व्यावहारिक है। आप हमेशा अन्य MQTT श्रोता के साथ इंटरफेस कर सकते हैं, या यहां तक कि पानी का पता चलने पर अन्य उपकरणों को चलाने के लिए IFTTT का उपयोग कर सकते हैं।

मज़े करो…

सिफारिश की: