:: Arduinolitics :: Google Analytics na Arduino.

:: Arduinolitics :: Google Analytics na Arduino.

Spisu treści:

Anonim

W rzeczywistości jest to projekt zemsty, wcześniej w tym tygodniu Google „oszukało” mnie do przystąpienia do kursu online, który z powodu „Google Analytics” doskonale zdaje sobie sprawę, że jestem frajerem na kursy online. Zarejestrowałem się od razu, ale patrząc na e-mail z odpowiedzią później tego samego dnia, poczułem żal, że „Google Analytics” to głównie narzędzie marketingowe.

„ale”, mówię sobie, „API jest API i znajdę z tym coś wspólnego”.

Kurs był tak pouczający, że pomyślałem, że straciłem IQ, biorąc to.

Więc zacząłem szukać API, które w ogóle nie było objęte rzekomym „kursem”, i odzyskałem kilka komórek mózgowych, wykorzystując go do wszczepienia Analytics do Arduino i tak; Narodziła się „Arduinolitics”.

Z pewnością istnieją ograniczenia platformy, ale także zalety. Jak dotąd nie udało mi się pobrać pojedynczych wartości zdarzeń, najbliższą otrzymałem średnią dzienną, dzienną liczbę lub liczbę obecnych użytkowników.

Główną zaletą jest to, że nie potrzebujesz dodatkowego sprzętu, żaden serwer i Google nie udostępniają danych.

Możliwe zastosowania:

„Średnia dzienna” może być dobra dla danych barometrycznych? - Przetestowane (przykładowe zapytanie w komentarzach do kodu).

„Licznik dzienny” może być dobrym krokomierzem?

„Obecni użytkownicy” mogą mieć ustawiony alert, jeśli liczba „obecnych odwiedzających” spadnie poniżej określonej wartości, co oznacza, że ​​jeden z twoich Arduino upadł. - Przetestowane (używam go do licznika restartu podczas pisania).

Kieszonkowe dzieci:

Krok 1: Sprzęt i konta

Jeśli masz już konto sieciowe Arduino i Google Analytics, wiesz, jak z niego korzystać, możesz przejść do kroku 1 i rozpocząć konfigurację.

Używam EtherMega i do wyboru jest obfitość połączonych w sieć Arduin, w przeciwnym razie, jeśli trzeba podłączyć osłonę ethernetową lub osłonę Wi-Fi, na pewno znajdziesz jakiś sposób, by to rozgryźć.

Konto Google Analytics z co najmniej jedną właściwością skonfigurowaną z włączoną funkcją Universal Analytics będzie tutaj przydatne. Mój był domyślnie, ale twój przebieg może się różnić.

Przydatny będzie również kod śledzenia dla tej nieruchomości. Zauważ jednak, że właściwość nie wydaje się być wymagana, wskazałem kopalnię na null.html, na wszelki wypadek, jednak wydaje się, że nie jest potrzebna, zdarzenia, których tu używam, działają niezależnie.

Jeśli chcesz, aby mój kod śledzenia został pozostawiony, ponieważ kocham dane, wyślij mi swoje dane. Zobaczę, czy uda mi się jakoś opublikować raport.:RE

Jednak zalecam używanie własnych kodów śledzenia i kategorii po powiedzeniu cześć ArduinoNet (jest to podobne do SkyNet, ale bardziej przyjazne i hostowane na MySQL).

Prawdziwą frajdą jest oglądanie w czasie rzeczywistym haseł w przeglądarce wydarzeń na żywo i wygrzewanie się w chwale podważenia systemu śledzenia użytkowników i oddania go do użytku!

OK, więc mamy połączenie sieciowe, a nasze konta są posortowane, przesyłamy.

Krok 2: Prześlij i ciesz się.

Załączony szkic jest dość prosty i po prostu wysyła pingi do serwerów Google ze zdarzeniem śledzącym co około 10 sekund. Możesz także potrzebować floatToString.h dla wartości czujników podwójnych / zmiennoprzecinkowych.

Jest jedna linia, która jest niezbędna do zmiany:

String trackingID = „UA-21694160-2”;

Tutaj powinieneś wstawić swój identyfikator śledzenia po pingowaniu ArduinoNet, aby powiedzieć „cześć”.

Następna linia może być dla ciebie ważna:

int deviceID = 666;

Jeśli chcesz, musisz zmienić to na statyczny identyfikator urządzenia. W ustawieniach przypisuję losowy identyfikator urządzenia:

identyfikator urządzenia = losowy (1000); // linia 50

Dlatego też musisz usunąć tę linię, aby uzyskać statyczny identyfikator. Osobiście lubię dynamiczny identyfikator, aby śledzić ponowne uruchamianie, ale dla każdego z nich.

Kolejne trzy wiersze to także trochę zabawy:

String payloadCategory = "Arduino";

String payloadAction = „Sensor”;

String payloadLabel = "Losowo";

Tutaj właśnie wyśmiałem grupy, ale używaj tego, co działa dla ciebie. W moich projektach używam payloadLabel do oznaczania typu czujnika, np. „Temp”, „wilgotność” lub „przycisk”. PayloadAction będzie mieć przypisany identyfikator urządzenia podczas raportowania.

Poręczne informacje o debugowaniu są wyprowadzane na port szeregowy, więc sprawdź ładowność i rozmiar odpowiedzi, jeśli coś pójdzie nie tak. Jeśli jednak wszystko pójdzie nie tak, możesz również odkomentować debugowanie odpowiedzi.

Aby podłączyć swój własny czujnik, prawdopodobnie wystarczy wymienić linię:

sensorValue = mapa (val, 0, 1023, 1, 100);

i ustaw sensorValue na cokolwiek chcesz (oprócz tego, co ustawiłeś).

Prześlij, usiądź wygodnie i ciesz się statystykami!

Nie zapomnij o przeglądarce wydarzeń na żywo!