Dekoduję zdania NMEA GPRMC z urządzenia GPS. Format pola daty to ddmmyy. Zatem 191194 to 19 listopada 1994. To uniemożliwia przedstawienie lat dłuższych niż 1999. Czy specyfikacja został poprawiony, aby obejść ten problem?

Odpowiedź

Te wiadomości odpowiadają starym NMEA 0183 . Która bardziej niż zmieniona została zastąpiona przez NMEA 2000 , która jest bardzo różna i nie jest komunikacją szeregową ASCII, jest w zasadzie zupełnie inną bestią. Jednak NMEA 0183 jest nadal używany i obsługiwany przez wiele urządzeń. A dwucyfrowy rok po prostu się zmienia. Dlatego rok 2000 jest reprezentowany jako 00, a 2018 jako 18. Oto przykład fragmentu Wyjście NMEA nagrane przeze mnie kilka lat temu:

$SDMTW,8.8,C*34 $SDVHW,,,,,0.00,N,0.00,K*5B $GPRMC,190430,A,4812.3038,S,07330.7690,W,3.7,3.8,090210,13.7,E,D*26 $GPRMB,A,,,,,,,,,,,,A,D*0E $GPGGA,190430,4812.3038,S,07330.7690,W,2,06,2.5,4.9,M,12.4,M,,*42 $GPGLL,4812.3038,S,07330.7690,W,190430,A,D*4A 

Możesz to zobaczyć sygnatura czasowa to 090210, czyli rzeczywiście 9 lutego 2010 r.

Na szczęście dane nie są niejednoznaczne, ponieważ w 1910 r. nie było ani GPS, ani NMEA. Pierwszym protokołem NMEA był NMEA 0180 z opcją „ 80 „w” 0180 „oznacza rok 1980 ( 3 ), więc możesz mieć pewność, że każda wartość poniżej 80 odpowiada obecnemu stuleciu. Problemy zaczną się w 2080 roku, ale na szczęście jest to jeszcze długa droga.

Odpowiedź

Ponieważ tylko GPS rozpoczęte w 1978 roku , prawdopodobnie można założyć, że w tym stuleciu jest jakakolwiek data mniejsza niż 78 lat.

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *