iphone - Encontrar la distancia del valor de RSSI del dispositivo habilitado Bluetooth Low Energy
objective-c ios7 (3)
Encontrar distancia de RSSI es un poco complicado y depende de muchos factores, incluso el entorno de prueba y la orientación de la antena, etc. El documento siguiente tiene algunos estudios sobre el mismo http://www.s2is.org/Issues/v1/n2/papers/ paper14.pdf
Estoy trabajando en el proyecto de concepto de Bluetooth de baja energía. Estoy obteniendo el valor de RSSI entre 1 y 100. A medida que muevo la etiqueta, el valor de RSSI aumenta a medida que el periférico se aleja del iPhone y disminuye a medida que se acerca.
¿Alguien puede ayudarme a obtener la distancia exacta entre el iPhone y la etiqueta Bluetooth según el valor de RSSI? ¿Hay alguna fórmula disponible?
Obtengo el valor de RSSI del dispositivo con la ayuda de este método de delegado de bajo consumo de energía bluetooth:
- (void)centralManager:(CBCentralManager *)central didDiscoverPeripheral:(CBPeripheral
*)peripheral advertisementData:(NSDictionary *)advertisementData RSSI:(NSNumber *)RSSI
Hay bastantes técnicas de localización basadas en RSSI como la triangulación y la toma de huellas dactilares. Ninguno de ellos es perfecto. RSSI se ve afectado por muchos factores, como obstáculos, desvanecimiento por trayectos múltiples, polarización de la antena y blindaje cruzado.
La relación teórica entre RSSI y distancia es algo como esto:
RSSI[dbm] = −(10n log10(d) − A)
donde d es la distancia y A es el desplazamiento que es el RSSI medido a 1 metro de distancia del dispositivo BLE.
Simplemente google para RSSI[dbm] = −(10n log10(d) − A)
y encontrará algunas fuentes al respecto.
Respondí esto en otro hilo, repitiéndolo aquí.
En línea de vista (no hay obstáculos que causen cambios en RSSI), -6dB parece ser el doble de la distancia .
Si a 1m de distancia lee RSSI -40dB, entonces 2m da -46dB, 4m da -52dB, 8m da -58dB, 16m da -64dB.
No puede obtener una posición exacta, solo una distancia máxima circular.
Al utilizar la triangulación con 2-3 o más dispositivos obtienes un resultado de posicionamiento mucho más preciso. Puede obtener esto simplemente de los paquetes de Publicidad, pero debe desactivar la exploración -> Activar escaneo o decirle a iOS CoreBluetooth que informe todos los paquetes adv.
En el modo de primer plano puede hacer esto, pero en el modo de fondo no puede obtener todos los paquetes de anuncios. Debe conectar y leer RSSI para hacerlo en segundo plano.