在執行階段變更功能
由於新功能 (例如動態緩衝區大小) 可透過升級供應器上的韌體啟用,因此我們希望提供一種方法,讓您在執行階段取得供應器的功能。為避免重複查詢功能,提供者應在連線時透過訊息串流將韌體修訂版本傳送至 Seeker。因此,我們會在現有訊息群組 (裝置資訊事件) 中新增訊息程式碼。
| 訊息群組名稱 | 值 |
|---|---|
| 裝置資訊事件 | 0x03 |
| 訊息代碼名稱 | 值 |
|---|---|
| 韌體修訂版本 | 0x09 |
取得韌體修訂版本代碼後,Seeker 應檢查該代碼是否與快取的代碼相符。如果韌體修訂版本已變更,Seeker 會更新快取的韌體修訂版本,並透過訊息串流查詢功能。
我們也允許提供者直接將功能推送至 Seeker,而無須先提出要求,因為我們認為,在未來,更精密的裝置 (可能以 Android 為基礎) 會根據相同韌體版本的標記進行動態設定。
因此,我們在下方新增訊息群組和訊息代碼。
| 訊息群組名稱 | 值 |
|---|---|
| 裝置功能同步處理事件 | 0x06 |
| 訊息代碼名稱 | 值 |
|---|---|
| 要求更新可用功能 (由 Seeker 傳送) | 0x01 |
| FHN 追蹤 | 0x03 |
收到 0x0601 後,
- 如果供應商已啟用 FHN 追蹤功能,應回應如下:
| Octet | 資料類型 | 說明 | 值 |
|---|---|---|---|
| 0 | uint8 | 裝置功能同步處理事件 | 0x06 |
| 1 | uint8 | FHN 追蹤 | 0x03 |
| 2 - 3 | uint16 | 額外資料長度 | 0x0007 |
| 4 | uint8 | FHN 佈建狀態 | 如果未配置,則為 0x00;如果由任何帳戶配置,則為 0x01 |
| 5 - 10 人 | uint8[] | 裝置目前的 BLE MAC 位址 | 視情況而定 |