Essayer de comprendre un concept de base de la façon dont la distance avec ibeacon (balise / Bluetooth-lowenergy / BLE) peut fonctionner. Existe-t-il une véritable documentation sur la distance exacte qu'un ibeacon peut mesurer. Disons que je suis à 300 mètres ... est-il possible pour un ibeacon de détecter cela?
Spécifiquement pour v4 et. v5 et avec iOS mais généralement tout appareil BLE.
Comment la fréquence et le débit Bluetooth affectent-ils cela? Les dispositifs de balise peuvent-ils augmenter ou limiter la distance / améliorer le BLE sous-jacent?
c'est à dire
| Range | Freq | T/sec | Topo |
|–—–––––––––––|–—––––––––––|–—––––––––––|–—––––––––––|
Bluetooth v2.1 | Up to 100 m | < 2.481ghz | < 2.1mbit | scatternet |
|-------------|------------|------------|------------|
Bluetooth v4 | ? | < 2.481ghz | < 305kbit | mesh |
|-------------|------------|------------|------------|
Bluetooth v5 | ? | < 2.481ghz | < 1306kbit | mesh |
J'étudie en profondeur la question de la précision / rssi / proximité avec iBeacons et je pense vraiment que toutes les ressources sur Internet (blogs, messages dans StackOverflow) se trompent.
davidgyoung (réponse acceptée,> 100 votes positifs) dit:
En fait, la plupart des gens disent cela mais je ne sais pas pourquoi! La documentation indique très clairement que CLBeacon.proximity:
Permettez-moi de répéter: une précision sigma en mètres . Les 10 premières pages de google sur le sujet ont le terme «un sigma» uniquement dans des citations de documents, mais aucune d'entre elles n'analyse le terme, qui est essentiel pour comprendre cela.
Il est très important d'expliquer ce qu'est en fait une précision sigma . URL suivantes pour commencer: http://en.wikipedia.org/wiki/Standard_error , http://en.wikipedia.org/wiki/Uncertainty
Dans le monde physique, lorsque vous effectuez des mesures, vous obtenez toujours des résultats différents (à cause du bruit, de la distorsion, etc.) et très souvent les résultats forment une distribution gaussienne. Il existe deux paramètres principaux décrivant la courbe de Gauss:
un sigma est une autre façon de décrire à quel point la courbe gaussienne est étroite / large.
Il dit simplement que si la moyenne de mesure est X, et qu'un sigma est σ, alors 68% de toutes les mesures seront comprises entre
X - σ
etX + σ
.Exemple. Nous mesurons la distance et obtenons une distribution gaussienne en conséquence. La moyenne est de 10 m. Si σ vaut 4m, cela signifie que 68% des mesures étaient comprises entre 6m et 14m.
Lorsque nous mesurons la distance avec des balises, nous obtenons RSSI et une valeur d'étalonnage de 1 mètre, qui nous permettent de mesurer la distance en mètres. Mais chaque mesure donne des valeurs différentes, qui forment une courbe gaussienne. Et un sigma (et la précision) est la précision de la mesure, pas la distance!
Cela peut être trompeur, car lorsque nous éloignons la balise, un sigma augmente en fait parce que le signal est pire. Mais avec des niveaux de puissance de balise différents, nous pouvons obtenir des valeurs de précision totalement différentes sans changer réellement la distance. Plus la puissance est élevée, moins il y a d'erreur.
Il existe un article de blog qui analyse en profondeur la question: http://blog.shinetech.com/2014/02/17/the-beacon-experiments-low-energy-bluetooth-devices-in-action/
L'auteur émet l'hypothèse que la précision est en fait la distance. Il affirme que les balises de Kontakt.io sont défectueuses parce qu'il a augmenté la puissance à la valeur maximale, la valeur de précision était très petite pour 1, 5 et même 15 mètres. Avant d'augmenter la puissance, la précision était assez proche des valeurs de distance. Personnellement, je pense que c'est correct, car plus le niveau de puissance est élevé, moins les interférences ont un impact. Et il est étrange que les balises Estimote ne se comportent pas de cette façon.
Je ne dis pas que j'ai raison à 100%, mais en plus d'être développeur iOS, j'ai un diplôme en électronique sans fil et je pense que nous ne devrions pas ignorer le terme "one sigma" de la documentation et j'aimerais commencer la discussion à ce sujet.
Il est possible que l'algorithme de précision d'Apple ne recueille que des mesures récentes et en analyse la distribution gaussienne. Et c'est ainsi qu'il définit la précision. Je n'exclurais pas la possibilité qu'ils utilisent l'accéléromètre de formulaire d'information pour détecter si l'utilisateur se déplace (et à quelle vitesse) afin de réinitialiser les valeurs de distance de distribution précédentes, car elles ont certainement changé.
la source
accuracy
est une fonction à la foisrssi
ettx power
. Il n'est pas totalement impossible qu'Estimote ait décidé de procéder à une rétro-ingénierie de laaccuracy
fonction et a commencé à fournir destx power
valeurs telles que la lectureaccuracy
estime la distance. Cela fournit une expérience de développeur plus simple pour estimer la distance, mais rompt la définition d'Apple deaccuracy
. D'autres marques pourraient rester plus fidèles à la définition d'Appleaccuracy
et fournir en fait une «estimation de 1 mètre» plutôt qu'une valeur rétro-conçue qui permet d'accuracy
estimer la distance.La puissance de sortie de l'iBeacon est mesurée (calibrée) à une distance de 1 mètre. Supposons que ce soit -59 dBm (juste un exemple). L'iBeacon inclura ce numéro dans le cadre de sa publicité LE.
L'appareil d'écoute (iPhone, etc.) mesurera le RSSI de l'appareil. Supposons, par exemple, que cela soit, disons, -72 dBm.
Puisque ces nombres sont en dBm, le rapport de la puissance est en fait la différence en dB. Alors:
Pour convertir cela en un rapport linéaire, nous utilisons la formule standard pour dB:
Si nous supposons la conservation de l'énergie, alors la force du signal doit tomber à 1 / r ^ 2. Alors:
power = power_at_1_meter / r^2
. En résolvant r, nous obtenons:En Javascript, le code ressemblerait à ceci:
Notez que si vous êtes à l'intérieur d'un bâtiment en acier, il y aura peut-être des réflexions internes qui ralentiront la décroissance du signal par rapport à 1 / r ^ 2. Si le signal traverse un corps humain (eau), le signal sera atténué. Il est très probable que l'antenne n'ait pas le même gain dans toutes les directions. Les objets métalliques dans la pièce peuvent créer d'étranges motifs d'interférences. Etc, etc ... YMMV.
la source
ratio_dB = txCalibratedPower - RSSI
marche? Puisque les deux mesures sont en dBm, je suppose que le résultat est également en dBm?iBeacon utilise Bluetooth Low Energy (LE) pour se tenir au courant des emplacements, et la distance / portée de Bluetooth LE est de 160 pieds ( http://en.wikipedia.org/wiki/Bluetooth_low_energy ).
la source
Les distances par rapport à la source des paquets publicitaires formatés iBeacon sont estimées à partir de l'atténuation du trajet du signal calculée en comparant la force du signal reçu mesuré à la puissance d'émission revendiquée que l'émetteur est censé coder dans les données publicitaires.
Un schéma basé sur la perte de trajet comme celui-ci n'est qu'approximatif et est sujet à des variations avec des éléments tels que les angles d'antenne, les objets intermédiaires et vraisemblablement un environnement RF bruyant. En comparaison, les systèmes réellement conçus pour la mesure de distance (GPS, Radar, etc.) reposent sur des mesures précises du temps de propagation, dans les mêmes cas même en examinant la phase du signal.
Comme le souligne Jiaru, 160 pieds sont probablement au-delà de la portée prévue, mais cela ne signifie pas nécessairement qu'un paquet ne passera jamais , seulement qu'il ne faut pas s'attendre à ce qu'il fonctionne à cette distance.
la source
C'est possible, mais cela dépend de la puissance de sortie de la balise que vous recevez, des autres sources RF à proximité, des obstacles et d'autres facteurs environnementaux. La meilleure chose à faire est de l'essayer dans l'environnement qui vous intéresse.
la source
Avec plusieurs téléphones et balises au même endroit, il sera difficile de mesurer la proximité avec un degré de précision élevé. Essayez d'utiliser l'application Android "b and l bluetooth le scanner" pour visualiser les variations d'intensité du signal (distance) pour plusieurs balises, et vous découvrirez rapidement que des algorithmes complexes et adaptatifs peuvent être nécessaires pour fournir toute forme de mesure de proximité cohérente. .
Vous allez voir de nombreuses solutions demandant simplement à l'utilisateur de "tenez votre téléphone ici", afin de réduire la frustration des clients.
la source