:: Arduinolitics :: Arduino पर Google Analytics।

:: Arduinolitics :: Arduino पर Google Analytics।

यह वास्तव में एक बदला लेने वाला प्रोजेक्ट है, इस सप्ताह की शुरुआत में Google ने मुझे एक ऑनलाइन कोर्स में शामिल होने के लिए "छल" किया, क्योंकि "Google Analytics" के कारण वे अच्छी तरह जानते हैं कि मैं ऑनलाइन पाठ्यक्रमों के लिए एक चूसने वाला हूँ। इसलिए मैंने सीधे साइन अप कर लिया, लेकिन बाद में उत्तर ईमेल को देखकर मुझे थोड़ा अफसोस होने लगा कि "Google Analytics" ज्यादातर एक विपणन उपकरण है।

"लेकिन," मैं खुद से कहता हूं "एक एपीआई का एक एपीआई और मुझे इसके साथ कुछ करना होगा"।

यह पाठ्यक्रम इतना ज्ञानवर्धक था कि मुझे लगा कि मैं इसे लेकर आईक्यू खो दूंगा।

इसलिए मैंने एपीआई की खोज करने के लिए सेट किया, जो कथित "कोर्स" में बिल्कुल भी शामिल नहीं था, और Arduino में एनालिटिक्स को क्रैम एनालिटिक्स का उपयोग करके कुछ ब्रेनकैल्स को पुनः प्राप्त किया; "अरुडुइनोलिटिक्स" का जन्म हुआ।

मंच के लिए निश्चित रूप से सीमाएं हैं, लेकिन फायदे भी हैं। अब तक मैं व्यक्तिगत घटना मूल्यों को प्राप्त करने में असमर्थ रहा हूं, मुझे जो निकटतम मिला वह एक दैनिक औसत, दैनिक गणना या वर्तमान उपयोगकर्ताओं की एक संख्या थी।

मुख्य लाभ यह है कि आपको कोई अतिरिक्त हार्डवेयर की आवश्यकता नहीं है, कोई सर्वर नहीं है और Google आपके लिए डेटा होस्ट करता है।

संभव उपयोग:
बैरोमीटर के डेटा के लिए "दैनिक औसत" अच्छा हो सकता है? - परीक्षण किया गया (कोड टिप्पणियों में उदाहरण क्वेरी)।
"डेली काउंट" एक अच्छा पेडोमीटर हो सकता है?
"वर्तमान उपयोगकर्ता" के पास एक चेतावनी सेट हो सकता है यदि "वर्तमान आगंतुक" एक निर्दिष्ट मान से नीचे गिरता है जो यह इंगित करता है कि आपका एक Arduino नीचे चला गया है। - परीक्षण किया गया (मैं इसे एक रिबूट काउंटर के लिए उपयोग कर रहा हूं जैसा कि मैं टाइप करता हूं)।

आपूर्ति:

चरण 1: हार्डवेयर और लेखा

यदि आपके पास पहले से ही Arduino और Google Analytics खाता सक्षम नेटवर्क है, तो आप जानते हैं कि आप कैसे उपयोग कर सकते हैं, आप चरण 1 को छोड़ सकते हैं और सेटिंग शुरू कर सकते हैं।

मैं एक EtherMega का उपयोग कर रहा हूँ और वहाँ से चुनने के लिए नेटवर्क वाले Arduinos का एक cornucopia है, अन्यथा यदि आपको एक ईथरनेट शील्ड या वाईफाई शील्ड कनेक्ट करने की आवश्यकता है, तो मुझे यकीन है कि आपको यह पता लगाने का कोई रास्ता मिल जाएगा।

यूनिवर्सल एनालिटिक्स सक्षम के साथ सेट की गई कम से कम एक संपत्ति वाला Google Analytics खाता यहां काम करेगा। मेरा डिफ़ॉल्ट रूप से था, लेकिन आपका लाभ भिन्न हो सकता है।

उस संपत्ति के लिए ट्रैकिंग कोड भी उपयोगी होगा। ध्यान दें, संपत्ति की आवश्यकता प्रतीत नहीं होती है, मैंने बस मामले में null.html पर मुझे बताया, हालांकि इसकी आवश्यकता नहीं लगती है, जिन घटनाओं का मैं यहां स्वतंत्र रूप से उपयोग कर रहा हूं।

यदि आप चाहते हैं कि मैं अपना ट्रैकिंग कोड छोड़ दूँ जैसे मुझे डेटा पसंद है, तो कृपया अपना डेटा मुझे भेजें। मैं देखूंगा कि क्या मैं इसके लिए किसी तरह से रिपोर्ट कर सकता हूं। : डी

हालाँकि, मैं ArduinoNet (यह स्काईनेट की तरह ही है, लेकिन फ्रेंडली, और MySQL पर होस्ट किया गया है) को हाय कहने के बाद अपने खुद के ट्रैकिंग कोड और श्रेणियों का उपयोग करने की सलाह देता हूं।

असली मज़ा लाइव इवेंट्स दर्शक पर रियलटाइम हिट देख रहा है और एक उपयोगकर्ता ट्रैकिंग सिस्टम को वश में करने और इसे वास्तविक उपयोग में डालने की महिमा में आधारित है!

ठीक है, इसलिए हमें नेटवर्क कनेक्टिविटी मिल गई है और हमारे खाते क्रमबद्ध हो गए हैं, अपलोड करने देता है।

चरण 2: अपलोड करें और आनंद लें।

संलग्न स्केच काफी सरल है और बस Google सर्वर को लगभग हर 10 सेकंड के ट्रैकिंग इवेंट के साथ पिंग करता है। आपको डबल / फ्लोटिंग पॉइंट सेंसर मूल्यों के लिए floatToString.h की भी आवश्यकता हो सकती है।

एक पंक्ति है जिसे बदलना आपके लिए आवश्यक है:
स्ट्रिंग ट्रैकिंगआईडी = "यूए -21694160-2";
यहां आपको हाय कहने के लिए ArduinoNet को पिंग करने के बाद शायद अपनी ट्रैकिंग आईडी डालनी चाहिए।

अगली पंक्ति आपके लिए महत्वपूर्ण हो सकती है:
int डिवाइसआईडी = 666;
यदि आप एक चाहते हैं तो आपको इसे स्थिर डिवाइस आईडी में बदलना होगा। मैं वास्तव में सेटअप में एक यादृच्छिक डिवाइस आईडी दे रहा हूं:
डिवाइसआईडी = यादृच्छिक (1000); // लाइन 50
तो आपको स्टैटिक आईडी प्राप्त करने के लिए उस लाइन को भी हटाना होगा। व्यक्तिगत रूप से मैं रिबूट का ट्रैक रखने के लिए डायनेमिक आईडी पसंद करता हूं, लेकिन प्रत्येक अपने स्वयं के लिए।

अगली तीन पंक्तियाँ भी थोड़ी मजेदार हैं:
स्ट्रिंग पेलोडश्रेरी = "अरुडिनो";
स्ट्रिंग पेलोडेशन = "सेंसर";
स्ट्रिंग पेलोडलैबेल = "रैंडम";

यहां मैंने केवल समूह बनाने का मजाक उड़ाया है, लेकिन जो भी आपके लिए काम करता है उसका उपयोग करें। अपनी परियोजनाओं में मैं "लोड", "आर्द्रता" या "बटन" जैसे सेंसर प्रकार को लेबल करने के लिए पेलोडलैबेल का उपयोग कर रहा हूं। पेलोडेशन के पास रिपोर्टिंग के दौरान डिवाइस आईडी होगी।

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

अपने स्वयं के सेंसर को हुक करने के लिए आपको शायद लाइन को बदलने की आवश्यकता है:
SensValue = map (वैल, 0, 1023, 1, 100);
और जो कुछ भी आप चाहते हैं (अपने सेटअप के अलावा) सेंसरवेगल सेट करें।

अपलोड करें, वापस बैठें और आंकड़ों का आनंद लें!

लाइव इवेंट दर्शक मत भूलना!