:: Arduinolitics :: Google Analytics sur Arduino.

:: Arduinolitics :: Google Analytics sur Arduino.

Table des matières:

Anonim

Il s’agit en réalité d’un projet de vengeance. Plus tôt cette semaine, Google m'a "incité" à m'inscrire à un cours en ligne. Grâce à "Google Analytics", ils savent très bien que je suis un con pour les cours en ligne. Je me suis donc tout de suite inscrit, mais en regardant l'e-mail de réponse plus tard dans la journée, j'ai commencé à ressentir un petit regret "Google Analytics" est principalement un outil marketing.

"mais," je me dis "une API est une API et je vais trouver quelque chose à voir avec elle".

Le cours était si instructif que je pensais avoir perdu le QI en le prenant.

Je me suis donc mis à la recherche de l'API, ce qui n'était pas du tout traité dans le prétendu "cours", et j'ai récupéré quelques cerveaux en l'utilisant pour envelopper Analytics dans Arduino, etc. "Arduinolitics" était né.

Il y a certes des limites à la plateforme, mais aussi des avantages. Jusqu’à présent, j’ai été incapable de récupérer des valeurs d’événement individuelles, le plus proche que j’ai eu était une moyenne quotidienne, un compte quotidien ou un compte des utilisateurs actuels.

L'avantage principal est que vous n'avez besoin d'aucun matériel supplémentaire, d'aucun serveur et Google héberge les données pour vous.

Utilisations possibles:

"Daily Average" pourrait être bon pour les données barométriques? - Testé (exemple de requête dans les commentaires de code).

"Daily Count" pourrait être un bon podomètre?

Une alerte peut être activée pour "Utilisateurs actuels" si le nombre de "visiteurs actuels" passe en dessous d'une valeur spécifiée, ce qui indique qu'un de vos Arduinos est en panne. - Testé (je l'utilise pour un compteur de redémarrage au fur et à mesure que je tape).

Provisions:

Étape 1: matériel et comptes

Si vous possédez déjà un compte Arduino et Google Analytics activé sur le réseau, que vous savez utiliser, vous pouvez passer à l'étape 1 et commencer la configuration.

J'utilise un EtherMega et il y a une corne d'abondance d'Arduinos en réseau parmi lesquels choisir, sinon si vous avez besoin de connecter un bouclier Ethernet ou un bouclier wifi, je suis sûr que vous trouverez un moyen de le comprendre.

Un compte Google Analytics avec au moins une propriété configurée avec Universal Analytics activé sera utile ici. Le mien était par défaut, mais votre kilométrage peut varier.

Le code de suivi de cette propriété sera également utile. Notez cependant que la propriété ne semble pas nécessaire, j’ai pointé le mien sur un null.html au cas où, mais elle ne semble pas nécessaire, les événements que j’utilise ici fonctionnent indépendamment.

Si vous le souhaitez, vous pouvez laisser mon code de suivi, car j'aime les données, veuillez m'envoyer vos données. Je verrai si je peux rendre un rapport public d'une manière ou d'une autre.:RÉ

Je recommande toutefois d'utiliser vos propres codes de suivi et catégories après avoir salué ArduinoNet (c'est un peu comme SkyNet mais plus convivial et hébergé sur MySQL).

Le vrai plaisir est de regarder des hits en temps réel sur le spectateur d'événements en direct et de se prélasser dans la gloire de subvertir un système de suivi des utilisateurs et de le mettre à profit!

OK, donc nous avons la connectivité réseau et nos comptes triés, mettons en ligne.

Étape 2: Téléchargez et profitez.

L'esquisse ci-jointe est assez simple et pince les serveurs Google avec un événement de suivi toutes les 10 secondes environ. Vous pouvez également avoir besoin de floatToString.h pour les valeurs de capteur à virgule flottante / double.

Il est essentiel que vous changiez une ligne:

String trackingID = "UA-21694160-2";

Ici, vous devriez peut-être insérer votre identifiant de suivi après l'envoi d'une requête ping à ArduinoNet.

La ligne suivante pourrait être importante pour vous:

int deviceID = 666;

Vous devrez le changer en un ID de périphérique statique si vous en voulez un. Je suis en train d'attribuer un ID de périphérique aléatoire dans la configuration:

deviceID = random (1000); // ligne 50

Vous devrez donc également supprimer cette ligne pour obtenir un identifiant statique. Personnellement, j'aime bien que l'ID dynamique garde la trace des redémarrages, mais chacun son propre.

Les trois lignes suivantes sont également amusantes:

String payloadCategory = "Arduino";

String payloadAction = "Capteur";

String payloadLabel = "Aléatoire";

Ici, je viens de me moquer de groupes, mais utilisez ce qui vous convient le mieux. Dans mes projets, j'ai utilisé payloadLabel pour identifier le type de capteur, comme "temp", "humidité" ou "bouton". PayloadAction aura un identifiant d'appareil ajouté lors du rapport.

Des informations pratiques sur le débogage sont sorties sur le port série. Vérifiez donc la charge utile et la taille de la réponse si tout se passe mal. Si toutefois les choses tournent vraiment mal, vous pouvez également supprimer le commentaire du débogage de la réponse.

Pour raccorder votre propre capteur, il vous suffit probablement de remplacer la ligne:

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

et définissez sensorValue sur ce que vous voulez (en plus de la configuration de votre).

Téléchargez, asseyez-vous et profitez des statistiques!

N'oubliez pas le spectateur d'événements en direct!