- BLE và Bluetooth Beacon là gì?
- Công nghệ BLE hoạt động và sử dụng với Beacons như thế nào?
- Eddystone Beacon là gì?
- Yêu cầu
- Thiết lập Raspberry Pi cho Eddystone Beacon
- Tối ưu hóa công suất tín hiệu truyền bằng cách hiệu chỉnh công suất Tx
- Các ứng dụng của Eddystone Bluetooth Beacon
Bluetooth là một trong những công nghệ mang tính cách mạng để truyền dữ liệu không dây, điều khiển các thiết bị khác, xây dựng hệ thống tự động hóa gia đình, v.v. Nhưng bạn có bao giờ tự hỏi rằng Bluetooth cũng có thể được sử dụng để truyền bất kỳ thông tin nào đến các thiết bị lân cận để hiển thị thông tin quan trọng, dễ dàng thanh toán, v.v. Có một giao thức được Google phát triển để thực hiện nhiệm vụ này có thể dễ dàng triển khai trong Raspberry Pi để biến nó thành bộ phát sóng Beacon Bluetooth.
Trong hướng dẫn này, chúng ta sẽ tìm hiểu về BLE (Bluetooth Low Energy) và đèn hiệu Bluetooth và cài đặt Eddystone Bluetooth Beacon trong Raspberry Pi để phát một URL. Rất dễ dàng để chuyển đổi Raspberry Pi thành Bluetooth Beacon vì nó có sẵn Bluetooth.
BLE và Bluetooth Beacon là gì?
Các Low Energy Bluetooth, như tên cho thấy tiêu thụ ít năng lượng hơn so với cổ điển Bluetooth. Nó đạt được bằng cách gửi dữ liệu khi cần thiết với các bản cập nhật định kỳ được xác định trước. Nhưng không giống như Bluetooth cổ điển, nó không được sử dụng để truyền Tệp hoặc Nhạc. Thiết bị BLE hoạt động với Bluetooth V4.0 và có thể hoạt động với công suất thấp như một máy chủ hoặc một ứng dụng khách, điều này làm cho BLE trở thành lựa chọn lý tưởng cho đèn hiệu, đồng hồ thông minh, dây đeo thể dục, v.v. Mặt khác, Bluetooth cổ điển chỉ là loại cũ đơn giản. Giao thức Bluetooth mà chúng tôi sử dụng để truyền tệp và dữ liệu khác. Hầu hết tất cả các thiết bị BLE đều có chức năng Bluetooth cổ điển được kết hợp với nó. Trước đây chúng tôi đã giải thích chi tiết về BLE với ESP32.
Biểu tượng Bluetooth:
Beacons là các thiết bị phần cứng phát một số thông điệp đến các thiết bị điện tử gần đó và hoạt động như một Broadcaster. Công nghệ này cho phép các thiết bị di động thực hiện một số hành động khi chúng ở gần thiết bị báo hiệu. Giờ đây, các báo hiệu có thể được triển khai bằng BLE và Bluetooth cổ điển. Vì hầu hết các điện thoại thông minh và các thiết bị điện tử khác đều tương thích với BLE và có thể được sử dụng làm bộ thu Beacon nên việc triển khai BLE beacon hiệu quả hơn so với beacon Bluetooth cổ điển để giảm tiêu thụ điện năng.
Trung bình, một đèn hiệu Bluetooth Low Energy có thể truyền tín hiệu BLE đến 80 mét.
Công nghệ BLE hoạt động và sử dụng với Beacons như thế nào?
BLE là công nghệ tiêu thụ điện năng thấp, được thiết kế để liên lạc trong phạm vi ngắn và nó được ưu tiên khi tuổi thọ pin là yếu tố quan trọng hơn tốc độ dữ liệu cao. Việc truyền dữ liệu trong giao tiếp này chỉ là một chiều. BLE beacon truyền các gói dữ liệu nhỏ theo khoảng thời gian đều đặn. Các gói dữ liệu này được nhận và giải mã bởi ứng dụng máy quét đèn hiệu cài trên điện thoại thông minh. Dữ liệu nhận được này kích hoạt các hành động như quảng cáo sản phẩm hoặc đẩy thông điệp.
Trong đèn hiệu Bluetooth, số ID được nó truyền 10 lần mỗi giây qua các kênh BLE. Sau đó, số ID này được nhận bởi thiết bị hỗ trợ Bluetooth và được ứng dụng quét đèn hiệu nhận dạng, nó liên kết nó với một hành động, chẳng hạn như tải xuống một ứng dụng hoặc một phần nội dung được lưu trữ trên đám mây và hiển thị nó trên điện thoại thông minh.
Eddystone Beacon là gì?
Eddystone là một giao thức được phát triển bởi Google cho phép truyền tin nhắn một chiều đến các thiết bị BLE. Khung Eddystone-URL tạo thành xương sống của Web trong cuộc sống, giúp khám phá nội dung web xung quanh. Beacon có thể phát bốn loại dữ liệu bằng giao thức Eddystone. Chúng như sau:
- Eddystone-URL để phát địa chỉ URL
- Eddystone-UID để phát ID báo hiệu
- Eddystone-TLM để phát sóng tín hiệu đo từ xa như nhiệt độ thiết bị, cường độ pin, v.v.
- Eddystone-EID để bảo mật.
Ngoài ra còn có các loại báo hiệu khác như iBeacon dành cho thiết bị hỗ trợ iOS, nhưng Eddystone chỉ dành cho thiết bị Android. Cũng xin lưu ý rằng Google đã ngừng cung cấp Thông báo lân cận, giờ đây người dùng sẽ phải cài đặt ứng dụng quét báo hiệu chuyên dụng để hiển thị nội dung được phát.
Trong hướng dẫn này, chúng tôi sẽ sử dụng Raspberry Pi làm Eddystone Beacon và tập trung vào việc truyền phát địa chỉ URL bằng Eddystone URL để mọi người có thể dễ dàng truy cập thông tin đã phát với sự trợ giúp của thiết bị Android của họ.
Yêu cầu
Ở đây chỉ cần Raspberry Pi để xây dựng Bluetooth Beacon này. Nó phải là Raspberry Pi 2 hoặc mới hơn với Raspbian Jessie hoặc OD mới hơn được cài đặt trong đó.
Ở đây, chúng tôi sẽ sử dụng SSH để truy cập Raspberry Pi trên máy tính xách tay. Bạn có thể sử dụng kết nối VNC hoặc Remote Desktop trên máy tính xách tay hoặc có thể kết nối Raspberry pi của bạn với màn hình. Tìm hiểu thêm về cách thiết lập Raspberry Pi không cần màn hình tại đây.
Thiết lập Raspberry Pi cho Eddystone Beacon
Rất dễ dàng để thiết lập chương trình phát sóng Eddystone trên Raspberry Pi. Nó chỉ liên quan đến 3 lệnh.
Điều này có thể được thực hiện bằng cách định cấu hình HCI (Giao diện bộ điều khiển máy chủ) có thể được truy cập bằng cách sử dụng dấu phẩy hciconfig. Để kiểm tra những gì có thể được thực hiện bằng lệnh này, hãy nhập lệnh dưới đây vào terminal.
hciconfig -h
1. Đầu tiên, chúng ta phải Bật thiết bị Bluetooth trên Raspberry Pi bằng lệnh dưới đây.
sudo hciconfig hci0 lên
2. Bây giờ, chúng ta phải Đặt Bluetooth thành thiết bị "quảng cáo và không thể kết nối" bằng lệnh dưới đây.
sudo hciconfig hci0 leadv 3
3. Các lệnh trên làm cho thiết bị chạy dịch vụ phát sóng, bây giờ chỉ cần nhập dữ liệu báo hiệu trong lệnh tiếp theo chứa thông tin khung khác nhau và URL ở định dạng thập lục phân. Chạy lệnh dưới đây để bắt đầu phát sóng báo hiệu.
sudo hcitool -i hci0 cmd 0x08 0x0008 1c 02 01 06 03 03 aa fe 14 16 aa fe 10 00 02 63 69 72 63 75 69 74 64 69 67 65 73 74 07 00 00 00
Lệnh này sẽ phát URL
Để kiểm tra tin nhắn đã phát trên điện thoại thông minh của bạn, hãy tải xuống Ứng dụng web trong cuộc sống hoặc máy quét Beacon trên điện thoại thông minh Android của bạn và bắt đầu quét. Bạn sẽ thấy liên kết được phát trong ứng dụng như hình dưới đây. Nhấp vào liên kết để truy cập và mở trang web trong trình duyệt.
Bây giờ chúng ta hãy hiểu mã thập lục phân của tin nhắn. Trong bảng dưới đây, chúng tôi đã đưa ra lời giải thích về mỗi và mọi giá trị có trong mã:
Giá trị |
Sự miêu tả |
---|---|
0x08 |
#OGF = Trường Nhóm Hoạt động = Nhóm Lệnh Bluetooth = 0x08 |
0x0008 |
#OCF = Trường Lệnh Hoạt động = HCI_LE_Set_Advertising_Data = 0x0008 |
1c |
Chiều dài. 1c thập lục phân chuyển đổi thành 23 thập phân, là số byte theo sau. |
02 |
Chiều dài |
01 |
Giá trị kiểu dữ liệu cờ |
06 |
Dữ liệu cờ |
03 |
Chiều dài |
03 |
Danh sách đầy đủ giá trị kiểu dữ liệu UUID dịch vụ 16 bit |
aa |
UUID Eddystone 16 bit |
fe |
UUID Eddystone 16 bit |
14 |
Chiều dài. Hệ thập lục phân 14 chuyển đổi thành 15 thập phân là số byte theo sau |
16 |
Giá trị kiểu dữ liệu dữ liệu dịch vụ |
aa |
UUID Eddystone 16 bit |
fe |
UUID Eddystone 16 bit |
10 |
Loại khung = URL |
00 |
TX Power (điều này phải được hiệu chỉnh) |
02 |
Lược đồ URL (http: // = 0x02) |
63 |
'c' trong hệ thập lục phân |
69 |
'i' trong hệ thập lục phân |
72 |
'r' trong hệ thập lục phân |
63 |
'c' trong hệ thập lục phân |
75 |
'u' trong hệ thập lục phân |
69 |
'i' trong hệ thập lục phân |
74 |
't' trong hệ thập lục phân |
64 |
'd' trong hệ thập lục phân |
69 |
'i' trong hệ thập lục phân |
67 |
'g' trong hệ thập lục phân |
65 |
'e' trong hệ thập lục phân |
73 |
's' trong hệ thập lục phân |
74 |
't' trong hệ thập lục phân |
07 |
.com (.com = 0x07) |
00 |
|
00 |
|
00 |
Để phát bất kỳ URL tùy chỉnh nào bằng Raspberry Pi Bluetooth Beacon, chỉ cần chuyển đổi các ký tự URL thành hệ thập lục phân bằng bất kỳ công cụ trực tuyến nào và đặt nó vào lệnh trên. Các ký tự tối đa có thể được truyền là 16, nếu URL quá dài thì hãy rút ngắn nó bằng cách sử dụng bất kỳ dịch vụ rút gọn URL nào như bitly.com và sau đó phù hợp với dữ liệu trong bảng trên.
Việc chuyển đổi từng ký tự thành hệ thập lục phân tương đương là rất rườm rà và tốn thời gian. Vì vậy, để thực hiện công việc của bạn dễ dàng, có một máy tính lệnh URL Eddystone nơi bạn chỉ cần nhập URL mà bạn muốn được phát và bạn sẽ nhận được lệnh của mình như thế này.
Đèn hiệu Bluetooth hiện đang phát URL và hoạt động tốt nhưng có một thứ nữa cần được hiệu chỉnh đó là công suất Tx là một trong những giá trị trong lệnh trên để có được khoảng cách chính xác từ đèn hiệu Bluetooth.
Tối ưu hóa công suất tín hiệu truyền bằng cách hiệu chỉnh công suất Tx
Trong khung Eddystone có ít thành phần được truyền đi và công suất Tx là một trong số chúng cho biết cường độ của tín hiệu. Bằng cách giải mã cường độ của tín hiệu, bộ thu sẽ tìm thấy khoảng cách từ đài truyền hình Beacon. Giá trị của sức mạnh Tx có thể nằm trong khoảng từ -12 đến 10. Chúng ta phải tìm giá trị bằng phương pháp đánh và thử để có được khoảng cách chính xác. Đối với điều này, hãy điều chỉnh giá trị của công suất Tx trong lệnh tin nhắn Eddystone và đặt điện thoại thông minh của bạn ở khoảng cách 1 m khi mở ứng dụng máy quét Beacon. Bây giờ bắt đầu đưa các giá trị của lũy thừa Tx vào lệnh từ 0 đến giá trị âm. Hãy nhớ chuyển đổi các giá trị thập phân ở định dạng thập phân hexa, đối với điều này, hãy sử dụng các công cụ chuyển đổi giá trị trực tuyến để dễ dàng giải mã và lấy hai chữ số cuối của giá trị được chuyển đổi. Trong trường hợp của tôi, giá trị hexa là f4. Kiểm tra khoảng cách trong ứng dụng máy quét, điều chỉnh các giá trị cho đến khi nó hiển thị khoảng 1m và sau đó bạn sẽ sử dụng trình phát URL Eddystone với khoảng cách chính xác.
Các ứng dụng của Eddystone Bluetooth Beacon
Dưới đây là một số trường hợp sử dụng cho BLE beacon:
- Bán lẻ hỗ trợ BLE: Công nghệ này có thể được sử dụng để thu hút khách hàng ở khu vực lân cận của các cửa hàng bằng cách quảng cáo các ưu đãi và bán hàng thú vị.
- Các sự kiện có bật đèn hiệu BLE: Nó có thể được sử dụng để đăng ký dễ dàng tại các sự kiện và tại các sân vận động với việc thanh toán dễ dàng.
- BLE beacons trong Bất động sản: Bạn có thể nhận được tất cả các thông tin chi tiết của các bất động sản có sẵn gần bạn và có thể đặt phòng chỉ trong một lần chạm.
Có nhiều ứng dụng khác bạn có thể nghĩ ra và thực hiện theo yêu cầu.
Vì vậy, đây là cách Raspberry Pi có thể được sử dụng để phát bất kỳ tin nhắn hoặc URL nào bằng cách chuyển đổi nó thành Bluetooth Beacon bằng Eddystone. Kiểm tra Video trình diễn bên dưới.
/>