¿Cómo calcular la distancia entre dos dispositivos Android? (Bluetooth preferido)

El objetivo no es tener la distancia real. Es algo más sencillo.
El objetivo es comprobar si otro dispositivo está muy cerca . Verdadero o falso. Digamos que 10 o 15 cms está cerca para que nuestro cheque sea verdadero y cualquier dispositivo más lejos falla el cheque y es falso.

Mi primer enfoque fue usar el método fetchUuidsWithSdp() pero falló!
La latencia parecía la misma si los dispositivos que un par de cms de distancia o en el otro extremo de una gran sala!

Cualquier solución incluso sin bluetooth es aceptable. Por ejemplo, estoy totalmente familiarizado con el protocolo wifi p2p directo . Tal vez podría haber algo allí útil para tener una estimación aproximada de la distancia.

Edit: Estoy leyendo sobre el Indicador de Fuerza de la Señal Recibida ( RSSI ). Esto podría ser utilizado para nuestro caso particular, una estimación aproximada de la distancia entre dispositivos. Pero tal vez podría haber algo que combinar para mejorar la precisión.

Edit: Puse la respuesta de Ralgha a la prueba. Hice establecido una conexión y tenía un protocolo menor al ping-pong entre los dispositivos.
Cuando ping-ponged con 1 byte la latencia promedio era 22.6000 msec cuando muy cerca y 22.6087 msec cuando en la otra esquina de la habitación.
Cuando ping-ponged con 1024 bytes de latencia promedio fue de 40.3173 ms cuando muy cerca y aún más pequeña, 32.3138 ms, cuando en la otra esquina de la habitación.
Después de todo, de hecho, la latencia no lleva ninguna información sobre la distancia !

¡Gracias!

Puede medir la distancia con sonido .

La única manera factible de hacerlo que puedo pensar es con NFC. Para utilizar Bluetooth o Wi-Fi que tendría que hacerlo a través de la fuerza de la señal, pero cada transmisor es diferente para que no sería confiable en absoluto.

La latencia es bastante inútil ya que las ondas de radio viajan a la velocidad de la luz y la diferencia de tiempo entre viajar una pulgada y una milla es esencialmente cero. Para medir esa diferencia necesitarías una resolución mucho mayor que la que tienes en un teléfono.

Usted no está especificando el objetivo de esta detección de distancia, pero si pudiera agregar algunos requisitos adicionales a eso (es decir, la orientación del teléfono y la luz del flash), un enfoque totalmente diferente podría probablemente ser utilizado.

Si ambos dispositivos están orientados de manera que ambas cámaras se enfrenten, la luz del flash podría utilizarse para validar el teléfono y la distancia correctos. El tamaño de la mancha blanca generada en la imagen de la cámara disminuye rápidamente con la distancia y una secuencia de flash específica podría diferenciar entre la luz del flash del otro teléfono y otras fuentes de luz.

Esto podría requerir algunos ajustes para trabajar al aire libre, ya que para la misma distancia el tamaño del punto será mucho menor …

Saludos.

He mirado en el bluetooth que coloca y istn "absolutamente tan fácil como detectando la fuerza de la señal. Para obtener resultados realmente precisos también es necesario tener en cuenta los tipos de teléfono de su uso, el tipo de batería y la condición de la batería. También hay que tener en cuenta el ambiente y cómo puede afectar la intensidad de la señal, y también los obstáculos que pueden interferir con la señal, como personas, paredes, tablas, etc.

Para determinar la distancia también necesitará utilizar técnicas de triangulación para determinar la posición de un móvil. También puede configurar un número de transmisores en su entorno y medir en contra de cada uno. Conociendo las posiciones de estos transmisores, puede determinar la posición del teléfono.

Sin embargo, las intensidades de la señal varían y usted tendrá que hacer una gran cantidad de calibración. Hay una serie de artículos científicos que dan una idea de los algoritmos necesarios. También hay un par de empresas que ofrecen esto como un servicio, utilizado en centros comerciales, museos, etc

Dicho esto, si usted puede obtener la fuerza de la señal, entonces usted debe ser capaz de elaborar un resultado básico cerca o lejos, simplemente no será totalmente precisa, y en este caso, todavía creo que tener un número de transmisores todavía ayudaría a un mucho.

Papel, algunas de las trampas PDF (descargar), otro documento

Hay montones de papeles que he leído del posicionamiento del googling del bluetooth que le dará algunos indicadores.

  • WiFi Direct (Android 4.0) con múltiples dispositivos (3+)
  • Comunicación de clientes / pares con wifi-direct en la plataforma Android
  • Android - crear grupo por wifi p2p directo para varios dispositivos
  • ¿Podemos conectar más de 10 dispositivos con wi-fi hot-spot en Android
  • WifiP2pManager devolver estado BUSY en CreateGroup
  • ¿Cómo puedo transferir archivos entre dispositivos Android mediante Wi-Fi Direct?
  • El descubrimiento del servicio P2P Wifi funciona intermitentemente
  • ¿Puedo cambiar el propietario del grupo en un grupo persistente en Wi-Fi Direct?
  • ¿Cómo puedo compartir la pantalla con otra base de dispositivo en conexión WiFi directa
  • ¿Es posible eliminar los grupos Wifi Direct de Android programados?
  • ¿Cómo hacer un groupOwner de dispositivo en WifiDirect?
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.