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)