वाईफाई का उपयोग कर अपने स्मार्टफोन से अपने स्टोव को नियंत्रित करना

आधुनिक दुनिया में, अगर हम चारों ओर देखें, तो हम देख सकते हैं कि इलेक्ट्रॉनिक्स में शामिल होने वाली हर चीज कुछ हद तक स्वचालित है। होम ऑटोमेशन सिस्टम या स्मार्ट होम आजकल बहुत आम हैं। इन प्रणालियों का उपयोग करके विभिन्न घरेलू उपकरणों को एक मोबाइल एप्लिकेशन का उपयोग करके स्वचालित किया जा सकता है। लेकिन इनमें से अधिकांश प्रणालियों में कुछ भी शामिल नहीं है जो आपके गैस स्टोव को स्वचालित करता है। इस लेख में, हम एक ऐसी प्रणाली विकसित करने जा रहे हैं जो आपको मोबाइल एप्लिकेशन का उपयोग करके अपने गैस स्टोव को नियंत्रित करने की अनुमति देगा। इस एप्लिकेशन का उपयोग मुख्य वाल्व से गैस वाल्व को खोलने या बंद करने और आग के निर्माण के लिए स्पार्क प्लग को प्रज्वलित करने के लिए किया जाएगा।



स्मार्ट स्टोव

कैसे अपने मोबाइल के माध्यम से गैस स्टोव स्वचालित करने के लिए?

अब जैसा कि हम परियोजना के सार को जानते हैं, आइए हम आगे बढ़ते हैं और काम शुरू करने के लिए विभिन्न जानकारी एकत्र करते हैं। हम पहले घटकों की एक सूची बनाएंगे और फिर एक कार्य प्रणाली बनाने के लिए सभी घटकों को एक साथ इकट्ठा करेंगे।



चरण 1: घटकों को इकट्ठा करना

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



  • ESP32
  • Arduino के लिए गैस वाल्व
  • जम्पर तार
  • 5V रिले मॉड्यूल
  • 2N2222 एनपीएन ट्रांजिस्टर
  • 1k-ओम रेसिस्टर
  • 10k-ओम रेसिस्टर
  • 5V स्पार्क प्लग

चरण 2: एक Android अनुप्रयोग विकसित करना

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



हम इस एप्लिकेशन में थोड़ा संशोधन करेंगे। पहले बटन बनाने और उसे फायरबेस से कनेक्ट करने के लिए उसी प्रक्रिया का पालन करके, हम एक और बटन बनाएंगे जो फायरबेस से जुड़ा होगा।

एक बटन का उपयोग गैस वाल्व को खोलने और बंद करने के लिए किया जाएगा और दूसरे बटन का उपयोग एक स्पार्क बनाने के लिए किया जाएगा जो इसके लिए जिम्मेदार होगा इग्निशन

चरण 3: सर्किट बनाना

जैसा कि अब हम इस परियोजना के मुख्य क्रॉक्स को जानते हैं, आइए हम अंतिम सर्किट बनाने के लिए सभी घटकों को एक साथ इकट्ठा करते हैं।



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

एक स्विच के रूप में ट्रांजिस्टर

उपरोक्त आंकड़े में, कनेक्ट करें वाइन के पिन को पोर्ट ESP32 , पोर्ट Vcc को बाहरी 5V सप्लाई से कनेक्ट करें और Vo को रिले मॉड्यूल से कनेक्ट करें। मुख्य कारण जो हम एक स्विच के रूप में ट्रांजिस्टर का उपयोग कर रहे हैं वह यह है कि एक रिले को संचालित करने के लिए 5V की आवश्यकता होती है लेकिन ESP32 केवल 3.3V कर सकता है। इसलिए हमें रिले को 5 वी बाहरी प्रदान करने की आवश्यकता है।

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

रिले मॉड्यूल

चरण 4: कार्य करना

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

चरण 5: ईएसपी 32 के साथ शुरुआत करना

यदि आपने पहले Arduino IDE पर काम नहीं किया है, तो चिंता न करें क्योंकि Arduino IDE को सेट करने के लिए चरण दर चरण नीचे दिखाया गया है।

  1. से Arduino IDE का नवीनतम संस्करण डाउनलोड करें Arduino।
  2. अपने Arduino बोर्ड को पीसी से कनेक्ट करें और कंट्रोल पैनल खोलें। पर क्लिक करें हार्डवेयर और ध्वनि। अब खोलो डिवाइस और प्रिंटर और उस पोर्ट को ढूंढें जिससे आपका बोर्ड जुड़ा हुआ है। मेरे मामले में यह है COM14 लेकिन यह अलग-अलग कंप्यूटरों में अलग है।

    पोर्ट ढूँढना

  3. File पर क्लिक करें और फिर Preferences पर क्लिक करें। निम्नलिखित लिंक को कॉपी करें अतिरिक्त बोर्ड प्रबंधक का URL ' https://dl.espressif.com/dl/package_esp32_index.json '

    पसंद

  4. अब, Arduino IDE के साथ ESP32 का उपयोग करने के लिए, हमें विशेष पुस्तकालयों को आयात करने की आवश्यकता है जो हमें ESP32 पर कोड को जलाने और इसका उपयोग करने की अनुमति देगा। ये दोनों लाइब्रेरी नीचे दिए गए लिंक से जुड़ी हुई हैं। पुस्तकालय, गोटो को शामिल करने के लिए स्केच> लाइब्रेरी शामिल करें> ज़िप लाइब्रेरी जोड़ें । एक बॉक्स दिखाई देगा। अपने कंप्यूटर पर ज़िप फ़ोल्डर ढूंढें और फ़ोल्डर्स शामिल करने के लिए ठीक क्लिक करें।

    लाइब्रेरी शामिल करें

  5. अब गोटो स्केच> लाइब्रेरी शामिल करें> लाइब्रेरी प्रबंधित करें।

    पुस्तकालयों का प्रबंधन करें

  6. एक मेनू खुल जाएगा। सर्च बार में टाइप करें अरुडिनो जेन्सन। एक सूची दिखाई देगी। इंस्टॉल बेनोइट ब्लांचन द्वारा Arduino JSON।

    अरुडिनो जेन्सन

  7. अब on पर क्लिक करें उपकरण। एक ड्रॉपडाउन मेनू दिखाई देगा। बोर्ड को सेट करें ईएसपी देव मॉड्यूल।

    बोर्ड की स्थापना

  8. टूल मेनू पर फिर से क्लिक करें और उस पोर्ट को सेट करें जिसे आपने पहले कंट्रोल पैनल में देखा था।

    पोर्ट की स्थापना

  9. अब नीचे दिए गए लिंक में संलग्न कोड अपलोड करें और ESP32 माइक्रोकंट्रोलर पर कोड को जलाने के लिए अपलोड बटन पर क्लिक करें।

    डालना

इसलिए अब जब आप कोड अपलोड करेंगे, तो एक त्रुटि हो सकती है। यह सबसे आम त्रुटि है जो तब हो सकती है यदि आप Arduino IDE और Arduino JSON के नए संस्करण का उपयोग कर रहे हैं। निम्नलिखित त्रुटियां हैं जो आप स्क्रीन पर देख सकते हैं।

C:  Users  Pro  Documents  Arduino  पुस्तकालयों  IOXhop_FirebaseESP32-master / IOXhop_FirebaseESP32.h: 8: 0, C से शामिल फ़ाइल में: C: के उपयोगकर्ता / Pro  Desktop  smartHome  code  code.ino: 2: C: :  Users  Pro  Documents  Arduino  पुस्तकालयों  IOXhop_FirebaseESP32-master / IOXhop_FirebaseStream.h: 14: 11: एरर: StaticJsonBuffer ArduinoJson 5 से एक वर्ग है। कृपया देखें arduinojson.org/upgrad अपने प्रोग्राम को अपग्रेड करने का तरीका जानने के लिए। संस्करण 6 StaticJsonBuffer jsonBuffer; ^ C:  Users  Pro  Documents  Arduino  पुस्तकालयों  IOXhop_FirebaseESP32-master / IOXhop_FirebaseESP32.h: 8: 0, C से शामिल किए गए: C से  Users  Pro  Desktop  smartHome  code  code.ino: 2: 2। C:  Users  Pro  Documents  Arduino  पुस्तकालयों  IOXhop_FirebaseESP32-master / IOXhop_FirebaseStream.h: 65: 11: त्रुटि: StaticJsonBuffer ArduinoJson 5. से एक वर्ग है। कृपया देखें arduinojson.org/upgrad ArduinoJson संस्करण 6 रिटर्न StaticJsonBuffer ()। ParseObject (_data); ^ 'WiFi.h' के लिए एकाधिक लाइब्रेरी का उपयोग किया गया: C:  Users  Pro  AppData  Local  Arduino15  package  esp32  हार्डवेयर  esp32  1.0.2  पुस्तकालयों  WiFi का उपयोग नहीं किया गया: C: प्रोग्राम फ़ाइलें ( x86)  Arduino  पुस्तकालयों  WiFi फ़ोल्डर में संस्करण 1.0 में लाइब्रेरी वाईफाई का उपयोग करना: C:  Users  Pro  AppData  Local  Arduino15  package  esp32  हार्डवेयर  esp32  1.0.2  पुस्तकालयों / वाईफाई का उपयोग पुस्तकालय IOXhop_FirebaseESP32-master फ़ोल्डर में: C:  Users  Pro  Documents  Arduino  पुस्तकालयों  IOXhop_FirebaseESP32-master (विरासत) का उपयोग कर रहा है पुस्तकालय HTTP 1.2 संस्करण में फ़ोल्डर में 1.2: C:  Users  Pro  App ata  Local  Arduino15  पैकेज  esp32  हार्डवेयर  हार्डवेयर  esp32  1.0.2  पुस्तकालयों  HTTPClient पुस्तकालय WiFiClientSecure का संस्करण 1.0 में फ़ोल्डर में उपयोग कर रहा है: C:  Users  Pro  AppData  Local  Arduino15  package  esp32  हार्डवेयर  esp32 / 1.0.2  पुस्तकालयों  WiFiClientSecure लाइब्रेरी ArduinoJson का उपयोग करते हुए। संस्करण 6.12.0 फ़ोल्डर में: C:  Users  Pro  Documents  Arduino  पुस्तकालयों  ArduinoJson निकास स्थिति 1 बोर्ड ESP32 देव मॉड्यूल के लिए संकलन में त्रुटि।

चिंता करने की कोई बात नहीं है क्योंकि हम कुछ सरल चरणों का पालन करके इन त्रुटियों को समाप्त कर सकते हैं। ये त्रुटियां उत्पन्न हो रही हैं क्योंकि Arduino JSON के नए संस्करण की जगह एक और वर्ग है StaticJsonBuffer। यह JSON 5 का वर्ग है। इसलिए हम अपनी Arduino JE के Arduino JSON के संस्करण को डाउनग्रेड करके बस इस त्रुटि को समाप्त कर सकते हैं। बस करने के लिए जाओ स्केच> लाइब्रेरी शामिल करें> लाइब्रेरी प्रबंधित करें। निम्न को खोजें बेनोइट ब्लांचन द्वारा Arduino JSON जो आपने पहले स्थापित किया है। पहले इसे अनइंस्टॉल करें और फिर इसके संस्करण पर सेट करें 5.13.5। अब जैसा कि हमने Arduino JSON का एक पुराना संस्करण सेट किया है, इसे फिर से इंस्टॉल करें और कोड को फिर से जोड़ें। इस बार, आपका कोड सफलतापूर्वक संकलित होगा।

कोड डाउनलोड करने के लिए, क्लिक यहाँ।

चरण 6: कोड

संलग्न कोड बहुत अच्छी तरह से टिप्पणी की है, लेकिन फिर भी, इसके कुछ हिस्सों को नीचे समझाया गया है।

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

#include // WiFi का उपयोग करने के लिए लाइब्रेरी शामिल करें #include // में Firebase से जुड़ने के लिए पुस्तकालय शामिल करें परिभाषित करें WIFI_SSID 'xxxxxxxxxx' // हमारे XXX कनेक्शन #define WIFI_PASSWORD 'xxxxxxxxxx' के नाम से xxxxxxxxxx को प्रतिस्थापित करें। // xxxxxxxxxx को उनके wifi पासवर्ड #define वाल्व 34 से प्रतिस्थापित करें। इस पिन से गैस वाल्व कनेक्ट करें #define स्पार्क 35 // कनेक्ट स्पार्क इस पिन को प्लग करें

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

शून्य सेटअप () {Serial.begin (115200); // सेट बॉड रेट पिनमोड (वाल्व, OUTPUT); // सेट पिन 34 को OUTPUT पिनमोड (स्पार्क, OUTPUT) के रूप में उपयोग किया जा सकता है; // सेट पिन 35 का उपयोग OUTPUT // के रूप में किया जाना है। वाईफाई से कनेक्ट करें। WiFi.begin (WIFI_SSID, WIFI_PASSWORD); Serial.println ( 'जोड़ने'); जबकि (WiFi.status ()! = WL_CONNECTED) {Serial.print ('।'); देरी (500); } Serial.println (); सीरियल.प्रिंट ('कनेक्टेड:'); Serial.println (WiFi.localIP ()); Firebase.begin (FIREBASE_HOST, FIREBASE_AUTH); }

3। शून्य लूप () वह कार्य है जो एक लूप में बार-बार चलता है। इस लूप में, मूल्यों को फायरबेस से पढ़ा जा रहा है और जांच की जाती है कि क्या वे शून्य या एक हैं। यदि मान एक हैं, तो पिन को एक उच्च संकेत भेजा जाता है जिसके परिणामस्वरूप रिले मॉड्यूल चालू हो जाएगा। यदि मूल्य शून्य है, तो ईएसपी के पिन पर एक एलओवी सिग्नल भेजा जाएगा जिसके परिणामस्वरूप रिले बंद हो जाएगा।

शून्य लूप () {// get value temp1 = Serial.println (Firebase.getFloat ('light')); // गैस वाल्व टेम्प् 2 के स्वाटचिंग के लिए मान प्राप्त करें = Serial.println (Firebase.getFloat ('AC')); // स्पार्क प्लग के स्विचिंग के लिए vaue प्राप्त करें यदि (temp1 == 1) {digitalWrite (वाल्व, हाई) // relay एक पर चालू करें} अन्यथा (temp1 == 0) {digitalWrite (वाल्व, LOW) // टर्न बंद रिले एक} और अगर if (temp2 == 1) {digitalWrite (स्पार्क, हाई) // रिले दो चालू करें} और यदि (temp2 == 0) {digitalWrite (स्पार्क, LOW) // तो रिले दो} // चालू करें अगर (Firebase.failed ()) {Serial.print ('सेटिंग / नंबर विफल:') त्रुटि को हैंडल करें; Serial.println (Firebase.error ()); वापसी; } देरी (1000); }

आज के लिए इतना ही। अब, आप घर पर हमारे अपने स्मार्ट स्टोव बना सकते हैं। भविष्य में इस तरह के और अधिक रोचक लेखों के लिए हमारी साइट की जाँच करते रहें।