Correcciones DGPS en Android

Estoy desarrollando un proyecto que pretende utilizar las capacidades de GPS de un teléfono Android y una estación cercana para calcular el posicionamiento a un grado mucho más preciso (cm), utilizando la tecnología RTPS DGPS.

Hasta ahora, no he podido ver a nadie diciendo que realmente logró realizar una tarea similar (aparte de @ GPSmaster, que no explica cómo ), y el APK no parece ofrecer ninguna información del chip de GPS Aparte de la ubicación y las actualizaciones de mensajes NMEA. Necesito, si es posible, pseudo-gamas y fases portadoras.

Me preguntaba si:

  • Sería posible buscar ganchos de nivel inferior en mi teléfono usando código nativo, u otro nivel más bajo snooping;
  • Sería posible enviar correcciones RTCM al chip GPS presente en uno de estos dispositivos;

¿Algunas ideas?

No, no es práctico obtener un acceso de nivel inferior al dispositivo GPS mediante una aplicación de Android. Esto tiene varias razones:

  • La aplicación no tiene ningún otro medio de acceso al dispositivo GPS como a través de la API basada en Java. El código nativo está prohibido usar la mayoría de los dispositivos y normalmente necesita un contenedor Java para túnel a través de la caja de pruebas para dispositivos sensores de Android. Esto constituye el principal concepto de seguridad.

  • Si el código nativo tendría acceso al dispositivo GPS en un nivel inferior, tendría que hacer frente a varios protocolos de fabricantes diferentes ahora no abstraídos por la API. Las mejores posibilidades son obtener acceso a códigos NMEA personalizados, los cuales pueden tener restricciones dependientes del dispositivo.

  • Incluso si fuera posible un acceso de nivel inferior, se pierde la fusión integrada de otras fuentes de localización como WLAN y portadora de telefonía móvil, que se supone se fusionan en código nativo por debajo de la API de Java pero por encima del protocolo NMEA.

Generalmente hablando DGPS es una técnica que mejora la exactitud de la posición real mediante la cancelación de la mayoría de los efectos atmosféricos en la señal GPS. En una medición GPS típica directa hay un error aleatorio en los rangos calculados para los satélites debido a los efectos atmosféricos. Esta es la razón por la que un receptor GPS que se queda recogiendo datos en una ubicación fija parecerá vagar con una elipse de error. Para dos estaciones receptoras en la misma área, los efectos atmosféricos son casi idénticos y vagarán en paralelo dentro de sus elipses de error dimensionadas y orientadas de forma similar. Si uno de los dos receptores se encuentra en un lugar conocido, entonces las diferencias en sus ubicaciones GPS aparentes se pueden tomar y trazar a partir de la ubicación real de la estación conocida para encontrar la localización verdadera de la estación desconocida.

De regreso en el día (circa 1992) cuando tuvimos que realizar DGPS por "post-procesamiento" usamos para tomar los datos NEMA crudos recogidos en las dos estaciones coinciden con los tiempos, calcular el vector base y aplicarlo al punto conocido para encontrar El punto desconocido. Creo que los datos NEMA que estábamos usando sólo se registró a los 10 s más cercano. La matemática no es tan difícil.

Sospecho que los mensajes del GPS de NEMA [ http://developer.android.com/reference/android/location/GpsStatus.NmeaListener.html ] de una tableta en un punto sabido (con una opinión clara del cielo) podrían probablemente ser enviados sobre un Internet (También con una vista clara del cielo), lo que podría calcular la diferencia y lograr una ubicación relativa de un metro inferior a una distancia de pocos kilómetros, incluso si se ignoraban los tiempos de tránsito de Internet. Esta técnica probablemente funcionaría incluso si la tableta y el teléfono inteligente estaban aplicando los ajustes DGPS de difusión.

Con el andvent de Android 7.1, los datos en bruto de los chips de GPS estarán disponibles para los desarrolladores. ( http://gpsworld.com/google-to-provide-raw-gnss-measurements/ )

Otros parecen haber hecho algo similar a lo que usted desea lograr ( http://gpsworld.com/innovation-precise-positioning-using-raw-gps-measurements-from-android-smartphones/ )

Umm. Su androide probablemente tiene una antena GPS tan mierda que lograr la exactitud cm es imposible. Tal vez si usted promedio de la posición de días .. por lo general DGPS apoyo no se publica y no muchos chipsets lo apoyan. La última vez que vi DGPS implementado implicó hackear el firmware del chip de GPS actual para agregar soporte. Incluso obtener A-GPS para trabajar en un chipset aleatorio es dudoso ya que podría no apoyar una forma documentada de alimentar los datos de asistencia.

Puede utilizar las correcciones DGPS en Europa a través de una aplicación personalizada para que SISnet reciba señales de corrección de los satélites de aumento EGNOS ( http://egnos-portal.gsa.europa.eu/news/egnos-gets-invite-your-smartphone-11 ). Sin embargo, necesita una suscripción (que aún no está abierta al público) a SISnet para obtener el nombre de usuario y la contraseña para la conexión a sus servidores. Hay algunos de SDK publicado que puede encontrar útil. Sólo recuerde que se limita a las señales C / A (pseudoranges) y no puede obtener datos de fase (L1 / L2) de los chips baratos dentro de smartphones.You necesitaría un receptor de precisión GNSS como Trimble BD910 ( http: // http://Www.trimble.com/gnss-inertial/bd910.aspx?dtID=overview ) para poder acceder a la señal de fase portadora L1 para GPS & GLONASS. Sin embargo, hay chips más baratos que soportan SBAS, pero ninguno está instalado de forma nativa en los teléfonos.

Debe estar relacionado con la implementación del hardware, en lugar de la implementación del software.

En la realidad, el GPS suele ir acompañado de Wi-Fi o 3G para ayudar en la búsqueda de la posición actual.

RTCM corrección de RTCM se puede enviar a su teléfono androide usando NTRIP 'provider' . Entonces usted necesita aplicarlo a su GPS crudo en su androide.

  • Comprobación del estado del GPS con Google Play Services
  • Cómo crear mapas que detectan la ubicación automática en React-Native
  • ¿Cómo puedo activar o desactivar el GPS mediante programación en Android?
  • ¿Cómo enviar mi ubicación (longitud y latitud) como una respuesta sms a otra persona?
  • Cambiar el modo de ubicación a alta precisión mediante programación Android
  • ADB Shell obtiene la ubicación GPS en vivo (no la última ubicación conocida)
  • Android Fake GPS aplicaciones de ubicación ya no funcionan
  • ¿Cómo puedo encontrar usuarios de aplicaciones cercanos en android?
  • Rotar un ImageView como una brújula (con el "polo norte" puesto en otro lugar)
  • GPS de seguimiento de Android y WakeLock
  • Utilizar el cuadro de diálogo de configuración predeterminada de Android en ON de mi aplicación
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.