Lorsque vous vous connectez à un autre téléphone par Bluetooth, y a-t-il un moyen de savoir à quelle distance se trouve l'autre téléphone (ce serait mieux s'il pouvait me donner la distance exacte, même si une distance estimée me convient) ?
Réponse
Trop de publicités?Pas plus précisément que vous ne le savez déjà : s'il est connecté par Bluetooth, il se trouve probablement à moins de dix mètres. Il est théoriquement possible d'utiliser le temps d'aller-retour entre les deux appareils et la vitesse finie des ondes radio pour calculer la distance, mais en pratique, à ces petites échelles, le temps de trajet est inférieur à la latence de la pile Bluetooth. Les ondes radio mettent environ 3 ns pour parcourir un mètre, ce qui correspond au temps nécessaire à un processeur de 2 GHz pour exécuter une instruction.
Vous pouvez obtenir une approximation raisonnable en utilisant le indicateur d'intensité du signal reçu (RSSI) que la pile Bluetooth vous indique. Ce nombre est disponible pour les applications et vous indique à quel point le signal radio du terminal distant semble "fort" depuis le téléphone. Un nombre plus positif signifie que les appareils sont proches les uns des autres ; un nombre plus négatif signifie qu'ils sont éloignés les uns des autres. Certaines applications utilisent ce chiffre lorsqu'elles proposent une liste d'appareils auxquels se connecter : en triant la liste par RSSI, les appareils les plus proches apparaissent en tête de liste.
Toutefois, il ne s'agit que d'une approximation. Le RSSI ne varie pas simplement avec la distance : il est affecté par d'autres facteurs. Les réflexions d'autres surfaces et objets peuvent le faire augmenter ou diminuer, et la présence d'objets entre les deux téléphones le fait diminuer. Par exemple, si vous tenez votre téléphone et que l'autre appareil auquel vous vous connectez se trouve derrière vous, de sorte que votre corps se trouve entre les deux, il semblera plus éloigné. De même, si l'appareil est dans votre poche ou votre sac, il apparaîtra plus loin. Même si vous restez au même endroit et que rien ne bouge, le RSSI fluctuera beaucoup, à cause des interférences des autres sources radio.
Les balises Bluetooth LE telles que les iBeacons utilisent le RSSI pour indiquer une distance approximative, mais uniquement pour classer les balises en trois catégories : "loin", "près" ou "immédiat" (presque au toucher), car il est impossible d'être plus précis que cela avec le RSSI.