विषयसूची:
- चरण 1: सामग्री प्राप्त करना
- चरण 2: उपकरणों की स्थापना
- चरण 3: डेटा निकालने के लिए Arduino को कोड करना
- चरण 4: सुनने के लिए प्रसंस्करण का उपयोग
- चरण 5: सार्वजनिक झांकी पर डेटा प्रदर्शित करना
- चरण 6: विज़ो को परिष्कृत करना
वीडियो: पथ मैपर: 6 कदम
2024 लेखक: John Day | [email protected]. अंतिम बार संशोधित: 2024-01-30 09:22
इस IoT प्रोजेक्ट में, हम Arduino के माध्यम से स्थानीय डेटा को एक एक्सेल शीट में वितरित करने के लिए NEO-6M (GPS मॉड्यूल) को वायर करते हैं जिसे कंप्यूटर पर सहेजा जाएगा। बाद में झांकी पब्लिक के साथ, हम अपने द्वारा लिए गए पथ को मैप करने के लिए इस डेटा का डेटा विज़ुअलाइज़ेशन बनाते हैं। हालांकि यह अत्यधिक सहसंबद्ध डेटा में रीयल टाइम डेटा एकत्र करने और प्रस्तुत करने का एक तरीका है, अर्थात इस प्रक्रिया को अन्य डेटा-संचालित परियोजनाओं पर भी लागू किया जा सकता है।
चरण 1: सामग्री प्राप्त करना
इस परियोजना के लिए, आपको निम्नलिखित की आवश्यकता होगी:
- NEO-6M जीपीएस मॉड्यूल
- Arduino Uno
- पुरुष/पुरुष जम्पर तार (आपको 4 तारों की आवश्यकता होगी)
- यूएसबी 2.0 केबल टाइप ए से बी
- इन कार्यक्रमों के साथ कंप्यूटर: झांकी सार्वजनिक, Arduino IDE (TinyGPS++ के साथ), और प्रसंस्करण
चरण 2: उपकरणों की स्थापना
Arduino के लिए हमें डेटा दिखाने के लिए एक इंटरफ़ेस देने के लिए हमें पहले Arduino UNO के साथ GPS मॉड्यूल स्थापित करने की आवश्यकता है। NEO-6M से जुड़े चार तारों में से प्रत्येक विशिष्ट पोर्ट से मेल खाता है। यदि आपका NEO-6M वायर के साथ नहीं आता है, तो आपको इसे सीधे जम्पर वायर से वायर करना होगा। उपरोक्त आरेख में, लाल शक्ति (VCC), काला से जमीन (GND), डेटा संचारित करने के लिए पीला (TxD), और डेटा प्राप्त करने के लिए सफेद (RxD) से मेल खाता है। हम इन तारों को पुरुष/पुरुष जम्पर तारों से जोड़ते हैं ताकि हम उन्हें Arduino से जोड़ सकें। ऊपर दिए गए आरेख के बाद, हम ग्राउंड वायर को Arduino पर GND डिजिटल पिन से, TxD वायर को 4 से, RxD वायर को ~ 3 से और VCC वायर को वोल्टेज के लिए 5V से जोड़ते हैं। भविष्य के चरण में, हमें SoftwareSerial में सही संख्याओं के साथ TxD और RxD को परिभाषित करना होगा।
एक बार जब दो डिवाइस एक-दूसरे से जुड़ जाते हैं, तो हमें एक शक्ति स्रोत प्रदान करने की आवश्यकता होती है। USB 2.0 केबल को अपने लैपटॉप से कनेक्ट करें और NEO-6M की लाइट जलनी चाहिए।
चरण 3: डेटा निकालने के लिए Arduino को कोड करना
अब जब हमारे पास उपग्रहों से जीपीएस डेटा एकत्र करने के लिए उपकरण हैं, तो हम अपने इच्छित जीपीएस डेटा को पार्स करने के लिए कोड लिखेंगे। यह मानते हुए कि आपने एक सिग्नल उठाया है (मेरा जीपीएस मॉड्यूल नीला होगा), NEO-6M डिफ़ॉल्ट रूप से NMEA संदेशों के रूप में सीरियल मॉनिटर पर कच्चे डेटा को प्रिंट करता है, जो $GP जैसा दिखता है और उसके बाद अधिक अक्षर और एक श्रृंखला होती है। संख्याओं का। ऊपर दी गई छवि एक सामान्य विचार देती है कि मूल Arduino कोड डालने के बाद आपके सीरियल मॉनिटर पर क्या दिखाया जाना चाहिए।
मेरे द्वारा संलग्न किए गए कोड की व्याख्या करने के लिए (या यदि आप इसे स्वयं कोड करने का प्रयास करना चाहते हैं), तो आपको पहले SoftwareSerial और TinyGPS++ दोनों पुस्तकालयों को शामिल करना होगा (बाद के लिए, स्केच> शामिल करें>. ZIP लाइब्रेरी जोड़ें)। SoftwareSerial हमें एक सीरियल कनेक्शन की अनुमति देता है; TinyGPS++ हमें लक्षित जानकारी को पढ़ने योग्य रूप में प्रिंट करने का एक आसान टूल देता है। सुनिश्चित करें कि आपने Arduino पर संबंधित पिन के लिए SoftwareSerial ऑब्जेक्ट को इनिशियलाइज़ किया है। सेटअप फ़ंक्शन में, हम बॉड दर के रूप में 9600 का उपयोग करते हैं।
इस निर्देश के प्रयोजन के लिए, हम लूप फ़ंक्शन में केवल सात प्रकार के डेटा प्रिंट करेंगे: अक्षांश (डिग्री), देशांतर (डिग्री), गति (किमी), पाठ्यक्रम (डिग्री), ऊंचाई (किमी), में उपग्रहों की संख्या उपयोग, और hdop. आप इस जानकारी को अर्दुइनियाना लाइब्रेरी में प्रिंट करने के लिए सिंटैक्स की खोज कर सकते हैं। सामान्य रूप Serial.print() है। उदाहरण के लिए देशांतर प्रिंट करने के लिए, हम Serial.print(gps.location.lng(), 6) टाइप करेंगे। 6 दर्शाता है कि हम दशमलव बिंदु के दाईं ओर कितने अंक चाहते हैं।
मेरे कोड में अगले चरण में आसानी से स्वरूपित रेगेक्स के लिए मुद्रित अतिरिक्त वर्ण हैं। यदि आप इस चरण पर रुकना चाहते हैं, तो सीरियल मॉनीटर पर आसानी से देखने के लिए डेटा को अलग तरीके से प्रारूपित करने के लिए स्वतंत्र महसूस करें।
चरण 4: सुनने के लिए प्रसंस्करण का उपयोग
जबकि हमारे पास Arduino IDE सेट अप के लिए कोड है, हमारे पास इस डेटा को सहेजने का एक मुद्दा है। फिलहाल, हम सीरियल मॉनीटर पर डेटा को केवल तभी देख सकते हैं जब हम उसे इकट्ठा कर रहे हों। इस डेटा को लॉग करने के कई तरीके हैं लेकिन मैंने मुख्य रूप से प्रोसेसिंग को चुना क्योंकि इसका इंटरफ़ेस Arduino IDE की नकल करता है और यह जावा का उपयोग करता है, एक ऐसी भाषा जिससे मैं परिचित हूं (ध्यान दें कि यदि आप फ़र्माटा डाउनलोड करते हैं तो आप प्रोसेसिंग के साथ Arduino बोर्ड को भी नियंत्रित कर सकते हैं)। प्रसंस्करण Arduino से जुड़े बंदरगाह पर सुनता है और सीरियल मॉनीटर पर पढ़े जाने वाले डेटा में हेरफेर करने की क्षमता रखता है। इस पोर्ट का नाम खोजने के लिए, अपनी Arduino IDE फ़ाइल देखें और टूल्स> पोर्ट में चेक करें।
मैंने प्रोसेसिंग कोड प्रदान किया है, लेकिन कोड कैसे काम करता है, इसका एक त्वरित अवलोकन यहां दिया गया है।
सेटअप फ़ंक्शन से पहले, सुनिश्चित करें कि आपके पास पोर्ट के लिए चर, परिणामी तालिका, जिस पंक्ति के साथ हम काम करेंगे, और फ़ाइल का नाम है। फिर सेटअप फ़ंक्शन में, आपकी रन विंडो के आकार को सेट करने के लिए पैरामीटर हैं लेकिन वे नंबर हमारी कार्यक्षमता को प्रभावित नहीं करते हैं (उदाहरण के लिए, उन्हें (500, 500) पर सेट करें)। जब आप पोर्ट को इनिशियलाइज़ कर रहे हों, तो स्ट्रिंग फॉर्म में पोर्ट का नाम और 9600 की बॉड दर का उपयोग करें। अंत में, टेबल को इनिशियलाइज़ करने के लिए नौ कॉलम (सात जीपीएस श्रेणियों, समय और तारीख के लिए) बनाएं।
ड्रा फ़ंक्शन में, हम जीपीएस डेटा के प्रत्येक सेट को निकालने पर नज़र रखने के लिए अंतर्निहित दिनांक और समय फ़ंक्शन का उपयोग करते हैं। अब Arduino से डेटा की धारा को पढ़ने के लिए और इसे सही समय और तारीख के साथ उपयुक्त हेडर के तहत रखने के लिए, हम रेगुलर एक्सप्रेशन का उपयोग करते हैं।
मैं मैचऑल फ़ंक्शन के साथ सटीक डेटा को पार्स करने के लिए रेगेक्स का उपयोग करता हूं जो समान चिह्न और अर्धविराम (मेरे Arduino कोड में लगाए गए सीमांकक) के बीच किसी भी अभिव्यक्ति की तलाश करता है। यह बाद में सभी मिलान किए गए टैग, संख्यात्मक डेटा को द्वि-आयामी सरणी में रखता है। फिर हम इन सरणी सूचकांकों को एक्सेल शीट के हेडर के तहत रखने के लिए कह सकते हैं।
नई.csv फ़ाइल को सहेजने के लिए, हम रन विंडो को बंद करने के लिए एक कुंजी प्रेस का उपयोग करते हैं। आप किसी कुंजी को दबाने के लिए जितनी देर प्रतीक्षा करेंगे, आप उतना ही अधिक डेटा एकत्र करेंगे। एक अन्य गाइड के तरीके का पालन करते हुए, मैंने फ़ाइल नाम के रूप में दिनांक और समय के साथ फ़ाइल को डेटा फ़ोल्डर में सहेजने का भी निर्णय लिया।
चरण 5: सार्वजनिक झांकी पर डेटा प्रदर्शित करना
अंतिम चरण में कुछ डेटा विज़ुअलाइज़ेशन शामिल है। डेटा विज़ुअलाइज़ेशन यानी प्लॉटली बनाने और प्रदर्शित करने के लिए कई कार्यक्रम हैं, लेकिन इस परियोजना के लिए हम झांकी का उपयोग करेंगे। झांकी सार्वजनिक खोलें और सहेजी गई एक्सेल फ़ाइल को टेक्स्ट फ़ाइल के रूप में खोलें। वर्कशीट बनाने के लिए, निचले बाएँ हाथ में शीट 1 पर क्लिक करें।
चूंकि हम GPS डेटा के साथ काम कर रहे हैं, इसलिए हम अपनी जानकारी को दर्शाने के लिए मानचित्र का उपयोग करेंगे। बाएं कॉलम में जहां यह माप कहता है, हम देशांतर को कॉलम में और अक्षांश को शीर्ष पर पंक्तियों में खींचेंगे। झांकी दोनों उपायों को AVG पर डिफ़ॉल्ट करती है, इसलिए शर्तों के आगे ड्रॉप डाउन पर क्लिक करें और दोनों को आयाम में बदलें। अब मानचित्र में एकत्रित अक्षांश और देशांतर मानों का उपयोग करके प्रदर्शित पथ होना चाहिए।
त्रुटि के लिए अपने डेटा को साफ करने के लिए (जो कि झांकी को खोलने से पहले भी किया जा सकता है), आप कुछ स्थान मंडलियों पर क्लिक करके और विकल्प का चयन करके उन्हें बाहर करना चुन सकते हैं। मेरा GPS मॉड्यूल 100% सटीक नहीं है, क्योंकि मेरे पथ के कुछ हिस्से का पता नहीं चल पाया है, लेकिन सामान्य पथ रिकॉर्ड कर लिया गया है।
चरण 6: विज़ो को परिष्कृत करना
अंतिम भाग इस डेटा को अधिक पठनीय बनाना है। यदि आप सड़क का संदर्भ चाहते हैं, तो आप मानचित्र > मानचित्र परत > सड़कें और राजमार्ग पर जा सकते हैं। बेझिझक अन्य मार्क्स के साथ प्रयोग करें। मैंने स्पीड ओवर कलर को यह दिखाने के लिए खींचा कि गति बढ़ने पर रंग की तीव्रता कैसे बढ़ती है। मैंने पाठ्यक्रम के लिए लेबल के बजाय विवरण का भी उपयोग किया क्योंकि लेबल मानचित्र पर संख्याओं को प्रदर्शित करेगा, जबकि मैं केवल यह चाहता था कि जब आप स्थान बिंदुओं पर होवर करें तो जानकारी पॉप अप हो।
अब जब आपने डेटा एकत्र करने और डेटा विज़ुअलाइज़ेशन पर आपके पास जो कुछ है उसे प्रदर्शित करने की पूरी प्रक्रिया का अनुभव कर लिया है, तो आप इसे अन्य परियोजनाओं पर लागू कर सकते हैं!
पिंगडी हुआंग द्वारा, समर 2018
सिफारिश की:
Arduino कार रिवर्स पार्किंग अलर्ट सिस्टम - कदम दर कदम: 4 कदम
Arduino कार रिवर्स पार्किंग अलर्ट सिस्टम | स्टेप बाय स्टेप: इस प्रोजेक्ट में, मैं Arduino UNO और HC-SR04 अल्ट्रासोनिक सेंसर का उपयोग करके एक साधारण Arduino कार रिवर्स पार्किंग सेंसर सर्किट डिजाइन करूंगा। इस Arduino आधारित कार रिवर्स अलर्ट सिस्टम का उपयोग स्वायत्त नेविगेशन, रोबोट रेंजिंग और अन्य रेंज r के लिए किया जा सकता है
ESP32 स्क्रैपर-पार्सर-मेलर और लाइव मैपर: 4 चरण (चित्रों के साथ)
ESP32 स्क्रैपर-पार्सर-मेलर और लाइव मैपर: हैलो वर्ल्ड! यह मेरी पहली शिक्षाप्रद है! मैं ग्रोसेटो इटली से मार्को हूं, मैं एक डेवलपर नहीं हूं, मैं एक इलेक्ट्रॉनिक इंजीनियर नहीं हूं, लेकिन मैं अपने स्थानीय प्राकृतिक पार्क (मारेम्मा प्राकृतिक पार्क) में एक पर्यावरण गाइड हूं। मेरे सहकारी में हम डोंगी के साथ बहुत काम करते हैं
DIY कदम/डीआईआर लेजर गैल्वो नियंत्रक: 5 कदम (चित्रों के साथ)
DIY STEP / DIR LASER GALVO कंट्रोलर: नमस्ते, इस निर्देश में, मैं आपको दिखाना चाहता हूं कि आप ILDA मानक गैल्वो लेजर स्कैनर के लिए अपना खुद का स्टेप / dir इंटरफ़ेस कैसे बना सकते हैं। जैसा कि आप जानते होंगे कि मैं "DIY-SLS-3D-Printer" और "जेआरएलएस १००० DIY एसएलएस-३डी-पी
सीईएल का वायु प्रदूषण मैपर (संशोधित): 7 कदम
सीईएल का वायु प्रदूषण मैपर (संशोधित): वायु प्रदूषण आज के समाज में एक वैश्विक मुद्दा है, यह कई बीमारियों का कारण है और असुविधा का कारण बनता है। यही कारण है कि हमने एक ऐसी प्रणाली बनाने की कोशिश की है जो आपके जीपीएस स्थान और वायु प्रदूषण दोनों को उस सटीक स्थान पर ट्रैक कर सके, तब तक
पिक्सेल किट चल रहा है माइक्रोपायथन: पहला कदम: 7 कदम
पिक्सेल किट रनिंग माइक्रोपायथन: पहला कदम: कानो के पिक्सेल की पूरी क्षमता को अनलॉक करने की यात्रा फ़ैक्टरी फ़र्मवेयर को माइक्रोपायथन के साथ बदलने के साथ शुरू होती है लेकिन यह केवल शुरुआत है। Pixel Kit पर कोड करने के लिए हमें अपने कंप्यूटरों को इससे कनेक्ट करना होगा। यह ट्यूटोरियल समझाएगा कि क्या