NMEA0183
Den aktuelle version af siden er endnu ikke blevet gennemgået af erfarne bidragydere og kan afvige væsentligt fra den
version , der blev gennemgået den 29. juni 2015; verifikation kræver
21 redigeringer .
NMEA 0183 [1] (fra " National Marine Electronics Association ") er en standard, der definerer en tekstbaseret protokol til kommunikation af marine (normalt navigations) udstyr (eller udstyr, der bruges på tog) med hinanden. Det blev især populært på grund af udbredelsen af GPS-modtagere ved hjælp af denne standard.
Generel visning af strenge i NMEA 0183
- symbolet "$" eller "!" (hex 24 eller hex 21)
- Meddelelses-id på 5 bogstaver. De første to bogstaver er identifikatoren for meddelelseskilden, de næste tre bogstaver er identifikatoren for meddelelsesformatet i henhold til NMEA 0183-protokollen for en bestemt version.
- en liste over data (bogstaver, tal og prikker) adskilt af kommaer. Hvis der mangler data i strengen, sættes kommaer stadig (f.eks. ",,"). Nogle felter i slutningen af linjen mangler muligvis helt.
- symbol "*".
- otte-bit XOR sum af alle tegn (inklusive "," og "^") i strengen mellem "$" og "*" konverteret til to store ASCII-tegn til hexadecimal byte-repræsentation (0-9, A-F) .
- <CR><LF> (hex 0D, hex 0A).
Maksimal meddelelseslængde er begrænset til 82 tegn (NMEA 0183 rev 3.0)
Standarden beskriver mere end 250 NMEA-sekvensidentifikatorer. Standarden specificerer baudhastigheder på 4800 baud . (For baud-hastigheder på 38400 og derover er der en udvidet NMEA-0183-HS-standard).
Standarden giver dig mulighed for at tilføje dine egne sekvensidentifikatorer, som ofte bruges af producenter til at formidle yderligere information om enhedens drift.
NMEA-syntaks
Beskeder starter med en overskrift. Overskriften er opdelt i to dele: ID og type.
ID - kilde-id (satellitsystem)
ID
|
satellit system
|
GP
|
GPS
|
GL
|
GLONASS
|
GA
|
Galileo
|
BD
|
beidou
|
GB
|
beidou
|
Standarden definerer ID'er, der begynder med tegnet P, som ID'er, der skal kodes efter GNSS-modtagerproducentens skøn.
RMC-streng (specielt eksempel)
$GPRMC,hhmmss.sss,A,GGMM.MM,P,gggmm.mm,J,vv,bb,ddmmyy,xx,n,m*hh<CR><LF>
Felter betyder:
- "GP" - kildeidentifikator; i det givne eksempel er dette GPS, "GL" - GLONASS , "GA" - Galileo , "GN" - GLONASS + GPS osv.
- "RMC" - "Anbefalet minimumssætning C"
- "hhmmss.sss" er tidspunktet for fastsættelse af placeringen i henhold til UTC : "hh" - timer, "mm" - minutter, "ss.sss" - sekunder. Længden af brøkdelen af sekunder varierer. Indledende nuller er ikke udeladt.
- "A" - status: "A" - data er pålidelige, "V" - ugyldige.
- "GGMM.MM" er breddegraden. 2 cifre af grader ("GG"), 2 cifre af hele minutter, et punktum og brøkdele af minutter af variabel længde. Indledende nuller er ikke udeladt.
- "P" - "N" for nordlig bredde eller "S" for sydlig bredde.
- "ggmm.mm" er længdegraden. 3 cifre af grader ("ggg"), 2 cifre af hele minutter, et punktum og en brøkdel af minutter af variabel længde. Indledende nuller er ikke udeladt.
- "J" - "E" for øst eller "W" for vestlig længde.
- "vv" er den vandrette komponent af kørehastigheden i knob . Flydende kommanummer. Heltals- og brøkdele af variabel længde.
- "bb" - jordvinkel (hastighedsretning) i grader . Flydende kommanummer. Heltals- og brøkdele af variabel længde. En værdi lig med 0 svarer til at bevæge sig nordpå , 90- øst , 180- syd , 270- vest .
- "ddmmyy" - dato : dag i måneden, måned, sidste 2 cifre i året (førende nuller er påkrævet).
- "xx" er den magnetiske deklination i grader (mangler ofte), beregnet ud fra en model. Flydende kommanummer. Heltals- og brøkdele af variabel længde.
- "n" - retningen af den magnetiske deklination: for at opnå den magnetiske kurs skal den magnetiske deklination være "E" - subtraher, "W" - læg til den sande kurs.
- "m" - tilstandsindikator: "A" - autonom, "D" - differential, "E" - tilnærmelse , "N" - upålidelige data (mangler ofte, dette felt inklusive kommaet mangler i ældre versioner af NMEA).
- "hh" - kontrolsum .
- <CR> - byte er 0x0D.
- <LF> - byte er 0x0A.
Eksempler på RMC-strenge
Eksempel 1
$GPRMC,125504.049,A,5542.2389,N,03741.6063,E,0.06,25.82,200906,,,*17
Felter betyder:
- 12 timer 55 minutter 4.049 sekunder UTC
- "A" - pålidelig
- breddegrad 55° 42.2389' nord
- længdegrad 37° 41.6063' øst
- hastighed 0,06 knob
- kurs 25,82 grader
- 20. september (20)06
- magnetisk deklination ikke specificeret
- magnetisk deklinationsretning ikke angivet
- ingen tilstandsindikator
- kontrolsum 0x17
Eksempel 2
$GPRMC,,V,,,,,,,080907,9.6,E,N*31
Felter betyder:
- "V" - upålidelig
- 8. september (20)07
- magnetisk deklination øst, 9,6°
- "N" - ugyldige data
- kontrolsum 0x31
Alle andre felter mangler (intet signal fra satellitter).
Eksempel på modtager
Garmin eTrex Pocket Commercial Receiver understøtter udveksling af følgende strenge:
- NMEA 0183 version 3.0:
- GPGGA - sidste positionsdata
- GPGLL - koordinater, breddegrad/længdegrad
- GPGSA - DOP (GPS) og aktive satellitter
- GPGSV - observerede satellitter
- GPWPL - Indstillinger for sætpunkt
- GPBOD - azimut af et punkt i forhold til et andet
- GPRMB - anbefalet minimum navigationsdata for at nå et givet punkt
- GPRMC - Anbefalet minimum navigationsdata (se ovenfor)
- GPRTE - Ruter
- HCHDG - data fra kompasset
- Garmins egne ( proprietære ) strenge [2] :
- PGRME - Målingsfejlsestimation
- PGRMM - kortdata
- PGRMZ - Højde
- PSLIB - beacon modtagelse kontrol
Noter
- ↑ National Marine Electronics Association - NMEA . www.nmea.org . Hentet: 29. juni 2022. (ubestemt)
- ↑ http://www8.garmin.com/support/pdf/NMEA_0183.pdf Arkiveret 27. september 2007 på Wayback Machine
Links