विषयसूची:

Android / Arduino / PfodApp का उपयोग करके सरल रिमोट डेटा प्लॉटिंग: 6 चरण
Android / Arduino / PfodApp का उपयोग करके सरल रिमोट डेटा प्लॉटिंग: 6 चरण

वीडियो: Android / Arduino / PfodApp का उपयोग करके सरल रिमोट डेटा प्लॉटिंग: 6 चरण

वीडियो: Android / Arduino / PfodApp का उपयोग करके सरल रिमोट डेटा प्लॉटिंग: 6 चरण
वीडियो: Trans Am Knight Rider Light Pioneer Stereo Control 2024, जुलाई
Anonim
Android / Arduino / PfodApp का उपयोग करके सरल रिमोट डेटा प्लॉटिंग
Android / Arduino / PfodApp का उपयोग करके सरल रिमोट डेटा प्लॉटिंग

केवल Arduino की मिलिस () का उपयोग करके दिनांक/समय के विरुद्ध डेटा प्लॉट करने के लिए, यह निर्देशयोग्य Arduino दिनांक/समय प्लॉटिंग/मिलिस () और PfodApp का उपयोग करके लॉगिंग देखें

यह निर्देश आपको दिखाता है कि अपने एंड्रॉइड मोबाइल पर Arduino सेंसर डेटा कैसे प्लॉट करें और इसे बाद में अपने कंप्यूटर पर डाउनलोड करने के लिए कैप्चर करें। ये निर्देश www.pfod.com.au पर भी उपलब्ध हैं, किसी Android प्रोग्रामिंग की आवश्यकता नहीं है और Arduino प्रोग्रामिंग की बहुत कम आवश्यकता है। यह pfodApp का उपयोग करके सरल मोबाइल डेटा लॉगिंग का एक विस्तार है

चरण 1: त्वरित प्रारंभ प्लॉटिंग

क्विक स्टार्ट प्लॉटिंग
क्विक स्टार्ट प्लॉटिंग

a) एक Arduino बोर्ड और एक ब्लूटूथ मॉड्यूल प्राप्त करें (जैसे कि Uno और ब्लूटूथ शील्ड या FioV3 + ब्लूटूथ) b) Arduino IDE स्थापित करें c) Arduino बोर्ड (कोई ब्लूटूथ मॉड्यूल संलग्न नहीं) को USB केबल से कनेक्ट करें। d) इस स्केच को Arduino IDE में कॉपी करें और इसे Arduino बोर्ड में संकलित करें और लोड करें) e) ब्लूटूथ शील्ड मॉड्यूल को Uno से अटैच करें (ब्लूटूथ शील्ड 9600baud के लिए पूर्व-कॉन्फ़िगर है लेकिन 3V/5V स्विच को 5V पर सेट करें और सेट करें) To Board/To FT232 को To Board स्थिति में स्विच करें। f) अपने Android मोबाइल को pfodApp से लोड करें। g) pfodAppForAndroidGettingStarted.pdf में वर्णित अनुसार अपने मोबाइल और ब्लूटूथ मॉड्यूल के बीच एक कनेक्शन सेट करें h) pfodApp प्रारंभ करें और ब्लूटूथ मॉड्यूल के माध्यम से अपने Arduino बोर्ड से कनेक्ट करें। मैंने पूरा कर लिया। आपका मोबाइल अब इनपुट A0. के लिए Arduino AtoD कन्वर्टर काउंट को सेव और प्लॉट कर रहा होगा

चरण 2: प्लॉटिंग स्केच

प्लॉटिंग स्केच
प्लॉटिंग स्केच

pfodApp का उपयोग करके प्लॉटिंग के लिए दो चीजों की आवश्यकता होती है: - a) डेटा की एक स्ट्रीम (CSV फॉर्मेट में) और b) pfodDevice (Arduino) से एक प्लॉट कमांड स्केच, SimpleDataPlotting.ino, केवल दो काम करता है। पहले यह A0 एनालॉग इनपुट को एक सेकंड में एक बार पढ़ता है और वर्तमान सेकंड और काउंट्स को CSV प्रारूप में भेजता है, दूसरा जब pfodApp मुख्य मेनू को जोड़ता है और अनुरोध करता है, तो स्केच माप की साजिश रचने के लिए प्लॉटिंग कमांड के साथ प्रतिक्रिया करता है। यहाँ वह कोड है जिसे A0 एनालॉग इनपुट को पढ़ने और वर्तमान सेकंड लिखने के लिए एक सेकंड में एक बार निष्पादित किया जाता है, ब्लूटूथ कनेक्शन के लिए गिना जाता है। // एक बार एक सेकंड में A0 पढ़ें int वैल = एनालॉगरेड (0); // A0 // वर्तमान समय को आउटपुट करें और सीएसवी प्रारूप पार्सर.प्रिंट (thisMillis/1000) में पढ़ें; // पहला क्षेत्र सेकंड में समय है parser.print(", "); // अल्पविराम क्षेत्रों को अलग करता है parser.println(val); // नई लाइन डेटा रिकॉर्ड को समाप्त करती है

यहाँ वह कोड है जो pfodDevice's (Arduino Uno's) मुख्य मेनू के लिए pfodApp अनुरोध का जवाब देता है।

बाइट cmd = parser.parse (); if (cmd != 0) {// ने एक पूरा संदेश पार्स किया है { से } if ('.' == cmd) {// pfodApp ने मेन मेन्यू के लिए कहा है // "ओपन प्लॉटिंग स्क्रीन" पार्सर.प्रिंट (F) वापस भेजें ("{=एनालॉग A0 प्लॉट|समय(सेकंड)|गणना}")); // यह मुख्य मेनू है } और अगर ('!' == cmd) {// CloseConnection कमांड closeConnection (parser.getPfodAppStream ()); } और {// अज्ञात कमांड पार्सर.प्रिंट (एफ ("{}")); // हमेशा एक pfod msg वापस भेजें अन्यथा pfodApp डिस्कनेक्ट हो जाएगा। } }

जब आपके मोबाइल का pfodApp कनेक्ट होता है तो यह स्वचालित रूप से मुख्य मेनू ({.} संदेश भेजकर) मांगता है, स्केच में पार्सर (स्केच के नीचे कोड देखें) {.} को पार्स करता है और '.' लौटाता है। आदेश। स्केच फिर एक प्लॉट कमांड भेजता है {=एनालॉग ए0 प्लॉट|टाइम(सेकंड)|ए0 काउंट्स} वह कमांड pfodApp को "एनालॉग ए0 प्लॉट" नामक एक स्क्रीन खोलने और काउंट्स के खिलाफ समय प्लॉट करने का निर्देश देता है। pfodApp तब आने वाले कच्चे डेटा को स्कैन करता है और दो क्षेत्रों के साथ लाइनों की तलाश करता है और पहला फ़ील्ड x मान के रूप में और दूसरा y मान के रूप में लेता है और उस बिंदु को प्लॉट में जोड़ता है। जब भी कोई प्लॉटिंग स्क्रीन (या कच्ची डेटा स्क्रीन) खोली जाती है, pfodApp आपके मोबाइल पर एक स्थानीय फ़ाइल में सभी कच्चे डेटा को सहेजना शुरू कर देता है। जब तक आप pfodApp से बाहर नहीं निकल जाते, तब तक pfodApp डेटा को सहेजना जारी रखता है। आगे की प्रक्रिया के लिए आप इस फ़ाइल को अपने कंप्यूटर पर डाउनलोड कर सकते हैं (बाद के चरणों में से एक देखें)। प्लॉट कमांड के लिए कई अन्य विकल्प हैं जो आपको कुछ क्षेत्रों को अनदेखा करने, प्लॉट स्केल सेट करने, एक चार्ट पर कई प्लॉट प्लॉट करने आदि की अनुमति देते हैं। विवरण और उदाहरणों के लिए pfodSpecification देखें। pfodApp साजिश रचने के बाद और भी बहुत कुछ कर सकता है, ये उदाहरण देखें। ऊपर दिया गया प्लॉट दो चार्ट का एक उदाहरण है, जिनमें से एक पर दो प्लॉट हैं। यह प्लॉट ArduMower का है, इसे स्वयं रोबोटिक घास काटने की मशीन करें! जो रोबोटिक घास काटने की मशीन को नियंत्रित करने के लिए उसी pfodApp का उपयोग करता है। सभी pfodDevices को नियंत्रित करने के लिए एक ही pfodApp का उपयोग किया जाता है। यह pfodDevices है जो पूरी तरह से निर्धारित करता है कि उपयोगकर्ताओं को कौन सी स्क्रीन प्रदर्शित की जाती हैं।

चरण 3: अधिक विवरण

ज्यादा जानकारी
ज्यादा जानकारी
ज्यादा जानकारी
ज्यादा जानकारी

एंड्रॉइड मार्केट से उपलब्ध pfodApp का नवीनतम संस्करण pfodDevice (जैसे Arduino) द्वारा भेजे गए कच्चे डेटा को प्लॉट करने और बाद में उपयोग के लिए फ़ाइल में सहेजने में सक्षम बनाता है। अपने Android मोबाइल से अपने कंप्यूटर पर फ़ाइल कैसे डाउनलोड करें, इसके लिए pfodAppForAndroidGettingStarted.pdf देखें। प्लॉटिंग के लिए दो चीजों की आवश्यकता होती है: - ए) डेटा की एक धारा (सीएसवी प्रारूप में) और बी) pfodDevice से एक प्लॉट कमांड आपका pfodDevice (Arduino) pfod संदेशों के बाहर किसी भी प्रकार का डेटा भेज सकता है। pfod संदेश जो { } द्वारा संलग्न हैं जो उन्हें अन्य डेटा से अलग करता है। यदि आप डेटा प्लॉट करना चाहते हैं तो आपको डेटा को सीएसवी प्रारूप में भेजना होगा। वह डेटा मान है जो अल्पविराम द्वारा अलग किया गया है, और एक नई लाइन (या तो सीआर या एलएफ या सीआर एलएफ) द्वारा समाप्त किया गया है उदाहरण के लिए 105, 680 जब pfodDevice उपयोगकर्ता को प्लॉट प्रदर्शित करना चाहता है, तो pfodDevice प्लॉट कमांड भेजता है। आपका Arduino स्केच pfodApp प्लॉट्स के पूर्ण नियंत्रण में है। प्लॉट कमांड प्लॉट स्क्रीन को एक शीर्षक देता है और निर्दिष्ट करता है कि कच्चे डेटा की किस स्ट्रीम को प्लॉट करना है और उस स्ट्रीम से कौन से फ़ील्ड हैं। अपरिष्कृत डेटा की विभिन्न धाराओं में अल्पविराम से अलग किए गए फ़ील्ड की अलग-अलग संख्याएँ होती हैं। सलाखों की संख्या | प्लॉट कमांड में उस डेटा स्ट्रीम में फ़ील्ड की संख्या से मेल खाना चाहिए जिसे आप प्लॉट करना चाहते हैं। इस प्लॉट के लिए भिन्न संख्या में फ़ील्ड वाली डेटा लाइनों को अनदेखा किया जाता है। प्लॉटिंग कमांड के लिए प्लॉट करने के लिए फ़ील्ड का चयन करने और स्केल और यूनिट सेट करने और एक चार्ट पर कई प्लॉट लगाने के लिए कई विकल्प हैं। सबसे आसान है x मानों को पहले फ़ील्ड के रूप में और y मानों को निम्न फ़ील्ड के रूप में भेजना, फिर प्लॉटिंग कमांड में x-अक्ष और y-अक्ष को नाम देना उदा। {=एनालॉग A0 प्लॉट | समय (सेकंड) | A0 मायने रखता है} प्लॉट शीर्षक | x मान फ़ील्ड | y मान फ़ील्ड आप अपने मोबाइल पर भेजे जा रहे कच्चे डेटा को भी देख सकते हैं। "रॉ डेटा" स्क्रीन को आपके मोबाइल के मेनू का उपयोग करके pfodApp से एक्सेस किया जा सकता है या इसे pfodDevice द्वारा एक स्ट्रीमिंगरॉडाटा संदेश, {= स्क्रीन का शीर्षक यहां जाता है} यानी प्लॉटिंग कमांड का एक छोटा संस्करण भेजकर खोला जा सकता है। किसी भी तरह से pfodApp कच्ची डेटा स्क्रीन खोली जाती है और वह डेटा प्रदर्शित करेगी जो pfodDevice से भेजा गया है। जब स्क्रीन खोली जाती है, तो pfodApp डेटा को एक फ़ाइल में सहेजना शुरू कर देगा। हर बार स्क्रीन (या प्लॉटिंग स्क्रीन) खोलने पर फ़ाइल का नाम प्रदर्शित होता है। अपने मोबाइल में ऐसे डेटा को भरने से रोकने के लिए जो आप नहीं चाहते थे, pfodApp मोबाइल के एसडी कार्ड में डेटा लिखना शुरू नहीं करता है, जब तक कि प्रत्येक नए कनेक्शन के बाद पहली बार रॉ डेटा स्क्रीन या प्लॉटिंग स्क्रीन नहीं खुलती। नए कनेक्शन के बाद पहली बार रॉ डेटा स्क्रीन खोली गई है, पहले प्राप्त डेटा के 4K बाइट्स तक (जब से कनेक्शन बनाया गया था) इसे खोले जाने पर फाइल करने के लिए लिखा जाता है। यह डेटा प्लॉट के लिए भी उपलब्ध है। ज्यादातर मामलों में इसका मतलब है कि कनेक्शन के बाद से भेजा गया सभी कच्चा डेटा सहेजा जाएगा। जब कनेक्शन बंद हो जाता है, तो अंतिम डेटा लिखा जाता है और फ़ाइल बंद हो जाती है। यदि फ़ाइल पहले से मौजूद है, तो पिछले कनेक्शन से, इसे प्रत्येक बाद के कनेक्शन से जोड़ा जाता है। आप अपने कंप्यूटर से फ़ाइल को डाउनलोड और हटा सकते हैं। अपने कंप्यूटर से फ़ाइल को कैसे एक्सेस करें, इसके लिए pfodAppForAndroidGettingStarted.pdf देखें।

चरण 4: सीरियल मॉनिटर के साथ परीक्षण

सीरियल मॉनिटर के साथ परीक्षण
सीरियल मॉनिटर के साथ परीक्षण
सीरियल मॉनिटर के साथ परीक्षण
सीरियल मॉनिटर के साथ परीक्षण

ब्लूटूथ के माध्यम से कनेक्ट करने से पहले, आप Arduino IDE SerialMonitor का उपयोग करके स्केच का परीक्षण कर सकते हैं। पहले ब्लूटूथ बोर्ड को हटा दें, क्योंकि यह USB प्रोग्रामिंग और सीरियल मॉनिटर कनेक्शन के समान TX/RX कनेक्शन का उपयोग करता है, और स्केच (SimpleDataPlotting.ino) को Arduino IDE में कॉपी और पेस्ट करें और Arduino बोर्ड को प्रोग्राम करें। फिर Arduino IDE SerialMonitor खोलें आप Uno बोर्ड द्वारा भेजे जा रहे डेटा को देख सकते हैं। फिर {.} टाइप करें और getMainMenu कमांड भेजने के लिए "भेजें" पर क्लिक करें, {.} यह वही है जो pfodApp कनेक्ट होने पर सबसे पहले भेजेगा। स्केच प्लॉटिंग कमांड के साथ प्रतिक्रिया करता है। {=एनालॉग A0 प्लॉट|समय(सेकंड)|A0 काउंट्स} जो pfodApp को प्लॉटिंग स्क्रीन खोलने और डेटा प्लॉट करना शुरू करने के लिए कहेगा। यह डेटा को एक फ़ाइल में सहेजना भी शुरू कर देता है। pfod (ऑपरेशन डिस्कवरी के लिए प्रोटोकॉल) द्वारा समर्थित सभी संदेशों और स्क्रीन के विवरण के लिए pfodSpecification देखें।

चरण 5: Android मोबाइल से कनेक्ट करना

Android मोबाइल से कनेक्ट करना
Android मोबाइल से कनेक्ट करना
Android मोबाइल से कनेक्ट करना
Android मोबाइल से कनेक्ट करना

सब ठीक है इसलिए अब आप Arduino IDE और SerialMonitor को बंद कर सकते हैं और ब्लूटूथ शील्ड संलग्न कर सकते हैं, जैसा कि पहले दिखाया गया था। अपने Android मोबाइल से कनेक्ट करने के लिए, पहले Android Market से pfodApp इंस्टॉल करें, फिर pfodAppForAndroidGettingStarted.pdf गाइड का पालन करके अपने ब्लूटूथ शील्ड को अपने मोबाइल के साथ पेयर करें और ब्लूटूथ pfodApp कनेक्शन सेट करें। मैंने अपने कनेक्शन को "सरल डेटा लॉगिंग" कहा। फिर साधारण डेटा लॉगर से कनेक्ट करने के लिए "सरल डेटा लॉगिंग" कनेक्शन का चयन करें। जैसे ही pfodApp कनेक्ट होता है यह {.} संदेश भेजता है, जिसमें स्केच {=Analog A0 Plot|Time(sec)|A0 काउंट्स} संदेश के साथ प्रतिक्रिया करता है जो pfodApp को डेटा प्लॉट करने के लिए कहता है और डेटा को सहेजना भी शुरू करता है। इस प्लॉट में मैंने A0 को Gnd और 5.5V और 3.3V से जोड़ा है और इसे केवल शोर उठाते हुए तैरते हुए छोड़ दिया है।

चरण 6: डेटा को अपने कंप्यूटर में स्थानांतरित करना

डेटा को आपके कंप्यूटर में स्थानांतरित करना
डेटा को आपके कंप्यूटर में स्थानांतरित करना

pfodAppForAndroidGettingStarted.pdf विवरण देता है कि यूएसबी के माध्यम से अपने मोबाइल को अपने कंप्यूटर से कैसे कनेक्ट करें और यूएसबी मास स्टोरेज को कैसे चालू करें ताकि आप इसे अपने कंप्यूटर से ब्राउज़ कर सकें। आपको सभी अपरिष्कृत डेटा फ़ाइलें pfodAppRawData फ़ोल्डर में मिलेंगी। जैसा कि ऊपर दिखाया गया है, साधारण डेटा लॉगर ने डेटा को /pfodAppRawData/Simple डेटा लॉगिंग में सहेजा है। कि दोनों आपके डेटा को प्लॉट और सहेजते हैं, आप अपना डेटा वापस भेजने के लिए स्केच को संशोधित कर सकते हैं। बस अपना डेटा CSV प्रारूप में, उसी सीरियल कनेक्शन में लिखें जो आपके ब्लूटूथ मॉड्यूल से जुड़ा है। यदि आपके पास दो से अधिक डेटा फ़ील्ड हैं, तो आपको प्लॉटिंग कमांड को संशोधित करना होगा। विवरण और उदाहरणों के लिए pfodSpecification देखें।

सिफारिश की: