Informações do dispositivo
Os provedores podem notificar um solicitante sobre as informações do dispositivo pelo fluxo de mensagens.
Nome do grupo de mensagens | Valor |
---|---|
Evento de informações do dispositivo | 0x03 |
Nome do código de informações do dispositivo | Valor |
---|---|
ID do modelo | 0x01 |
Endereço BLE atualizado | 0x02 |
Bateria atualizada | 0x03 |
Tempo restante da bateria | 0x04 |
Solicitação de componentes ativos | 0x05 |
Resposta de componentes ativos | 0x06 |
Recursos (descontinuados) | 0x07 |
Tipo de plataforma | 0x08 |
Versão do firmware | 0x09 |
Identificador temporário atual do FHN | 0x0B |
ID do modelo
As informações do ID do modelo (para
escrever a chave da conta de forma retroativa) precisam ser
enviadas ao Seeker 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 chave de conta) , se
disponíveis, também precisam ser enviadas ao Seeker quando o RFCOMM se conecta e sempre que
o endereço é alternado. 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 que oferecem suporte a notificações de bateria,
as informações de bateria também podem ser enviadas por RFCOMM. Quando o RFCOMM se conecta ou o
valor da bateria muda, uma atualização precisa ser enviada. A seção de dados adicionais do
pacote precisa conter dados idênticos aos bytes s + 2, s + 3 e s + 4 ao
anunciar dados da bateria pelo 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 da bateria
- 0x57: Valor do fone esquerdo, não está carregando, 87% de bateria
- 0x41: Valor do fone direito, não está carregando, 65% de bateria
- 0x7F: valor do caso, não está carregando, 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 de bateria restante
- 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, ou seja, se é possível realizar uma ação neles (consulte Ações do dispositivo). Quando o provedor recebe uma solicitação contendo o código solicitação de componentes ativos (0x05), uma resposta precisa ser retornada em 1 segundo indicando o estado atual do provedor. A resposta vai usar o código resposta de componentes ativos (0x06) e conter outros dados 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 é 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 bit nos dados adicionais representa se esse componente está ativo. Um exemplo de componente inativo pode ser um botão que está no estojo e não está em uso. Especificamente para os estojos dos fones de ouvido esquerdo e direito:
- 0x00 (0b00000000): nenhum dos fones está ativo
- 0x01 (0b00000001): fone direito ativo, esquerdo inativo
- 0x02 (0b00000010): fone de ouvido esquerdo ativo, direito inativo
- 0x03 (0b00000011): ambos os fones de ouvido estão ativos
Tipo de plataforma
Os provedores podem querer ter um desempenho diferente com base na plataforma à qual estão conectados. No momento, o Par rápido só é realizado pelo Android, mas o suporte pode ser expandido no futuro.
A mensagem vai conter um 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á um 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 atual do FHN
Os provedores que anunciam frames de FHN precisam informar o identificador efetivo (EID, na sigla em inglês) de FHN com o valor atual do relógio para sincronizar com o Seeker em caso de deriva do relógio (por exemplo, devido à bateria descarregada).
Exemplo:
- 0x03: Evento de informações do dispositivo
- 0x0B: mensagem do identificador efémero atual do FHN
- 0x0018: dados adicionais, comprimento 24 ou 36 bytes
- 0x13F9EA80: outros dados (valor do relógio; 4 bytes)
- 0x1122334455667788990011223344556677889900: dados adicionais (EID atual; 20 ou 32 bytes)