Sto decodificando NMEA GPRMC da un dispositivo GPS. Il formato del campo data è ddmmyy
. Quindi 191194
è il 19 novembre 1994. Ciò rende impossibile rappresentare anni maggiori del 1999. Ha la specifica è stato modificato per aggirare questo problema?
Risposta
Questi messaggi corrispondono al vecchio specifica NMEA 0183 . Più che modificata è stata sostituita da NMEA 2000 , che è molto diversa e non è una comunicazione seriale ASCII, è fondamentalmente una bestia completamente diversa. Tuttavia NMEA 0183 è ancora in uso e supportato da molti dispositivi. E lanno a due cifre è appena passato. Pertanto, lanno 2000 è rappresentato come 00 e 2018 come 18. Ecco un esempio di un pezzo di Output NMEA registrato da me alcuni anni fa:
$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
Puoi vederlo il timestamp è 090210, che era effettivamente il 9 febbraio 2010.
Per fortuna, non cè ambiguità nei dati perché non cerano né GPS né NMEA nel 1910. Il primo protocollo NMEA era NMEA 0180, con il ” 80 “in” 0180 “che significa 1980 ( 3 ), quindi puoi essere certo che qualsiasi valore inferiore a 80 corrisponde a questo secolo. I problemi inizieranno nel 2080, ma fortunatamente è ancora molto da fare.
Risposta
Poiché solo GPS iniziato nel 1978 , puoi presumere che qualsiasi data inferiore a 78 sia in questo secolo.