विषयसूची:

द मैपिफ़ायर - मैपिंग + नोटिफिकेशन सिस्टम: 9 चरण
द मैपिफ़ायर - मैपिंग + नोटिफिकेशन सिस्टम: 9 चरण

वीडियो: द मैपिफ़ायर - मैपिंग + नोटिफिकेशन सिस्टम: 9 चरण

वीडियो: द मैपिफ़ायर - मैपिंग + नोटिफिकेशन सिस्टम: 9 चरण
वीडियो: EP37 Volume To Mesh Modifier In Blender 3D In Hindi 2024, नवंबर
Anonim
द मैपिफायर - मैपिंग + नोटिफिकेशन सिस्टम
द मैपिफायर - मैपिंग + नोटिफिकेशन सिस्टम

रात में ड्राइविंग करना काफी मजेदार होता है। लेकिन अक्सर, यह एक दुःस्वप्न बन जाता है, सड़क पार करने वाले जानवरों के रूप में (विशेषकर वे आवारा बिल्लियाँ और कुत्ते, जो आपके पास ड्राइव करने की प्रतीक्षा करते हैं ताकि वे पार कर सकें !!) इसलिए मैंने कुछ ऐसा बनाने के बारे में सोचा जो आपको इन संवेदनशील स्थानों के पास आने पर चेतावनी दे, ताकि आप अधिक सावधानी से गाड़ी चला सकें।

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

आपूर्ति

प्रयुक्त हार्डवेयर

ESP8266 वाईफाई विकास बोर्ड

Ublox NEO-6M GPS मॉड्यूल

एल ई डी

क्षणिक पुश बटन

प्रयुक्त सॉफ्टवेयर

अरुडिनो आईडीई

कोई भी जावास्क्रिप्ट संपादक

फायरबेस (डेटा भंडारण और पुनर्प्राप्ति के लिए)

चरण 1: हार्डवेयर इकाई

हार्डवेयर को दो तरह से काम करने की आवश्यकता होती है (मोड): 1) स्थान को डेटाबेस में संग्रहीत करें: यह डेटा संग्रह प्रक्रिया का एक प्रमुख हिस्सा है; जीपीएस मॉड्यूल द्वारा पुनर्प्राप्त स्थान को ईएसपी 8266 वाईफाई डेवलपमेंट बोर्ड के माध्यम से फायरबेस डेटाबेस में भेजा जाता है।

2) नेविगेशन के दौरान सूचनाएं प्रदान करें: नेविगेशन के दौरान, वर्तमान स्थान को पुनः प्राप्त किया जाता है और डेटाबेस को भेजा जाता है। स्थान के प्रत्येक अद्यतन पर, वर्तमान स्थान और उन स्थानों (जो डेटा संग्रह प्रक्रिया के दौरान संग्रहीत किए गए थे) के बीच की दूरी की गणना की जाती है और इसे ESP8266 मॉड्यूल द्वारा पुनर्प्राप्त किया जाता है जो तब उपयोगकर्ता को चेतावनी देता है कि उपयोगकर्ता उन संग्रहीत स्थानों से कितना निकट है।

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

पुश बटन का उपयोग केवल एक क्लिक (स्टोर/डेटा संग्रह मोड में) में स्थान को स्टोर करने और इन मोड के बीच बदलने के लिए भी किया जाता है।

शक्ति

प्रारंभ में, 3.7V 300mAh की लाइपो बैटरी का उपयोग किया गया था, लेकिन इसने कुछ समस्याएं उत्पन्न कीं। प्रमुख समस्या ESP8266 रीसेटिंग (वर्तमान स्पाइक्स के कारण हो सकती है) थी। साथ ही बैटरी भी ज्यादा नहीं चली। अंत में एक पावरबैंक मेरे बचाव में आया।

चरण 2: सर्किट

सर्किट
सर्किट

चरण 3: फायरबेस के बारे में

फायरबेस के बारे में
फायरबेस के बारे में
फायरबेस के बारे में
फायरबेस के बारे में
फायरबेस के बारे में
फायरबेस के बारे में
फायरबेस के बारे में
फायरबेस के बारे में

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

Firebase पर आरंभ करने के लिए, 1. सबसे पहले फायरबेस वेबपेज पर जाएं।

2. अब कंसोल पर नेविगेट करें और नया प्रोजेक्ट बनाएं पर क्लिक करें।

3. प्रोजेक्ट बनाने के लिए आपको अन्य विवरण के साथ प्रोजेक्ट का नाम देना होगा।

4. प्रोजेक्ट बनने के बाद नया डेटाबेस बनाने के लिए साइड पेन से डेटाबेस विकल्प पर क्लिक करें।

5. कार्यों के लिए भी ऐसा ही करें।

प्रोजेक्ट बनाने के लिए ये सामान्य चरण हैं, फायरबेस अच्छी तरह से प्रलेखित है और शुरुआती लोगों के लिए कई यूट्यूब वीडियो श्रृंखलाएं हैं, कृपया अधिक समझने के लिए आगे बढ़ें।

चरण 4: रीयलटाइम डेटाबेस

रीयलटाइम डेटाबेस
रीयलटाइम डेटाबेस
रीयलटाइम डेटाबेस
रीयलटाइम डेटाबेस

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

चरण 5: फायरबेस फ़ंक्शन सेट करना

फायरबेस फ़ंक्शन सेट करना
फायरबेस फ़ंक्शन सेट करना
फायरबेस फ़ंक्शन सेट करना
फायरबेस फ़ंक्शन सेट करना
फायरबेस फ़ंक्शन सेट करना
फायरबेस फ़ंक्शन सेट करना

हमें संग्रहीत स्थानों के लिए वर्तमान स्थान की निकटता की गणना करने के लिए कुछ चाहिए, और पृष्ठभूमि डेटाबेस ट्रिगर किए गए फ़ंक्शन हमारा काम करेंगे। कार्य जावास्क्रिप्ट में लिखे गए हैं और उन्हें फायरबेस पर तैनात करने की आवश्यकता है।

आपको अपने कंप्यूटर पर node.js इंस्टॉल करना होगा।

1) अब अपने कमांड प्रॉम्प्ट पर "npm install -g firebase-tools" कमांड का उपयोग करके फायरबेस कमांड लाइन इंटरफेस डाउनलोड करें

2) अब आपको "फायरबेस लॉगिन" कमांड का उपयोग करके फायरबेस में लॉग इन करना होगा (यदि आप पहले से लॉग इन नहीं हैं तो आपको अपना जीमेल लॉगिन पासवर्ड देना होगा)

3) इसके बाद अपनी प्रोजेक्ट डायरेक्टरी में नेविगेट करें और "फायरबेस इनिट" कमांड के साथ फंक्शन शुरू करें। आपको अपने प्रोजेक्ट के लिए फायरबेस फ़ंक्शन शुरू करने के लिए 'फ़ंक्शंस' विकल्प का चयन करना होगा।

4) अब आपको अपनी परियोजना निर्देशिका में 'फ़ंक्शंस' फ़ोल्डर में जाना होगा और 'index.js' फ़ाइल ढूंढनी होगी।

5) फ़ाइल को टेक्स्ट एडिटर से संपादित करें और फ़ाइल को संपादित करें/फ़ाइल को mappifier_function.txt से बदलें। (यह प्रभावी रूप से हमारा कार्य होगा)

6) अंत में कमांड प्रॉम्प्ट पर "फायरबेस परिनियोजन" का उपयोग करके अपने फ़ंक्शन को तैनात करें।

आप जांच सकते हैं कि फ़ंक्शन आपके फायरबेस कंसोल पर फ़ंक्शन मेनू के अंतर्गत तैनात है या नहीं

चरण 6: कोड

कोड
कोड
कोड
कोड
कोड
कोड

ईएसपी8266 के लिए:

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

फायरबेस फंक्शन के लिए:

यह फ़ंक्शन डेटाबेस पर 'वर्तमान स्थान' नोड को लिखने के लिए जाँच करता है और डेटाबेस और वर्तमान स्थान पर स्थानों के बीच की दूरी की गणना करता है और फिर सबसे छोटी दूरी का पता लगाता है जो तब डेटाबेस पर 'दूरी' नोड को लिखा जाता है।

अपना प्रोग्राम अपलोड करने से पहले अपने वाईफाई क्रेडेंशियल्स और फायरबेस ऑथ क्रेडेंशियल्स जोड़ना याद रखें। (कृपया चित्र देखें)। इसके अलावा, यदि आप ESP8266 में नए हैं और उन्हें Arduino IDE पर कोड करने के लिए, इन्हें देखें।

चरण 7: वैकल्पिक चरण (एक बाड़े का निर्माण)

वैकल्पिक कदम (एक बाड़े का निर्माण)
वैकल्पिक कदम (एक बाड़े का निर्माण)
वैकल्पिक कदम (एक बाड़े का निर्माण)
वैकल्पिक कदम (एक बाड़े का निर्माण)
वैकल्पिक कदम (एक बाड़े का निर्माण)
वैकल्पिक कदम (एक बाड़े का निर्माण)
वैकल्पिक कदम (एक बाड़े का निर्माण)
वैकल्पिक कदम (एक बाड़े का निर्माण)

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

चरण 8: कार्रवाई में…।

चेतावनी और अधिसूचना एल ई डी के साथ दोनों मोड (स्टोर और अधिसूचना) को प्रदर्शित करने वाला एक छोटा वीडियो यहां दिया गया है।

चरण 9: आगे बढ़ना…।

आगे बढ़ते हुए…
आगे बढ़ते हुए…

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

मैं वेबपेज (मुख्य रूप से जावास्क्रिप्ट) और अन्य सामान बनाने के लिए बिल्कुल नया हूं और आपके सुझाव और विशेषज्ञता प्राप्त करना पसंद करूंगा:)

सिफारिश की: