:: Arduinolitics :: Google Analytics pada Arduino.

:: Arduinolitics :: Google Analytics pada Arduino.

Isi kandungan:

Anonim

Ini sebenarnya adalah projek balas dendam, pada awal minggu ini, Google "menipu" saya untuk menyertai kursus dalam talian, yang disebabkan oleh "Google Analytics" mereka menyedari saya sebagai penyisir untuk kursus dalam talian. Jadi saya segera mendaftar, tetapi melihat e-mel balasan pada hari itu saya mula merasakan sedikit penyesalan "Google Analytics" yang kebanyakannya alat pemasaran.

"tetapi," saya berkata kepada diri saya sendiri "API API dan saya akan menemui sesuatu dengannya".

Kursus ini begitu bermaklumat saya fikir saya akan kehilangan IQ dengan mengambilnya.

Jadi saya menetapkan untuk mencari API, yang tidak dilindungi sama sekali dalam kursus "yang dikatakan", dan menebus semula beberapa budi daya dengan menggunakannya untuk menjejalkan Analytics ke Arduino dan sebagainya; "Arduinolitics" dilahirkan.

Terdapat keterbatasan pada platform, tetapi juga kelebihannya. Setakat ini saya tidak dapat mengambil semula nilai peristiwa individu, yang paling hampir saya dapatkan adalah purata harian, kiraan harian atau kiraan pengguna semasa.

Kelebihan utama ialah anda tidak memerlukan perkakasan tambahan, tiada pelayan dan Google mengehadkan data untuk anda.

Kemungkinan Penggunaan:

"Purata harian" mungkin baik untuk data barometrik? - Diuji (contoh pertanyaan dalam komen kod).

"Harian Harian" boleh menjadi pedometer yang baik?

"Pengguna Semasa" mungkin mempunyai set alert jika "undian pelawat semasa" mengetepikan di bawah nilai tertentu yang menunjukkan salah satu Arduinos anda telah turun. - Diuji (Saya menggunakannya untuk kaunter reboot ketika saya menaip).

Bekalan:

Langkah 1: Perkakasan dan Akaun

Sekiranya anda sudah mempunyai rangkaian yang membolehkan Arduino dan akaun Google Analytics, yang anda tahu bagaimana menggunakan anda, boleh melangkau ke Langkah 1 dan mula menyiapkan.

Saya menggunakan EtherMega dan ada satu cornucopia dari Arduinos rangkaian untuk dipilih, jika tidak, jika anda perlu menyambung perisai ethernet atau perisai wifi saya pasti anda akan mencari jalan untuk memikirkannya.

Akaun Google Analitis dengan sekurang-kurangnya satu harta yang disediakan dengan Universal Analytics yang dibolehkan akan berguna di sini. Mine adalah secara lalai, tetapi perbatuan anda mungkin berbeza-beza.

Juga berguna akan menjadi kod Penjejakan untuk harta itu. Perhatikan bagaimanapun, harta itu nampaknya tidak diperlukan, saya menunjuk saya kepada null.html sekiranya berlaku, tetapi sepertinya tidak diperlukan, peristiwa yang saya gunakan di sini berfungsi secara bebas.

Jika anda ingin anda boleh meninggalkan kod penjejakan saya sebagai saya suka data, sila hantar data anda kepada saya. Saya akan melihat sama ada saya boleh membuat laporan untuk pihak awam.: D

Walau bagaimanapun, saya cadangkan menggunakan kod dan kategori penjejakan anda sendiri setelah mengucapkan terima kasih kepada ArduinoNet (Ini seperti SkyNet tetapi lebih mesra, dan dihoskan di MySQL).

Keseronokan sebenar adalah menonton hit realtime pada penonton acara langsung dan berjemur dalam kemuliaan menggulingkan sistem penjejakan pengguna dan meletakkannya untuk kegunaan sebenar!

OK, jadi kami mempunyai sambungan rangkaian dan akaun kami disusun, membolehkan muat naik.

Langkah 2: Muat naik dan Nikmati.

Lakaran yang dilampirkan agak mudah dan hanya menimbulkan pelayan Google dengan peristiwa penjejakan kira-kira setiap 10 detik. Anda juga mungkin perlu floatToString.h untuk nilai sensor double / floating point.

Terdapat satu baris yang penting untuk anda berubah:

Tracking stringID = "UA-21694160-2";

Di sini anda harus memasukkan ID Penjejakan anda selepas ping ArduinoNet mengatakan hi.

Baris seterusnya boleh menjadi penting kepada anda:

int deviceID = 666;

Anda perlu mengubahnya ke ID peranti statik jika anda mahu. Saya sebenarnya memberikan ID peranti rawak dalam persediaan:

perantiID = rawak (1000); // baris 50

Oleh itu, anda juga perlu mengeluarkan garisan itu untuk mendapatkan ID statik. Secara peribadi saya suka ID dinamik untuk mengesan reboot, tetapi untuk masing-masing mereka sendiri.

Tiga baris berikut juga sedikit menyeronokkan:

String payloadCategory = "Arduino";

String payloadAction = "Sensor";

String payloadLabel = "Random";

Di sini saya hanya mengejek kumpulan, tetapi gunakan apa sahaja yang berfungsi untuk anda. Dalam projek saya saya telah menggunakan payloadLabel untuk melabelkan jenis sensor, seperti "temp", "kelembapan" atau "butang". PayloadAction akan mempunyai ID peranti yang ditambahkan pada laporan semasa pelaporan.

Maklumat debugging berguna adalah output pada port siri, jadi periksa saiz muatan dan tindak balas di sana jika perkara itu salah. Sekiranya perkara-perkara itu benar-benar salah, anda mungkin tidak mahu mengulas debug tindak balas juga.

Untuk menyambung sensor anda, anda mungkin perlu mengganti garisan:

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

dan set sensorValue kepada apa sahaja yang anda mahu (sebagai tambahan kepada apa jua persediaan anda).

Muat naik, duduk dan nikmati statistik!

Jangan lupa penonton acara langsung!