2010-11-26 22 views
19

Me pregunto: ¿aparte de la ubicación del GPS, hay alguna forma de encontrar si dos teléfonos se encuentran a cierta distancia el uno del otro? Por ejemplo, si un teléfono está a menos de 3 pies de otro, como el GPS no es tan preciso.Distancia entre dos teléfonos Android

Estoy desarrollando un juego interactivo multijugador para mi proyecto de último año en la plataforma Android y requeriría que un jugador esté a 3 pies o menos de otro jugador.

Cualquier cosa en absoluto es de lo más útil, pero al mirar alrededor parecería que no es realmente posible. La mayoría de los datos telefónicos se pueden compartir y usaré los conectores bluetooth y multicast.

Muchas gracias por su tiempo.


Gracias a todos por tan lejos por sus respuestas. Todavía estoy investigando esto y lo actualizaré cuando encuentre algo un poco más fácil de hacer; pero hasta ahora parece que usar el valor RSSI de Bluetooth es el camino a seguir.

+1

+1 para pregunta interesante. Pero tengo curiosidad, ¿el GPS es lo suficientemente avanzado para ser tan preciso? (al menos en dispositivos droides de todos modos). – Jimmy

+0

No, no es tan exacto como yo sé. De 3 a 5 pies tal vez al aire libre. también la precisión GPS es variable, por lo que no sería lo suficientemente confiable. – Keith

+0

En primer lugar, no quiero responder a mi propia pregunta porque la solución que elijo no logra exactamente mi objetivo. Decidí dejar un comentario, solo para afirmar que reviso esta pregunta, pero hasta ahora no hay una solución definitiva. – Keith

Respuesta

3

No, los dispositivos Android no contienen tales características. Lo mejor que puedes hacer es medir la intensidad de la señal del bluetooth. No le dará automáticamente una respuesta precisa, pero quizás pueda crear primero una línea de base en su aplicación. Es decir, haga clic en un botón cuando los dispositivos Android que le interesan están a aproximadamente 1 metro uno del otro.

Véase la siguiente pregunta: Android 2.1: How do I poll the RSSI value of an existing Bluetooth connection?

+0

Gracias por su respuesta – Keith

0

Podría usted no tiene un dispositivo jugar un cierto audio y luego el otro calcular la demora en la audiencia que el audio? En su defecto, vibración y acelerómetro con el mismo tipo de principio, pero buscar la fuerza, sobre la base de algunas líneas de base conocidas.

+0

Usar el audio es la única solución que he encontrado. Reproduciré una frecuencia en un dispositivo mientras que el otro dispositivo está utilizando un método de cruce por cero (que aún requiere un poco de refinación) para monitorear los datos del micorfono en tiempo real. Si lo hago funcionar correctamente, publicaré una respuesta completa a mi pregunta. – Keith

1

También tengo la misma necesidad, y de hecho, el GPS no se puede utilizar con tanta precisión. Mi solución es más práctica y menos forma de cálculo. En el momento del comienzo del juego, puede "calibrar" los dispositivos con los que desea interactuar.

Por ejemplo, junte los dos dispositivos Android y presione alguna herramienta de calibración al mismo tiempo. Entonces, considerará ese punto en el espacio la coordenada (0,0,0) para ambos dispositivos.

Usando el Acelerómetro y el Giroscopio, básicamente, y tal vez otros sensores, puede hacer el truco. Espero que ayude, porque es la solución que estoy a punto de implementar en este momento. Voy a echar un vistazo a las cosas de RSSI Bluetooth.

+0

¿Cómo fue esto para ti Pedro? ¿Usaste un enfoque Dead Reckoning? – Keith

Cuestiones relacionadas