Информация об устройстве

Провайдеры могут уведомлять пользователя о состоянии устройства через поток сообщений .

Название группы сообщений Ценить
событие получения информации об устройстве 0x03
Кодовое название информации об устройстве Ценить
Идентификатор модели 0x01
Адрес BLE обновлен 0x02
Обновлена ​​батарея 0x03
Оставшееся время работы батареи 0x04
Запрос активных компонентов 0x05
Реакция активных компонентов 0x06
(Устаревшие) возможности 0x07
Тип платформы 0x08
Версия прошивки 0x09
Текущий временный идентификатор FHN 0x0B

Идентификатор модели

Информация об идентификаторе модели (для ретроактивной записи AccountKey ) должна быть отправлена ​​искателю при установлении соединения с потоком сообщений. Например, 0x03010003AABBCC будет выглядеть так:

  • 0x03: Событие информации об устройстве
  • 0x01: Значение идентификатора модели
  • 0x0003: Дополнительные данные, длина 3
  • 0xAABBCC: Дополнительные данные, идентификатор модели

BLE-адрес

Информация об адресе BLE (для ретроактивной записи AccountKey ), если она доступна, также должна быть отправлена ​​искателю при установлении соединения с потоком сообщений и при каждой смене адреса. Например, 0x03020006AABBCCDDEEFF будет выглядеть так:

  • 0x03: Событие информации об устройстве
  • 0x02: Значение адреса BLE
  • 0x0006: Дополнительные данные, длина 6
  • 0xAABBCCDDEEFF: Дополнительные данные, BLE-адрес

Обновлена ​​батарея

Для провайдеров, поддерживающих уведомления о состоянии батареи , информация о батарее также может передаваться через поток сообщений. При установлении соединения с потоком сообщений или изменении значения батареи необходимо отправить обновление. Раздел дополнительных данных пакета должен содержать данные, идентичные байтам s + 2 , s + 3 , s + 4 при передаче данных о батарее по BLE. Например, 0x0303000357417F будет выглядеть так:

  • 0x03: Событие информации об устройстве
  • 0x03: Значение батареи
  • 0x0003: Дополнительные данные, длина 3
  • 0x57417F: Дополнительные данные, значения заряда батареи
    • 0x57: Значение левого наушника, зарядка не производится, 87% заряда батареи.
    • 0x41: Значение в правом наушнике, зарядка не производится, 65% заряда батареи.
    • 0x7F: Значение корпуса, не заряжается, неизвестная батарея

Поставщики услуг также могут обновлять информацию об оставшемся времени работы батареи (если оно известно). Например, 0x03040001F0 будет выглядеть так:

  • 0x03: Событие информации об устройстве
  • 0x04: Оставшееся время работы батареи
  • 0x0001: Дополнительные данные, длина 1 (при необходимости может быть 2 для типа uint16).
  • 0xF0: Дополнительные данные, оставшееся время работы батареи в минутах, 240 минут

Активные компоненты

Иногда пользователям может потребоваться узнать, какие компоненты в данный момент активны, то есть, можно ли выполнить над ними какое-либо действие (см. Действия с устройством ). Когда поставщик получает запрос, содержащий код запроса активных компонентов (0x05), в течение 1 секунды должен быть возвращен ответ, указывающий на текущее состояние поставщика. В ответе будет использоваться код ответа активных компонентов (0x06), и он будет содержать дополнительные данные, указывающие, какие компоненты доступны.

Для поставщика с одним компонентом дополнительные данные следует установить в значение 0x00, если они недоступны. Например, это может быть режим низкого энергопотребления, при котором воспроизведение мультимедиа не будет выполняться. В противном случае дополнительные данные следует установить в значение 0x01.

Для гарнитур с несколькими компонентами (например, левым и правым наушником) каждый бит в дополнительных данных указывает, активен ли данный компонент. Примером неактивного компонента может быть наушник, находящийся в чехле и не используемый. В частности, для чехла с левым и правым наушниками:

  • 0x00 (0b00000000): Ни один из бутонов не активен
  • 0x01 (0b00000001): Правый нарост активен, левый неактивен
  • 0x02 (0b00000010): Левый бутон активен, правый неактивен
  • 0x03 (0b00000011): Оба наушника активны

Тип платформы

Возможно, провайдеры захотят настроить параметры работы в зависимости от платформы, к которой они подключены. Функция Fast Pair в настоящее время доступна только через Android, но в будущем её поддержка может быть расширена.

В сообщении первый байт будет содержать идентификационный тип платформы в дополнительных данных:

Название платформы Ценить
Android 0x01

Второй байт будет настраиваться в зависимости от платформы. В Android он будет указывать на версию SDK . Например, в Android Pie он будет иметь значение 28 (0x1C).

Версия прошивки

Версия прошивки провайдера представлена ​​в виде строки в кодировке UTF-8. Это та же информация, что и в характеристике "Ревизия прошивки" .

Текущий временный идентификатор FHN

Провайдеры, рекламирующие кадры FHN, должны сообщать текущий идентификатор временного FHN (EID) вместе с текущим значением часов для синхронизации с устройством Seeker в случае расхождения часов (например, из-за разряженной батареи).

Например:

  • 0x03: Событие информации об устройстве
  • 0x0B: Текущее сообщение с временным идентификатором FHN
  • 0x0018: Дополнительные данные, длина 24 или 36 байт.
  • 0x13F9EA80: Дополнительные данные (значение тактовой частоты; 4 байта)
  • 0x1122334455667788990011223344556677889900: Дополнительные данные (текущий EID; 20 или 32 байта)