ESP8266 के साथ अपना खुद का वाई-फाई कनेक्टेड बटन कैसे बनाएं

ESP8266 के साथ अपना खुद का वाई-फाई कनेक्टेड बटन कैसे बनाएं

इंटरनेट ऑफ थिंग्स में DIY की विशाल क्षमता है। पर्याप्त जानकारी और कुछ सस्ते घटकों के साथ, आप जुड़े उपकरणों की एक जटिल प्रणाली का निर्माण कर सकते हैं।





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





आज हम एक NodeMCU का उपयोग करके एक वाई-फाई सक्षम बटन बनाएंगे, और इसे IFTTT का उपयोग करने के लिए प्रोग्राम करेंगे … ठीक है, कुछ भी! वीडियो के बाद लिखित निर्देश, यदि आप चाहें।





आपको किस चीज़ की ज़रूरत पड़ेगी

आपको चाहिये होगा:

  • 1 x NodeMCU (ESP8266) बोर्ड, के लिए उपलब्ध है अलीएक्सप्रेस पर 2-3 डॉलर
  • 1 एक्स पुशबटन
  • 1 एक्स एलईडी (वैकल्पिक)
  • 1 x 220 ओम रोकनेवाला (वैकल्पिक)
  • ब्रेडबोर्ड और हुकअप तार
  • प्रोग्रामिंग के लिए माइक्रो यूएसबी
  • Arduino IDE वाला कंप्यूटर स्थापित

NodeMCU के अलावा, आपको इनमें से अधिकांश भागों को किसी भी Arduino स्टार्टर किट में खोजने में सक्षम होना चाहिए। यह ट्यूटोरियल मान लेगा कि आप वैकल्पिक एलईडी और रोकनेवाला का उपयोग कर रहे हैं, लेकिन वे आवश्यक नहीं हैं।



चरण 1: सर्किट की स्थापना

इस परियोजना के लिए हार्डवेयर सेटअप बहुत सरल है। इस आरेख के अनुसार अपना बोर्ड स्थापित करें।

बैंगनी तार जुड़ता है पिन डी0 बटन के एक तरफ। हरे रंग का तार बटन के दूसरी तरफ को से जोड़ता है आरएसटी पिन . नीला तार से चलता है पिन डी1 रोकनेवाला और एलईडी के लिए। एलईडी का ऋणात्मक पैर से जुड़ता है जीएनडी पिन NodeMCU की।





जब ब्रेडबोर्ड सेट किया जाता है तो उसे कुछ इस तरह दिखना चाहिए:

ऑफ़लाइन संगीत सुनने के लिए सबसे अच्छा ऐप

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





चरण 2: आईडीई सेट करना

कोडिंग शुरू करने से पहले, आपको कुछ तैयारी करने की जरूरत है। यदि आपने पहले से ऐसा नहीं किया है, तो अपने NodeMCU बोर्ड को पहचानने के लिए Arduino IDE सेट करें। आप इसे के माध्यम से अपनी बोर्ड सूची में जोड़ सकते हैं फ़ाइल> वरीयताएँ .

आप हमारे NodeMCU परिचय लेख में इस चरण की अधिक विस्तृत व्याख्या पा सकते हैं।

इस परियोजना के लिए दो पुस्तकालयों की आवश्यकता है। पर जाए स्केच> लाइब्रेरी शामिल करें> लाइब्रेरी प्रबंधित करें . निम्न को खोजें ESP8266WIFI इवान ग्रोखोटकोव द्वारा और इसे स्थापित करें। यह पुस्तकालय NodeMCU बोर्ड के साथ वाई-फाई कनेक्शन बनाने के लिए लिखा गया है।

के लिए अगली खोज आईएफटीटीटीवेबहुक जॉन रोमकी द्वारा और नवीनतम संस्करण स्थापित करें। यह पुस्तकालय IFTTT को वेबहुक भेजने की प्रक्रिया को सरल बनाने के लिए डिज़ाइन किया गया है।

हमें बस इतनी ही तैयारी की जरूरत है, आइए कोड!

कोड कैसे काम करेगा

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

जब बटन दबाया जाता है, तो यह लिंक हो जाएगा डी0 तथा आरएसटी पिन यह बोर्ड को रीसेट करता है, और प्रक्रिया फिर से होती है।

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

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

चरण 3: गहरी नींद का परीक्षण

शुरू करने के लिए, हम यह दिखाने के लिए एक सरल परीक्षण बनाएंगे कि गहरी नींद कैसे काम करती है। Arduino IDE में एक नया स्केच खोलें। निम्नलिखित दो कोड खंड दर्ज करें।

#include
#include
#define ledPin 5
#define wakePin 16
#define ssid 'YOUR_WIFI_SSID'
#define password 'YOUR_WIFI_PASSWORD'
#define IFTTT_API_KEY 'IFTTT_KEY_GOES_HERE'
#define IFTTT_EVENT_NAME 'IFTTT_EVENT_NAME_HERE'

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

अब एक सेटअप फंक्शन बनाएं:

void setup() {
Serial.begin(115200);
while(!Serial) {
}
Serial.println(' ');// print an empty line before and after Button Press
Serial.println('Button Pressed');
Serial.println(' ');// print an empty line
ESP.deepSleep(wakePin);
}

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

अंत में, परीक्षण के लिए, इसे अपने में जोड़ें कुंडली() तरीका:

void loop(){
//if deep sleep is working, this code will never run.
Serial.println('This shouldn't get printed');
}

आमतौर पर, Arduino स्केच सेटअप के बाद लगातार लूप फ़ंक्शन चलाते हैं। चूंकि हम सेटअप समाप्त होने से पहले बोर्ड को सोने के लिए भेजते हैं, लूप कभी नहीं चलता है।

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

सीरियल मॉनिटर के बारे में एक नोट

आपने अपने कुछ प्रोजेक्ट्स के दौरान सीरियल मॉनीटर में कुछ बकवास पात्रों को देखा होगा। यह आमतौर पर सीरियल मॉनीटर को उसी बॉड दर पर सेट न करने के कारण होता है जैसे सीरियल.बेगिन (XXXX) भाव।

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

पावर आइकन टास्कबार विंडोज़ 10 पर नहीं दिख रहा है

यदि आपको सीरियल मॉनिटर के साथ समस्या हो रही है, तो विभिन्न बॉड दरों का प्रयास करें और देखें कि कौन सा आपके लिए सबसे अच्छा काम करता है।

चरण 4: वाई-फाई से कनेक्ट करना

अब अपने वाई-फाई नेटवर्क से कनेक्ट करने के लिए एक फंक्शन बनाएं।

void connectToWifi() {
Serial.print('Connecting to: SSID NAME'); //uncomment next line to show SSID name
//Serial.print(ssid);
WiFi.begin(ssid, password);
Serial.println(' ');// print an empty line
Serial.print('Attempting to connect: ');
//try to connect for 10 seconds
int i = 10;
while(WiFi.status() != WL_CONNECTED && i >=0) {
delay(1000);
Serial.print(i);
Serial.print(', ');
i--;
}
Serial.println(' ');// print an empty line
//print connection result
if(WiFi.status() == WL_CONNECTED){
Serial.print('Connected.');
Serial.println(' ');// print an empty line
Serial.print('NodeMCU ip address: ');
Serial.println(WiFi.localIP());
}
else {
Serial.println('Connection failed - check your credentials or connection');
}
}

यह विधि बीच में एक सेकंड के साथ आपके नेटवर्क से दस बार जुड़ने का प्रयास करती है। सीरियल मॉनीटर पर कनेक्शन प्रिंट की सफलता या विफलता।

चरण 5: कनेक्शन विधि को कॉल करना

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

connectToWifi();

यदि आप सोच रहे हैं कि यह कहाँ फिट बैठता है, तो इसे इस तरह दिखना चाहिए:

स्केच के शीर्ष पर को बदलें SSID तथा पासवर्ड आपके वाई-फ़ाई क्रेडेंशियल के साथ वैरिएबल. अपना स्केच सहेजें और बोर्ड पर अपलोड करें।

अब जब बोर्ड बूट होता है तो यह सेटअप फ़ंक्शन पर लौटने से पहले, आपके वाई-फाई नेटवर्क से कनेक्ट करने का प्रयास करेगा। अब, IFTTT एकीकरण स्थापित करते हैं।

चरण 6: IFTTT एकीकरण स्थापित करना

IFTTT वेब सेवाओं की एक विस्तृत श्रृंखला के साथ एकीकरण की अनुमति देता है। जब भी कोई नया ईमेल प्राप्त होता है तो अलर्ट भेजने के लिए हमने अपने वाई-फाई पीसी टावर एलईडी ट्यूटोरियल में इसका इस्तेमाल किया। आज हम इसका उपयोग एक बटन दबाने पर ट्वीट भेजने के लिए करेंगे।

पर नेविगेट करें मेरे एप्लेट पृष्ठ, और चुनें नया एप्लेट

पर क्लिक करें +यह और कनेक्ट करें वेबहुक . चुनते हैं 'वेब अनुरोध प्राप्त करें' और अपने ईवेंट को नाम दें। इसे सरल रखें ! ईवेंट का नाम नोट कर लें, आपको इसे बाद में अपने NodeMCU कोड में जोड़ना होगा। क्लिक 'ट्रिगर बनाएं' .

अब चुनें +वह . के लिए खोजें ट्विटर सेवा और उससे जुड़ें --- आपको इसे अपने ट्विटर खाते पर पोस्ट करने के लिए अधिकृत करने की आवश्यकता होगी। चुनते हैं 'एक ट्वीट पोस्ट करें' और अपना संदेश चुनें।

अगली स्क्रीन आपको एप्लेट की समीक्षा करने के लिए कहेगी। समाप्त क्लिक करें। इतना ही!

चरण 7: कोड में IFTTT क्रेडेंशियल जोड़ना

Arduino IDE में वापस आपको अपनी IFTTT API कुंजी और ईवेंट नाम को अपने परिभाषित चरों में जोड़ना होगा। एपीआई कुंजी खोजने के लिए, नेविगेट करें मेरे एप्लेट और चुनें वेबहुक नीचे सेवाएं टैब। चुनते हैं प्रलेखन अपनी कुंजी तक पहुँचने के लिए।

उनके लिए सेट किए गए अस्थायी नामों को प्रतिस्थापित करते हुए, कुंजी और ईवेंट नाम को अपने कोड में कॉपी करें।

#define IFTTT_API_KEY 'IFTTT_KEY_GOES_HERE'
#define IFTTT_EVENT_NAME 'IFTTT_EVENT_NAME_HERE'

ध्यान दें, उल्टे अल्पविराम को रहना है, केवल पाठ को बदलना है।

कॉल करने के बीच कनेक्ट टू वाईफाई () और बोर्ड को सोने के लिए भेजना, IFTTTWebhook लाइब्रेरी ऑब्जेक्ट का एक उदाहरण बनाएं। गहरी नींद फिर से शुरू होने से पहले एलईडी सिग्नल कार्य पूरा होने का संकेत देता है।

जेपीईजी का फाइल साइज कैसे कम करें
//just connected to Wi-Fi
IFTTTWebhook hook(IFTTT_API_KEY, IFTTT_EVENT_NAME);
hook.trigger();
pinMode(ledPin, OUTPUT);
digitalWrite(ledPin, HIGH);
delay(200);
digitalWrite(ledPin, LOW);
//now sending board to sleep

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

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

किया हुआ! आप इसे और कैसे सुधार सकते हैं?

यह वाई-फाई बटन का एक मूल संस्करण है, लेकिन ऐसे कई तरीके हैं जिनसे इसे बेहतर बनाया जा सकता है। सादगी के लिए, यहां बिजली के लिए यूएसबी कनेक्शन का उपयोग किया जाता है। एक बैटरी इसे पूरी तरह से मोबाइल बना देगी, और सर्किट को पकड़ने वाला मामला एकदम सही शुरुआती 3D प्रिंटिंग प्रोजेक्ट होगा।

गहरी नींद का उपयोग करने के बावजूद, आप पा सकते हैं कि बैटरी बहुत जल्दी खत्म हो जाएगी। वहां कई हैं Arduino पावर सेविंग टिप्स जो इस प्रकार की परियोजनाओं में मदद करते हैं। जबकि इस ट्यूटोरियल की तुलना में अधिक कठिन है, यदि आपने स्क्रैच से अपना स्वयं का पावर-सचेत Arduino बनाया है, तो बैटरी से चलने वाला वाई-फाई बटन महीनों तक चल सकता है!

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

छवि क्रेडिट: वाडमेरी / जमा तस्वीरें

साझा करना साझा करना कलरव ईमेल 6 श्रव्य विकल्प: सर्वश्रेष्ठ मुफ्त या सस्ते ऑडियोबुक ऐप्स

यदि आप ऑडियो पुस्तकों के लिए भुगतान करना पसंद नहीं करते हैं, तो यहां कुछ बेहतरीन ऐप्स हैं जो आपको उन्हें निःशुल्क और कानूनी रूप से सुनने की सुविधा देते हैं।

आगे पढ़िए
संबंधित विषय
  • DIY
  • अरुडिनो
  • DIY परियोजना ट्यूटोरियल
लेखक के बारे में इयान बकले(२१६ लेख प्रकाशित)

इयान बकले बर्लिन, जर्मनी में रहने वाले एक स्वतंत्र पत्रकार, संगीतकार, कलाकार और वीडियो निर्माता हैं। जब वह लिख नहीं रहा होता है या मंच पर नहीं होता है, तो वह पागल वैज्ञानिक बनने की उम्मीद में DIY इलेक्ट्रॉनिक्स या कोड के साथ छेड़छाड़ कर रहा होता है।

इयान बकले की और फ़िल्में या टीवी शो

हमारे न्यूज़लेटर की सदस्यता लें

तकनीकी युक्तियों, समीक्षाओं, निःशुल्क ई-पुस्तकों और अनन्य सौदों के लिए हमारे न्यूज़लेटर से जुड़ें!

सब्सक्राइब करने के लिए यहां क्लिक करें
श्रेणी Diy