विषयसूची:

ESP-01 का उपयोग कर MQTT/Google होम डोरबेल: 6 चरण
ESP-01 का उपयोग कर MQTT/Google होम डोरबेल: 6 चरण

वीडियो: ESP-01 का उपयोग कर MQTT/Google होम डोरबेल: 6 चरण

वीडियो: ESP-01 का उपयोग कर MQTT/Google होम डोरबेल: 6 चरण
वीडियो: HARestAPI: Control Home Assistant directly using ESP8266 2024, नवंबर
Anonim
ESP-01. का उपयोग करते हुए MQTT/Google होम डोरबेल
ESP-01. का उपयोग करते हुए MQTT/Google होम डोरबेल

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

अगर मेरी तरह, आपके पूरे घर में कई स्थानों पर एक या एक से अधिक Google होम स्पीकर हैं, तो यह निर्देश योग्य हो सकता है जो आपको चाहिए।

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

हम मौजूदा 16VAC डोरबेल सिस्टम में ESP-01 मॉड्यूल जोड़ेंगे और MQTT ब्रोकर को संदेश भेजने के लिए MQTT कार्यक्षमता जोड़ेंगे (जब डोरबेल स्विच दबाया जाता है)। MQTT ब्रोकर संदेश को NodeRED को रिले करेगा। MQTT संदेश प्राप्त करने पर, NodeRED कई Google घरेलू उपकरणों पर घोषणा भेजेगा और वैकल्पिक रूप से पुशबुलेट के माध्यम से सेलफोन / ब्राउज़र पर संदेश भी भेजेगा।

मुझे DIY होम ऑटोमेशन का शौक है, और धीरे-धीरे IOT को अपने घर में जोड़ रहा हूं। Google होम मेरे होम ऑटोमेशन में केंद्रीय कार्यों में से एक रहा है।

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

हमारे घर में 4 गूगल होम मिनी विभिन्न स्थानों/कमरों में रखे गए हैं, और दरवाजे की घंटी की घोषणा करने के लिए गूगल होम का उपयोग करके, हम घर में कहीं भी तुरंत जानते हैं कि कोई दरवाजे की घंटी बजाता है।

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

सन्दर्भ:

  • डोरबेल वायरिंग डायग्राम:
  • रास्पबेरी पाई पर मॉस्किटो एमक्यूटीटी ब्रोकर स्थापित करें:
  • रास्पबेरी पाई पर NodeRED स्थापित करें:

चरण 1: ESP-01 और डोर चाइम इंटरफेस के लिए सर्किट बनाएं

इंटरफ़ेस ESP-01 और डोर चाइम के लिए सर्किट बनाएं
इंटरफ़ेस ESP-01 और डोर चाइम के लिए सर्किट बनाएं
इंटरफ़ेस ESP-01 और डोर चाइम के लिए सर्किट बनाएं
इंटरफ़ेस ESP-01 और डोर चाइम के लिए सर्किट बनाएं
इंटरफ़ेस ESP-01 और डोर चाइम के लिए सर्किट बनाएं
इंटरफ़ेस ESP-01 और डोर चाइम के लिए सर्किट बनाएं

पहला कदम सर्किट बनाना होगा जो ईएसपी -01 और डोर चाइम के बीच इंटरफेस होगा। मेरी पहली तस्वीर में दिखाए गए अनुसार "ट्रांस (पूर्व)" और "फ्रंट/रियर" पिन के बीच 16VAC होने पर विशिष्ट दरवाजा झंकार सक्रिय होता है। डोरबेल का बटन दबाने पर उन पिनों पर वोल्टेज प्रदर्शित होता है।

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

R1 और R2 पीक डीसी वोल्टेज को लगभग 3.3V तक नीचे लाने के लिए वोल्टेज डिवाइडर बनाते हैं।

R3, TR1, और R4 ESP-01 GPIO-2 के लिए रिवर्स लॉजिक प्रदान करने के लिए एक इन्वर्टर बनाते हैं। फ्लैश से बूट करने के लिए ESP-01 के लिए बूटअप के दौरान (पुल-अप R4 और R5 के साथ) तर्क उच्च प्रदान करने के लिए यह आवश्यक है। जब डोरबेल पुशबटन दबाया जाता है, तो यह GPIO-2. TR1 के लिए तर्क कम प्रस्तुत करता है। कोई भी छोटा शक्ति NPN ट्रांजिस्टर हो सकता है, मेरे मामले में मैंने 2N3904 का उपयोग किया था।

V1 एक 3.3VDC बिजली की आपूर्ति है जिसे मैंने AMS1117 3.3VDC नियामक के साथ युग्मित एक पुराने 5V सेलफोन चार्जर का उपयोग करके बनाया है जिसे मैं अगले चरण में दिखाऊंगा।

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

चरण 2: 3.3VDC ESP-01. के लिए बिजली की आपूर्ति

ESP-01. के लिए 3.3VDC बिजली की आपूर्ति
ESP-01. के लिए 3.3VDC बिजली की आपूर्ति
ESP-01. के लिए 3.3VDC बिजली की आपूर्ति
ESP-01. के लिए 3.3VDC बिजली की आपूर्ति
ESP-01. के लिए 3.3VDC बिजली की आपूर्ति
ESP-01. के लिए 3.3VDC बिजली की आपूर्ति

इस चरण में, हम ESP-01 के लिए 3.3VDC बिजली आपूर्ति का निर्माण करेंगे। मेरे पास कुछ पुराने 500mA और 700mA 5VDC USB चार्जर एडॉप्टर हैं जिन्हें मैंने इस प्रोजेक्ट के लिए फिर से तैयार किया है। 5V वोल्टेज को 3.3V तक गिराने के लिए हमें 3.3VDC रेगुलेटर की भी आवश्यकता है, इसके लिए मैं एक सस्ते प्री-बिल्ट AMS1117 आधारित रेगुलेटर मॉड्यूल का उपयोग कर रहा हूं जिसे मैंने eBay से खरीदा था। आप "3.3V AMS1117 मॉड्यूल" की खोज कर सकते हैं और पा सकते हैं कि आपके लिए क्या काम करता है।

यह 3.3V नियामक मॉड्यूल बहुत छोटा है कि मैं वास्तव में इसे मूल 5V USB चार्जर संलग्नक के अंदर भर सकता हूं जिससे यह संभावित शॉर्ट-सर्किट से सुरक्षित हो जाता है। मैंने चार्जर मॉड्यूल से एसी की दीवार को हटा दिया और इसे दो केबलों से बदल दिया जो मेरी मौजूदा झंकार के पीछे की दीवार से 120VAC से जुड़ी होंगी। लेकिन जब तक हम अगले चरण पर टेस्ट रन नहीं कर लेते, तब तक इस चरण पर लगे शूल को न हटाएं।

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

यह देखने के लिए मेरी एक तस्वीर देखें कि मेरी झंकार के पीछे 120VAC वायरिंग है और झंकार के लिए 16VAC ट्रांसफार्मर है।

3.3V नियामक से आउटपुट तब पिछले चरण के अनुसार ESP-01 इंटरफ़ेस बोर्ड से जुड़ जाएगा।

चरण 3: 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 को इंटरफ़ेस बोर्ड में प्लग करें।

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

परीक्षण के लिए चलाना
परीक्षण के लिए चलाना
परीक्षण के लिए चलाना
परीक्षण के लिए चलाना
परीक्षण के लिए चलाना
परीक्षण के लिए चलाना

चरण 1 से हमने ESP-01 इंटरफ़ेस बोर्ड बनाया है, और चरण 2 से हमारे पास ESP-01 बोर्ड के लिए 3.3V बिजली की आपूर्ति है। अब हम V1 के रूप में दिखाए गए सर्किट आरेख के अनुसार बिजली आपूर्ति आउटपुट को बोर्ड से जोड़ते हैं।

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

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

mosquitto_sub -v -t '#'

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

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

स्टेट/डोरबेल/एलडब्ल्यूटी ऑनलाइन

अब बाहर सिर और अपने दरवाजे की घंटी बजाओ, और आपको यह संदेश देखना चाहिए:

टेली/डोरबेल ऑन

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

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

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

"cmnd/DoorBellInfo": ESP-01 यदि इस विषय को '1' (ascii=49)"cmnd/DoorBellCPUrestart" के मान के साथ प्राप्त करता है, तो जानकारी भेजेगा: यदि यह इस विषय को '1' के मान के साथ प्राप्त करता है तो ESP-01 पुनः आरंभ होगा ' (ascii=49)"cmnd/DoorBellCPUreset": ESP-01 रीसेट हो जाएगा यदि यह इस विषय को '1' के मान के साथ प्राप्त करता है (ascii=49)

"टेली/फ्रंटडोरबेल": ईएसपी-01 इस विषय में 'चालू' के मान के साथ संदेश भेजेगा यदि डोरबेल को दबाया जाता है

चरण 5: बोर्ड और बिजली आपूर्ति को झंकार में एकीकृत करना

झंकार में बोर्ड और बिजली आपूर्ति को एकीकृत करना
झंकार में बोर्ड और बिजली आपूर्ति को एकीकृत करना
झंकार में बोर्ड और बिजली आपूर्ति को एकीकृत करना
झंकार में बोर्ड और बिजली आपूर्ति को एकीकृत करना
झंकार में बोर्ड और बिजली आपूर्ति को एकीकृत करना
झंकार में बोर्ड और बिजली आपूर्ति को एकीकृत करना

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

अब हम अपने यूएसबी चार्जर से मेटल प्रोग को हटा सकते हैं और उन्हें मोटी केबल से बदल सकते हैं जिसे हम घर की वायरिंग से जोड़ सकते हैं। अपने सर्किट ब्रेकर को बंद करना सुनिश्चित करें जो कि झंकार सर्किट को बिजली की आपूर्ति करता है।

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

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

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

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

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

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

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

मज़े करो…

सिफारिश की: