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

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

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

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

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

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

BLE-адрес

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

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

Батарея обновлена

Для поставщиков, которые поддерживают уведомления о заряде батареи , информация о заряде батареи также может быть отправлена ​​через RFCOMM. При подключении RFCOMM или изменении значения заряда батареи должно быть отправлено обновление. Раздел дополнительных данных пакета должен содержать данные, идентичные байтам 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): оба бутона активны.

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

Поставщики могут работать по-разному в зависимости от платформы, к которой они подключены. В настоящее время быстрое соединение выполняется только через Android, но в будущем поддержка может быть расширена.

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

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

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

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

Версия прошивки провайдера в виде строки в кодировке utf-8. Это та же информация, что и в характеристике версии прошивки .

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

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

Например:

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