Sử dụng bộ sưu tập để sắp xếp ngăn nắp các trang
Lưu và phân loại nội dung dựa trên lựa chọn ưu tiên của bạn.
Thay đổi chức năng trong thời gian chạy
Vì các tính năng mới (ví dụ: định cỡ vùng đệm động) có thể được bật bằng cách nâng cấp firmware trên Nhà cung cấp, nên chúng tôi muốn cung cấp một cách để có được các chức năng của Nhà cung cấp trong thời gian chạy.
Để tránh truy vấn liên tục các chức năng, trước tiên, Nhà cung cấp phải gửi bản sửa đổi firmware đến Trình tìm kiếm thông qua luồng tin nhắn khi được kết nối. Vì vậy, chúng ta thêm một mã thông báo mới vào nhóm thông báo hiện có, sự kiện thông tin thiết bị.
Tên nhóm tin nhắn |
Giá trị |
Sự kiện thông tin thiết bị |
0x03 |
Tên mã thông báo |
Giá trị |
Bản sửa đổi chương trình cơ sở |
0x09 |
Sau khi nhận được mã sửa đổi chương trình cơ sở, Trình tìm kiếm sẽ kiểm tra mã đó với mã đã lưu vào bộ nhớ đệm. Nếu bản sửa đổi chương trình cơ sở đã thay đổi, Trình tìm kiếm sẽ cập nhật bản sửa đổi chương trình cơ sở của bộ nhớ đệm và truy vấn các chức năng thông qua Luồng thông báo.
Chúng tôi cũng cho phép Nhà cung cấp trực tiếp đẩy các chức năng đến Trình tìm kiếm mà không cần yêu cầu trước, vì chúng tôi cho rằng trong tương lai, các thiết bị tinh vi hơn (có thể dựa trên Android) sẽ định cấu hình động dựa trên cờ cho cùng một bản sửa đổi phần mềm.
Vì vậy, chúng ta sẽ thêm một nhóm tin nhắn và mã tin nhắn mới ở bên dưới.
Tên nhóm tin nhắn |
Giá trị |
Sự kiện đồng bộ hoá chức năng của thiết bị |
0x06 |
Tên mã thông báo |
Giá trị |
Yêu cầu cập nhật chức năng (gửi từ Seeker) |
0x01 |
Theo dõi FHN |
0x03 |
Khi nhận được 0x0601
,
- nếu Nhà cung cấp đã bật tính năng hỗ trợ theo dõi FHN, thì nhà cung cấp sẽ phản hồi như sau:
Octet |
Loại dữ liệu |
Mô tả |
Giá trị |
0 |
uint8 |
Sự kiện đồng bộ hoá chức năng của thiết bị |
0x06 |
1 |
uint8 |
Theo dõi FHN |
0x03 |
2 – 3 |
uint16 |
Độ dài dữ liệu bổ sung |
0x0007 |
4 |
uint8 |
Trạng thái cấp phép FHN |
0x00 nếu chưa được cấp phép; 0x01 nếu được cấp phép bởi bất kỳ tài khoản nào |
5 - 10 |
uint8[] |
Địa chỉ MAC BLE hiện tại của thiết bị |
thay đổi |
Trừ phi có lưu ý khác, nội dung của trang này được cấp phép theo Giấy phép ghi nhận tác giả 4.0 của Creative Commons và các mẫu mã lập trình được cấp phép theo Giấy phép Apache 2.0. Để biết thông tin chi tiết, vui lòng tham khảo Chính sách trang web của Google Developers. Java là nhãn hiệu đã đăng ký của Oracle và/hoặc các đơn vị liên kết với Oracle.
Cập nhật lần gần đây nhất: 2025-08-13 UTC.
[null,null,["Cập nhật lần gần đây nhất: 2025-08-13 UTC."],[[["\u003cp\u003eFirmware revision is communicated from Provider to Seeker upon connection to allow for capability updates.\u003c/p\u003e\n"],["\u003cp\u003eSeeker triggers capability updates when a new firmware revision is detected or can request updates directly.\u003c/p\u003e\n"],["\u003cp\u003eProvider can proactively push capability updates to the Seeker without a prior request.\u003c/p\u003e\n"],["\u003cp\u003eA new message group and codes are introduced to support device capability synchronization and FMDN tracking.\u003c/p\u003e\n"],["\u003cp\u003eFMDN tracking capability allows the Seeker to know the provisioning status and BLE MAC address of the Provider.\u003c/p\u003e\n"]]],[],null,["Change Capabilities at Runtime\n------------------------------\n\nSince new features (e.g. dynamic buffer sizing) can be enabled by upgrading\nfirmware on the Provider, we want to provide a way to get the capabilities of\nthe Provider at runtime.\nTo avoid repeatedly querying capabilities, first, the Provider should send the\nfirmware revision to the Seeker via message stream when connected. So we add a\nnew message code to the existing message group, device information event.\n\n| Message Group Name | Value |\n|--------------------------|-------|\n| Device information event | 0x03 |\n\n| Message Code Name | Value |\n|-------------------|-------|\n| Firmware revision | 0x09 |\n\nUpon getting the firmware revision code, the Seeker shall check it against the\ncached one. If the firmware revision has been changed, the Seeker will update\nthe firmware revision of the cache and query the capabilities via Message\nStream.\n\nWe also allow the Provider to directly push capabilities to the Seeker without\na request first, because we imagine that, in the future, more sophisticated\ndevices (maybe Android-based) will do dynamic configuration based on\nflags for the same firmware revision.\n\nSo we add below a new message group and message codes.\n\n| Message Group Name | Value |\n|------------------------------|-------|\n| Device capability sync event | 0x06 |\n\n| Message Code Name | Value |\n|----------------------------------------------|-------|\n| Request capability update (sent from Seeker) | 0x01 |\n| FHN tracking | 0x03 |\n\nUpon receiving `0x0601`,\n\n- if the Provider has enabled support for FHN tracking, it should respond as below:\n\n| Octet | Data Type | Description | Value |\n|--------|-----------|-------------------------------------------|-----------------------------------------------------------|\n| 0 | uint8 | Device capability sync event | 0x06 |\n| 1 | uint8 | FHN tracking | 0x03 |\n| 2 - 3 | uint16 | Additional data length | 0x0007 |\n| 4 | uint8 | FHN provisioning state | 0x00 if unprovisioned; 0x01 if provisioned by any account |\n| 5 - 10 | uint8\\[\\] | The current BLE MAC address of the device | *varies* |"]]