Информация об устройстве
Провайдеры могут уведомлять пользователя о состоянии устройства через поток сообщений .
| Название группы сообщений | Ценить |
|---|---|
| событие получения информации об устройстве | 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 байта)