Localisation précise dans l'appli Localiser

La spécification Find Hub Precision Finding (FHPF) contient des exigences d'implémentation pour permettre aux appareils compatibles avec les technologies de mesure de distance de prendre en charge la fonctionnalité Localisation précise à l'aide de l'application Localiser mon appareil de Google.

Le type de résultat précis dépend du type de technologies de mesure de distance compatibles avec les appareils utilisés pour la localisation précise. Les technologies de mesure de distance compatibles sont décrites dans la spécification Ranging: Out-of-band message sequence and payload (Mesure de distance : séquence et charge utile des messages hors bande). Les sections suivantes expliquent le type d'expérience de localisation précise auquel vous pouvez vous attendre en fonction de la technologie de télémétrie utilisée.

Accessoire réseau Localiser

Cette spécification est une extension de la spécification FHNA (Find Hub Network Accessory). Les mêmes règles pour la caractéristique GATT et l'authentification s'appliquent ici, comme défini dans le document FHNA. Ce document définit de nouveaux types d'opérations, en plus des opérations déjà existantes dans la spécification FHNA.

Charge utile spécifique aux technologies de mesure de distance

Cette spécification fait également référence à la spécification Ranging: Out-of-band message sequence and payload pour définir la charge utile spécifique à la technologie de mesure de distance contenue dans les champs Additional Data des opérations individuelles.

Parcours de la recherche précise

Cette section explore le flux de messages FHNA pour la localisation précise. La figure 1 montre le flux des messages, et les paragraphes expliquent chaque message plus en détail.

Flux de messages de la localisation précise

Fig. 1 : Flux de messages de précision typique

L'appareil initiateur est celui sur lequel l'application Localiser est installée et à partir duquel la fonctionnalité de localisation précise a été activée. L'initiateur est l'appareil qui essaie de trouver l'autre appareil.

L'appareil répondeur est l'appareil que l'appareil initiateur essaie de trouver.

L'appareil initiateur envoie un message de demande de capacité de mesure de distance à l'appareil répondeur, dans lequel il liste les technologies de mesure de distance qu'il souhaite connaître auprès de l'appareil répondeur. L'appareil répondant renvoie une notification de réponse sur les capacités de mesure de distance, contenant des informations sur les technologies de mesure de distance compatibles et leurs capacités. Le répondeur n'inclura que les informations demandées par l'initiateur. La liste des fonctionnalités sera triée en fonction de la priorité de la technologie de mesure de distance privilégiée par l'appareil répondant, la première de la liste ayant la priorité la plus élevée.

L'appareil initiateur enverra ensuite un message de configuration de la mesure de distance, dans lequel il définira la configuration de chaque technologie de mesure de distance avec laquelle il souhaite effectuer une mesure. À la réception de ce message, l'appareil Répondeur doit commencer à effectuer des mesures de distance pour les technologies applicables à l'aide des configurations fournies. L'appareil répondant renverra une notification de réponse à la configuration de la mesure de distance, qui contient les résultats indiquant si chaque technologie de mesure de distance individuelle a démarré avec succès. Certaines technologies de mesure de distance doivent être démarrées à la fois sur l'appareil initiateur et sur l'appareil répondeur pour qu'une session de mesure de distance réussisse. Pour d'autres, il suffit qu'elles soient démarrées sur l'appareil initiateur. Toutefois, l'appareil répondeur doit renvoyer un résultat positif pour ces technologies. Pour en savoir plus sur le comportement spécifique de la technologie de mesure de distance, consultez les sections suivantes.

Une fois que l'appareil initiateur est prêt à arrêter la session de localisation précise, il envoie un message d'arrêt de la mesure de distance au répondeur, indiquant les technologies de mesure de distance qui doivent être arrêtées. L'appareil Responder répond par une notification Stop Ranging Response, indiquant qu'il a bien arrêté la mesure de distance avec les technologies de mesure de distance demandées.

Dans le cas où le canal de communication FHNA BLE GATT se déconnecte en cours de session de localisation précise, mais que certaines technologies de mesure de distance continuent de fonctionner, l'appareil répondeur met en œuvre un mécanisme de délai avant expiration pour s'assurer qu'il ne mesure pas la distance indéfiniment. Les détails dépendent de chaque cas d'utilisation.

Notez que l'appareil de réponse ne doit pas supposer que l'ordre des opérations sera toujours le même. Par exemple, l'appareil répondant doit être capable de gérer plusieurs opérations de demande de capacité de mesure de distance consécutives, voire une opération de configuration de mesure de distance directe sans la demande de capacité précédente.

Opérations

Le tableau 1 présente les opérations FHNA définies dans ce document et requises pour la recherche précise. Chaque sous-section définit le message FHNA pour chacune des opérations, tandis que le contenu du champ Données supplémentaires fait référence à la spécification Portée : séquence et charge utile des messages hors bande.

Tableau 1 : Opérations

Opération ID des données Description
Demande de capacité de mesure de distance 0x0A Opération de demande de fonctionnalité qui sera envoyée par l'appareil initiateur à l'appareil récepteur. Le contenu des données de cette opération liste toutes les technologies de mesure de distance sur lesquelles l'initiateur souhaite obtenir des informations de l'appareil répondeur.
Réponse de capacité de mesure de distance 0x0A Il s'agit de la réponse de notification à l'opération de demande de capacité de mesure de distance. Il contient des informations sur les capacités de chaque technologie de télémétrie compatible demandées par l'initiateur.
Configuration de la gamme 0x0B L'opération de configuration de la mesure de distance contient les configurations des technologies de mesure de distance avec lesquelles l'appareil initiateur souhaite commencer la mesure de distance avec l'appareil répondeur.
Réponse de configuration de la mesure de distance 0x0B Il s'agit de la réponse de notification à l'opération de configuration de la plage. Il contient des données indiquant si l'appareil Responder a réussi à démarrer la mesure de distance avec les technologies de mesure de distance demandées en fonction de la configuration fournie.
RFU 0x0C L'opération avec cet ID de données n'est pas utilisée et est réservée pour une utilisation ultérieure.
Arrêter la mesure de distance 0x0D L'opération Stop Ranging envoyée par l'appareil initiateur contient des informations sur les technologies de mesure de distance avec lesquelles l'appareil répondeur doit arrêter la mesure de distance.
Arrêter la réponse de mesure de distance 0x0D Il s'agit de la réponse de notification à l'opération Stop Ranging. Il contient des données indiquant si l'opération d'arrêt pour une technologie de télémétrie spécifique a réussi ou non.

Message de demande de capacité de mesure de distance

Le tableau 2 définit le message de demande de capacité de mesure de distance.

Tableau 2 : Demande de capacité de mesure de la distance

Octet Type de données Description Valeur
0 uint8 ID des données 0x0A : opération de demande de capacité de mesure de distance
1 uint8 Longueur des données Variable
2 tableau d'octets Clé d'authentification unique Les huit premiers octets de HMAC-SHA256(clé de compte, numéro de version majeure du protocole || dernier nonce lu à partir de la caractéristique || ID de données || longueur des données || données supplémentaires).
10 tableau d'octets Données supplémentaires Message Ranging Capability Request tel que défini dans la spécification Ranging: Out-of-band message sequence and payload (en-tête et charge utile)

Message de réponse sur la capacité de mesure de distance

Le tableau 3 définit le message de réponse sur les capacités de mesure de distance.

Tableau 3 : Réponse de la fonctionnalité de mesure de distance

Octet Type de données Description Valeur
0 uint8 ID des données 0x0A : réponse sur la capacité de mesure de distance
1 uint8 Longueur des données Variable
2 tableau d'octets Clé d'authentification unique Les 8 premiers octets de HMAC-SHA256(clé de compte, numéro de version majeure du protocole || dernier nonce lu à partir de la caractéristique || ID de données || longueur des données || données supplémentaires || 0x01).
10 tableau d'octets Données supplémentaires Message Ranging Capability Response tel que défini dans la spécification Ranging: Out-of-band message sequence and payload (en-tête et charge utile)

Message de configuration de la plage

Le tableau 4 définit le message de configuration de la mesure de distance.

Tableau 4 : Configuration de la mesure de distance

Octet Type de données Description Valeur
0 uint8 ID des données 0x0B : définir la configuration de la mesure de distance
1 uint8 Longueur des données Variable
2 tableau d'octets Clé d'authentification unique Les huit premiers octets de HMAC-SHA256(clé de compte, numéro de version majeure du protocole || dernier nonce lu à partir de la caractéristique || ID de données || longueur des données || données supplémentaires).
10 tableau d'octets Données supplémentaires Message Ranging Configuration tel que défini dans la spécification Ranging: Out-of-band message sequence and payload (en-tête et charge utile)

Message de réponse à la configuration de la mesure de distance

Le tableau 5 définit le message de réponse de configuration de la mesure de distance.

Tableau 5 : Réponse de configuration de la mesure de distance

Octet Type de données Description Valeur
0 uint8 ID des données 0x0B : réponse à la configuration de la mesure de distance
1 uint8 Longueur des données Variable
2 tableau d'octets Clé d'authentification unique Les 8 premiers octets de HMAC-SHA256(clé de compte, numéro de version majeure du protocole || dernier nonce lu à partir de la caractéristique || ID de données || longueur des données || données supplémentaires || 0x01).
10 tableau d'octets Données supplémentaires Message Ranging Configuration Response (Réponse de configuration de la mesure de distance) tel que défini dans la spécification Ranging: Out-of-band message sequence and payload (à la fois l'en-tête et la charge utile)

Message "Stop Ranging" (Arrêter la mesure de distance)

Le tableau 6 définit le message "Stop Ranging" (Arrêter la mesure de distance).

Tableau 6 : Arrêter la mesure de distance

Octet Type de données Description Valeur
0 uint8 ID des données 0x0D : arrêt de la mesure de distance
1 uint8 Longueur des données Variable
2 tableau d'octets Clé d'authentification unique Les huit premiers octets de HMAC-SHA256(clé de compte, numéro de version majeure du protocole || dernier nonce lu à partir de la caractéristique || ID de données || longueur des données).
10 tableau d'octets Données supplémentaires Message Stop Ranging tel que défini dans la spécification Ranging: Out-of-band message sequence and payload (en-tête et charge utile)

Message de réponse "Arrêter la mesure de distance"

Le tableau 7 définit le message de réponse "Stop Ranging" (Arrêter la mesure de distance).

Tableau 7 : Réponse Stop Ranging

Octet Type de données Description Valeur
0 uint8 ID des données 0x0D : réponse à l'arrêt de la mesure de distance
1 uint8 Longueur des données Variable
2 tableau d'octets Clé d'authentification unique Les 8 premiers octets de HMAC-SHA256(clé de compte, numéro de version majeure du protocole || dernier nonce lu à partir de la caractéristique || ID de données || longueur des données || données supplémentaires || 0x01).
10 tableau d'octets Données supplémentaires Message Stop Ranging Response tel que défini dans la spécification Ranging: Out-of-band message sequence and payload (en-tête et charge utile)

Protection contre le suivi indésirable

Lorsque le mode de protection contre le suivi indésirable est activé, comme décrit dans la spécification FHNA, le même flux que celui qui s'applique à l'ignorance des vérifications d'authentification pour les messages de sonnerie s'applique également à tous les messages de localisation précise définis dans ce document pour les appareils qui souhaitent prendre en charge cette fonctionnalité.

D'après les spécifications FHNA :

Si le fournisseur n'est pas provisionné en tant que balise FHNA ou si la validation échoue, une erreur d'authentification est renvoyée. Toutefois, si le fournisseur a activé la protection contre le suivi indésirable et que la demande de déclenchement de la protection contre le suivi indésirable a activé l'indicateur d'authentification sans sonnerie, le fournisseur doit ignorer cette vérification. Le demandeur doit toujours fournir les données d'authentification, mais elles peuvent être définies sur une valeur arbitraire.

Spécificités de la technologie de mesure de distance

Cette section contient des informations spécifiques à la technologie de mesure de distance.

Spécificités de la bande ultralarge (UWB)

Détails spécifiques à l'UWB.

Niveau de précision de la localisation

Les sessions de localisation précise utilisant la bande ultralarge comme technologie de mesure de distance peuvent s'attendre à voir des informations sur la distance et la direction. L'intervalle de mesure de distance doit être d'au moins 240 ms, mais 96 ms est préférable pour un guidage optimal.

ID de configuration

Les données de configuration hors bande échangées pour l'UWB ne contiennent pas l'ensemble complet des paramètres configurables disponibles dont l'UWB a besoin pour démarrer une session de mesure de distance UWB. Certains paramètres sont sélectionnés de manière implicite par l'ID de configuration choisi.

Chaque ID de configuration est un ensemble de paramètres de configuration UWB prédéfinis qui sont documentés publiquement. Pour le cas d'utilisation de la localisation précise, l'appareil répondeur doit être compatible avec l'ID de configuration 6 et, éventuellement, avec l'ID de configuration 3.

Initiateur et répondeur UWB

Dans le cas d'utilisation de la localisation précise, l'appareil indiqué comme appareil initiateur dans ce document sera le répondeur UWB, et l'appareil indiqué comme appareil répondeur dans ce document sera l'initiateur UWB. En effet, l'appareil initiateur UWB consomme moins d'énergie que l'appareil répondeur UWB. De plus, dans la plupart des cas, l'appareil répondeur est un périphérique dont la batterie est limitée.

Cela signifie que l'appareil répondeur doit indiquer qu'il peut jouer le rôle d'initiateur UWB dans le message de réponse de capacité de mesure de distance.

  • Channel 9 doit être compatible
  • Pour un guidage optimal, un intervalle de mesure de distance de 96 ms est recommandé. Dans le cas contraire, un intervalle de 240 ms doit être pris en charge.
  • Une durée de slot de 1 ms est recommandée pour économiser la batterie, mais 2 ms sont également acceptées.
  • La puce UWB doit être conforme à la norme FIRA v1.2 et à la norme P-STS.
  • Le BPRF est obligatoire, tandis que le HPRF est recommandé, mais facultatif. Le mode pris en charge ou sélectionné est déterminé par l'index de préambule pris en charge ou sélectionné.
  • Type de sécurité de la session : P-STS

Spécificités du sondage de canal BLE (CS)

Détails spécifiques à BLE CS.

Niveau de précision de la localisation

Les sessions de localisation précise utilisant CS comme technologie de mesure de distance ne fourniront que des mesures de distance. La directionnalité n'est pas fournie pour le moment.

Liaison requise entre les appareils

Les sessions de localisation précise utilisant le sondage de canal ne fonctionnent pas si les appareils ne sont pas associés. Une association existante entre l'appareil initiateur et l'appareil récepteur est requise. Cette spécification ne permet pas de créer une association entre les appareils. Il incombe plutôt au développeur du cas d'utilisation d'établir ce lien entre les appareils.

Action requise par le répondant pour le service client

Contrairement à l'UWB, où les deux appareils sont nécessaires pour appeler explicitement les API de démarrage et d'arrêt de la mesure de distance UWB, pour la CS, seul l'appareil initiateur est nécessaire pour démarrer la mesure de distance CS en appelant la pile Bluetooth. Le reste de l'initialisation côté répondeur se fait dans la bande à l'aide du Bluetooth (BT). Cela signifie qu'à la réception du message de configuration de la mesure de distance ou du message d'arrêt de la mesure de distance pour CS, le côté répondeur n'a rien à faire si le Bluetooth est activé, si ce n'est répondre avec la notification du message de réponse de configuration de la mesure de distance. L'appareil de réponse pourrait potentiellement utiliser ces messages comme déclencheur pour mettre à jour l'UI lorsqu'un écran est présent, ou indépendamment de la présence d'un écran, il pourrait être utilisé pour un retour visuel sur l'état de l'appareil, par exemple en faisant clignoter les voyants de l'appareil.

Wi-Fi NAN RTT

Informations spécifiques à la technologie Wi-Fi NAN RTT.

Niveau de précision de la localisation

Les sessions de localisation précise utilisant le Wi-Fi NAN RTT comme technologie de mesure de distance ne fournissent que des mesures de distance. La directionnalité n'est pas fournie pour le moment.

RSSI BLE

Détails spécifiques au RSSI BLE.

Niveau de précision de la localisation

Les sessions de localisation précise qui utilisent uniquement le RSSI BLE comme technologie de mesure de distance ne pourront pas obtenir d'informations sur la distance ni sur la direction, car le RSSI BLE n'est pas une technologie de mesure de distance précise. À la place, l'utilisateur verra des indications indiquant que l'appareil est proche ou éloigné.