- Google सहायक के लिए सर्किट आरेख होम ऑटोमेशन नियंत्रित करता है
- Blynk अनुप्रयोग की स्थापना
- Google सहायक और Blynk के साथ IFTTT को पढ़ना स्ट्रिंग में सेट करना
- Blynk होम ऑटोमेशन के लिए Arduino प्रोग्रामिंग
- PCBGoGo का उपयोग कर फैब्रिकेटिंग PCB
- PCB को असेंबल करना
- बोर्ड को एसी पावर यूनिट / एक्सटेंशन बोर्ड से जोड़ना
Google असिस्टेंट और एलेक्सा जैसे वर्चुअल असिस्टेंट में उन्नति के साथ, होम ऑटोमेशन और वॉयस नियंत्रित एप्लिकेशन सामान्य हो रहे हैं। अब, हमने स्वयं कई घरेलू स्वचालन परियोजनाओं का निर्माण किया है, जिनमें सरल स्वचालित सीढ़ी लाइट्स से लेकर IoT आधारित वेब नियंत्रित होम ऑटोमेशन तक रास्पबेरी पाई का उपयोग किया गया है। लेकिन यह परियोजना अलग है, यहां विचार एक व्यावहारिक होम ऑटोमेशन बोर्ड बनाने के लिए है जो हमारी दीवारों पर एसी बिजली इकाइयों में फिट हो सकता है और इसके अंदर छुपा रह सकता है। बोर्ड को हमारे बिजली इकाई स्विच के सामान्य कामकाज को बाधित नहीं करना चाहिए, यही है कि उन्हें मैनुअल स्विच के साथ चालू या बंद करना चाहिए। और कहा जा रहा है, यह भी गूगल सहायक का उपयोग कर आवाज के साथ एक ही लोड को नियंत्रित करने में सक्षम होना चाहिए और एक टाइमर भी सेट करना चाहिए ताकि कोई भी लोड दिन के पूर्व निर्धारित समय के दौरान स्वचालित रूप से चालू या बंद कर सके।
यह परियोजना हमारे ईएसपी 8266 स्मार्ट वाई-फाई प्लग के समान है, लेकिन जब से हम ईएसपी 12 का उपयोग कर रहे हैं, हमारे पास अधिक जीपीओ पिन होगा जिससे हमें एक साथ चार एसी लोड को नियंत्रित करने की अनुमति मिलेगी। इसके अलावा, चूंकि हमने बेल्क और Google सहायक को एकीकृत किया है, इसलिए परियोजना का उपयोग करना दिलचस्प और व्यावहारिक है। इस परियोजना के लिए हमने PCBGOGO PCB निर्माण सेवा का उपयोग करके सर्किट बोर्ड का निर्माण किया है। लेख के बाद के भाग में हमने सर्किट के लिए डिज़ाइन की गई Gerber फ़ाइल प्रदान की है और PCBGOGO से PCBs को ऑर्डर करने की पूरी प्रक्रिया भी बताई है।
चेतावनी: इस परियोजना में एसी मेन वोल्टेज के साथ काम करना शामिल है। यह सलाह दी जाती है कि उच्च एसी वोल्टेज के साथ काम करते समय अत्यधिक सावधानी बरती जानी चाहिए। सुनिश्चित करें कि आप एक अनुभवी व्यक्ति द्वारा पर्यवेक्षित हैं यदि आप नए हैं।
Google सहायक के लिए सर्किट आरेख होम ऑटोमेशन नियंत्रित करता है
होम ऑटोमेशन के लिए पूरा सर्किट आरेख नीचे पाया जा सकता है।
जैसा कि आप देख सकते हैं, सर्किट बहुत सरल है, आइए ESP12E वाई-फाई मॉड्यूल से स्पष्टीकरण शुरू करें। आप विस्तृत परियोजना स्पष्टीकरण के लिए नीचे दिए गए वीडियो की भी जांच कर सकते हैं। मॉड्यूल को नोडएमसीयू विकास बोर्डों की तरह ही प्रोग्राम किया जा सकता है और यह बहुत सारे स्थान को कम करता है। डिफ़ॉल्ट रूप से, जब चालू होता है, तो ESP12E ऑपरेशन मोड में प्रवेश करेगा। इसे प्रोग्राम करने के लिए, हमें रीसेट और फ्लैश बटन का उपयोग करना होगा। यह ESP12 को प्रोग्रामिंग मोड में रखना है, रीसेट और फ्लैश बटन दोनों को दबाकर रखें, फिर रीसेट बटन को छोड़ दें। यह फ्लैश बटन दबाए जाने के साथ ESP12E को बूट करेगा, अब फ्लैश बटन जारी करें और ESP12E प्रोग्रामिंग मोड में प्रवेश करेगा। प्रोग्रामिंग के बाद, आपको अपलोड किए गए प्रोग्राम को निष्पादित करने के लिए सामान्य ऑपरेशन मोड में ESP12E को बूट करने के लिए फिर से रीसेट बटन दबाना होगा। प्रोग्रामिंग पिन Rx, Rx,और ग्राउंड को एफटीडीआई बोर्ड या यूएसबी से टीटीएल कनवर्टर से कनेक्ट करने में सक्षम होने के लिए विस्तारित किया जाता है। प्रोग्रामर के आरएक्स पिन और वीसे वर्सा के ईएसपी 12 के टीएक्स पिन को जोड़ना सुनिश्चित करें।
अन्य ध्वज पिन I1 से I4 और R1 से R4 स्विच और रिले को जोड़ने के लिए उपयोग किए जाते हैं। Pins I1 से I4 इनपुट पिन के लिए खड़ा है। ये सभी पिन आंतरिक पुल-अप रोकनेवाला का समर्थन करते हैं, इसलिए हमें बस नीचे दिखाए गए अनुसार पुल-डाउन रोकनेवाला के माध्यम से हमारे इनपुट पिन पर एक्सटेंशन बॉक्स पर स्विच कनेक्ट करना होगा।
इसी प्रकार, रिले को नियंत्रित करने के लिए रिले आउटपुट R1 से R4 का उपयोग किया जाता है। हमने नीचे दिखाए गए अनुसार BC547 और IN4007 डायोड के साथ एक मानक रिले चालक सर्किट का उपयोग किया है। ध्यान दें कि रिले को 5V के साथ चालू किया जाना चाहिए लेकिन ESP12E आउटपुट पिन केवल 3.3V हैं। इसलिए, रिले ड्राइव करने के लिए एक ट्रांजिस्टर का उपयोग करना अनिवार्य है। हमने ट्रांजिस्टर के आधार पथ में एक एलईडी भी रखा है ताकि जब भी ट्रांजिस्टर ट्रिगर हो, तो एलईडी भी चालू हो जाए।
अंत में, हमारे सभी सर्किट को बिजली देने के लिए, हमने अपने 220V एसी को 5V डीसी में बदलने के लिए हाय-लिंक एसी-डीसी कनवर्टर का उपयोग किया है। यह 5V DC तब AMS117-3.3V वोल्टेज रेगुलेटर का उपयोग करके 3.3V में बदल जाता है। 5V का उपयोग रिले को ट्रिगर करने के लिए किया जाता है और 3.3V का उपयोग ESP21 वाई-फाई मॉड्यूल को बिजली देने के लिए किया जाता है।
Blynk अनुप्रयोग की स्थापना
हमने पहले वाई-फाई कंट्रोल्ड अरुडिनो रोबोट जैसी कई बिन्नक परियोजनाएं बनाई हैं, इसलिए हम बिलक एप्लिकेशन को स्थापित करने के विवरण में शामिल नहीं होंगे। लेकिन इसे सरल बनाने के लिए, बस एप्लिकेशन इंस्टॉल करें, NodeMCU के लिए एक नया प्रोजेक्ट बनाएं और नीचे दिखाए गए अनुसार अपने विजेट्स डालना शुरू करें।
हमने हमारी परियोजना पर रिले 1 से 4 को नियंत्रित करने के लिए वर्चुअल पिन V1 से V4 का उपयोग किया है। स्विच करने के लिए बटन के प्रकार को बदलना सुनिश्चित करें। टाइमर विकल्प का उपयोग निर्धारित समय के लिए स्वचालित रूप से वर्चुअल पिन को ट्रिगर करने के लिए भी किया जा सकता है, भले ही फोन बंद हो। मैंने उदाहरण के लिए, यहां केवल वर्चुअल पिन V1 के लिए एक टाइमर का उपयोग किया है, लेकिन यदि आवश्यक हो तो आप इसे सभी चार पिनों के लिए उपयोग कर सकते हैं।
अपने प्रोजेक्ट पृष्ठ से अपना बिल्कॉन टोकन टोकन मूल्य प्राप्त करना सुनिश्चित करें। बस अखरोट आइकन पर क्लिक करें (ऊपर की तस्वीर में लाल रंग में परिक्रमा) और सभी विकल्प का उपयोग करके ऑर्कुट टोकन को कॉपी करें और इसे कहीं सुरक्षित रूप से पेस्ट करें, हमें Arduino बोर्ड की प्रोग्रामिंग करते समय आवश्यकता होगी।
Google सहायक और Blynk के साथ IFTTT को पढ़ना स्ट्रिंग में सेट करना
Google स्वचालन के लिए Google सहायक का उपयोग करने का सबसे आसान तरीका IFTTT है। हमने NodeMCU और रास्पबेरी पाई के साथ पहले भी कई IFTTT प्रोजेक्ट बनाए हैं। इस परियोजना में, हम Google सहायक का उपयोग करके एक वेबहुक को ट्रिगर करने के लिए Blynk ऐप का उपयोग करेंगे । यह हमारी आवाज नियंत्रित होम ऑटोमेशन और आवाज नियंत्रित एफएम रेडियो परियोजना के समान है। सिवाय, यहाँ हम स्ट्रिंग भेजने के लिए IFTTT के साथ blynk का उपयोग करेंगे जो इसे बहुत आसान और दिलचस्प बनाता है।
मूल रूप से, हम ट्रिगर कमांड भेजने के लिए blynk पर वर्चुअल पिन V5 और V6 का उपयोग करेंगे। V5 का उपयोग टर्न-ऑन कमांड के लिए किया जाएगा और V6 का उपयोग टर्न-ऑफ कमांड के लिए किया जाएगा। उदाहरण के लिए, अगर हम कहते हैं कि टीवी और लैंप चालू करें। यहां "टीवी और लैंप" स्ट्रिंग कमांड को एक एपीआई का उपयोग करके NodeMCU को भेजा जाएगा। एपीआई का सिंटैक्स नीचे है।
http://188.166.206.43//update/V5?value=TV और लैंप
अब हमें केवल IFTTT में यह करना है कि IF के रूप में Google सहायक का उपयोग करें और THAT के रूप में webhooks तो इस कमांड के लिए सुनें और उपर्युक्त एपीआई का उपयोग करके NodeMCU को जानकारी भेजें। टर्न-ऑन एपलेट फॉर्म को नीचे दिखाया गया है।
ध्यान दें कि Google सहायक के लिए एक नुस्खा बनाते समय आपको पाठ घटक विकल्प के साथ एक वाक्यांश कहना होगा । इसी तरह, रिले को बंद करने के लिए आपको वर्चुअल पिन V6 के लिए भी दोहराना होगा। विस्तृत जानकारी के लिए आप इस पृष्ठ के निचले भाग में वीडियो देख सकते हैं।
Blynk होम ऑटोमेशन के लिए Arduino प्रोग्रामिंग
इस परियोजना के लिए पूरा Arduino कोड इस पृष्ठ के नीचे पाया जा सकता है। उसी की व्याख्या इस प्रकार है। इससे पहले कि आप Arduino IDE से Blynk और Program NodeMCU का उपयोग कर सकें, सुनिश्चित करें। यदि ESP12 लेख के साथ शुरुआत नहीं हो रही है। इसके अलावा, बोर्ड मैनेजर का उपयोग करके Arduino IDE के लिए blynk लाइब्रेरी जोड़ें।
हमेशा की तरह, हम इनपुट और आउटपुट पिन को परिभाषित करके अपना कोड शुरू करते हैं, यहां इनपुट स्विच से होगा और आउटपुट रिले से होगा। हमने सभी चार स्विच के लिए पिन नामों को स्व के रूप में परिभाषित किया है और रिले के रूप में रिले के रूप में आप नीचे देख सकते हैं।
#define sw1 13 #define sw2 12 #define sw3 14 #define sw4 16 #define rel1 4 #define rel2 5 #define rel3 9 #define rel4 10
अगले चरण में, आपको कुछ क्रेडेंशियल दर्ज करना होगा जैसे कि blynk Cort token और वाई-फाई राउटर का उपयोगकर्ता नाम और पासवर्ड जिसके साथ आपका नोडएमसीयू जुड़ा होना चाहिए। ब्लिंक ऑर्किट टोकन को बिलक एप्लिकेशन से प्राप्त किया जा सकता है। हम इस बारे में अधिक जानेंगे कि सेटिंग एप्लिकेशन खंड में।
char Cort = "Fh3tm0ZSrXQcROYl_lIYwOIuVu-E"; // blynk एप्लिकेशन से प्राप्त करें ssid = "home_wifi"; char पास = "fakepass123";
इसके बाद, हमने read_switch_toggle () नामक फ़ंक्शन के लिए परिभाषा दी है । इस फ़ंक्शन में, हम अपने स्विचेस की वर्तमान स्थिति और पिछले स्थिति की तुलना करेंगे। यदि स्विच को चालू या बंद कर दिया गया है अर्थात यदि स्विच चालू हो गया है। स्विच की स्थिति में एक परिवर्तन होगा, फ़ंक्शन इस परिवर्तन की निगरानी करेगा और स्विच नंबर लौटाएगा। यदि कोई परिवर्तन नहीं पाया गया है, तो यह 0 पर लौटेगा।
int read_switch_toggle () {int result = 0; // सभी पिछले मानों को नोट करें (int i = 0; i <= 3; i ++) pvs_state = crnt_state; // स्विच की वर्तमान स्थिति पढ़ें crnt_state = digitalRead (sw1); crnt_state = digitalRead (sw2); crnt_state = digitalRead (sw3); crnt_state = digitalRead (sw4); // वर्तमान और pvs राज्य की तुलना करें (int i = 0; i <= 3; i ++) {if (pv__state! = crnt_state) {result = (i + 1); // अगर किसी भी स्विच को टॉगल किया जाता है तो हमें परिणाम वापसी परिणाम के रूप में स्विच नंबर मिलता है; } और परिणाम = 0; // अगर कोई परिवर्तन नहीं परिणाम 0} वापसी परिणाम; // resul लौटें}
अगला, हमारे पास blynk एप्लिकेशन के लिए कोड है। हम अपने स्मार्ट जंक्शन बॉक्स को नियंत्रित करने के लिए वर्चुअल पिन V1 से V6 तक का उपयोग करेंगे। पिंस V1 से V4 को सीधे बिन्नक एप्लिकेशन से 1 से 4 के रिले को नियंत्रित करने के लिए उपयोग किया जाएगा। नीचे दिए गए कोड से पता चलता है कि क्या होता है जब V1 blynk एप्लिकेशन से ट्रिगर होता है। हम बस स्टेटस (हाई या लो) पढ़ते हैं और उसी के अनुसार रिले को नियंत्रित करते हैं।
BLYNK_WRITE (V1) {digitalWrite (rel1, param.asInt ()); सिरियल.प्रिंट्लन ("वी 1"); }
इसी तरह, वर्चुअल पिन का उपयोग बिन्नक एप्लिकेशन से स्ट्रिंग को पढ़ने के लिए भी किया जा सकता है। हम सीखेंगे कि IFTTT और Google सहायक का उपयोग करके बाद में Google सहायक से एक स्ट्रिंग को NodeMCU में कैसे भेजा जाए, लेकिन अब देखते हैं कि NodeMCU कोड इस स्ट्रिंग को कैसे पढ़ता है और किसी विशेष कीवर्ड के लिए खोज करता है और तदनुसार रिले को ट्रिगर करता है।
नीचे दिए गए कोड में, आप देख सकते हैं कि जब वर्चुअल पिन V5 चालू होता है, तो हम इसे स्ट्रिंग स्ट्रिंग में पास करते हैं जिसे ON_message कहा जाता है । फिर इस स्ट्रिंग चर और inderOf विधि का उपयोग करके, हम खोजते हैं कि क्या "लैंप", "एलईडी", "संगीत", "टीवी" जैसे कोई भी कीवर्ड मौजूद हैं, यदि हाँ, तो हम उस विशेष लोड को चालू करते हैं। यदि कीवर्ड "सब कुछ" का पता चला है, तो हम सब कुछ चालू करते हैं। रिले को बंद करने के लिए V6 के लिए भी यही किया जा सकता है। हम इस बारे में अधिक समझेंगे जब हम IFTTT सेक्शन में आते हैं।
BLYNK_WRITE (V5) {स्ट्रिंग ON_message = param.asStr (); धारावाहिक.प्रदर्शन (ON_message); अगर (ON_message.indexOf ("लैंप")> = 0) digitalWrite (rel1, HIGH); अगर (ON_message.indexOf ("LED")> = 0) digitalWrite (rel2, HIGH); if (ON_message.indexOf ("संगीत") = = 0) digitalWrite (rel3, HIGH); अगर (ON_message.indexOf ("TV")> = 0) digitalWrite (rel4, HIGH); if (ON_message.indexOf ("सब कुछ"> = 0) {digitalWrite (rel, HIGH); digitalWrite (rel2, HIGH); digitalWrite (rel3, High); digitalWrite (rel4, HIGH) }}
अंत में, लूप फ़ंक्शन के अंदर, हमें केवल यह जांचना होगा कि कोई बटन स्विच स्थिति बदल गई है या नहीं। यदि हाँ, तो हम उस विशेष रिले की स्थिति को टॉगल करने के लिए नीचे दिखाए गए स्विच केस का उपयोग करते हैं।
स्विच (टॉगल_पिन) {केस 0: ब्रेक; केस 1: सीरियल.प्रिंटलेन ("टॉगलिंग रिले 1"); digitalWrite (rel1, relay_state); टूटना; केस 2: सीरियल.प्रिंटलेन ("टॉगलिंग रिले 2"); digitalWrite (rel2, relay_state); टूटना; केस 3: सीरियल.प्रिंटलेन ("टॉगल रिले 3"); digitalWrite (rel3, relay_state); टूटना; केस 4: सीरियल.प्रिंटलेन ("टॉगलिंग रिले 4"); digitalWrite (rel4, relay_state); टूटना; }}
PCBGoGo का उपयोग कर फैब्रिकेटिंग PCB
अब हम समझते हैं कि योजनाबद्ध कैसे काम करते हैं, हम अपने होम ऑटोमेशन प्रोजेक्ट के लिए पीसीबी के निर्माण के साथ आगे बढ़ सकते हैं । उपरोक्त सर्किट के लिए पीसीबी लेआउट लिंक से जेरबर के रूप में डाउनलोड के लिए भी उपलब्ध है।
- Google सहायक का उपयोग करके ध्वनि नियंत्रित होम ऑटोमेशन के लिए GERBER डाउनलोड करें
अब हमारा डिज़ाइन तैयार है, यह समय है कि उन्हें गेरबर फ़ाइल का उपयोग करके गढ़ा जाए। PCBGOGO से किया गया PCB काफी आसान है, बस नीचे दिए गए चरणों का पालन करें-
चरण 1: www.pcbgogo.com पर जाएं, साइन अप करें यदि यह आपकी पहली बार है। तब पीसीबी प्रोटोटाइप टैब में, अपने पीसीबी के आयाम, परतों की संख्या, और आपके द्वारा आवश्यक पीसीबी की संख्या दर्ज करें। पीसीबी मान रहा है कि 80 सेमी × 80 सेमी है, आप नीचे दिखाए गए अनुसार आयाम सेट कर सकते हैं।
चरण 2: भाव अब बटन पर क्लिक करके आगे बढ़ें । आपको एक पृष्ठ पर ले जाया जाएगा जहाँ कुछ अतिरिक्त पैरामीटर सेट करने के लिए यदि आवश्यक हो तो सामग्री जैसे ट्रैक स्पेसिंग आदि का उपयोग किया जाएगा, लेकिन ज्यादातर, डिफ़ॉल्ट मान ठीक काम करेंगे। केवल एक चीज जिस पर हमें यहां विचार करना है वह है कीमत और समय। जैसा कि आप देख सकते हैं कि बिल्ड टाइम केवल 2-3 दिन है और हमारे पीसीबी के लिए केवल $ 5 की लागत है। फिर आप अपनी आवश्यकता के आधार पर पसंदीदा शिपिंग विधि का चयन कर सकते हैं।
चरण 3: अंतिम चरण Gerber फ़ाइल अपलोड करने और भुगतान के साथ आगे बढ़ना है। यह सुनिश्चित करने के लिए कि प्रक्रिया सुचारू है, यदि भुगतान के साथ आगे बढ़ने से पहले आपकी गिब्बर फ़ाइल वैध है, तो PCBGOGO सत्यापित करता है। इस तरह, आप यह सुनिश्चित कर सकते हैं कि आपका पीसीबी फेब्रिकेशन फ्रेंडली है और आपके लिए प्रतिबद्ध होगा।
PCB को असेंबल करना
बोर्ड का आदेश दिए जाने के बाद, यह कुछ दिनों के बाद करीने से भरे हुए अच्छी तरह से पैक बॉक्स में कूरियर के माध्यम से मुझ तक पहुंचा, और हमेशा की तरह, पीसीबी की गुणवत्ता बहुत बढ़िया थी। मेरे द्वारा प्राप्त पीसीबी को नीचे दिखाया गया है। जैसा कि आप देख रहे हैं, ऊपर और नीचे दोनों परत अपेक्षा के अनुरूप निकली हैं।
विआस और पैड सभी सही आकार में थे। एक कार्यशील सर्किट प्राप्त करने के लिए पीसीबी बोर्ड को इकट्ठा करने में मुझे लगभग 15 मिनट लगे। इकट्ठे बोर्ड को नीचे दिखाया गया है।
बोर्ड को एसी पावर यूनिट / एक्सटेंशन बोर्ड से जोड़ना
बोर्ड को हमारे घरों में एसी पावर सॉकेट के अंदर तय किया गया है। लेकिन इस परियोजना के लिए, हम एक एक्सटेंशन बॉक्स का उपयोग करेंगे। यदि आप अधिक स्थायी समाधान चाहते हैं, तो इसे अपने एसी पावर सॉकेट्स के अंदर वायर करें, जैसा कि आप देख सकते हैं कि पीसीबी की लंबाई के नीचे एक एसी पावर सॉकेट के अंदर रखा जा सकता है।
सुनिश्चित करें कि आप एसी मेन के साथ काम करते समय सुरक्षा सावधानी बरतें। हमारे पीसीबी बोर्ड से अपने रिले और स्विच कैसे कनेक्ट करें, यह समझने के लिए नीचे दिए गए सर्किट आरेख का पालन करें।
कनेक्शन आरेख केवल एक रिले और स्विच के लिए नीचे है, लेकिन आप केवल शेष तीन के लिए भी इसे दोहरा सकते हैं। कनेक्शन हो जाने के बाद, आपका बोर्ड इस तरह दिखना चाहिए
एक बार कनेक्शन बन जाने के बाद, सुनिश्चित करें कि आपने उन्हें स्क्रू टर्मिनलों के साथ कसकर सुरक्षित कर दिया है और अतिरिक्त सुरक्षा के लिए गर्म गोंद का उपयोग करें। सब कुछ वापस बॉक्स में पैक करें और हमें परीक्षण के लिए तैयार होना चाहिए। आप इस परियोजना का पूरा काम नीचे दिए गए वीडियो में देख सकते हैं।
मुझे आशा है कि आपने लेख का आनंद लिया और कुछ उपयोगी सीखा। यदि आपके कोई प्रश्न हैं, तो कृपया उन्हें नीचे टिप्पणी अनुभाग में छोड़ दें या हमारे मंचों का उपयोग करें।