Informations sur l'appareil

Les fournisseurs peuvent informer un chercheur sur les informations de 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'informations sur l'appareil Valeur
ID du modèle 0x01
Adresse BLE mise à jour 0x02
Batterie mise à jour 0x03
Durée de batterie restante 0x04
Demande 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 FHN actuel 0x0B

ID du modèle

Les informations sur l'ID du modèle (pour l'écriture rétroactive de AccountKey) doivent être envoyées au chercheur lorsque RFCOMM se connecte. Par exemple, 0x03010003AABBCC est:

  • 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 l'écriture rétroactive de la clé de compte) , le cas échéant, doivent également être envoyées au chercheur lorsque RFCOMM se connecte et chaque fois que l'adresse est modifiée. Par exemple, 0x03020006AABBCCDDEEFF sera:

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

Batterie mise à jour

Pour les fournisseurs qui prennent en charge les notifications de batterie, les informations sur la batterie peuvent également être envoyées via RFCOMM. Lorsqu'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 et s + 4 lors de la diffusion de données de batterie via BLE. Par exemple,0x0303000357417F sera:

  • 0x03: Événement d'informations sur l'appareil
  • 0x03: Valeur de la batterie
  • 0x0003: données supplémentaires, longueur 3
  • 0x57417F: données supplémentaires, valeurs de la batterie
    • 0x57: valeur de l'écouteur gauche, pas en charge, batterie à 87 %
    • 0x41: valeur de l'écouteur droit, pas en charge, batterie à 65 %
    • 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 correspond à:

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

Composants actifs

Les chercheurs peuvent parfois souhaiter savoir quels composants sont actuellement actifs, c'est-à-dire sur lesquels une action peut être effectuée (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 sous une seconde, indiquant l'état actuel du fournisseur. La réponse utilisera le code de réponse des composants actifs (0x06) et contiendra des données supplémentaires indiquant les composants disponibles.

Pour un fournisseur avec un seul composant, les données supplémentaires doivent être définies sur 0x00 si elles ne sont pas disponibles. Par exemple, un mode basse consommation où la lecture multimédia n'est pas effectuée. Sinon, les données supplémentaires doivent être définies sur 0x01.

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

  • 0x00 (0b00000000): aucun écouteur actif
  • 0x01 (0b00000001): écouteur droit actif, écouteur 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 opérations différentes en fonction de la plate-forme à laquelle ils sont connectés. L'Association express n'est actuellement effectuée que via Android, mais la compatibilité pourrait être étendue à l'avenir.

Le message contient 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 sera personnalisé par plate-forme. Sous Android, il fait référence à la version du SDK. Par exemple, Android Pie aura une valeur de 28 (0x1C).

Version du micrologiciel

Version du micrologiciel du fournisseur sous forme de chaîne encodée en UTF-8. Il s'agit des mêmes informations que celles de la caractéristique de révision du micrologiciel.

Identifiant éphémère actuel de l'ID de facturation

Les fournisseurs qui annoncent des trames FHN doivent indiquer l'identifiant éphémère (EID) FHN actuel avec leur valeur d'horloge actuelle pour se synchroniser avec le chercheur en cas de dérive de l'horloge (par exemple, en raison d'une batterie déchargée).

Exemple :

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