6 votos

gpspipe devuelve la fecha y hora correcta, pero la fecha equivocada (21 dic 1995)

Estoy teniendo este extraño problema de que mi gps tubería está volviendo a la ubicación correcta y el tiempo, pero la fecha equivocada (incluyendo el año).

Para referencia, en el momento de la escritura es de 06 de agosto de 2015, 09:27 UTC).

Yo no creo que sea un problema de hardware, como en otro dispositivo, el GPS siempre devuelve la fecha/hora. Sin embargo, en un dispositivo que la mayoría de las veces se devuelve 21 de diciembre de 1995, 09:20 UTC), por lo que se obtiene la fecha equivocada.

Como se puede ver en la salida a continuación, informa de que el año de 1995. El tiempo está bien (09:20)

gpspipe -n 10 -r 

{"class":"VERSION","release":"3.4","rev":"3.4","proto_major":3,"proto_minor":6}
{"class":"DEVICES","devices":[{"class":"DEVICE","path":"/dev/gps0","activated":"1970-01-01T00:00:20.040Z","flags":1,"driver":"SiRF binary","native":1,"bps":4800,"parity":"N","stopbits":1,"cycle":1.00}]}
{"class":"WATCH","enable":true,"json":false,"nmea":true,"raw":0,"scaled":false,"timing":false}
$GPGSV,3,1,09,06,18,040,32,12,49,079,30,24,17,144,35,02,34,078,27*73
$GPGSV,3,2,09,14,32,240,29,29,51,202,24,31,34,306,18,25,82,339,00*7C
$GPGSV,3,3,09,125,28,205,30*78
$GPZDA,092014.00,21,12,1995,00,00*6C
$GPGGA,092014,5101.2493,N,00428.9160,E,1,07,0.80,15.88,M,47.128,M,,*76
$GPRMC,092014,A,5101.2493,N,00428.9160,E,0.0000,0.000,211295,,*26
$GPGSA,A,3,29,12,02,31,14,06,24,,,,,,1.9,0.8,1.6*38

Un par de reinicios antes de que este se ha vuelto este

gpspipe -n 10 -r 

{"class":"VERSION","release":"3.4","rev":"3.4","proto_major":3,"proto_minor":6}
{"class":"DEVICES","devices":[{"class":"DEVICE","path":"/dev/gps0","activated":"2015-08-06T09:18:29.903Z","flags":1,"driver":"SiRF binary","native":1,"bps":4800,"parity":"N","stopbits":1,"cycle":1.00}]}
{"class":"WATCH","enable":true,"json":false,"nmea":true,"raw":0,"scaled":false,"timing":false}
$GPZDA,091834.00,06,08,2015,00,00*69
$GPGGA,091834,5101.2482,N,00428.9175,E,1,07,1.20,20.04,M,47.128,M,,*72
$GPRMC,091834,A,5101.2482,N,00428.9175,E,0.0000,0.000,060815,,*2D
$GPGSA,A,3,25,29,12,02,14,06,24,,,,,,2.2,1.2,1.9*31
$GPGBS,091834,13.04,M,13.57,M,42.74,M*0A
$GPGSV,3,1,09,02,34,079,33,06,19,040,35,12,49,078,34,24,18,144,34*7A
$GPGSV,3,2,09,25,82,336,24,14,33,240,26,29,50,202,20,31,33,306,02*72

Como se puede ver aquí, la fecha es correcta (06 de Agosto de 2015).

En ambos equipos de la DSGP proceso se está iniciando como este:

/usr/sbin/gpsd -bn -F /var/run/gpsd.sock -P /var/run/gpsd.pid /dev/gps0

¿Qué podría causar que el GPS creo que es de 1995 ? La Latitud/Longitud siempre es la correcta, por lo que es capaz de comunicarse correctamente con los satélites.

5voto

SpliFF Puntos 214

Este parece ser un conocido sistema/software de error:

http://forums.gpsreview.net/discussion/29425/garmin-gps-iii-plus-date-problem

http://continuouswave.com/ubb/Forum6/HTML/002815.html

http://www.colorado.edu/geography/gcraft/notes/gps/gpseow.htm

y de la dsgp manual http://www.catb.org/gpsd/gpsd.html:

Hay dos circunstancias en las que la dsgp se basa en la host-reloj del sistema:

En el GPS de difusión de la señal de GPS, el tiempo se representa mediante una semana número de rollos de más después de 2^10 o 2^13 semanas (alrededor de 19.6 años, o 157 años), dependiendo de la nave espacial. Los receptores están obligados a eliminar la ambigüedad de este para la fecha correcta, pero puede tener dificultad debido a no saber el tiempo a la mitad de este intervalo de tiempo, o puede tener errores. Los usuarios han informado de fechas incorrectas que parece ser debido a este problema. dsgp utiliza el tiempo de inicio del demonio detectar y compensar los rollovers mientras se está ejecutando, pero por lo demás informes de la fecha como es reportado por el receptor sin intentar corregirlo.

Si usted está usando un NMEA-sólo el GPS (que es, no se utiliza SiRF o Garmin o Zodiac modo binario), de la dsgp se basa en el reloj del sistema para indicarle el siglo actual. Si el reloj del sistema devuelve un valor no válido cerca de cero, y el GPS no emiten GPZDA, al inicio de su ciclo de actualización (que la mayoría de los consumidores de grado NMEA GPSes no), entonces la parte del siglo las fechas de la dsgp entrega puede ser malo. Además, cerca del siglo el volumen de negocios, en un rango de fechas tan amplio en cuestión de segundos, ya que la exactitud de su reloj del sistema puede ser denominado el siglo equivocado.

5voto

Manny Calavera Puntos 1793

Acabo de ir a través de la solución de este problema.
El post por AndreJ es precisa y ayudó a iniciar mi investigación de por qué el reloj del sistema estaba tan lejos.
En mi caso, me estoy conectando un receptor GPS para una Raspberry Pi 2 con Ubuntu 14.04. Raspberry Pi no tiene relojes de hardware y tan temprano en el proceso de arranque, antes de ntp puede ajustar el reloj, la fecha, la hora está cerca del comienzo de la época (el 1 de enero de 1970).

Esto confunde a la dsgp: "el 1 de enero 00:00:13 ubuntu dsgp[814]: dsgp:ERROR: el sistema de tiempo se ve falso, las fechas pueden no ser confiables."

La solución para mí es ejecutar "falsa hwclock' que almacena la fecha exacta/el tiempo en un archivo y, a continuación, ajusta el reloj del sistema de archivo que muy temprano en el proceso de arranque. Incluso si el equipo carece de un reloj de hardware con la batería y que se ha apagado por un tiempo, este ajuste de fecha/hora será lo suficientemente precisa para que el ser capaz de "eliminar la ambigüedad a la fecha correcta."

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X