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