विषयसूची:

होम ऑटोमेशन इंटीग्रेशन, वाईफाई और ईएसपी-नाउ के साथ बैटरी पावर्ड डोर सेंसर: 5 स्टेप्स (चित्रों के साथ)
होम ऑटोमेशन इंटीग्रेशन, वाईफाई और ईएसपी-नाउ के साथ बैटरी पावर्ड डोर सेंसर: 5 स्टेप्स (चित्रों के साथ)

वीडियो: होम ऑटोमेशन इंटीग्रेशन, वाईफाई और ईएसपी-नाउ के साथ बैटरी पावर्ड डोर सेंसर: 5 स्टेप्स (चित्रों के साथ)

वीडियो: होम ऑटोमेशन इंटीग्रेशन, वाईफाई और ईएसपी-नाउ के साथ बैटरी पावर्ड डोर सेंसर: 5 स्टेप्स (चित्रों के साथ)
वीडियो: ESP8266 as Window Sensor with years of battery life 2024, नवंबर
Anonim
Image
Image

इस निर्देशयोग्य में मैं आपको दिखाता हूं कि कैसे मैंने होम ऑटोमेशन इंटीग्रेशन के साथ बैटरी से चलने वाला डोर सेंसर बनाया। मैंने कुछ अन्य अच्छे सेंसर और अलार्म सिस्टम देखे हैं, लेकिन मैं खुद एक बनाना चाहता था।

मेरा लक्ष्य:

  • एक सेंसर जो तेजी से खुलने वाले दरवाजे का पता लगाता है और रिपोर्ट करता है (<5 सेकंड)
  • एक सेंसर जो दरवाजे के बंद होने का पता लगाता है
  • एक सेंसर जो बैटरी से संचालित होता है और बैटरी पर कुछ महीनों तक चलता है

हार्डवेयर और सॉफ्टवेयर से प्रेरित है

  • केविन दाराह (TPL5111 और TPS73733) का ट्रिगबोर्ड।
  • यह विडियो

मैंने अपने सामने के दरवाजे और अपने पिछले दरवाजे के लिए एक सेंसर बनाया। एकमात्र अंतर एलईडी स्थिति और बाहरी पावर स्विच (पिछले दरवाजे सेंसर पर) है।

मैंने हार्डवेयर और सॉफ्टवेयर के विकास के दौरान कई सुधार किए, यह तस्वीरों में देखा जा सकता है।

आपूर्ति

मैंने Aliexpress से इलेक्ट्रॉनिक घटक खरीदे, मुख्य भाग:

  • लीपो बैटरी
  • टीपीएस७३७३३ एलडीओ
  • टीपीएल५१११
  • रीड स्विच
  • पी-चैनल मस्जिद: IRLML6401TRPBF
  • चुंबक
  • एसएमडी घटकों और अन्य के लिए पीसीबी एडाप्टर प्लेट।

चरण 1: हार्डवेयर - सर्किट

हार्डवेयर - सर्किट
हार्डवेयर - सर्किट
हार्डवेयर - सर्किट
हार्डवेयर - सर्किट
हार्डवेयर - सर्किट
हार्डवेयर - सर्किट

सर्किट के लिए संलग्न योजनाओं को देखें। मैंने एक एडेप्टर पीसीबी प्लेट पर एसएमडी भागों को मिलाया और सभी घटकों को एक दो तरफा पूर्ण बोर्ड में मिलाया। मैंने ESP-01 को महिला हेडर के माध्यम से जोड़ा, इसलिए मैं इसे इस निर्देश के चरण 3 में दिखाए गए एडेप्टर के माध्यम से प्रोग्राम करने के लिए हटा सकता था।

सर्किट निम्नानुसार काम करता है:

  • जब दरवाजा खोला जाता है, तो TPL5111 DELAY/M_DRV पिन पर एक शॉट प्राप्त करता है और TPS73733 LDO को सक्षम करता है जो ESP-01 को शक्ति प्रदान करता है। इस ऑपरेशन के लिए, EN/ONE_SHOT को कम खींचा जाना चाहिए, TPL5111 की डेटाशीट देखें।
  • प्रोग्राम चलने के बाद (स्टेप सॉफ्टवेयर देखें), ESP-01 TPL5111 को एक पूर्ण सिग्नल भेजता है जो तब TPS73733 को निष्क्रिय कर देता है जिसके परिणामस्वरूप TPL5111 और TPS73733 के लिए बहुत कम पावर स्थिति होती है।

मैं NO और NC दोनों कनेक्शनों के साथ रीड स्विच का उपयोग करता हूं। मैंने एनसी लीड को कनेक्ट किया, क्योंकि रीड स्विच को चुंबक को हटा दिए जाने पर सर्किट को बंद करना चाहिए (दरवाजा खुला) और चुंबक निकट होने पर खुला (दरवाजा बंद)।

पिछले दरवाजे के सेंसर के लिए जब मैंने कुछ अस्थिरताओं का पता लगाया, तो मैंने कुछ कंडेनसेटर और रेसिस्टर्स जोड़े, हालाँकि अस्थिरता सॉफ्टवेयर (esp_now_init) के कारण हुई, जैसा कि मैंने बाद में खोजा।

चरण 2: हार्डवेयर - संलग्नक

हार्डवेयर - संलग्नक
हार्डवेयर - संलग्नक
हार्डवेयर - संलग्नक
हार्डवेयर - संलग्नक
हार्डवेयर - संलग्नक
हार्डवेयर - संलग्नक

मैंने Autodesk Fusion360 में एनक्लोजर डिज़ाइन किया है, जो 'द मैन विद द स्विस एक्सेंट' के इस वीडियो से प्रेरित है।

तीन भागों की एसटीएल फाइलें:

  • डिब्बा
  • ढक्कन
  • चुंबक धारक

मेरे थिंगविवर्स पेज पर प्रकाशित हैं।

चरण 3: सॉफ्टवेयर

सॉफ्टवेयर
सॉफ्टवेयर

कार्यक्रम मेरे जीथब में है।

कार्यक्रम का प्रवाह चित्र में दिखाया गया है। मैं ईएसपी-नाउ का उपयोग कैसे करता हूं, इसकी व्याख्या के लिए मेरा अन्य निर्देश देखें।

जब मॉड्यूल चालू होता है, तो यह सबसे पहले ईएसपी-नाउ के माध्यम से 'ओपन' संदेश भेजने का प्रयास करता है। यदि यह सफल नहीं होता है, तो यह वाईफाई और एमक्यूटीटी कनेक्शन में बदल जाता है।

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

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

प्रोग्राम यह जांचता है कि क्या बंद संदेश प्राप्तकर्ता को सही विषय पर MQTT संदेश सुनने के माध्यम से प्राप्त होता है।

चरण 4: होम ऑटोमेशन और टेलीग्राम

होम ऑटोमेशन और टेलीग्राम
होम ऑटोमेशन और टेलीग्राम
होम ऑटोमेशन और टेलीग्राम
होम ऑटोमेशन और टेलीग्राम
होम ऑटोमेशन और टेलीग्राम
होम ऑटोमेशन और टेलीग्राम

मेरा दरवाजा सेंसर मेरे रास्पबेरी पाई ज़ीरो पर मेरे ओपनहैब होम ऑटोमेशन के साथ संचार करता है।

मुख्य अनुप्रयोग:

  • दरवाजे की स्थिति पढ़ें: खुला या बंद।
  • यदि कोई दरवाज़ा खोला जाता है तो टेलीग्राम के माध्यम से मुझे अलार्म दें (यदि अलार्म चालू है या मॉनिटर फ़ंक्शन चालू है)।
  • पिछली बार पढ़ें जब कोई दरवाजा खोला या बंद किया गया था।
  • बैटरी खत्म होने से पहले एक दरवाजा सेंसर खोलने की संख्या की गणना करें।

उदाहरण के लिए, यदि हम छुट्टी पर हैं और पड़ोसी पौधों को पानी देने के लिए आता है, तो मुझे एक संदेश मिलता है। इंट्रो में देखें वीडियो।

मेरे Openhab आइटम, नियम और साइटमैप फ़ाइलें मेरे Github में हैं। इन फाइलों में आप शेड का मेरा दरवाजा सेंसर भी देख सकते हैं, जो एक नियमित वायर्ड रीड स्विच का उपयोग करता है और लॉक खोलने में एक 3D प्रिंटर से एक छोटा संपर्क (अंत) स्विच करता है (चित्र देखें)।

ओपनहैब में टेलीग्राम क्रिया का उपयोग कैसे करें, इसका वर्णन यहां किया गया है।

चरण 5: सुधार और आगे सुधार

सुधार और आगे सुधार
सुधार और आगे सुधार
सुधार और आगे सुधार
सुधार और आगे सुधार

पिछले महीनों में मैंने निम्नलिखित सुधार किए हैं।

स्व-स्विचिंग पल्स सिग्नल के माध्यम से लंबे दरवाजे खोलने को संभालें

गर्मियों के दिनों में जब हम घर पर होते हैं तो कुछ घंटों के लिए पिछले दरवाजे को खुला छोड़ देते हैं। वाईफाई कनेक्शन के साथ चलने वाला ईएसपी-01 तब अनावश्यक रूप से बैटरी को खत्म कर देगा। इसलिए मैंने इन स्थितियों में मॉड्यूल को बंद करने में सक्षम होने के लिए एक चालू / बंद स्विच शामिल किया।

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

इसलिए मैं एक पूर्वनिर्धारित समय (1 मिनट) के लिए मॉड्यूल चालू होने के बाद सॉफ्टवेयर के माध्यम से मॉड्यूल को बंद करने में सक्षम होना चाहता था।

हालाँकि, जहाँ ESP-01 की 'DONE' पल्स दरवाज़ा बंद होने पर TPL5111 को बंद कर देती है, मुझे पता चला कि TPL5111 को 'DONE' पल्स द्वारा स्विच नहीं किया गया था जबकि DELAY/M_DRV पिन हाई था। DELAY/M_DRV पिन पर यह उच्च संकेत खुले दरवाजे और बैटरी वोल्टेज से जुड़े रीड स्विच के NC संपर्क के कारण होता है।

इसलिए, DELAY/M_DRV पिन का संकेत लगातार उच्च नहीं होना चाहिए, बल्कि स्पंदित होना चाहिए। TPL5111 डेटाशीट में आप पा सकते हैं कि यह > 20 ms की पल्स होनी चाहिए। मैंने यह स्व-स्विचिंग सिग्नल एक पी-चैनल मस्जिद, एक संधारित्र और एक 10K और 300K रोकनेवाला के माध्यम से बनाया है, शामिल योजना देखें।

यह निम्नानुसार काम करता है:

  • यदि रीड स्विच का NC संपर्क बंद है, तो गेट कम है और Mosfet चालू है, जिसके परिणामस्वरूप DELAY/M_DRV पिन पर एक उच्च सिग्नल होता है जो मॉड्यूल को सक्रिय करता है।
  • संधारित्र जल्दी से चार्ज हो जाता है, जिसके परिणामस्वरूप गेट पर वोल्टेज बढ़ जाता है।
  • लगभग 20 ms के बाद, गेट पर वोल्टेज बैटरी वोल्टेज (300K/(300K+10K) का 97% है जो उच्च है और Mosfet को बंद कर दिया जाता है, जिसके परिणामस्वरूप DELAY/M_DRV पिन पर कम सिग्नल होता है।
  • जब DELAY/M_DRV पिन कम होता है, तो ESP-01 के पूर्ण सिग्नल के परिणामस्वरूप मॉड्यूल बंद हो जाता है।

यह सॉफ्टवेयर में लागू किया गया है; एक समय-लूप न केवल यह जांचता है कि दरवाजा अभी भी खुला है या नहीं, बल्कि यह भी जांचता है कि मॉड्यूल बहुत लंबे समय तक स्विच नहीं किया गया है या नहीं। यदि बहुत लंबे समय तक स्विच किया जाता है तो यह एक NULL मान (दरवाजे की अपरिभाषित स्थिति) प्रकाशित करता है। इस मामले में मुझे नहीं पता कि दरवाजा खुला है या बंद है और मैं परिचय में उल्लिखित सभी लक्ष्यों तक नहीं पहुंचता हूं, लेकिन बैटरी जीवन अधिक महत्वपूर्ण है और ज्यादातर बार हम उस दिन बाद में फिर से दरवाजा खोलते हैं, जिसके परिणामस्वरूप एक निश्चित बंद स्थिति होती है दरवाजे के।

एक पी-चैनल मोसफेट का उपयोग करना महत्वपूर्ण है जो यहां उपयोग की जाने वाली वोल्टेज रेंज के लिए उपयुक्त है। Mosfet को लगभग - 3.8V के VGS पर पूरी तरह से चालू होना चाहिए और लगभग -0.2 V के VGS पर पूरी तरह से बंद होना चाहिए। मैंने कई Mosfets की कोशिश की और पाया कि IRLML6401TRPBF 10K और 300K प्रतिरोधों के संयोजन में इस लक्ष्य के लिए ठीक काम करता है।. 1 uF का संधारित्र लगभग 20 ms की स्पंदन लंबाई प्राप्त करने के लिए ठीक कार्य करता है। एक बड़ा संधारित्र एक लंबी नाड़ी में परिणाम देता है, जो आवश्यक नहीं है, क्योंकि TPL5111 सक्रिय था। मैंने अपने DSO150 आस्टसीलस्कप का उपयोग वोल्टेज और पल्सलेंथ की जांच के लिए किया।

नियोजित सुधार: ओटीए अपडेट

मैं निम्नलिखित प्रक्रिया के माध्यम से एक ओटीए अपडेट को शामिल करने की योजना बना रहा हूं, जो पहले से ही वर्तमान सॉफ्टवेयर में आंशिक रूप से शामिल है

  • NodeRed के Openhab के माध्यम से मैं एक बनाए रखा 'अपडेट' संदेश एक 'अपडेट विषय' प्रकाशित करता हूं।
  • यदि मॉड्यूल को चालू किया जाता है और MQTT सर्वर से जोड़ा जाता है और 'अपडेट विषय' की सदस्यता ली जाती है, तो उसे अपडेट संदेश प्राप्त होता है।
  • अद्यतन संदेश मॉड्यूल को स्विच ऑफ करने से रोकेगा और HTTPUpdateServer प्रारंभ करेगा।
  • HTTPUpdateServer की वेबसाइट के माध्यम से, आप सॉफ़्टवेयर को अपडेट कर सकते हैं।
  • NodeRed के Openhab के माध्यम से मैं एक बनाए रखा 'खाली' संदेश एक 'अद्यतन विषय' प्रकाशित करता हूं।

नियोजित सुधार: पूर्वनिर्धारित समय के बाद हार्डवेयर शटडाउन।

वर्तमान योजना में, मैं TPL5111 के DELAY/M_DRV और GND के बीच 200K रोकनेवाला का उपयोग करता हूं। यह मॉड्यूल पर 2 घंटे से अधिक समय तक स्विच करता है (TPL5111 डेटाशीट का 7.5.3 देखें)। हालांकि, मैं नहीं चाहता कि मॉड्यूल इतने लंबे समय तक चालू रहे, क्योंकि तब बैटरी खत्म हो जाती है। यदि सॉफ़्टवेयर समाधान (ऊपर देखें) मॉड्यूल को बंद करने में विफल रहता है, या अद्यतन संदेश अनजाने में मॉड्यूल को अद्यतन मोड में सेट करता है, तो मॉड्यूल लंबे समय तक चालू रहता है।

इसलिए TPL5111 के DELAY/M_DRV और GND के बीच एक छोटे अवरोधक का उपयोग करना बेहतर है, इसलिए मॉड्यूल थोड़े समय के बाद बंद हो जाता है, उदाहरण के लिए एक 50K रोकनेवाला जिसके परिणामस्वरूप 7 मिनट का समय होता है।

सिफारिश की: