विषयसूची:
- चरण 1: सर्किट को तार दें
- चरण 2: वेब ऐप्स तैयार करें
- चरण 3: NodeMCU बोर्ड को प्रोग्राम करें
- चरण 4: अपने डिवाइस का आनंद लें
वीडियो: NodeMCU (Arduino), Google Firebase और Laravel का उपयोग करके रीयलटाइम इवेंट नोटिफिकेशन: 4 चरण (चित्रों के साथ)
2024 लेखक: John Day | [email protected]. अंतिम बार संशोधित: 2024-01-30 09:22
क्या आप चाहते हैं कि आपकी वेबसाइट पर कोई कार्रवाई होने पर आपको सूचित किया जाए लेकिन ईमेल सही नहीं है? क्या आप हर बार बिक्री करते समय एक ध्वनि या घंटी सुनना चाहते हैं? या घर पर किसी आपात स्थिति के कारण आपको तत्काल ध्यान देने की आवश्यकता है?
यह उपकरण आपको वास्तविक समय में आपकी पसंद की किसी भी चीज़ के बारे में सचेत कर सकता है।
चरण 1: सर्किट को तार दें
मेरे द्वारा बनाई गई डिवाइस में एक वेबसाइट पर की गई बिक्री के बारे में मुझे सचेत करने के लिए एक बजर के साथ एक NodeMCU बोर्ड होता है। माइक्रोकंट्रोलर को Arduino सॉफ़्टवेयर का उपयोग करके प्रोग्राम किया जाता है और ट्रिगर करने वाला हिस्सा कोई भी वेब, iOS या Android एप्लिकेशन हो सकता है। मैंने दो सरल वेब एप्लिकेशन बनाए हैं, एक लारवेल में और दूसरा सादे HTML और जावास्क्रिप्ट में उदाहरण के लिए।
चूंकि NodeMCU बोर्ड पिन पर लगभग 12mA करंट तक सुरक्षित रूप से काम कर सकता है, बजर एक NPN ट्रांजिस्टर के माध्यम से जुड़ा होता है। मैंने 2N2222 का उपयोग किया है क्योंकि मेरे पास उनमें से कई बिछाए गए हैं, लेकिन मुझे यकीन है कि सिद्धांत किसी भी अन्य NPN ट्रांजिस्टर के साथ समान होगा।
सर्किट को तार करने के लिए, ट्रांजिस्टर के कलेक्टर को बोर्ड पर विन पिन से कनेक्ट करें। बजर 5V पर काम करता है और चूंकि हम USB से डिवाइस को पावर देने वाले हैं, यह पिन हमें बोर्ड पर 3.3V रेगुलेटर से पहले वोल्टेज देगा।
इसके बाद ट्रांजिस्टर के एमिटर पर बजर के सकारात्मक पक्ष को और बजर के नकारात्मक पिन को बोर्ड के किसी भी ग्राउंड पिन से कनेक्ट करें। मैंने पिन 2 का उपयोग किया है, लेकिन आप इसे पिन 9, 25 या 29 पर भी कनेक्ट कर सकते हैं।
ट्रांजिस्टर का आधार पिन D2 से जुड़ा है जो Arduino सॉफ़्टवेयर पर GPIO 4 से संबंधित है। इस सेटअप के साथ, ट्रांजिस्टर प्रत्येक घटना पर बजर को चालू करने वाले स्विच के रूप में प्रभावी ढंग से कार्य करेगा। बजर के बजाय आप एक रिले को उसी तरह से कनेक्ट कर सकते हैं जैसे कि आप किसी भी मुख्य उपकरण जैसे कि लाइट बल्ब, मशीन या सायरन को चलाने में सक्षम हो सकते हैं यदि आप कोई अलार्म डिवाइस बना रहे हैं।
चरण 2: वेब ऐप्स तैयार करें
डिवाइस के ट्रिगरिंग और रीयल टाइम पार्ट के लिए, हम Google के फायरबेस रीयलटाइम डेटाबेस का उपयोग करेंगे। यह Google द्वारा बनाया गया एक अद्भुत NoSQL क्लाउड डेटाबेस है जो उपयोग किए जा रहे प्रत्येक प्लेटफ़ॉर्म के बीच रीयल टाइम डेटा सिंक्रोनाइज़ेशन प्रदान करता है।
पहले अपनी पसंद के नाम से प्रोजेक्ट बनाएं। एक बार बनाने के बाद, "गिनती" नामक एक नोड बनाएं और इसे 0 के मान के साथ आरंभ करें। यह हमारी प्रारंभिक गणना होगी जिसे हम भविष्य में पालन करना चाहते हैं।
लारवेल एप्लिकेशन क्रेइट से "फायरबेस-पीएचपी" पैकेज का उपयोग करता है, और यह नीचे से जुड़ा हुआ है। "संगीतकार को kreait/firebase-php की आवश्यकता है" चलाकर पैकेज स्थापित करें। एक बार इंस्टॉलेशन हो जाने के बाद, हमें कंट्रोलर बनाने की जरूरत है जहां कार्रवाई होगी। मैंने विधि को "अपडेट" नाम दिया है और मैंने इसे POST क्रिया पर मार्गों में जोड़ा है।
फायरबेस इंस्टेंस को पुनः प्राप्त करने के लिए आपको एक जेसन फ़ाइल की आवश्यकता होती है जिसे आपको अपने फायरबेस कंसोल से डाउनलोड करने की आवश्यकता होती है। इस फ़ाइल को अपने Laravel प्रोजेक्ट के रूट में रखें और इसे firebase.json नाम दें। फायरबेस इंस्टेंस को पुनर्प्राप्त करते समय, हमें withCredentials विधि का उपयोग करके इस फ़ाइल को पथ प्रदान करने की आवश्यकता होती है।
फायरबेस इंस्टेंस मिलने के बाद, हमें डेटाबेस और उस नोड का संदर्भ प्राप्त करने की आवश्यकता है जिसे हमने पहले बनाया है। प्रत्येक क्रिया पर, हम नोड का वर्तमान मान प्राप्त करेंगे, इसे एक से बढ़ाएंगे और डेटाबेस में वापस सहेजेंगे। यह हमारी घटनाओं का ट्रैक रखेगा जिनके बारे में हमें सूचित करने की आवश्यकता है।
प्रदान की गई फायरबेस लाइब्रेरी का उपयोग करके इसे सादे HTML और जावास्क्रिप्ट के साथ प्राप्त किया जा सकता है। इसके साथ हमें सबसे पहले फ़ायरबेस कंसोल से उपयुक्त सेटिंग्स के साथ कॉन्फिग ऐरे प्रदान करने और ऐप को इनिशियलाइज़ करने की आवश्यकता है। एक बार इनिशियलाइज़ होने के बाद, हमें उस नोड का संदर्भ मिलता है जहाँ हम ईवेंट काउंट को स्टोर करते हैं और किसी भी मूल्य परिवर्तन को पुनः प्राप्त करने के लिए एक श्रोता को संलग्न करते हैं।
इसके अतिरिक्त, लारवेल उदाहरण के रूप में फॉर्म जमा करने के बजाय, अब हमारे पास एक जावास्क्रिप्ट फ़ंक्शन है जिसे बटन क्लिक पर कॉल किया जा रहा है, गिनती को अपडेट करता है और अद्यतन मूल्य को डेटाबेस में वापस लिखता है।
चरण 3: NodeMCU बोर्ड को प्रोग्राम करें
NodeMCU को प्रोग्राम करने के लिए, मैंने Arduino सॉफ़्टवेयर का उपयोग किया है और बोर्ड को स्थापित करने के बाद मैंने उचित संस्करण और पोर्ट का चयन करना सुनिश्चित किया ताकि मैं सॉफ़्टवेयर अपलोड कर सकूं। मेरा संस्करण 1.0 है इसलिए आगे बढ़ने से पहले अपने बोर्ड से दोबारा जांच लें।
Arduino कोड का पहला भाग, सभी आवश्यक परिभाषाएँ सेट करता है जिन्हें आपको अपने डिवाइस पर समायोजित करने की आवश्यकता होगी। इस तरह की पहली सेटिंग वाईफाई का एसएसआईडी और उसका पासवर्ड है, फिर हमें फायरबेस यूआरएल और फायरबेस डीबी सीक्रेट सेटअप करने की जरूरत है। दुर्भाग्य से, यह डेटाबेस से जुड़ने का अनुशंसित तरीका नहीं है, लेकिन अभी तक यह एकमात्र तरीका है जिससे पुस्तकालय इसका समर्थन करता है। आप इस रहस्य को फायरबेस कंसोल में प्रोजेक्ट सेटिंग्स, सर्विस अकाउंट्स मेनू के तहत पा सकते हैं।
अगली परिभाषा वह पथ है जिसे हम अपडेट और डिवाइस आईडी के लिए जांचेंगे। डिवाइस आईडी की आवश्यकता है, इसलिए यदि हमारे पास एक ही घटना के बारे में सूचित करने के लिए कई उपकरण हैं, तो हमें यह जानना होगा कि किस उपकरण ने हमें घटना के लिए सूचित किया और उसका रिकॉर्ड रखा। आखिरी में हमें उस पिन को सेटअप करना होगा जिस पर हमने बजर कनेक्ट किया है और यह हमारे मामले में डी 2 है।
सेटअप फ़ंक्शन बिल्ट इन एलईडी पिन और डी 2 पिन को आउटपुट के रूप में परिभाषित करता है, यह जानने के लिए सीरियल संचार शुरू करता है कि क्या हो रहा है और निर्दिष्ट वाईफाई नेटवर्क से जुड़ता है। एक बार कनेक्शन स्थापित हो जाने के बाद, यह फायरबेस के साथ संचार शुरू करता है और हमारे द्वारा रिपोर्ट किया गया अंतिम मूल्य प्राप्त करता है। यह तब निर्दिष्ट पथ पर परिवर्तनों को सुनना शुरू करता है।
मुख्य लूप में, ब्लिंक फ़ंक्शन के लिए एक कॉल होती है जो 500 मिलीसेकंड के लिए अंतर्निहित एलईडी को ब्लिंक करती है ताकि हम यह बता सकें कि डिवाइस सक्रिय है। जब एक परिवर्तन का पता चलता है और उपलब्ध डेटा होता है जिसे हम उपलब्ध फ़ंक्शन के साथ पढ़ सकते हैं, नोड का नया मान पढ़ा जा रहा है, अंतर की गणना की जाती है क्योंकि इस बीच कई घटनाएं हो सकती हैं और हर बार एक बीप उत्पन्न होती है अंतर का।
उदाहरण के लिए, यदि अंतिम रिपोर्ट किए गए मान और नए मान के बीच का अंतर 4 है, तो आपको यह बताने के लिए 4 बीप का उत्पादन किया जाएगा कि 4 नई खरीदारी की गई थी। बीप फ़ंक्शन एक निर्धारित अवधि के लिए बजर के माध्यम से एक निर्दिष्ट आवृत्ति को चलाने के लिए अंतर्निहित टोन फ़ंक्शन का उपयोग करता है।
बीप उत्पन्न होने के बाद, निर्दिष्ट डिवाइस के लिए नया मान अपडेट किया जाता है और स्ट्रीमिंग फिर से शुरू हो जाती है। वर्तमान में arduino फायरबेस लाइब्रेरी पर एक खुला मुद्दा है कि जब हम मैन्युअल रूप से किसी मान को सहेजते हैं तो स्ट्रीमिंग स्वचालित रूप से जारी नहीं रहती है इसलिए हमें इसे पुनरारंभ करने की आवश्यकता होती है।
चरण 4: अपने डिवाइस का आनंद लें
मेरे द्वारा उपयोग किया गया पूरा कोड परियोजना के योजनाबद्ध लिंक के साथ नीचे लिंक किए गए मेरे GitHub खाते पर उपलब्ध है।
सोर्स कोड
ढांच के रूप में
कोड को कई अलग-अलग परिदृश्यों और घटनाओं के लिए काम करने के लिए आसानी से अपनाया जा सकता है और मुझे यकीन है कि आपको इसके साथ खेलने में बहुत मज़ा आएगा।
मेरे लिए यह वास्तव में एक मजेदार निर्माण था और मैं इस पर काफी कुछ सीखने में कामयाब रहा और इसके लिए मैं वास्तव में खुश हूं। मुझे उम्मीद है कि यह आपकी परियोजना में आपकी मदद कर सकता है, लेकिन अगर आप खुद को इसके किसी हिस्से में फंसा हुआ पाते हैं या आपको कुछ और स्पष्टीकरण की आवश्यकता है, तो कृपया मुझे टिप्पणियों में बताएं और मैं आपकी मदद करने की पूरी कोशिश करूंगा।
अगर आपको प्रोजेक्ट पसंद आया तो कृपया मेरे YouTube चैनल को सब्सक्राइब करें:
कोड का स्वाद लें
सिफारिश की:
DIY -- कैसे एक स्पाइडर रोबोट बनाने के लिए जिसे Arduino Uno का उपयोग करके स्मार्टफ़ोन का उपयोग करके नियंत्रित किया जा सकता है: 6 चरण
DIY || कैसे एक स्पाइडर रोबोट बनाने के लिए जिसे Arduino Uno का उपयोग करके स्मार्टफ़ोन का उपयोग करके नियंत्रित किया जा सकता है: स्पाइडर रोबोट बनाते समय, रोबोटिक्स के बारे में बहुत सी बातें सीख सकते हैं। जैसे रोबोट बनाना मनोरंजक होने के साथ-साथ चुनौतीपूर्ण भी है। इस वीडियो में हम आपको स्पाइडर रोबोट बनाने का तरीका दिखाने जा रहे हैं, जिसे हम अपने स्मार्टफोन (Androi
Arduino UNO का उपयोग करके ड्रोन कैसे बनाएं - माइक्रोकंट्रोलर का उपयोग करके क्वाडकॉप्टर बनाएं: 8 कदम (चित्रों के साथ)
Arduino UNO का उपयोग करके ड्रोन कैसे बनाएं | माइक्रोकंट्रोलर का उपयोग करके क्वाडकॉप्टर बनाएं: परिचय मेरे यूट्यूब चैनल पर जाएंएक ड्रोन खरीदने के लिए एक बहुत महंगा गैजेट (उत्पाद) है। इस पोस्ट में मैं चर्चा करने जा रहा हूँ कि मैं इसे सस्ते में कैसे बना सकता हूँ ?? और आप इसे सस्ते दाम पर कैसे बना सकते हैं … वैसे भारत में सभी सामग्री (मोटर, ईएससी
Neopixel Ws2812 M5stick-C के साथ इंद्रधनुष एलईडी चमक - Arduino IDE का उपयोग करके M5stack M5stick C का उपयोग करके Neopixel Ws2812 पर इंद्रधनुष चलाना: 5 चरण
Neopixel Ws2812 M5stick-C के साथ इंद्रधनुष एलईडी चमक | Arduino IDE का उपयोग करके M5stack M5stick C का उपयोग करके Neopixel Ws2812 पर इंद्रधनुष चलाना: हाय दोस्तों इस निर्देश में हम सीखेंगे कि कैसे Arduino IDE के साथ m5stack m5stick-C डेवलपमेंट बोर्ड के साथ neopixel ws2812 LED या एलईडी स्ट्रिप या एलईडी मैट्रिक्स या एलईडी रिंग का उपयोग करना है और हम करेंगे इसके साथ एक इंद्रधनुष पैटर्न
Arduino और TFT डिस्प्ले का उपयोग करके रीयलटाइम घड़ी कैसे बनाएं - 3.5 इंच TFT डिस्प्ले के साथ Arduino मेगा RTC: 4 कदम
Arduino और TFT डिस्प्ले का उपयोग करके रीयलटाइम क्लॉक कैसे बनाएं | 3.5 इंच TFT डिस्प्ले के साथ Arduino मेगा RTC: मेरे Youtube चैनल पर जाएँ। परिचय: - इस पोस्ट में मैं 3.5 इंच TFT टच LCD, Arduino Mega का उपयोग करके "रियल टाइम क्लॉक" बनाने जा रहा हूँ 2560 और DS3231 RTC मॉड्यूल….शुरू करने से पहले…मेरे YouTube चैनल से वीडियो देखें..नोट:- यदि आप Arduin का उपयोग कर रहे हैं
रीयलटाइम MPU-6050/A0 Arduino और Android के साथ डेटा लॉगिंग: 7 चरण (चित्रों के साथ)
रीयलटाइम MPU-6050/A0 Arduino और Android के साथ डेटा लॉगिंग: मुझे मशीन सीखने के लिए Arduino का उपयोग करने में दिलचस्पी है। पहले चरण के रूप में, मैं एक एंड्रॉइड डिवाइस के साथ एक रीयलटाइम (या इसके बहुत करीब) डेटा डिस्प्ले और लॉगर बनाना चाहता हूं। मैं MPU-6050 से एक्सेलेरोमीटर डेटा कैप्चर करना चाहता हूं इसलिए मैं डिजाइन करता हूं