NMEA 0183

De la Wikipedia, enciclopedia liberă.
Salt la navigare Salt la căutare

NMEA 0183 este un standard utilizat în principal în domeniul marin și în comunicarea datelor prin satelit GPS . Entitatea care dezvoltă și gestionează protocolul este National Marine Electronics Association .

Structura generală a propozițiilor

Toate propozițiile au o structură de tipul:

 $ PREFIX, datum1, datum2 ... datumN-1, datumN * CHECKSUM

Propoziția începe întotdeauna cu $ și se termină întotdeauna cu CR LF . Fiecare propoziție are maximum 80 de caractere.

Prefix

Prefixul este prima parte a șirului, care este utilizată pentru a specifica ce tip este vorbitorul , de exemplu, pilot automat, dispozitiv GPS, control viteză, control direcție etc.

În cazul utilizării unui dispozitiv GPS , prefixul este GP urmat de tipul propoziției. Toate frazele sunt identificate cu 3 litere (ex: RMC , RMB etc.). Un dispozitiv GLONASS folosește prefixul GL , în timp ce un receptor GNSS folosește prefixul GN

Suma de control

Suma de verificare este calculată, excluzând începutul caracterului șir și caracterul * . Algoritmul utilizat este exclusiv SAU 8 biți , compunând rezultatul în 2 litere sau cifre. Cele mai semnificative dintre cele două vor fi trimise mai întâi.

Exemplu de funcție pentru calcularea sumei de control a unui șir NMEA în Python: [1]

 def Checksum_NMEA ( input_string ):
    # Calculul sumei de control în format NMEA - atenție, pentru simplitate, excepțiile nu sunt gestionate
    payload_start = stringa_input. find ( '$' ) + 1 # găsește primul caracter după $
    payload_end = stringa_input. găsiți ( '*' ) # găsiți caracterul *
    payload = stringa_input [payload_start: payload_end] # date referite la XOR
    ck = 0
    pentru ch în sarcină utilă : # ciclu sumă de control
        ck = ck ^ ord ( ch ) # XOR
    str_ck = ' % 02X ' % ck # transformă valoarea calculată într-un șir de 2 caractere
    return ( str_ck )

Propoziții

Frazele sunt mai mult de 50 în total, majoritatea deținând fiecare dispozitiv. Frazele standard și cele mai frecvente ale protocolului sunt:

  • $ GPRMC
  • $ GPRMB
  • $ GPGGA
  • $ GPGSA
  • $ GPGLL
  • $ GPGSV
  • $ GPRTE

Notă

linkuri externe