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)