विषयसूची:

गहरी नींद के साथ ESP-01 मोशन सेंसर: 5 कदम
गहरी नींद के साथ ESP-01 मोशन सेंसर: 5 कदम

वीडियो: गहरी नींद के साथ ESP-01 मोशन सेंसर: 5 कदम

वीडियो: गहरी नींद के साथ ESP-01 मोशन सेंसर: 5 कदम
वीडियो: ESP-01 Deep Sleep Motion Sensor and Separate Buzzer module 2024, नवंबर
Anonim
Image
Image

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

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

ईएसपी -01 गहरी नींद को ट्रिगर करने के लिए काम करने के लिए पीआईआर सेंसर प्राप्त करने में मेरा एक ही मुद्दा था। काम करने वाले एक होने तक कई रास्ते।

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

ESP-01 गहरी नींद के साथ-साथ किसी भी अन्य ESP8266 मॉड्यूल को तब तक करता है जब तक आपको समय पर नींद की आवश्यकता नहीं होती है। यदि आप चाहते हैं कि मॉड्यूल बीता हुआ समय की एक निर्धारित राशि के बाद जाग जाए, तो ESP-01 उपयोग करने के लिए मॉड्यूल नहीं है। लेकिन वह नहीं था जो मैं चाहता था। पीर का उपयोग करते समय बीता हुआ समय व्यर्थ है। मैं चाहता था कि ESP-01 तभी जाग्रत हो जब PIR द्वारा गति को गति से ट्रिगर किया जाए। यदि घंटों या दिनों तक कोई गति महसूस नहीं होती है, तो ESP-01 न्यूनतम बैटरी पावर का उपयोग करके सो जाता है।

आप कई सर्किट देखेंगे जो GPIO16 का उपयोग ESP8266 रीसेट से जुड़े हैं क्योंकि GPIO16 वेक सिग्नल है। यह सच है, लेकिन यह समय पर सोने से जागने का संकेत है। हम इस पिन को अनदेखा कर सकते हैं, जो अच्छा है क्योंकि यह ESP-01 पर उपलब्ध नहीं है।

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

जैसा कि आप नीचे दिए गए सर्किट आरेख में देखेंगे, ESP-01 को हर बार PIR को गति महसूस होने पर गहरी नींद से जगाया गया था।

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

मैंने इस व्यवहार से जो निर्धारित किया है वह यह है कि ईएसपी -01 वास्तव में सिग्नल के बढ़ते किनारे पर ट्रिगर होता है। रीसेट पिन को जमीन पर रखने से वास्तव में गहरी नींद से ESP-01 ट्रिगर नहीं होता है, लेकिन जिस क्षण वोल्टेज हाई सिग्नल तक बढ़ जाता है, तब रीसेट होता है।

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

चरण 1: ESP-01 डीप स्लीप मॉड्यूल

ESP-01 डीप स्लीप मॉड्यूल
ESP-01 डीप स्लीप मॉड्यूल
ESP-01 डीप स्लीप मॉड्यूल
ESP-01 डीप स्लीप मॉड्यूल

डीप स्लीप मॉड्यूल दो कार्यशील वोल्टेज का उपयोग करता है। पीआईआर के लिए बैटरी पैक का यादृच्छिक 5v+ और ESP-01 के लिए 3.3 वोल्ट नियामक बोर्ड भी। मैं क्षतिग्रस्त भागों को रिवर्स वोल्टेज से बचाने के लिए सर्किट में एक डायोड भी शामिल करता हूं। यह थोड़ी अतिरिक्त शक्ति का उपयोग करता है और बैटरी पैक वोल्टेज को 0.7 वोल्ट तक कम करता है। डायोड को सर्किट से बाहर छोड़ा जा सकता है यदि आप सुनिश्चित हैं कि आप बैटरी पैक लीड को कभी भी उलट नहीं पाएंगे। सुविधा के लिए एक स्विच भी जोड़ा जाता है।

यह मॉड्यूल मेरे मूल गैर-गहरी नींद लेआउट के लिए एक मामूली अद्यतन है। नॉन डीप स्लीप कॉन्फ़िगरेशन में, PIR सीधे ESP-01 के RX पिन से जुड़ा होता है। मैं कुछ कारणों से पीआईआर के इनपुट पिन के रूप में ईएसपी -01 के आरएक्स पिन का उपयोग कर रहा हूं। GPIO0 ने काम नहीं किया क्योंकि बूट पर PIR आउटपुट पिन कम होगा जिससे ESP-01 फ्लैश मोड में प्रवेश करेगा। मैंने GPIO2 का उपयोग नहीं किया क्योंकि तब मैं विजुअल फीड बैक के लिए बिल्ट-इन एलईडी का उपयोग नहीं कर सकता था। RX और TX पिन को अक्सर अतिरिक्त IO पिन के रूप में वर्णित किया जाता है, लेकिन मेरा अनुभव है कि RX एक अतिरिक्त INPUT पिन है और TX एक अतिरिक्त OUTPUT पिन है।

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

यहाँ ESP-01 डीप स्लीप मॉड्यूल के लिए भागों की सूची दी गई है:

1 - 5 x 7 सेमी पीसीबी प्रोटोटाइप बोर्ड

1 - 2 पिन कनेक्टर

2 - 1 x 3 महिला शीर्षलेख

1 - AMS1117 - 3.3 वोल्टेज नियामक सर्किट बोर्ड

1 - 1 x 3 समकोण पुरुष हेडर पिन

1 - 1 x 3 महिला सॉकेट हैडर पिन

1 - 1 x 4 महिला सॉकेट हैडर पिन

1 - 2 x 4 महिला हेडर

1 - 1uf संधारित्र

1 - HC-SR501 PIR मोशन सेंसर

1 - 2N2222 ट्रांजिस्टर

1 - 10k रोकनेवाला

1 - 4.7k रोकनेवाला

1 - 1k रोकनेवाला

1 - 1N4148 डायोड

1 - SS12D00G4 SPDT स्विच करें

1 - ईएसपी -01

1 - 4AA बैटरी पैक

कृपया ध्यान दें कि वीडियो में सर्किट बोर्ड 2 x 4 हेडर के बजाय ESP-01 ब्रेडबोर्ड एडेप्टर का उपयोग करता है। जबकि यह एडॉप्टर मिलाप करना आसान है 2 x 4 हेडर ठीक काम करता है और वास्तव में बेहतर फिट बैठता है।

चरण 2: ESP-01 डीप स्लीप कोड

डीप स्लीप कोड दो कार्य करता है। एक ईमेल संदेश भेजें (जीमेल के माध्यम से डिफ़ॉल्ट के रूप में) और बजर को ट्रिगर करने के लिए संबंधित ईएसपी -01 बजर मॉड्यूल को एक http वेब अनुरोध भेजें।

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

स्केच काम करने के लिए आपको अपने विशिष्ट मूल्यों के साथ कोड की छह पंक्तियों को अपडेट करना होगा:

कास्ट चार * एसएसआईडी = "xxxxx"; // आपका वाईफाई SSIDconst char* पासवर्ड = "xxxxx"; // आपका वाईफाई पासवर्ड स्ट्रिंग प्रेषक_लॉगिन = "xxxxx"; // आपका ईमेल प्रदाता लॉगिन स्ट्रिंग प्रेषक_पासवर्ड = "xxxxx"; // आपका ईमेल प्रदाता पासवर्ड

टू = "xxxxxx"; से = "xxxxxx"; // जीमेल आम तौर पर इसे Senders_Login के समान पसंद करता है और स्थानापन्न कर सकता है

जब ट्रिगर घटना की लंबाई के लिए पीआईआर सेंसर को 10 सेकंड से कम पर सेट किया गया था, तो मैंने पाया कि गहरी नींद मॉड्यूल अप्रत्याशित रूप से काम करता है। मेरे पास 20 सेकेंड का मेरा सेट है। यह बहुत विश्वसनीय साबित हुआ है लेकिन इसका मतलब यह भी है कि ट्रिगरिंग घटनाएं उस आवृत्ति के साथ हो सकती हैं।

मैंने ESP-01 को तब तक चालू रखने के लिए लूप फ़ंक्शन में कोड भी जोड़ा है जब तक कि PIR अभी भी गति को महसूस कर रहा है। लूप फ़ंक्शन के सभी कोड को हटाया जा सकता है और कॉल टू डीप स्लीप सेटअप फ़ंक्शन के अंत में ले जाया जाता है।

मैं ESP-01 मॉड्यूल के साथ गतिविधि के दृश्य संकेतक के लिए ब्लिंक फ़ंक्शन का उपयोग करता हूं।

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

यदि आप एक से अधिक बजर मॉड्यूल रखना चुनते हैं तो केवल http क्लाइंट की अतिरिक्त कॉल जोड़ें (कोड की तीन पंक्तियों को दोहराएं लेकिन उपयोग किए गए आईपी पते को बदलें और केवल httpCode चर को एक बार int के रूप में परिभाषित करें!

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

चरण 3: ESP-01 बजर मॉड्यूल

ESP-01 बजर मॉड्यूल
ESP-01 बजर मॉड्यूल
ESP-01 बजर मॉड्यूल
ESP-01 बजर मॉड्यूल
ESP-01 बजर मॉड्यूल
ESP-01 बजर मॉड्यूल

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

बजर मॉड्यूल को गति संवेदक ट्रिगर घटना की सूचना प्रदान करने वाले कई स्थानों पर आसानी से रखा जा सकता है, चाहे आप कहीं भी हों!

बजर USB कनेक्टर के 5v से जुड़ा है और एक और 3.3v रेगुलेटर बोर्ड है जो ESP-01 को पावर प्रदान करता है।

बजर मॉड्यूल आउटपुट के लिए TX, GPIO0 या GPIO2 का उपयोग करके कार्य करेगा। मेरे विन्यास में मैं GPIO0 का उपयोग कर रहा हूँ। (मॉड्यूल की तस्वीर में तार GPIO2 से जुड़ा है, लेकिन मैंने इसे तब से स्थानांतरित कर दिया है।) जबकि GPIO0 ने डीप स्लीप मॉड्यूल (INPUT के रूप में) के लिए काम नहीं किया, यह OUTPUT के रूप में इस लेआउट के साथ ठीक काम करता है। इसे बूट पर जमीन पर नहीं खींचा जाता है जिससे समस्या होगी। मैंने GPIO2 का उपयोग किया था, लेकिन फिर मैं किसी भी प्रतिक्रिया के लिए ऑनबोर्ड एलईडी का उपयोग नहीं कर सका, लेकिन OUTPUT के लिए GPIO0 का उपयोग करके मैं ऑन बोर्ड एलईडी का उपयोग कर सकता हूं।

मैंने सर्किट में बजर को पावर देने के लिए NPN ट्रांजिस्टर का उपयोग करने की कोशिश की, जब ESP-01 ने GPIO0 पिन पर एक हाई सिग्नल लगाया लेकिन परिणाम बहुत असंगत थे। ऐसा लगता था कि बजर हर समय बहुत कम शक्ति के साथ भी बजना चाहता था। इसलिए इसके बजाय मैंने एक N चैनल MOSFET (2n7000) का उपयोग किया और परिणाम बहुत अच्छा था। IO पिन आवश्यकतानुसार गेट को चलाता है।

जबकि हमें USB कनेक्टर Vcc (+) और Gnd (-) से केवल दो पिन की आवश्यकता होती है, मैं अतिरिक्त स्थिरता के लिए और USB को नियामक से जोड़ने से पहले टांका लगाने के लिए PCB बोर्ड से कनेक्ट करने के लिए 5 पिन हेडर का उपयोग करता हूं। मेरा 3.3v रेगुलेटर बोर्ड पहले से स्थापित पिन के साथ आया था और मेरे दिमाग में उल्टा था। तो नियामक को हेडर पिन में डालने के लिए आप देख सकते हैं कि सर्किट बोर्ड छिपा हुआ है, लेकिन इससे भी बदतर, नियामक पर वीसीसी और जीएनडी यूएसबी कनेक्टर पर वीसीसी और जीएनडी से उलट हैं। तो तार पार हो जाते हैं।

यह भी ध्यान दें कि सक्रिय बजर के लिए + शक्ति USB के 5v से आती है। इसके अलावा, एक 4 पिन वाला महिला सॉकेट हेडर बजर के पिन प्लेसमेंट के साथ अच्छी तरह से काम करता है।

ESP-01 बजर मॉड्यूल भागों की सूची:

1 - 5 x 7 पीसीबी बोर्ड

1 - पिन हेडर के साथ यूएसबी मिनी कनेक्टर (7 पिन)

2 - 1 x 3 महिला शीर्षलेख

1 - AMS1117-3.3 v वोल्टेज नियामक बोर्ड

1 - 2 x 4 महिला हेडर

2 - 1 x 4 महिला सॉकेट हेडर

1 - 2N7000 एन-चैनल MOSFET

1 - 10 ओम रोकनेवाला

1 - 5v सक्रिय बजर

चरण 4: ESP-01 बजर मॉड्यूल कोड

बजर मॉड्यूल एक साधारण ESP-01 वेब सर्वर के रूप में कार्य करता है। यह रूट अनुरोध के लिए एक साधारण संदेश के साथ प्रतिक्रिया करता है और जब इसे buzz अनुरोध प्राप्त होता है, तो यह बजर को ट्रिगर करेगा। GPIO0 का उपयोग बजर सिग्नल के लिए GPIO पिन के लिए किया जाता है।

ध्यान दें कि ESP-01 को एक हार्ड कोडित IP पते के साथ कॉन्फ़िगर किया गया है। यह आवश्यक है ताकि डीप स्लीप मॉड्यूल बजर एड्रेस से जुड़ा हो।

पिछले मॉड्यूल की तरह, आपको अपने विशिष्ट मानों के साथ कोड की दो पंक्तियों को अपडेट करना होगा:

// आपके वाईफाई राउटर का SSID और पासवर्डconst char* ssid = "xxxxxxx";

कॉन्स्ट चार * पासवर्ड = "xxxxxxxx";

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

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

वेब सर्वर के लिए आपको बस इस तरह कोड की एक पंक्ति जोड़नी होगी:

server.on ("/ buzz2", buzz2);

चरण 5: अंतिम विचार

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

डीप स्लीप मॉड्यूल की कीमत लगभग $8 CDN भागों में (बैटरी शामिल नहीं है!) और बजर मॉड्यूल $5 है।

सिफारिश की: