Nguồn Google Developers
Tất cả các thông tin tổng quan về Beacons
Nguồn passkit.com
Để tìm hiểu hoạt động của Beacons ta tìm hiểu trước tiên về BLE
BLE – Bluetooth Low Energy
Beacons sử dụng công nghệ BLE (Bluetooth Low Energy), còn được gọi là Bluetooth Smart. BLE sử dụng giao thức khác Classic Bluetooth, và không tương thích ngược. BLE sử dụng cùng băng tần 2.4GHz.
Có hai kiểu thiết bị BLE:
Hầu hết điện thoại và máy tính mới đều hỗ trợ Bluetooth Smart Ready, còn beacons chỉ là BLE không hỗ trợ Classic Bluetooth.
Ưu thế lớn nhất của BLE là tiết kiệm năng lượng, cho phép beacons truyền thông tin liên tục lên đến 2-3 năm chỉ với một viên pin nhỏ. Khoảng cách truyền BLE cũng lên đến 100m như Classic Bluetooth.
BLE có hai chế độ trao đổi thông tin:
Beacons chỉ sử dụng chế độ truyền advertising (chỉ gửi thông tin một chiều). Beacons theo một chu kỳ sẽ phát thông tin quảng bá để các thiết bị khác như smartphone nhận. Beacons có thể phát với chu kỳ từ 20ms đến 10s, chu kỳ càng dài thì thời lượng pin càng lâu.
Định dạng gói tin của Beacons là gì?
Một gói tin để các thiết bị đọc được phải tuân theo các chuẩn đã được định trước, trước tiên là gói dữ liệu advertising.
Một gói tin advertising có độ dài lên đến 47 bytes.
iBeacon
Ảnh nguồn makeandbuild.com
iBeacon được Apple định dạng trong 31 bytes PDU Data, nó báo gồm các trường thông tin:
Như vậy iBeacon sử dụng 30 bytes trong 31 bytes của PDU Data, còn 1 byte cuối cùng sẽ ko đc sử dụng.
Để phân tích và nhận dạng xem một beacon có phát đúng gói tin tuân theo chuẩn iBeacon hay không chúng ta sẽ phân tích 9 bytes của trường iBeacon prefix.
Eddystone
Ảnh nguồn mbed.org
Trên đây là định dạng các gói tin của Eddystone, 31 bytes dữ liệu (chính là 31 bytes của PDU Data) được định nghĩa chi làm 3 loại gói tin UUID, URL, và TLM.
iBeacon
Là giao thức BLE được Apple đưa ra 12/2013, đây là một bộ giao thức chính thức đầu tiên về BLE, đa số mọi beacons đều hỗ trợ. Giao thức này được hỗ trợ chỉ trên iOS, nhưng hiện nay có thể tìm rất nhiều hàm API hỗ trợ tìm kiếm các iBeacon trên Android. Cần có một ứng dụng để tìm kiếm beacons và thực hiện các thao tác với chúng.
iBeacon hỗ trợ hai kiểu tương tác, giám sát (monitoring) và vùng phủ (ranging). Với chế độ giám sát ứng dụng sẽ cảnh báo ngay cả khi ứng dụng đã tắt. Khác chế độ giám sát, chế độ cự ly chỉ hoạt động khi ứng dụng đang chạy.
Với iBeacon thì các beacon sẽ phát ra dữ liệu gì?, chúng phát ba thông tin UUID, Major, và Minor. Sẽ không bao giờ có hai beacon cùng UUID, Major, và Minor.
Eddystone
Là giao thức BLE do Google công bố 7/2015, được hỗ trợ chính thức trên cả hai nền tảng iOS và Android. Là một giao thức mở và hỗ trợ nhiều gói tin khác nhau. Chỉ hỗ trợ một kiểu tương tác cơ bản, gần giống với vùng phủ của iBeacon.
Các gói tin của Eddystone gồm có:
Eddystone-UID: gần giống gói tin của iBeacon, gồm các thông tin Namespace (chức năng giống UUID của iBeacon) và Instance (chức năng giống Major và Minor của iBeacon)
Eddystone-URL: gửi thông tin một đường dẫn trang web. Với gói tin này trên điện thoại sẽ mở trang web và ko cần cái ứng dụng.
Eddystone-TLM: là gói tin gửi các thông tin của beacons như điện áp pin, nhiệt độ, số gói tin đã gửi, và thời gian bật beacons. Gói tin này sẽ gửi với chu kỳ dài hơn hai gói trên.
Eddystone có thể thay thế iBeacon?
Chi tiết định dạng các gói tin ta sẽ tìm hiểu trong bài sau.
Nguồn Academy by pulsate
Beacons hoạt động thế nào?
Beacons phát tín hiệu quảng bá thông tin sử dụng Bluetooth Low Enregy ra môi trường xung quanh. Các thiết bị như điện thoại thông minh (smartphone) thu được thông tin khi đến gần các beacon, khoảng cách có thể lên đến 100m. Ứng dụng trên điện thoại thông minh hoặc các thiết bị có khả năng đọc được dữ liệu thông qua Bluetooth sẽ xử lý và hiện thị các thông tin tương ứng.
Beacons gửi dữ liệu gì?
Với iBeacon, một chuẩn dữ liệu beacon của Apple các beacons sẽ phát các thông tin sau:
UUID: 16 bytes để phân biệt các công ty, tập đoàn, nhãn hàng …
Major: 2 bytes các mức nhỏ hơn trong cùng một công ty, tập đoàn, nhãn hàng …
Minor: 2 bytes xác định các beacon trong cùng 1 địa điểm
Tx Power: cường độ sóng phát ra
Ngoài ra còn có chuẩn gói tin khác là Eddystone của Google công bố tháng 7/2015, chúng ta sẽ so sánh chi tiết trong bài sau.
(nguồn estimote.com)
Thông tin gì sẽ được hiện thị?
Các beacon chỉ phát ID muốn có thông tin nội dung mà người dùng quan tâm, các thiết bị sẽ phải lấy trên cloud hoặc lưu trữ ngay trong smartphone để hiện thị tương ứng với beacon.
Beacons là một thiết bị đơn giản phát tín hiệu bằng công nghệ Bluetooth Low Energy. Các thiết bị ở gần có thể đọc các thông tin này và xử lý các thông tin này theo ứng dụng cụ thể. Beacons được đặt tại các địa điểm cố định như Gian hàng, Sân bay, Bảo tàng … và các đối tượng di chuyển như hàng lý, vật nuôi, xe máy …
Chúng ta có thể làm gì với Beacons:
Hiện tại có 3 nền tảng về beacons phổ biến:
Trong đó Eddystone là một định dạng beacon mở của Google có thể hỗ trợ trên cả Android và iOS.
Chúng ta sẽ tìm hiểu kỹ hơn các nền tảng trong các bài viết sau.