iBeacons hoạt động như thế nào

iBeacons hoạt động như thế nào

iBeacons là xu hướng gần đây. Chúng cho phép định vị trong nhà, cho điện thoại bạn biết được khoảng cách tới một beacon. Nó có nhiều ứng dụng: từ giúp tìm xe bạn trong bãi giữ xe, thông tin về khiến mại, giảm giá trong cửa hàng, .. và rất nhiều ứng dụng .. mà chúng ta khó hình dung được ..

Có rất nhiều bài về iBeacons là gìiBeacons làm được gì.. ứng dụng iBeacon gì .., phía dưới đây sẽ tìm hiểu iBeacon theo quan điểm kỹ thuật để thấy iBeacon hoạt động thế nào với công nghệ BlueTooth năng lượng thấp BLE ..

Bluetooth LE là gì ?
Bluetooth Low Energy (BLE) là một phần của chuẩn Bluetooth 4.0, được phát hành năm 2010. Nó có giao thức protocols khác với Bluetooth gốc trước đó, và thiết bị không tương thích với chuẩn cũ. Chúng ta có 3 loại thiết bị sau

Bluetooth: Chỉ hỗ trợ thế hệ bluetooth cũ "classic"
Bluetooth Smart Ready: Hỗ trợ cả thế hệ bluetooth cũ "classic" và LE năng lượng thấp
Bluetooth Smart: Chỉ hỗ trợ Bluetooth năng lượng thấp LE

Các điện thoại mới gần đây từ (iPhone 4S, SG3+), laptops, máy tính bảng, với trang bị Bluetooth 4.0 và có biểu tượng "Smart Ready". Beacons chỉ hỗ trợ giao thức năng lượng thấp (cho phép thiết bị làm việc khoảng thời gian dài) và là "Bluetooth Smart". Thiết bị cũ, như ngoại vi, hệ thống xe, điện thoại cũ chỉ hỗ trợ "Classic Bluetooth".

Tập chung chính của BLE là tiêu thị mức năng lượng thấp. Ví dụ, một số Beacons có thể truyền tin hiệu trong 2 năm với một cell battery (chủ ý battery thông thường không thay thế, bạn chỉ cần thay thế beacon khi nó không hoạt động). Cả "classic" và BLE sử dụng cùng phổ tần từ 2.4 GHz - 2.4835 GHz). Giao thức BLE có tốc độ truyền thấp, tuy nhiên nó không để truyền luồng dữ liệu lớn, nó dùng để khám phá và giao tiếp đơn giản, cả classic và BLE đều khoảng cách tới 100 m.

Kết nối BLE hoạt động như thế nào ?

BLE giao thức gồm 2 phần: quảng bá (advertising) và kết nối (connecting)

Quảng bá là cơ chế khám phá một chiều. Thiết bị muốn được quảng bá, nó truyền một ít dữ liệu theo thời gian từ 20 mini giây tới 10 giây. Khoảng thời gian càng ngắn, thì nhanh hết pin hơn, nhưng thiết bị có thể được khám phá biết đến nhanh hơn. Ít dữ liệu đó có thể lên tới 47 bytes chiều dài và bao gồm như hình vẽ


Cho kênh truyền "quảng bá", địa chỉ truy cập lúc nào cũng là 0x8E89BED6. Cho kênh truyền dữ liệu, thì tùy vào kết nối. Trong đó có 6 bytes cho địa chỉ MAC của thiết bị, thực tế thông tin truyền chỏ có 31 bytes.

Khi thiết bị đã được quảng bá, một kết nối được thiết lập. Sau đó nó có thể đọc những dịch vụ mà BLE đưa ra, và một dich vụ có thông số (gọi là GATT profile). Mỗi thông số có một số dữ liệu mà có để đọc, ghi.

Beacon sử dụng BLE như thế nào ?

Beacons chỉ sử dụng kênh truyền quảng bá. nó truyền dữ liệu theo khoảng thời gian, và dữ liệu này được tiếp nhận từ thiết bị di động điện thoại. Khi, Beacons đơn giản sử dụng BLE quảng bá với sự hỗ trợ thêm từ hệ điều hành iOS.
Hình dưới là một ví dụ dữ liệu từ một iBeacon

1
2
3
4
5
02 01 06 1A FF 4C 00 02 15: iBeacon prefix (fixed)
B9 40 7F 30 F5 F8 46 6E AF F9 25 55 6B 57 FE 6D: proximity UUID (here: Estimote’s fixed UUID)
00 49: major
00 0A: minor
C5: 2’s complement of measured TX power


Chi tiết cấu trúc iBeacon format

Một gói dữ liệu bao gồm:
+ Một số nhận dạng gọi là UUID (B9 .... 6D ở hình trên, số này có thể ngẫu nhiên), cộng với hai giá trị gọi là mã số chính (major 0x0049, số 73) và mã số phụ (minor 0x000A, số 10).
+ Các cờ (flags)
+ Mức công suất truyền thông tin (TX power 0xC5 = 197, số bù 256-197= -59 dBm)
+ Tên cục bộ
+ Các dịch vụ

Mỗi beacon có một tập mã nhận dạng. Trong đó UUID là mã nhận dạng chung từ nhà sản xuất thiết bị iBeacon. Còn mã Major/Minor thì giúp nhận dạng các loại beacons khách nhau và tùy vào mã đó chúng ta có kế hoạch triển khai tương ứng. Mã Major có thể đại diện cho đặt tính của cửa hàng, trong khi mã Minor đại điện cho từng beacons riêng lẻ ở trong cửa hàng đó. Những mã số này là chìa khóa để lập trình ứng dụng Apps để phải hồi chi tiết đối với từng beacons riêng lẻ.

TX Power là độ mạnh tiens hiệu RSSI của thiết bị ở khoảng cách 1 mét.  Tùy theo vật cản như đồ vật, người, và nhiễu kênh truyền mà tín hiệu sẽ suy giảm, khoảng cách chỉ là ước lượng.

Tích hợp vào iOS hệ điều hành
iOS đã được nâng cấp để kết hợp với iBeacons. App của bạn nhận một thông báo khi vào vùng một beacon, không chỉ lúc ở foreground và kể cả khi ở backgound mode. Một App có thể theo dõi sự kiện khi nào vào/ra vùng beacon, từ đó app được kích hoạt ngay cả khi nó không chạy. Phản hồi từ những sự kiện đó, app có thể gởi thông báo đẩy, và báo người dùng mở ứng dụng để xem những khiến mãi, giảm giá, và các thông tin liên quan.

Chính xác hơn, khi phone không được kích hoạt, ios vào trạng thái theo dõi mức năng lượng thấp, chỉ iBeacon region (vùng) sự kiện vào/ra được phát hiện. Khi phone và app được kích hoạt, ban có thể vào khoảng cách mode, để có thể phát hiện độ mạnh tín hiệu và xác định khoảng cách chính xác hơn.

Nó có thể tốn nhiều thời gian để phone có thể phát hiện một beacon. Đầu tiên, beacon truyền tin quảng bá theo thời gian, tiếp theo, nếu phone không kích hoạt, nó theo dõi tín hiệu bluetooth một thời gian. Để phát hiện Beacon, hai khoảng thời gian này phải giao với nhau. Theo thực tế, nó có thể lên tới 15 phút để phát hiện beacon.

Cách lập trình ở dây

Cần một thiết bị iBeacons thử nghiệm ?
Kiểm tra link sau.

@CongNgheiBeacons.Com


Tham khảo
http://www.warski.org/blog/2014/01/how-ibeacons-work/

Share on Google Plus

About Henry Tran

Henry Tran is iBeacon expert in Vietnam with over 10 years experience in technology applications.
    Blogger Comment
    Facebook Comment

0 comments:

Post a Comment

Note: Only a member of this blog may post a comment.