Informations sur l'appareil

Les fournisseurs peuvent informer un demandeur d'informations sur l'appareil via le flux de messages.

Nom du groupe de messages Valeur
Événement d'informations sur l'appareil 0x03
Nom du code d'information sur l'appareil Valeur
Model ID 0x01
Adresse BLE mise à jour 0x02
Batterie mise à jour 0x03
Durée restante de la batterie 0x04
Requête de composants actifs 0x05
Réponse des composants actifs 0x06
(Obsolète)Fonctionnalités 0x07
Type de plate-forme 0x08
Version du micrologiciel 0x09
Identifiant éphémère FMDN actuel 0 x 0 M

Model ID

Les informations d'ID de modèle (pour l'écriture rétroactive de la clé de compte) doivent être envoyées au demandeur lors de la connexion de RFCOMM. Par exemple, 0x03010003AABBCC serait:

  • 0x03: Événement d'informations sur l'appareil
  • 0x01: valeur de l'ID du modèle
  • 0x0003: données supplémentaires, longueur 3
  • 0xAABBCC: données supplémentaires, ID du modèle

Adresse BLE

Les informations d'adresse BLE (pour Retroactively Write AccountKey) (le cas échéant) doivent également être envoyées au demandeur lors de la connexion RFCOMM et à chaque rotation de l'adresse. Par exemple, 0x03020006AABBCCDDEEFF serait:

  • 0x03: Événement d'informations sur l'appareil
  • 0x02: valeur de l'adresse BLE
  • 0x0006: données supplémentaires, longueur 6
  • 0xAABBCCDDEEFF: données supplémentaires, adresse BLE

Batterie mise à jour

Les fournisseurs qui acceptent les notifications de batterie peuvent également envoyer des informations sur la batterie via RFCOMM. Lorsque RFCOMM se connecte ou que la valeur de la batterie change, une mise à jour doit être envoyée. La section de données supplémentaires du paquet doit contenir des données identiques aux octets s + 2, s + 3, s + 4 lorsque vous diffusez des données de batterie sur BLE. Par exemple,0x0303000357417F serait:

  • 0x03: Événement d'informations sur l'appareil
  • 0x03: autonomie de la batterie
  • 0x0003: données supplémentaires, longueur 3
  • 0x57417F: données supplémentaires, valeurs de batterie
    • 0 x 57: valeur de l'écouteur gauche, non en charge, 87% de batterie
    • 0 x 41: valeur de l'écouteur droit, pas en charge, 65% de batterie
    • 0x7F: Valeur de l'étui, pas en charge, batterie inconnue

Les fournisseurs peuvent également mettre à jour l'autonomie restante de la batterie (si elle est connue). Par exemple, 0x03040001F0 serait:

  • 0x03: Événement d'informations sur l'appareil
  • 0x04: autonomie restante de la batterie
  • 0x0001: données supplémentaires, longueur 1 (peut être 2 pour uint16 si nécessaire)
  • 0xF0: données supplémentaires, autonomie restante de la batterie en minutes, 240 minutes

Composants actifs

Les chercheurs peuvent parfois avoir besoin de savoir quels composants sont actuellement actifs, ce qui signifie qu'une action peut être effectuée sur ceux-ci (voir la section Actions sur l'appareil). Lorsque le fournisseur reçoit une requête contenant le code de requête de composants actifs (0x05), une réponse doit être renvoyée dans un délai d'une seconde, indiquant l'état actuel du fournisseur. La réponse utilise le code de réponse des composants actifs (0x06) et contient des données supplémentaires indiquant les composants disponibles.

Pour un fournisseur à un seul composant, les données supplémentaires doivent être définies sur 0x00 si elles ne sont pas disponibles. Il peut s'agir, par exemple, d'un mode d'économie d'énergie dans lequel la lecture de contenus multimédias n'est pas effectuée. Sinon, les données supplémentaires doivent être définies sur 0x01.

Pour les casques avec plusieurs composants (par exemple, des écouteurs gauche et droit), chaque bit dans les données supplémentaires indique si ce composant est actif. Un exemple de composant inactif peut être un écouteur qui est dans le boîtier et qui n'est pas utilisé. Plus précisément pour les étuis des écouteurs gauche et droit:

  • 0x00 (0b00000000): aucun écouteur n'est actif
  • 0x01 (0b00000001): écouteur droit actif, gauche inactif
  • 0x02 (0b00000010): écouteur gauche actif, écouteur droit inactif
  • 0x03 (0b00000011): les deux écouteurs sont actifs

Type de plate-forme

Les fournisseurs peuvent souhaiter effectuer des performances différentes en fonction de la plate-forme à laquelle ils sont connectés. L'Association express ne s'effectue actuellement que via Android, mais sa compatibilité pourrait être étendue à l'avenir.

Le message contiendra un premier octet identifiant le type de plate-forme dans les données supplémentaires:

Nom de la plate-forme Valeur
Android 0x01

Le deuxième octet est personnalisé pour chaque plate-forme. Dans Android, il s'agit de la version du SDK. Par exemple, Android Pie aura la valeur 28 (0x1C).

Version du micrologiciel

Version du micrologiciel du fournisseur sous forme de chaîne avec l'encodage UTF-8. Il s'agit des mêmes informations que dans la caractéristique de révision du micrologiciel.

Identifiant FMDN éphémère actuel

Les fournisseurs qui annoncent des trames FMDN doivent indiquer l'identifiant éphémère (EID, FMDN Ephemeral Identifier) actuel avec sa valeur d'horloge actuelle, afin de se synchroniser avec le Seeker en cas de dérive d'horloge (par exemple, en raison d'un déchargement de la batterie).

Exemple :

  • 0x03: Événement d'informations sur l'appareil
  • 0x0B: message d'identification éphémère FMDN actuel
  • 0x0018: données supplémentaires, longueur de 24 ou 36 octets
  • 0x13F9EA80: données supplémentaires (valeur d'horloge, 4 octets)
  • 0x1122334455667788990011223344556677889900: données supplémentaires (EID actuel ; 20 ou 32 octets)