裝置資訊

供應商可透過訊息串流通知搜尋者裝置資訊。

訊息群組名稱
裝置資訊事件 0x03
裝置資訊代碼名稱
模型 ID 0x01
已更新 BLE 位址 0x02
電池已更新 0x03
剩餘電量時間 0x04
有效元件要求 0x05
Active components response 0x06
(已淘汰) 功能 0x07
平台類型 0x08
韌體版本 0x09
目前的 FHN 暫時性 ID 0x0B

模型 ID

訊息串流連線時,應將模型 ID 資訊 (適用於追溯寫入 AccountKey) 傳送給 Seeker。舉例來說,0x03010003AABBCC 會是:

  • 0x03:裝置資訊事件
  • 0x01:型號 ID 值
  • 0x0003:額外資料,長度為 3
  • 0xAABBCC:其他資料、模型 ID

BLE 位址

如果供應商可以取得 BLE 位址資訊 (用於追溯寫入 AccountKey),也應在訊息串流連線時,以及位址輪替時,傳送給搜尋者。舉例來說,0x03020006AABBCCDDEEFF 會是:

  • 0x03:裝置資訊事件
  • 0x02:BLE 位址值
  • 0x0006:額外資料,長度 6
  • 0xAABBCCDDEEFF:其他資料,BLE 位址

電池已更新

如果供應商支援電池通知,也可以透過訊息串流傳送電池資訊。當訊息串流連線或電池值變更時,應傳送更新。封包的額外資料部分應包含與位元組 s + 2s + 3s + 4 相同的資料,透過 BLE 播送電池資料時也是如此。舉例來說,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 個位元組)