Intentar comprender un concepto básico de cómo puede funcionar el distanciamiento con ibeacon (baliza / Bluetooth-baja energía / BLE). ¿Existe alguna documentación verdadera sobre qué tan lejos puede medir exactamente un ibeacon? Digamos que estoy a 300 pies de distancia ... ¿es posible que un ibeacon detecte esto?
Específicamente para v4 y. v5 y con iOS pero generalmente cualquier dispositivo BLE.
¿Cómo afecta esto la frecuencia y el rendimiento de Bluetooth? ¿Pueden los dispositivos de baliza mejorar o restringir la distancia / mejorar el BLE subyacente?
es decir
| 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 |
fuente
Estoy investigando muy a fondo el asunto de la precisión / rssi / proximidad con iBeacons y realmente creo que todos los recursos en Internet (blogs, publicaciones en StackOverflow) se equivocan.
davidgyoung (respuesta aceptada,> 100 votos a favor) dice:
En realidad, la mayoría de la gente dice esto, ¡pero no tengo idea de por qué! La documentación deja muy claro que CLBeacon.proximity:
Permítanme repetir: una precisión sigma en metros . Las 10 páginas principales de Google sobre el tema tienen el término "un sigma" solo entre comillas de documentos, pero ninguna de ellas analiza el término, que es fundamental para entender esto.
Es muy importante explicar qué es realmente una precisión sigma . Siguientes URL para empezar: http://en.wikipedia.org/wiki/Standard_error , http://en.wikipedia.org/wiki/Uncertainty
En el mundo físico, cuando realiza alguna medición, siempre obtiene resultados diferentes (debido al ruido, la distorsión, etc.) y muy a menudo los resultados de la distribución gaussiana. Hay dos parámetros principales que describen la curva gaussiana:
un sigma es otra forma de describir qué tan estrecha / ancha es la curva gaussiana.
Simplemente dice que si la media de la medición es X y un sigma es σ, entonces el 68% de todas las mediciones estarán entre
X - σ
yX + σ
.Ejemplo. Medimos la distancia y obtenemos una distribución gaussiana como resultado. La media es de 10 m. Si σ es 4 m, entonces significa que el 68% de las mediciones fueron entre 6 my 14 m.
Cuando medimos la distancia con balizas, obtenemos RSSI y un valor de calibración de 1 metro, que nos permite medir la distancia en metros. Pero cada medición da valores diferentes, que forman una curva gaussiana. ¡Y un sigma (y precisión) es la precisión de la medición, no la distancia!
Puede ser engañoso, porque cuando alejamos la baliza, un sigma realmente aumenta porque la señal es peor. Pero con diferentes niveles de potencia de baliza, podemos obtener valores de precisión totalmente diferentes sin cambiar la distancia. A mayor potencia, menor error.
Hay una publicación de blog que analiza a fondo el asunto: http://blog.shinetech.com/2014/02/17/the-beacon-experiments-low-energy-bluetooth-devices-in-action/
El autor tiene la hipótesis de que la precisión es en realidad distancia. Afirma que las balizas de Kontakt.io están defectuosas porque cuando aumentó la potencia al valor máximo, el valor de precisión fue muy pequeño para 1, 5 e incluso 15 metros. Antes de aumentar la potencia, la precisión estaba bastante cerca de los valores de distancia. Personalmente, creo que es correcto, porque a mayor nivel de potencia, menor impacto de interferencia. Y es extraño por qué las balizas de Estimote no se comportan de esta manera.
No estoy diciendo que esté 100% en lo cierto, pero además de ser desarrollador de iOS, tengo un título en electrónica inalámbrica y creo que no deberíamos ignorar el término "un sigma" de los documentos y me gustaría comenzar a discutirlo.
Es posible que el algoritmo de precisión de Apple solo recopile mediciones recientes y analice la distribución gaussiana de las mismas. Y así establece la precisión. No excluiría la posibilidad de que utilicen un acelerómetro de formulario de información para detectar si el usuario se está moviendo (y qué tan rápido) para restablecer los valores de distancia de distribución anteriores porque ciertamente han cambiado.
fuente
accuracy
es una función de ambosrssi
ytx power
. No es del todo imposible que Estimote decidió aplicar ingeniería inversa a laaccuracy
función y comenzó a proporcionartx power
valores tales que la lecturaaccuracy
estima la distancia. Esto proporciona una experiencia de desarrollador más simple para estimar la distancia, pero rompe la definición de Apple deaccuracy
. Otras marcas pueden ser más fieles a la definición de Appleaccuracy
y, de hecho, proporcionar una "estimación de 1 metro" en lugar de un valor de ingeniería inversa que hace laaccuracy
distancia estimada.La potencia de salida del iBeacon se mide (calibra) a una distancia de 1 metro. Supongamos que es -59 dBm (solo un ejemplo). El iBeacon incluirá este número como parte de su publicidad LE.
El dispositivo de escucha (iPhone, etc.) medirá el RSSI del dispositivo. Supongamos, por ejemplo, que esto es, digamos, -72 dBm.
Dado que estos números están en dBm, la relación de la potencia es en realidad la diferencia en dB. Entonces:
Para convertir eso en una relación lineal, usamos la fórmula estándar para dB:
Si asumimos la conservación de energía, entonces la fuerza de la señal debe caer como 1 / r ^ 2. Entonces:
power = power_at_1_meter / r^2
. Resolviendo para r, obtenemos:En Javascript, el código se vería así:
Tenga en cuenta que, si está dentro de un edificio de acero, tal vez haya reflejos internos que hagan que la señal decaiga más lentamente que 1 / r ^ 2. Si la señal pasa a través de un cuerpo humano (agua), la señal se atenuará. Es muy probable que la antena no tenga la misma ganancia en todas las direcciones. Los objetos metálicos en la habitación pueden crear patrones de interferencia extraños. Etc, etc ... YMMV.
fuente
ratio_dB = txCalibratedPower - RSSI
funciona? Dado que ambas medidas están en dBm, ¿asumiría que el resultado también está en dBm?iBeacon usa Bluetooth Low Energy (LE) para estar al tanto de las ubicaciones, y la distancia / alcance de Bluetooth LE es de 160 pies ( http://en.wikipedia.org/wiki/Bluetooth_low_energy ).
fuente
Las distancias a la fuente de los paquetes publicitarios con formato iBeacon se estiman a partir de la atenuación de la ruta de la señal calculada comparando la intensidad de la señal recibida medida con la potencia de transmisión reivindicada que se supone que el transmisor codifica en los datos publicitarios.
Un esquema basado en la pérdida de trayectoria como este es solo aproximado y está sujeto a variaciones con elementos como ángulos de antena, objetos intermedios y, presumiblemente, un entorno de RF ruidoso. En comparación, los sistemas realmente diseñados para la medición de distancias (GPS, Radar, etc.) se basan en mediciones precisas del tiempo de propagación, en los mismos casos incluso examinando la fase de la señal.
Como señala Jiaru, 160 pies probablemente esté más allá del rango previsto, pero eso no significa necesariamente que un paquete nunca llegue, solo que no se debe esperar que funcione a esa distancia.
fuente
Es posible, pero depende de la potencia de salida de la baliza que está recibiendo, otras fuentes de RF cercanas, obstáculos y otros factores ambientales. Lo mejor que puede hacer es probarlo en el entorno que le interesa.
fuente
Con varios teléfonos y balizas en la misma ubicación, será difícil medir la proximidad con un alto grado de precisión. Intente utilizar la aplicación de Android "byl bluetooth le scanner" para visualizar las variaciones de la intensidad de la señal (distancia), para múltiples balizas, y descubrirá rápidamente que se pueden requerir algoritmos adaptativos complejos para proporcionar cualquier forma de medición de proximidad consistente .
Verá muchas soluciones que simplemente le indican al usuario que "sostenga su teléfono aquí", para reducir la frustración del cliente.
fuente