Informações do dispositivo

Os provedores podem notificar um Seeker sobre as informações do dispositivo por meio do stream de mensagens.

Nome do grupo de mensagens Valor
Evento de informações do dispositivo 0x03
Nome do código das informações do dispositivo Valor
ID do modelo 0x01
Endereço BLE atualizado 0x02
Bateria atualizada 0x03
Tempo restante de bateria 0x04
Solicitação de componentes ativos 0x05
Resposta dos componentes ativos 0x06
Recursos (descontinuados) 0x07
Tipo de plataforma 0x08
Versão do firmware 0x09
Identificador temporário do FMDN atual 0 x 0 bi

ID do modelo

As informações do ID do modelo (para Como gravar retroativamente a AccountKey) devem ser enviadas ao Buscador quando o RFCOMM se conectar. Por exemplo, 0x03010003AABBCC seria:

  • 0x03: Evento de informações do dispositivo
  • 0x01: valor do ID do modelo
  • 0x0003: dados adicionais, comprimento 3
  • 0xAABBCC: dados adicionais, ID do modelo

Endereço BLE

As informações de endereço BLE (para gravação retroativa da AccountKey) , se disponíveis, também precisam ser enviadas ao Buscador quando o RFCOMM se conectar e sempre que o endereço for alterado. Por exemplo, 0x03020006AABBCCDDEEFF seria:

  • 0x03: Evento de informações do dispositivo
  • 0x02: valor do endereço BLE
  • 0x0006: dados adicionais, comprimento 6
  • 0xAABBCCDDEEFF: dados adicionais, endereço BLE

Bateria atualizada

Para Provedores compatíveis com notificações de bateria, as informações sobre a bateria também podem ser enviadas via RFCOMM. Quando o RFCOMM se conectar ou o valor da bateria mudar, uma atualização deverá ser enviada. A seção de dados adicionais do pacote precisa conter dados idênticos aos bytes s + 2, s + 3, s + 4 ao divulgar dados da bateria por BLE. Por exemplo,0x0303000357417F seria:

  • 0x03: Evento de informações do dispositivo
  • 0x03: valor da bateria
  • 0x0003: dados adicionais, comprimento 3
  • 0x57417F: dados adicionais, valores de bateria
    • 0x57: valor do fone esquerdo, não carregando, 87% de bateria
    • 0x41: valor do fone direito, não carregando, 65% de bateria
    • 0 x 7F: valor do estojo, não carrega, bateria desconhecida

Os provedores também podem atualizar o tempo restante da bateria, se conhecido. Por exemplo, 0x03040001F0 seria:

  • 0x03: Evento de informações do dispositivo
  • 0x04: tempo restante da bateria
  • 0x0001: dados adicionais, comprimento 1 (pode ser 2 para uint16, se necessário).
  • 0xF0: dados adicionais, tempo de bateria restante em minutos, 240 minutos

Componentes ativos

Às vezes, os usuários podem querer saber quais componentes estão ativos no momento, o que significa que é possível realizar uma ação neles. Consulte Ações do dispositivo. Quando o provedor recebe uma solicitação contendo o código de solicitação de componentes ativos (0x05), uma resposta será retornada em um segundo, indicando o estado atual do provedor. A resposta usará o código de resposta de componentes ativos (0x06) e conterá dados adicionais indicando quais componentes estão disponíveis.

Para um provedor com um único componente, os dados adicionais precisam ser definidos como 0x00 se não estiverem disponíveis. Um exemplo disso pode ser um modo de baixo consumo de energia, em que a reprodução de mídia não é realizada. Caso contrário, os dados adicionais precisam ser definidos como 0x01.

Para fones de ouvido com vários componentes (por exemplo, um fone de ouvido esquerdo e direito), cada bits nos dados adicionais representa se esse componente está ativo. Um exemplo de um componente inativo pode ser um fone de ouvido, que está no caso e não está em uso. Especificamente para o fone de ouvido esquerdo e direito:

  • 0x00 (0b00000000): nenhum dos fones está ativo
  • 0x01 (0b00000001): fone direito ativo, esquerdo inativo
  • 0x02 (0b00000010): fone esquerdo ativo, direito inativo
  • 0x03 (0b00000011): ambos os fones de ouvido ativos

Tipo de plataforma

Os provedores podem ter um desempenho diferente com base na plataforma a que estão conectados. No momento, o Pareamento rápido só é realizado no Android, mas o suporte pode ser ampliado no futuro.

A mensagem contém o primeiro byte que identifica o tipo de plataforma nos dados adicionais:

Nome da plataforma Valor
Android 0x01

O segundo byte será personalizado por plataforma. No Android, ele se refere à versão do SDK. Por exemplo, o Android Pie terá o valor de 28 (0x1C).

Versão do firmware

A versão do firmware do provedor como uma string na codificação utf-8. São as mesmas informações da Característica de revisão do firmware.

Identificador temporário de FMDN atual

Os provedores que anunciam frames FMDN precisam informar o identificador temporário (EID) FMDN com o valor atual do relógio para sincronizar com o Seeker em caso de um deslocamento do relógio (por exemplo, devido à bateria esgotada).

Exemplo:

  • 0x03: Evento de informações do dispositivo
  • 0x0B: mensagem do identificador temporário do FMDN atual
  • 0x0018: dados adicionais, comprimento de 24 ou 36 bytes
  • 0x13F9EA80: dados adicionais (valor do relógio, 4 bytes)
  • 0x1122334455667788990011223344556677889900: dados adicionais (EID atual, 20 ou 32 bytes)