versión corta:¿Sincronizar dispositivos Android a través del tiempo GPS?
Problema: Necesito varios dispositivos Android para hacer algo al mismo tiempo exacto (dentro de aproximadamente 100 milisegundos). Por ejemplo, quiero que todos los dispositivos reproduzcan un sonido determinado en un punto previamente determinado.
Pregunta: ¿Puedo usar la hora del GPS para asegurarme de que los relojes del dispositivo estén sincronizados?
versión más larga:
Varias personas que tengan dispositivos Android están en el mismo lugar al aire libre (para algunos eventos deportivos específica). Todos los dispositivos deben señalar ciertos eventos al mismo tiempo. (A qué hora se determinará de antemano y no es importante que lo hagan exactamente en ese momento, siempre que lo hagan al mismo tiempo). FWIW: esos eventos ayudarán a las personas a comenzar su actividad deportiva al mismo tiempo.
Éstos son supuestos que puedo hacer:
- Puede o no puede haber una cobertura celular. (Está al aire libre y puede estar lejos de las áreas urbanas)
- Los dispositivos pueden o no estar conectados a Internet. (Algunas personas pueden no tener un plan de datos)
- Los dispositivos pueden comunicarse entre sí. Si los dispositivos no están conectados a Internet, se conectarán a través de wifi (aunque es posible que el wifi no tenga una puerta de enlace a Internet).
- Los dispositivos están fuera (y no dentro de edificios). (Eso es bueno, significa que todos los dispositivos pueden obtener una corrección de GPS)
- Los dispositivos están físicamente cerca uno del otro (es decir, dentro de 300 m2). (No estoy seguro si eso es importante)
No puedo usar el reloj interno para saber cuándo reproducir eventos: los usuarios pueden cambiar manualmente la hora e incluso si un dispositivo está configurado para obtener el tiempo de una red celular, esa red podría no proporcionar el momento exacto. Es posible que se reserven dos dispositivos en diferentes redes y, por lo tanto, es posible que su tiempo no se sincronice muy bien.
Al iniciar la aplicación, cada dispositivo podría solicitar una solución de GPS y guardar la diferencia entre la hora del GPS y su reloj interno. Ahora el maestro podría anunciar eventos basados en este tiempo de GPS (usando su reloj interno y restando el desplazamiento que guardó anteriormente).
¿Será esto suficientemente preciso y confiable?
Muchas gracias de antemano, Andreas Leitner
puede utilizar la aplicación GPS Time del mercado https://market.android.com/details?id=net.sourcewalker.gpstime – andreasg
Esa es una gran idea. Puedo usar esta aplicación para probar si funciona. Eventualmente, me gustaría construir esta funcionalidad en mi aplicación. No quiero pedirles a mis usuarios que instalen otra aplicación (aunque no la necesiten) y otra aún más problemática que requiera acceso root. – user1057534
Hola, estoy persiguiendo lo mismo. ¿Alguna vez lograste esto? –