裝置資訊

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

訊息群組名稱
裝置資訊事件 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 + 2s + 3s + 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 個位元組)