:: Arduinolitics :: Google Analytics på Arduino.

:: Arduinolitics :: Google Analytics på Arduino.

Indholdsfortegnelse:

Anonim

Dette er faktisk et hævnprojekt, tidligere i ugen har Google "narret" mig til at deltage i et online kursus, som på grund af "Google Analytics" de er klar over, at jeg er en sucker for onlinekurser. Så jeg tilmeldte mig straks, men kiggede på svaret email senere den dag, jeg begyndte at føle mig lidt beklagelig "Google Analytics" er for det meste et marketingværktøj.

"men" siger jeg til mig selv "et API er en API, og jeg finder noget at gøre med det".

Kurset var så informativt, jeg troede, jeg havde mistet IQ ved at tage det.

Så jeg satte mig på at søge efter API'en, som slet ikke var dækket af det påståede "kursus" og genvundet nogle braincells ved at bruge det til at smække Analytics ind i Arduino og så; "Arduinolitics" blev født.

Der er bestemt begrænsninger til platformen, men også fordele. Indtil videre har jeg ikke været i stand til at hente individuelle hændelsesværdier, og det nærmeste jeg fik var et dagligt gennemsnit, dagtælling eller et tal af nuværende brugere.

Den største fordel er, at du ikke har brug for ekstra hardware, ingen server og Google er vært for dataene for dig.

Mulige anvendelser:

"Dagligt gennemsnit" kan være godt for barometriske data? - Testet (eksempel forespørgsel i kode kommentarer).

"Daily Count" kan være en god skridttæller?

"Nuværende brugere" kunne have et varslingssæt, hvis antallet af "nuværende besøgende" falder under en bestemt værdi, der angiver, at en af ​​dine Arduinos er gået ned. - Testet (jeg bruger det til en genstartscounter, da jeg skriver).

forsyninger:

Trin 1: Hardware og konti

Hvis du allerede har en netværksaktiveret Arduino- og Google Analytics-konto, kan du springe videre til Trin 1, og du begynder at konfigurere.

Jeg bruger en EtherMega, og der er et mellemhorn af netværk Arduinos at vælge imellem, ellers hvis du har brug for at forbinde et Ethernet-skærm eller wifi-skjold, er jeg sikker på, at du finder en måde at finde ud af det.

En Google Analytics-konto med mindst én ejendom, der er konfigureret med Universal Analytics aktiveret, vil være praktisk her. Mine var som standard, men din kilometertal kan variere.

Også praktisk vil være sporingskoden for den pågældende ejendom. Bemærk dog, at ejendommen ikke synes at være påkrævet, jeg pegede min til en null.html bare i tilfælde, men det synes ikke at være nødvendigt, de hændelser, jeg bruger her, fungerer uafhængigt.

Hvis du ønsker dig, kan du lade min sporingskode ind, da jeg elsker data, send venligst dine data til mig. Jeg vil se, om jeg kan offentliggøre en rapport for den på en eller anden måde.: D

Jeg anbefaler dog at bruge dine egne sporingskoder og kategorier efter at have sagt hej til ArduinoNet (Det er ligesom SkyNet men venligere og hostet på MySQL).

Den rigtige sjov er at se realtime hits på live events viewer og basking i den herlighed at undergrave et bruger tracking system og sætte det til rigtig brug!

OK, så vi har netværksforbindelse og vores konti sorteret, lad os uploade.

Trin 2: Upload og nyd.

Den vedhæftede skitse er ret simpel og pinger bare Googles servere med en sporingsbegivenhed ca. hvert 10. sekund. Du kan også have brug for floatToString.h for værdier for dobbelt / flydende punktsensor.

Der er en linje, som er afgørende for dig at ændre:

String trackingID = "UA-21694160-2";

Her skal du indsætte dit sporings-ID, måske efter at du har pinget ArduinoNet for at sige hej.

Den næste linje kan være vigtig for dig:

int deviceID = 666;

Du skal ændre dette til et statisk enheds-ID, hvis du vil have en. Jeg tildeler faktisk et tilfældigt enheds-id i opsætningen:

deviceID = tilfældigt (1000); // linje 50

Så du skal også fjerne linjen for at få et statisk ID. Personligt kan jeg lide det dynamiske id for at holde styr på genstarter, men til hver deres egen.

De næste tre linjer er også lidt sjove:

String nyttelastKategori = "Arduino";

String payloadAction = "Sensor";

String payloadLabel = "Random";

Her har jeg bare mocked up grupperinger, men brug hvad der virker for dig. I mine projekter har jeg brugt payloadLabel til at mærke sensor type, som "temp", "fugtighed" eller "knap". PayloadAction vil have et id-id, der er vedhæftet det under rapporteringen.

Handy debugging info er output på seriel port, så kontroller nyttelast og svar størrelse der, hvis tingene går galt. Hvis det dog går rigtig galt, vil du måske også undvære svarfejlen.

For at tilslutte din egen sensor skal du nok bare udskifte linjen:

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

og indstil sensorValue til det, du vil have (ud over uanset setup din).

Upload, læne dig tilbage og nyd statistikken!

Glem ikke live events viewer!