裝置資訊
供應商可以透過訊息串流通知尋找者裝置資訊。
訊息群組名稱 | 值 |
---|---|
裝置資訊事件 | 0x03 |
裝置資訊代碼名稱 | 值 |
---|---|
模型 ID | 0x01 |
已更新 BLE 位址 | 0x02 |
電池更新 | 0x03 |
剩餘電量時間 | 0x04 |
有效元件要求 | 0x05 |
有效元件回應 | 0x06 |
(已淘汰) 功能 | 0x07 |
平台類型 | 0x08 |
韌體版本 | 0x09 |
目前的 FHN 暫時 ID | 0x0B |
模型 ID
在 RFCOMM 連線時,應將模型 ID 資訊 (用於回溯寫入 AccountKey) 傳送至 Seeker。例如 0x03010003AABBCC
會是:
- 0x03:裝置資訊事件
- 0x01:型號 ID 值
- 0x0003:額外資料,長度為 3
- 0xAABBCC:其他資料、型號 ID
BLE 位址
BLE 位址資訊 (用於事後寫入 AccountKey) 如有,也應在 RFCOMM 連線時和每次輪替位址時傳送至 Seeker。例如 0x03020006AABBCCDDEEFF
:
- 0x03:裝置資訊事件
- 0x02:BLE 位址值
- 0x0006:額外資料,長度為 6
- 0xAABBCCDDEEFF:其他資料、BLE 位址
電池更新
對於支援電池通知的供應商,也可以透過 RFCOMM 傳送電池資訊。當 RFCOMM 連線或電池值變更時,應傳送更新。透過 BLE 宣傳電池資料時,封包的額外資料部分應包含與位元組 s + 2、s + 3、s + 4 相同的資料。例如,0x0303000357417F
會是:
- 0x03:裝置資訊事件
- 0x03:電池值
- 0x0003:額外資料,長度為 3
- 0x57417F:其他資料、電池值
- 0x57:左側耳機值,未充電,電量 87%
- 0x41:右側耳機值,未充電,電量 65%
- 0x7F:裝置在充電盒中,未充電,電池不明
供應商也可以更新剩餘電力時間 (如果已知)。例如,0x03040001F0
會是:
- 0x03:裝置資訊事件
- 0x04:剩餘電量
- 0x0001:額外資料,長度為 1 (如有需要,可為 uint16 的 2)。
- 0xF0:額外資料,剩餘電池時間 (分鐘),240 分鐘
有效元件
搜尋者有時可能想知道哪些元件目前處於活動狀態,也就是可以對其採取動作 (請參閱「裝置動作」)。當提供者收到含有活動元件要求程式碼 (0x05) 的要求時,應在 1 秒內傳回回應,指出提供者的目前狀態。回應會使用有效元件回應代碼 (0x06),並包含額外資料,指出可用的元件。
如果是只有單一元件的供應者,如果沒有額外資料,應將其設為 0x00。例如,在低耗電模式下,系統不會執行媒體播放作業。否則,應將額外資料設為 0x01。
如果是含有多個元件的耳機 (例如左耳機和右耳機),額外資料中的每個位元都代表該元件是否處於活動狀態。非活動元件的例子可能是裝在盒子中且未使用的耳機。針對左耳機和右耳機的充電盒:
- 0x00 (0b00000000):兩個耳機都未開啟
- 0x01 (0b00000001):右耳機啟用,左耳機未啟用
- 0x02 (0b00000010):左耳機使用中,右耳機未使用
- 0x03 (0b00000011):兩個耳機皆已開啟
平台類型
供應商可能會根據連結的平台採取不同的做法。快速配對功能目前僅適用於 Android 裝置,但日後可能會擴大支援範圍。
訊息會包含第一個位元組,用於在額外資料中識別平台類型:
平台名稱 | 值 |
---|---|
Android | 0x01 |
系統會根據各個平台自訂第二個位元組。在 Android 中,這會參照 SDK 版本。舉例來說,Android Pie 的值為 28 (0x1C)。
韌體版本
供應商的韌體版本,以 UTF-8 編碼的字串表示。這項資訊與 韌體修訂版本特性中的資訊相同。
目前的 FHN 暫時 ID
宣傳 FHN 影格內容的供應商應回報目前的 FHN 暫時 ID (EID) 和目前的時鐘值,以便在時鐘漂移 (例如電池沒電) 時與 Seeker 同步。
例如:
- 0x03:裝置資訊事件
- 0x0B:目前的 FHN 暫時 ID 訊息
- 0x0018:額外資料,長度為 24 或 36 個位元組
- 0x13F9EA80:其他資料 (時鐘值;4 個位元組)
- 0x1122334455667788990011223344556677889900:其他資料 (目前的 EID;20 或 32 個位元組)