Thứ Tư, 5 tháng 2, 2014

Coi chừng nhà bằng Google Analytics

Thành quả này có vẻ hơi điên khùng, nhưng đây là một ý tưởng rất đặc biệt của anh chàng này, mình xin dịch lại tài liệu này, vì đối với mình nó mang lại những giá trị rất hay.

Coi chừng nhà bằng Google Analytics
Coi chừng nhà bằng Google Analytics

1. Nó giúp mình nhận thấy rằng từ những nền tảng của công nghệ hiện tại người ta có thể sử dụng nó để phục vụ nhiều hơn cho những mục đích mà chỉ có những người dám nghĩ mới làm được

2. Mình nhận ra rằng Google Analytics nói riêng, và còn nhiều công cụ khác ... thực sự là những điều kỳ diệu khi mà mọi thông tin của bạn được track theo từng giây đồng hồ.

3. Qua thực nghiệm này cho thấy chúng ta có thể tạo ra vô số những thiết bị kỳ diệu qua những hệ thống track trên Internet, và việc kiểm soát khách hàng chuyển từ Online Visitors sang những người khách bước vào và mở cửa ngay tại Shop của chúng ta.

4. Tương lai của Google Analytics hay của Google không còn là Internet hay Website, mà là cuộc sống thực với những Thiết bị Vật lý mà bạn chạm vào được hàng ngày.

5. Cho trí tưởng tượng của bạn và tôi bay xa nữa.

Khi nghĩ về Google Analytics, chúng ta nghĩ đến vấn đề theo dõi Website, nghĩ về pageviews, events và Goals. Nhưng có bao giờ bạn nghĩ là Google Analytics sẽ giúp trông chừng những việc khác như số lần cửa chính nhà bạn được mở ra, đèn nào ở nhà bạn được bật nhiều hơn những cái khác, bạn có muốn biết rằng có ai đó đang đi quanh nhà bạn khi bạn không ở đó, hoặc những mấy đứa con đang lục lọi phòng của bạn mà không hỏi trước ... Vâng, BẠN HOÀN TOÀN CÓ THỂ.

Dùng Google Analytics để theo dõi những thứ bạn muốn
Dùng Google Analytics để theo dõi những thứ bạn muốn
Nhưng như thế nào?

Với Công cụ đo lường theo giao thức mới của Google Analytics: Universal Analytics Measurement Protocol, một vài bảng mạnh điện tử (Arduino Boards), hoặc một mainboard được sắp xếp sẵn (theo tài liệu là: Raspberry Pi’s, bạn có thể nghiên cứu thêm thứ này tại: http://en.wikipedia.org/wiki/Raspberry_Pi), cùng với vài sợi dây điện và biến trở.

Và chẳng cần kinh nghiệm lập trình hay phải có kiến thức của một kỹ sư !!

Cái gì là Measurement Protocol?

Measurement Protocol là một phần của phiên bản mới Google Analytics, hay còn được gọi là Universal Analytics (ở đây nói về vấn đề kỹ thuật thì còn nhiều, nhưng ta chỉ đi vào vấn đề chính của bài viết). Measurement Protocol là một URL (đường link) giúp bạn gửi đến Google Analytics thông tin mỗi khi có một sự kiện hay hành động nào đó xảy ra (trong program người ta thường gọi là trigger hay flag). Trong vấn đề Website Tracking thì bạn gửi URL đến Google Analytics về số  pageviews quy định trong một Event. Cho nên bạn sẽ cần một tài khoản Google Analytics, cần phải đăng ký cái này trước, tài khoản này đăng ký miễn phí.

Phương thức Universal của Google Analytics
Phương thức Universal của Google Analytics
Sau khi tài khoản Universal được cài đặt, bạn đã có thể sử dụng giao thức "Measurement Protocol"

Phân tích URL của Measurement Protocol

Nó đây: www.google-analytics.com/collect?v=1&tid=UA-XXXX-Y&cid=123&t=pageview&dp=%2Fsubpage

Hà hà, bạn nào quan tâm đến vấn đề tấn công dựa vào tham số trên URL hoặc SQL Injection thì chắc chắn nhìn vào URL này là thấy rồi, nó có những phần như sau:

Phần đầu

www.google-analytics.com/collect?v=1 --> luôn luôn là như thế, không thay đổi

Phần thứ hai

&tid=UA-XXXX-Y --> cái này là UA number của bạn, mỗi một tài khoản có một cái khác nhau

Phần thứ ba

&cid=123 --> cái này thay cho "Client ID", chúng ta có thể làm bất cứ thứ gì chúng ta muốn với cái này. Tôi sẽ nói thêm chi tiết về cái này ở phần sau.

Phần thứ tư

&t=pageview --> nó sẽ ra lệnh cho Google Analytics thu thập thông tin về pageviews mỗi khi có trigger

Phần thứ năm

&dp=%2Fanypage --> giúp Google Analytics tập trung track các page sâu hơn ở cấp độ /anypage

Nói thêm một chút về ký tự "/" <=> "%2F". Để tìm hiểu thêm về việc chuyển đổi ký tự unicode, bạn xem thêm ở đây: http://www.w3schools.com/tags/ref_urlencode.asp

Đây là một URL theo sự kiện mà tôi tạo ra:

www.google-analytics.com/collect?v=1&tid=UA-XXXX-Y&cid=123&t=event&ec=home%20movement&ea=door%20open&el=bedroom

www.google-analytics.com/collect?v=1&tid=UA-XXXX-Y&cid=123 --> như trên vừa nói với các bạn đấy

&t=event --> ra lệnh cho Google Analytics theo dõi một event (sự kiện)

&ec=home%20movement --> category của event là home/movement

&ea=door%20open --> hành động được theo dõi ở đây là door/open

&el=bedroom --> label tôi đặt cho event là bedroom

Để xem chi tiết về hướng dẫn các tham số này cho Developer, bạn tham khảo thêm tại: https://developers.google.com/analytics/devguides/collection/protocol/v1/devguide

Để thử xem mã track này hoạt động ra sao, bạn cứ bỏ nó vào địa chỉ trình duyệt và enter, nó sẽ gửi thông tin về theo thời gian thực cho bộ Track của Google Analytics.




Sự kiện được báo qua bộ theo dõi theo thời gian thực của Google Analytics
Sự kiện được báo qua bộ theo dõi theo thời gian thực của Google Analytics
BÂY GIỜ TA HÃY XEM CHÚNG TA CHUYỂN NHỮNG THỨ NÀY RA CÁC THIẾT BỊ NGOẠI VI RA SAO QUA CÁC LOẠI BIẾN TRỞ NHÉ

Làm thiết bị theo dõi chuyển động bằng Google Analytics
Làm thiết bị theo dõi chuyển động bằng Google Analytics
Trong bước kế tiếp chúng ta sẽ làm một thiết bị vật lý để lấy thông tin từ hoạt động trong cuộc sống của bạn và đưa vào Google Analytics bằng cách sử dụng Raspberry Pi (Raspberry Pi là một bảng bo mạch chuẩn thường được dùng trong các thiết kế máy tính đơn giản trong nhà trường).

Chúng ta có các biến trở để phát hiện ra sự chuyển động, ánh sáng, âm thanh, nhiệt độ, độ ẩm ... và còn nhiều nữa. Trước đây, công đoạn khó khăn nhất của việc thu thập các thông tin này là vấn đề hiển thị báo cáo. Tôi có thể thu thập các thông tin về chuyển động xung quanh ngôi nhà của tôi, nhưng làm sao để tôi có thể tái hiện lại nó trên báo cáo? Giờ đây Google tái hiện lại mọi thứ cho bạn, và còn tái hiện theo thời gian thực !!

Giờ chúng ta sử dụng Google Analytics để vẽ ra các báo cáo này, dựa vào các thiết bị vật lý bằng các biến trở bằng cách viết một chương trình nhỏ để gửi các thông tin về số lần cửa được mở hay các chuyển động xung quanh nó.

Trong ví dụ này chúng ta sẽ theo dõi các chuyển động bằng cách sử dụng Raspberry Pi.

Cài đặt cho bo mạch chủ
Cài đặt cho bo mạch chủ
Bước 1 - Chuẩn bị những dụng cụ cần có

CÁC CÔNG CỤ SAU CÓ THỂ MUA ĐƯỢC DỄ DÀNG TẠI CÁC CỬA HÀNG LINH KIỆN ĐIỆN TỬ HOẶC TRÊN AMAZON, BẠN CÓ THỂ XEM CHI TIẾT TẠI BÀI VIẾT GỐC, Ở ĐÂY MÌNH KHÔNG TRÍCH LINK

1 Bo mạch Raspberry Pi Model B Revision 2.0 (512MB)
Bo mạch Raspberry Pi Model B Revision 2.0 512MB
Bo mạch Raspberry Pi Model B Revision 2.0 512MB
1 Biến trở hồng ngoại PIR (Passive Infrared)
Biến trở hồng ngoại PIR (Passive Infrared)
Biến trở hồng ngoại PIR (Passive Infrared)
3 Dây nối M-F Jumper
Dây nối M-F Jumper
Dây nối M-F Jumper
1 Dây truyền dữ liệu Pi Cobbler
Dây truyền dữ liệu Pi Cobbler
Dây truyền dữ liệu Pi Cobbler
1 Bảng Breadboard
Bảng Breadboard
Bảng Breadboard
1 Thiết bị Ethernet Cord hoặc Wifi Dongle (ở đây dùng Wifi Dongle)
Wifi Dongle
Wifi Dongle
1 Flash Card (ít nhất 8 GB)
Flash Card (ít nhất 8 GB)
Flash Card (ít nhất 8 GB)
Wow, dịch đống này nhức đầu thật, nhiều thiết bị mình cũng không biết dịch ra là gì, trong phần sau có những phần hướng dẫn chi tiết hơn về cách sử dụng từng thiết bị, mình trích nguyên nguồn tiếng anh, vì nó có vẻ chi tiết quá, không liên quan nhiều đến bài viết.

Bước 2 - Tiến hành lắp đặt Raspberry Pi

Cài đặt Raspbian (cái này là thẻ nhớ) trên Raspberry Pi - Hướng dẫn
Cài đặt Netword và Wifi - Hướng dẫn
Cài đặt Rpi.GPIO để lấy các thông tin từ Raspberry pi - Hướng dẫn

Video hướng dẫn các linh kiện

Bước 3 - Kết nối dây dẫn đến Biến trở

Kết nối 3 dây M-F jumper đến các cổng GND (Ground), OUT, và +5V

Kết nối 3 cổng của M-F jumper
Kết nối 3 cổng của M-F jumper
Bước 4 -Ráp các thiết bị lại với nhau

Ráp pi cobbler/cable đến Raspberry Pi và bread board

Ráp các thiết bị lại với nhau
Ráp các thiết bị lại với nhau
Nối dây màu Đen trên ground trên biến trở PIR đến ground trên bảng Breadboard
Nối dây màu Đỏ từ cổng 5v trên biến trở PIR đến cổng 5v trên bảng Breadboard
Nối dây màu Vàng từ cổng OUT trên biến trở PIR đến cổng 18 trên bảng Breadboard

Sơ đồ nối dây
Sơ đồ nối dây
Bước 5 - Chèn Code

Lưu ý: bạn cần cài gói Rpi.GPIO. Giờ khởi động Raspberry Pi và chèn code sau vào.

import time
import urllib2
import RPi.GPIO as io
io.setmode(io.BCM)

pir_pin = 18

io.setup(pir_pin, io.IN) # activate input

def hitGA():
 print("sent to GA")
 urllib2.urlopen("http://www.google-analytics.com/collect?v=1&tid=UA-XXXXXX-Y&cid=1111&t=event&ec=Movement&ea=livingRoom&el=desk").close

while True:
 if io.input(pir_pin):
  hitGA()
  print("Movement")
 
Bước 6 - Chạy chương trình

Mở thiết bị cd vào thư mục phù hợp rồi chạy nó bằng lệnh sudo

sudo python gamovement.py

Bạn sẽ thấy như thế này:

Kết quả lệnh sudo
Kết quả lệnh sudo
Bước 7 - Kiểm tra báo cáo theo thời gian thực trên Google Analytics

Xem các sự kiện qua lệnh này được báo cáo trong bộ đếm theo thời gian thực của GA hay chưa.

Bộ đếm báo cáo sự kiện từ thiết bị
Bộ đếm báo cáo sự kiện từ thiết bị
Đây là video Demo

Video cho thấy có sự kiện xảy ra quanh nhà tôi

Giờ bạn đã theo dõi được các chuyển động xung quanh nhà bạn qua Google Analytics được rồi đấy !!

Nguồn bài viết gốc tại: http://nicomiceli.com/tracking-your-home-with-google-analytics/
Cám ơn tác giả.

Không có nhận xét nào:

Đăng nhận xét