NMEA0183(z " Národní asociace námořní elektroniky“) je standard, který definuje textový protokol pro vzájemnou komunikaci námořních (obvykle navigačních) zařízení (nebo zařízení používaných ve vlacích). Obzvláště populární se stal díky rozšíření GPS přijímačů využívajících tento standard.

Celkový pohled na struny v NMEA 0183

  • symbol "$" nebo "!" (hex 24 nebo hex 21)
  • 5písmenný identifikátor zprávy. První dvě písmena jsou identifikátorem zdroje zprávy, další tři písmena jsou identifikátorem formátu zprávy podle protokolu NMEA 0183 určité verze.
  • seznam údajů (písmena, čísla a tečky) oddělených čárkami. Pokud nějaká data chybí uvnitřřádky, čárky jsou stále vloženy (například ","). Některá pole na koncičáry nemusí být vůbec přítomny.
  • symbol "*".
  • osmibitový součet XOR všech znaků (včetně "," a "^") v řetězci mezi "$" a "*" převedený na dva znaky ASCII v velká písmena pro hexadecimální reprezentaci bytu (0-9, A-F).
  • (hex 0D, hex 0A).

Maximální délka zprávy je omezena na 82 znaků (NMEA 0183 rev 3.0)

Standard popisuje více než 250 sekvenčních identifikátorů NMEA. Norma specifikuje přenosovou rychlost 4800 baudů. (Pro přenosové rychlosti 38400 a vyšší existuje rozšířený standard NMEA-0183-HS).

Standard umožňuje přidávat vlastní identifikátory sekvencí, což výrobci často používají k přenosu dodatečné informace o provozu zařízení.

Řetězec RMC (zvláštní příklad)

$GPRMC,hhmmss.sss,A,GGMM.MM,P,gggmm.mm,J,v.v, b.b, ddmmyy, x.x, n,m*hh

Význam polí:

  • "GP" - identifikátor zdroje; v uvedeném příkladu je to GPS, "GL" - GLONASS, "GA" - Galileo, "GN" - GLONASS + GPS atd.
  • "RMC" - "Doporučená minimální věta C"
  • "hhmmss.sss" - čas určení polohy UTC: "hh" - hodiny, "mm" - minuty, "ss.sss" - sekundy. Délka zlomkové části sekund se liší. Úvodní nuly nejsou vynechány.
  • "A" - stav: "A" - data jsou platná, "V" - neplatná.
  • "GGMM.MM" - zeměpisná šířka. 2 číslice stupňů ("GG"), 2 číslice celých minut, tečka a zlomková část minuty různé délky. Úvodní nuly nejsou vynechány.
  • "P" - "N" pro severní šířku nebo "S" pro jižní šířku.
  • "ggmm.mm" - zeměpisná délka. 3 číslice stupňů ("ggg"), 2 číslice celých minut, tečka a zlomková část minut proměnné délky. Úvodní nuly nejsou vynechány.
  • "J" - "E" pro východ nebo "W" pro západ.
  • "v.v" - horizontální složka rychlosti nad zemí v uzlech. Číslo s plovoucí desetinnou čárkou. Celé a zlomkové části proměnné délky.
  • "b.b" - zemní úhel (směr rychlosti) ve stupních. Číslo s plovoucí desetinnou čárkou. Celé a zlomkové části proměnné délky. Hodnota 0 odpovídá pohybu na sever, 90 na východ, 180 na jih, 270 na západ.
  • "ddmmyy" - datum: den v měsíci, měsíc, poslední 2 číslice roku (počáteční nuly jsou povinné).
  • "x.x" je magnetická deklinace ve stupních (často chybí), vypočítaná z nějakého modelu. Číslo s plovoucí desetinnou čárkou. Celé a zlomkové části proměnné délky.
  • "n" - směr magnetické deklinace: pro získání magnetického kurzu musí být magnetická deklinace "E" - odečíst, "W" - přidat ke skutečnému kurzu.
  • "m" - indikátor režimu: "A" - autonomní, "D" - diferenciál, "E" - aproximace, "N" - nespolehlivé údaje (často chybí, ve starších verzích NMEA toto pole včetně čárky chybí).
  • "hh" - kontrolní součet.
  • - byte je 0x0D.
  • - byte je 0x0A.

Příklady řetězců RMC

Příklad 1

$GPRMC,125504,049,A,5542,2389,N,03741,6063,E,0,06,25,82,200906,*17

Význam polí:

  • 12 hodin 55 minut 4,049 sekund UTC
  • "Spolehlivý
  • zeměpisná šířka 55° 42,2389", sev
  • délka 37° 41,6063", vých
  • rychlost 0,06 uzlu

Popis protokolu NMEA. Implementace v přijímačích Garmin a GlobalSat

Úvod

National Marine Electronics Association (NMEA) vyvinula specifický protokol pro zachování kompatibility námořních navigačních zařízení různých výrobců. Tento protokol NMEA popisuje nejen data přijímaná z přijímačů GPS, ale také měření ze sonarů, radarů, elektronické kompasy, barometry a další navigační zařízení používaná na lodích.

Většina komunikačního rozhraní přenosná GPS přijímače jsou implementovány v souladu s touto specifikací. Většina navigačních programů, které poskytují podporu zobrazování dat v reálném čase a „rozumí“ protokolu NMEA. Tato data obsahují kompletní navigační měření GPS přijímače - polohu, rychlost a čas. Všechny zprávy NMEA se skládají ze sekvenční sady dat oddělených čárkami. Každá jednotlivá zpráva je nezávislá na ostatních a je zcela „kompletní“. Zpráva NMEA obsahuje hlavičku, sadu dat reprezentovanou znaky ASCII a pole "kontrolní součet" pro ověření platnosti přenášených informací.

Hlavička standardních zpráv NMEA se skládá z 5 znaků, z nichž první dva definují typ zprávy a zbývající tři - její název. Například všechny zprávy GPS NMEA mají předponu „GP“. Zprávy, které nejsou popsány ve specifikaci NMEA, ale jsou implementovány v přijímačích GPS v souladu s hlavní pravidla, mají předponu „P“ následované třemi znaky jedinečnými pro každou společnost. Například „nativní“ zprávy NMEA společnosti Garmin mají předponu „PGRM“, Magellan má předponu „PMGN“
Každá zpráva NMEA začíná "$", končí "n" ("line feed") a nesmí být delší než 80 znaků. Všechny údaje jsou uvedeny na jednom řádku a vzájemně odděleny čárkami. Informace jsou prezentovány jako text ASCII a nevyžadují speciální dekódování. Pokud se data nevejdou do přidělených 80 znaků, pak jsou „rozdělena“ do několika zpráv NMEA.

Tento formát umožňuje neomezovat přesnost a počet znaků v jednotlivých datových polích. Například zlomková část hodnoty souřadnice může být reprezentována 3 nebo 4 desetinnými místy, ale to by nemělo nijak ovlivnit operaci. software, který ze zprávy extrahuje požadovaná data podle čísla pole. Na konci každé zprávy NMEA je pole kontrolního součtu oddělené od dat "*". Volitelně jej lze použít pro kontrolu integrity a platnosti každé přijaté zprávy.

Protokol NMEA podporuje nejen odchozí, ale i příchozí zprávy, které lze například použít k aktualizaci nebo přidávání průjezdních bodů trasy. Tyto zprávy musí být in přísné dodržování s formátem NMEA, jinak je přijímač GPS jednoduše ignoruje. Je třeba poznamenat, že ne všechny navigační programy a modely přijímačů tento režim podporují, protože pro načítání bodů a tras používají proprietární protokoly výrobců - Garmin, Magellan atd.

Protokol NMEA prošel od svého vzniku několika úpravami souvisejícími s přidáním nových polí a zpráv. současná verze podporovaná většinou přijímačů je verze 2.3, ačkoli popis již byl zveřejněn nová verze 3.0. Kompletní specifikace zpráv NMEA není volně dostupná a nelze ji oficiálně stáhnout v elektronické podobě, její jednotlivé sekce, obecný popis Protokol NMEA a nejoblíbenější zprávy lze nalézt na internetu. Oficiální dokumentaci NMEA lze zakoupit na www.nmea.org.

seznam zpráv

Protokol NMEA popisuje velký seznam různých zpráv, z nichž lze rozlišit dvě desítky zpráv, které se aktivně používají v navigačních zařízeních. Pro velkou oblibu a jednoduchou prezentaci dat našel protokol NMEA uplatnění nejen v námořních zařízeních, ale také v geodetických, domácích a leteckých GPS přijímačích.

  • AAM - Příjezd na Waypoint
  • ALM - Almanach Data
  • APA - Data autopilota "A"
  • APB - Data autopilota "B"
  • BOD - Azimut k cíli
  • DTM - Použité datum
  • GGA – Fixed Solution Information
  • GLL – Údaje o zeměpisné šířce a délce
  • GSA – Obecné informace o satelitu
  • GSV - Podrobné informace o satelitu
  • MSK - Předání základnímu přijímači
  • MSS - Stav přijímače základny
  • RMA - Loran Doporučená datová sada
  • RMB – Doporučená sada dat navigace GPS
  • RMC – Doporučený minimální soubor dat GPS
  • RTE - Informace o směrování
  • VTG - Motion and Velocity Vector
  • WCV - Údaje o rychlosti poblíž trasového bodu
  • WPL - Data o bodu
  • XTC – Chyba sledování
  • XTE – Chyba při odjezdu naměřené trati
  • ZTG – čas UTC a zbývající čas do příjezdu do cíle
  • ZDA - Datum a čas.

Některé zprávy NMEA mohou obsahovat stejná datová pole nebo mohou obsahovat celá data jiných menších zpráv NMEA.

Obsahzprávy NMEA

GGA - pevné informace o řešení.
Nejoblíbenější a nejpoužívanější zpráva NMEA s informacemi o aktuálním pevném řešení - horizontální souřadnice, hodnota nadmořské výšky, počet používaných satelitů a typ řešení.

$GPGGA,123519,4807,038,N,01131,000,E,1,08,0,9,545,4,M,46,9,M,*47
kde:

  • GGA - Záhlaví
  • 123519 -UTC čas 12:35:19
  • 4807,038, N - zeměpisná šířka, 48 stupňů 7,038 minut severní šířky
  • 01131 000, E - zeměpisná délka, 11 stupňů 31 000 minut východně
  • 1 - typové řešení, Samostatné řešení
    • 0 - žádné řešení,
    • 1-samostatný,
    • 2-DGPS,
    • 3-PPS,
    • 4 - pevná RTK,
    • 5 - nepevné RTK,
    • 6 - použití těchto inerciálních soustav,
    • 7 - manuální režim,
    • 8 - režim simulace
  • 08 - počet použitých satelitů
  • 0,9 - geometrický faktor, HDOP
  • 545,4, M - nadmořská výška v metrech
  • 46,9, M - výška geoidu nad elipsoidem WGS 84
  • [prázdné pole] - čas, který uplynul od přijetí poslední opravy DGPS. Vyplněno, když je aktivován režim DGPS
  • [prázdné pole] - identifikační číslo základna. Vyplněno, když je aktivován režim DGPS.

GSA- obecná informace o satelitech.
Tato zpráva NMEA obsahuje seznam satelitů použitých při výpočtu polohy a hodnoty geometrických faktorů DOP, které určují přesnost výpočtu polohy. Parametry DOP jsou určeny geometrickým uspořádáním satelitů na obloze. Čím lépe jsou satelity „rozmístěny“ na obloze, tím nižší je DOP a tím lepší je přesnost polohy. Minimální hodnota PDOP (= 1) odpovídá situaci, kdy je jeden satelit přímo nad uživatelem a další 3 jsou rovnoměrně rozmístěny kolem na úrovni horizontu. Hodnota PDOP se vypočítá jako druhá odmocnina součtu druhých mocnin HDOP a VDOP.

$GPGSA,A,3,04,05,09,12,24,2,5,1,3,2,1*39
kde:

  • GSA – záhlaví
  • A - typ volby mezi 2D a 3D řešením, automatický (A-auto, M-manual)
  • 3 - typ řešení, 3D řešení (1 - žádné řešení, 2 - 2D řešení, 3 - 3D řešení)
  • 04,05… - PRN kódy používané při výpočtu satelitní polohy (12 polí)
  • 2,5 - prostorový geometrický faktor, PDOP
  • 1,3 - horizontální geometrický faktor, HDOP
  • 2.1 - vertikální geometrický faktor, VDOP

GSV - Podrobné informace o satelitu
Tato zpráva NMEA obsahuje podrobné informace o všech satelitech sledovaných navigátorem GPS. Na základě omezení na 80 znaků lze v rámci jedné zprávy NMEA přenášet data pouze pro 4 satelity. V souladu s tím jsou pro 12 satelitů vyžadovány 3 zprávy GSV.
Pole SNR (Signal to Noise Ration) obsahuje úrovně navigačních signálů přijímaných ze satelitů. Teoreticky se jeho hodnota může pohybovat od 0 do 99 a měří se v dB. Ve skutečnosti je úroveň signálu v rozsahu 25 ... 35 dB. Zde je vhodné poznamenat, že tento parametr není absolutní a nehodí se pro porovnávání citlivosti přijímačů různých modelů a výrobců. GPS navigátory mohou používat různé algoritmy pro výpočet úrovně přijímaného signálu, což vede k různým výsledkům při stejném stupni citlivosti přijímačů.
Pro každý viditelný satelit GPS je vysílán soubor informací, včetně síly signálu, nadmořské výšky a azimutu satelitu. Počet těchto „setů“ je určen celkovým počtem viditelných satelitů, jejichž hodnota je přenášena v samostatném poli.

$GPGSV,2,1,08,01,40,083,46,02,17,308,41,12,07,344,39,14,22,228,45*75
kde:

  • GSV - hlavička
  • 2 - počet GSV zpráv v paketu
  • 1 - číslo zprávy v dávce (od 1 do 3)
  • 08 - počet viditelných satelitů
  • 01 - číslo satelitu
  • 40 - elevační úhel, ve stupních
  • 083 - azimut ve stupních
  • 46 - SNR, úroveň signálu

RMC - doporučená minimální sada GPS data
Tato zpráva NMEA obsahuje celou sadu takzvaných „PVT“ dat. "PVT" je běžná zkratka pro "position, velocity, time" (pozice, rychlost, čas).

$GPRMC,123519,A,4807,038,N,01131,000,E,022,4,084,4,230394,003,1,W*6A

  • RMC - titul
  • 123419 - čas UTC, 12:34:59
  • A - stav (A - aktivní, V - ignorovat)
  • 4807.038,N - zeměpisná šířka, 48 stupňů 07.038 minut severní šířky
  • 01131.000,E - Zeměpisná délka, 11 stupňů 31.000 minut východně
  • 022.4 - Rychlost, v uzlech
  • 084.4 - Směr pohybu ve stupních
  • 230394 – Datum 23. března 1994
  • 003.1,W - Magnetické variace

GLL – údaje o zeměpisné šířce a délce

Zpráva NMEA s hodnotou souřadnic zeměpisné šířky a délky a časem, kdy bylo toto řešení vypočteno.

$GPGLL,4916,45,N,12311,12,W,225444,A,*31

  • GLL - hlavička
  • 4916,46,N - zeměpisná šířka, 49 stupňů 16,45 minut severní šířky
  • 12311,12 západní délky, 123 stupňů 11,12 minut západně
  • 225444 - Opravit čas v časovém měřítku UTC, 22:54:44

V OD - Azimut do cíle
Tato zpráva NMEA označuje směr k cíli v režimu navigace.

$GPBOD,045.,T,023.,M,DEST,START*01

  • BOD - hlavička
  • 045.,T - skutečný směr k bodu
  • 023.,M - magnetický směr do bodu
  • DEST - identifikační číslo koncový bod
  • START - identifikační číslo místa startu

$GPRMB,A,0,66,L,003,004,4917,24,N,12309,57,W,001,3,052,5,000,5,V*20

  • RMB - hlavička
  • A - Typ dat, (A - aktivní, V - ignorovat)
  • 0,66,L - odchylka od stopy. Parametr je definován v námořních mílích. (L-vlevo, R-vpravo)
  • 003 - identifikační číslo místa startu
  • 004 - identifikační číslo koncového bodu
  • 4917,24,N - koncový bod zeměpisné šířky, 49 stupňů 17,24 minut severní šířky
  • 12309,57,W - hodnota zeměpisné délky koncového bodu, 123 stupňů 09,57 minut západně
  • 001.3 - vzdálenost k bodu v námořních mílích
  • 052.5 - směr k bodu
  • 000,5 - rychlost, v uzlech
  • V - informace o příjezdu (A - příchod, V - bod ještě nedosažen)

RTE - Informace o směrování

Zpráva NMEA RTE uvádí trasové body na aktivní trase. Existují dva typy zpráv RTE. V prvním případě se zobrazí všechny průjezdní body. Ve druhém pouze seznam zbývajících bodů, které je třeba při pohybu po trase ještě navštívit. Vzhledem k tomu, že protokol NMEA má omezení, že délka zprávy nesmí přesáhnout 80 znaků, může se zpráva RTE skládat z několika řádků.

$GPRTE,2,1,c,0,W3IWI,DRIVWY,32CEDR,32-29,32BKLD,32-I95,32-US1,BW-32,BW-198*69

  • RTE - hlavička
  • 2 - celkový počet zpráv pro zobrazení úplného seznamu dat
  • 1 - číslo zprávy z obecného seznamu
  • c - typ zprávy RTE (c - úplný seznam trasové body, w - seznam trasových bodů, které je třeba ještě navštívit)
  • 0 - ID trasy
  • W3IWI,DRIVWY,.. - seznam průjezdních bodů

Funkce Garmin

Přijímače Garmin podporují většinu zpráv NMEA obsahujících GPS měření, souřadnice a čas – GGA, GLL, GSA, GSV, RMC. Stejně jako navigační zprávy - RMB, BOD

Pro zobrazení těchto zpráv je třeba v nastavení přijímače změnit rozhraní z „Garmin“ na „NMEA“ a případně nastavit požadovanou rychlost. Stejná rychlost musí být nastavena v navigačním programu v nastavení sériového portu, ke kterému je navigátor připojen.

Bohužel přijímače s USB portem nepodporují protokol NMEA a jeho nastavení je omezeno pouze na protokol Garmin.

Chcete-li zobrazit informace přicházející na sériový port počítače, můžete použít terminál program pro Windows nebo některý z navigačních programů, které tuto funkci podporují.

Níže je uveden seznam zpráv NMEA přijímače Garmin eMap, které jsou obsaženy ve stejné epoše.

$GPRMC,135412,A,5522,8973,N,03710,1401,E,0,0,0,0,190507,9,3,E,A*1F

$GPRMB,A,,A,A*0B

$GPGGA,135412,5522,8973,N,03710,1401,E,1,04,5,4,205,2,M,15,8,M,*4A

$GPGSA,A,3,08,13,23,25,5,7,5,4,1,0*3C

$GPGSV,3,1,11,02,15,267,00,03,11,085,45,04,05,236,00,08,39,233,00*77

$GPGSV,3,2,11,10,32,308,00,13,63,109,43,16,17,037,00,23,31,111,38*77

$GPGSV,3,3,11,24,09,343,00,25,66,077,44,27,69,229,00*46

$GPGLL,5522,8973,N,03710,1401,E,135412,A,A*43

$GPBOD,T,M,*47

$PGRME,19,1,M,15,2,M,25,3,M*15

$ PGRMZ, 673, f.3*19

$ PGRMM, WGS 84*06

Kromě standardních zpráv NMEA implementují přijímače Garmin svou vlastní sadu zpráv, z nichž každá obsahuje předponu „GRM“ v záhlaví, identifikátor „M“ nebo „Z“ identifikující typ dat a jeden znak pro název.

PGRME - Odhad chyby pozice

$PGRME,15,0,M,45,0,M,25,0,M*1C

  • 15,0,M - odhad chyby horizontálního polohování, v metrech
  • 45,0,M - odhad vertikální chyby, v metrech
  • 25,0,M - ekvivalentní kulová chyba polohování

PGRMZ - měření výšky

$PGRMZ,93,f,3*21

  • 93,f - hodnota výšky v librách
  • 3 - podmínky měření polohy (2 - výška, definované uživatelem, 3 - výška vypočtená pomocí GPS)

PGRMM - aktuální datum

$PGRMM,NAD27 Kanada*2F

  • NAD27 Kanada - název aktuálního horizontálního data

ZvláštnostiSirf

Sirf GPS čipy se používají v různých navigační GPS zařízení, od konvenčních desek, konče přenosnými a automobilovými GPS navigátory. Na rozdíl od navigátorů ale podporují pouze zprávy NMEA související s měřením GPS, výpočtem polohy a času – GGA, GLL, GSA, GSV, RMC, VTG, ZDA.

„Sirf“ také podporuje několik „příchozích“ zpráv NMEA pro konfiguraci a nastavení různých parametrů. Kromě toho „Sirf“ implementuje svůj vlastní binární protokol, který umožňuje změnit mnohem více nastavení. Těchto 5 „příchozích“ zpráv NMEA začíná podle pravidel předponou $PSFR. Všechny zprávy obsahují pevnou sadu dat a končí znakem "n" (odřádkování)

Pro konfiguraci parametrů "Sirf" použijte speciální program Sirftech. Nastavení zpráv NMEA se konfigurují v samostatné položce nabídky.

$GPGGA,100643,000,5522,9036,N,03710,1282,E,1,07,1,6,209,9,M,14,9,M,0000*52

$GPGSA,A,3,31,01,23,20,11,30,14,2.1,1.6,1.4*35

$GPGSV,3,1,12,20,84,187,41,01,49,067,46,23,46,238,45,31,45,073,50*7B

$GPGSV,3,2,12,11,25,194,34,13,16,240,04,15,319,30,17,14,273,21*7A

$GPGSV,3,3,12,30,10,026,33,14,05,063,22,05,04,009,25,25,03,195,*7F

$GPRMC,100643,000,A,5522,9036,N,03710,1282,E,0,16,119,11,200507,*0D

Jak je vidět z výše uvedeného příkladu, „tovární“ nastavení obsahuje méně zpráv NMEA ve srovnání s nastavením Garmin. V případě potřeby lze tuto sadu rozšířit nastavením období v chybějících zprávách NMEA.

$GPGGA,100833,000,5522,9076,N,03710,1270,E,1,07,1,3,222,4,M,14,9,M,0000*53

$GPGLL,5522,9076,N,03710,1270,E,100833,000,A*34

$GPGSA,A,3,31,01,23,20,11,30,17,2.1,1.3,1.6*31

$GPGSV,3,1,12,20,84,180,43,01,49,067,47,23,47,238,45,31,45,072,49*77

$GPGSV,3,2,12,11,24,193,26,13,16,240,26,04,15,319,24,17,13,273,31*78

$GPGSV,3,3,12,30,10,025,26,14,04,064,22,25,04,195,05,04,008,21*7C

$GPRMC,100833,000,A,5522,9076,N,03710,1270,E,0,18,4,86,200507,*00

$GPVTG,4,86,T,M,0,18,N,0,3,K*60

GPZDA $, 1 008 34 000, 20. 5. 2007, * 5 A

PSFR100, PSFR102 - konfigurace sériového portu

Zpráva NMEA číslo 100 slouží k nastavení portu A, zpráva 102 - port B. Zpráva 100 má doplňkové pole, které umožňuje přepnout rozhraní na binární protokol Sirf.

Podle toho je v binárním protokolu příkaz, který přepne port zpět do formátu NMEA. Před přechodem na binární protokol musíte pochopit, zda program, který vám později umožní obnovit protokol NMEA.

$PSRF100.0.9600.8.1.0*0C

$PSRF102.9600.8.1.0*3C

  • PSRF100 - hlavička
  • 0 - parametr udávající, v jakém režimu byl protokol změněn (0-Sirf, 1-NMEA)
  • 9600 – rychlost portu (4800, 9600, 19200, 38400)
  • 8 - datové bity (7, 8)
  • 1 - stop bity (0,1)
  • 0 – párový (0 – ne, 1 – lichý, 2 – sudý)

PSFR101, PSFR104 - inicializace parametrů přijímače

Zprávy NMEA s čísly 101 a 104 jsou určeny k inicializaci parametrů pro příjem GPS. Definování těchto parametrů může urychlit dobu pořízení satelitů GPS. Zpráva 101 nastavuje aktuální souřadnice ve formátu XYZ, zpráva 104 - ve formátu BLH (zeměpisná délka, šířka).

$PSRF101,-2686700,-4304200,3851624,95000,497260,921.12,3*22

$PSRF104.37.3875111,-121.97232.0.95000.237759.922.12.3*3A

  • PSRF101 - hlavička
  • 37.3875111 - zeměpisná šířka ve stupních
  • -121,97232 - zeměpisná délka ve stupních
  • 0 - výška, v metrech
  • 95000 - hodinový posun
  • 237759 - GPS čas v sekundách
  • 922 - Číslo týdne GPS
  • 12 - počet kanálů
  • 3 - typ inicializace dat (1 - horký start, 2 - teplý start, 3 - inicializace dat, 4 - studený start s úplným vymazáním dat, 8 - studený start s obnovením továrního nastavení)

PSFR103 - konfigurace generace zprávy NMEA

Tato zpráva NMEA vám umožňuje nastavit nebo dotazovat se na periodu generování pro každou „odchozí“ zprávu NMEA.

103.05.00.01.01*20 $ PSRF

  • PSRF103 - hlavička
  • 05 - název zprávy
    • 00-GGA
    • 01-GLL
    • 02-GSA
    • 04-RMS
    • 05-VTG
  • 00 - režim (0 - nastavení periody, 1 - požadavek)
  • 01 - tečka, v sekundách (0-255)
  • 01 - přítomnost kontrolního součtu (0 - ano, 1 - ne)

Výsledky experimentu

Za normálních podmínek satelitní viditelnosti vydává přijímač Garmin eMap následující sadu zpráv NMEA:

$GPRMC,104644,A,5522,8965,N,03710,1389,E,0,0,0,0,200507,9,3,E,A*16

$GPRMB,A,,A,A*0B

$GPGGA,104644,5522,8965,N,03710,1389,E, 1 ,07 ,1,2,186,6,M,15,8,M,*44

$GPGSA,A,3,01,04,13,16,20,23,31,2.1,1,2,1,7*35

$GPGSV,3,1, 10 ,01,34,070,48,04,28,311,40,11,10,190,00,13,32,249,41*7E

$GPGSV,3,2, 10 ,16,11,111,40,20,68,142,50,23,64,247,49,25,21,196,00*70

$GPGSV,3,3, 10 .30.05.012.00.31.36.055.52*7D

$GPGLL,5522,8965,N,03710,1389,E,104644,A,A*40

$GPBOD,T,M,*47

$PGRME, 6.0 ,M,7,7,M,9,8,M*29

$PGRMZ,612,f,3*1E

$PGRM,WGS 84*06

$GPRTE,1,1,c,*37

Z analýzy zpráv je vidět, že přijímač v tuto chvíli sleduje 10 (GSV) satelitů, z nichž 7 (GGA) je použito pro výpočet polohy. Chyba horizontálního polohování je 6 metrů (RME) a ​​indikátor typu řešení je 1 (GGA)

Pokud vytvoříte podmínky, za kterých GPS signál nebudou přijaty, pak budou zprávy GGA obsahovat „prázdná“ pole a indikátor typu rozhodnutí bude mít hodnotu 0 (GGA)

$GPGGA, 0 ,00,M,M,*66

$GPGSA,A,1,,*1E

V "normálním" režimu obsahují zprávy RMB a BOD prázdná pole. Jakmile byl Trasový bod „Road“ vybrán jako konečný cíl, byla tato pole „vyplněna“ daty. Jak vyplývá z analýzy zprávy, vzdálenost k bodu je 1,620 mil, azimut pohybu je 6,3 stupně (BOD). V tomto případě se azimut zpráv BOD a RMB liší o 0,1 stupně.

$GPRMB,A,0,00,R,Silnice ,5524,501,N,03710,445,E, 1.620 ,6.4 ,V,A*59

$GPBOD, 6.3 ,T,357,0,M,Silnice,*74

Po výběru domovské trasy pro navigaci se v seznamu zpráv RTE zobrazil seznam všech trasových bodů trasy. A ve zprávě RMB - identifikační čísla počáteční a koncové (další) body trasy.

$GPRTE,1,1,c,HOME,SLOBODA,IERUSALIM,INSTITUT*01

$GPRMB,A,9,99,R,SLOBOD,IERUSAL,5555,237,N,03649,976,E,34,346,340,6,V,A*1F

Závěr

Ve většině případů uživatel nepotřebuje a nemá zájem vědět, jaká data a v jakých polích se přenášejí. Většina navigačních programů „analyzuje“ data zpráv NMEA a prezentuje je uživatelsky přívětivou formou – grafy, diagramy, tabulky atd.

Zvláště zajímavé jsou zprávy NMEA pro uživatele, kteří chtějí studovat GPS data, vypočítat odhad přijatých měření nebo analyzovat chování navigačních přijímačů v různých podmínkách. Existuje řada programů, pomocí kterých můžete tyto problémy vyřešit.

H Pro hloubkovou analýzu dat GPS však formát NMEA není určen, protože neobsahuje takzvaná "surová" měření - pseudorozsahy, fáze, Doppler. Každý výrobce navigačního zařízení má svůj vlastní „otevřený“ nebo „uzavřený“ protokol, který tyto informace vydává.

NMEA je jednoduchý a srozumitelný formát, který umožňuje nejen výměnu dat mezi přijímači GPS a navigační programy, ale také dává uživatelům určitou představu o principech fungování zařízení satelitní navigace

Potřeboval jsem otestovat aplikaci, která využívá GNSS data přes protokol NMEA. Bylo to kvůli tomu, že jsem pracoval na projektu pro letecký navigační program, testování ve vzduchu je přirozeně drahé, řízení auta s GNSS přijímačem na zemi není nijak zvlášť pohodlné, takže jsem chtěl mít data protokolu NMEA na virtuálním paralelním portu z údajně pohybujícího se zařízení. Nejprve jsem hledal jiný software, myslel jsem, že najdu něco vhodného, ​​ale většina je placená a ovládání emulace dat není příliš pohodlné, ačkoli emulují téměř všechny parametry standardu NMEA. Potřeboval jsem ale něco jednoduchého emulujícího souřadnice, rychlost, v zásadě nic víc a potřeboval jsem celkem pohodlné a logické ovládání. Musel jsem tedy napsat aplikaci tohoto druhu v C#.

Fly_nmea


NMEA („National Marine Electronics Association“) – celý název je „NMEA 0183“ – textový protokol pro vzájemnou komunikaci námořních (obvykle navigačních) zařízení.
Údaje jsou předávány ve formě nabídek. Formát návrhu je následující:
$AAAA[,<данные>]*hh , kde:
$ - znak začátku věty (kód 24h);
AAAAA - Pětimístná adresa (název) nabídky;
[, <данные>] - seznam datových polí oddělených čárkami (kód 2Сh);
* - znak kontrolního součtu (kód 2Ah);
hh - kontrolní součet.

Příklad návrhu:
GGA – údaje o poloze GPS
Čas, místo a údaje související s pozorováním.
$GPGGA,hhmmss.sss,llll.ll,a,yyyy.yy,a,x,xx,x.x,x.x,M,x.x,M,x.x,xxx*hh

Potřeboval jsem emulovat čtyři řádky:

  • GLL – souřadnice polohy
  • GSV- Viditelné satelity
  • RMC – Doporučený minimální soubor dat pro GPS a GLONASS
  • GSA - Faktor degradace přesnosti používaný pro navigační satelity
Emulace je organizována v následujícím pořadí:
  • nastavíme počáteční souřadnice v systému WGS-84
  • pak přejdeme na plochou projekci, například Mercator (použil jsem hotovou knihovnu C# pro transformaci souřadnic)
  • při znalosti plochých souřadnic x, y, h implementujeme fyziku pohybu letadla z hlediska proměnných parametrů prostřednictvím GUI jako jsou: roll, pitch, speed
  • převést ploché souřadnice na souřadnice B, L, H systému WGS-84
  • z požadovaných čtyř řádků tvoříme paket zpráv standardu NMEA
  • pošlete je na virtuální paralelní port
Fly_nmea+Sensor Android
Pro pohodlnější testování jsem nastavil i příjem dat z Senzory Android(úhly sklonu). Android posílá dva řetězce takto přes UDP:
  • "Úhel:\t236.04152\t-1.0\t-3.0"
  • "acc:\t-0.46309182\t-0.14982383\t-10.56939"
V aplikaci emulace je akceptuji a na základě úhlů sklonu změním parametry:
  • Rozteč
V emulační aplikaci lze přepnout z ovládání přes rozhraní programu na Android Sensor.
Spojení Fly_nmea
Pro emulaci COM portů je také užitečný emulátor virtuálních sériových portů, budete muset nakonfigurovat připojení dvou virtuálních COM portů, například: COM1<->COM6 a program Fly_nmea pošlou data do COM6 a na COM1 je program využívající protokol NMEA vyzvedne.

Závěr

Obecně jsem trávil více času hledáním takového softwaru a nenašel jsem něco, co by mě úplně uspokojilo, napsal jsem to rychleji sám. Kromě projektu, na kterém jsem pracoval, se mi podařilo poměrně úspěšně propojit emulátor i s programy, které si rozumí s protokolem NMEA, jako jsou: 2Gis a SAS planet.



FlyNMEA a android senzor (projekt pro přenos dat ze senzorů přes UDP)

NMEA0183– textový komunikační protokol používaný v modulech přijímačů GPS. Tento standard byl vytvořen pro komunikaci námořních navigačních zařízení. Protokol umožňuje přenos textových příkazů a zpráv pomocí znaků ASCII. Pro příjem zpráv tedy stačí použít sériové rozhraní UART, přičemž všechny zprávy lze k tomu přenášet přímo do počítače pomocí COM portu, ale nezapomíná se ani na nutnost převádět úrovně signálu.

Modul GPS přenáší zprávy v různých formátech obsahujících různou sadu dat: zeměpisnou šířku a délku, rychlost, směr, čas, počet satelitů atd. Zprávy jsou přenášeny sekvenčně a jsou rozděleny do několika typů, formát každého typu zprávy obsahuje přesně definované informace ve svých polích. Podívejme se blíže na obecnou strukturu zpráv, které modul GPS vydává.

$ - každá zpráva začíná tímto znakem

Následuje identifikátor 5 textové znaky. První dvě písmena označují například typ navigačního systému "GP" - GPS nebo " GL" - Glonass atd. Další 3 znaky jsou identifikátor formátu zprávy, který zcela definuje obsah následně přenášených dat. Například "RMC"- jedná se o doporučený minimální údaj, který obsahuje informace o čase a datu, zeměpisné šířce a délce, rychlosti, kurzu a magnetické odchylce ve stupních (může chybět). Nebo G.S.A., budou zde přenášena satelitní data. Struktura hlavních typů zpráv bude diskutována níže.

Pak následuje «,» - čárka, za kterou hned následuje tělo zprávy s různými údaji, které jsou od sebe odděleny stejnou čárkou. Pokud přenášené číslo není celé číslo, je oddělovač mezi celým číslem a zlomkovou částí tečka «.» .

Konec těla zprávy je označen symbolem «*» . Následuje kontrolní součet všech znaků obsažených mezi "$" a "*", tedy celého těla zprávy včetně samotných dat a identifikátorů na začátku zprávy. Kontrolní součet se vypočítá jako XOR (exclusive OR) všech hexadecimálních kódů ASCII znaků zprávy.

A na samém konci každé zprávy musí následovat znaky pro odřádkování

Zvažte účel a strukturu různé typy zprávy.

RMC– doporučené minimální navigační údaje. Zpráva obsahuje minimální požadované množství informací. Jsou to údaje o zeměpisné šířce a délce, datu a čase, rychlosti. Pro mnoho úkolů není třeba více, například v modulu Quectel L50 Vypnul jsem přenos všech ostatních typů zpráv, protože absolutně nepotřebuji informace o satelitech a úrovni jejich signálů. A příjem nadměrných informací vyžaduje komplikaci programu pro zpracování těchto dat. Struktura zprávy je:

$GPRMC, hhmmss.sss,A,ddmm.mmmm,N,ddmm. mmmm , E,v.v,C. C, ddmmyyyy,x.x,n,m*hh

Tato zpráva obsahuje následující údaje:

  • GPRMCsatelitní systém GPS, ID zprávy RMC
  • hhmmss.sss– čas (Greenwich Mean Time), kde hh – hodiny, mm – minuty, ss.sss – sekundy
  • A- údaje jsou správné popř PROTI- údaje jsou neplatné. Symbol A ve zprávě bude, když je satelitní příjem dostatečně silný pro výpočet údajů o poloze. Symbol PROTI bude, když přijímač nevidí satelity nebo když počet nalezených satelitů nestačí ke spolehlivému výpočtu souřadnic. Pokud například zapnete GPS modul někde v panelovém domě a dál od oken, s největší pravděpodobností uvidíte symbol PROTI v přijaté zprávě.
  • ddmm.mmmm- zeměpisná šířka, stupně a minuty
  • N nebo S- sever nebo jih. Hemisféra, ve které se nacházíte. Pokud jste v Austrálii, ukáže se to S. V Jekatěrinburgu se můj GPS modul vyřadil N.
  • ddmm.mmmm- zeměpisná délka, stupně a minuty
  • E nebo W- západní nebo východní polokoule
  • v.v- rychlost v uzlech
  • C. C– směr nad zemí ve stupních. Při pohybu na sever bude 0 stupňů.
  • ddmmyyyy- datum
  • x.x– magnetická deklinace
  • n je směr magnetické deklinace. O těchto dvou posledních parametrech nemohu nic vysvětlit. Například můj modul GPS Quectel L50 při příjmu v bytě na okně se tento údaj vůbec neukázal, jen mi chyběl.
  • m- režim navigace: N- neplatná data A- autonomní, D– diferenciál

Zde je příklad zprávy RMC:

$GPRMC,105954,000,A,3150,6731,N,11711,9399,E,0,00,96,10,250313,A*53

  • GMT 10h 59m 54sec
  • A- údaje jsou správné
  • Zeměpisná šířka 31 stupňů a 50,6371 minut
  • N– severní
  • Zeměpisná délka 117 stupňů 11,9399 minut
  • E– východní
  • Rychlost 0,00 uzlů
  • Studna 96,1 stupňů
  • datum 25. března 2013
  • Údaje o magnetická deklinace chybějící
  • režim - autonomní
  • Kontrolní součet znaků zprávy 0x053

Zde je třeba poznamenat jednu nuanci. Údaje o zeměpisné šířce a délce obsahují zlomkovou část minut, která vůbec neodpovídá počtu „sekund“, jelikož se jedná o desetinný zlomek. Ty programy pro práci s GPS, které jsem vyzkoušel, zobrazují souřadnice na mapě přesně. Ale pokud zadáte tato čísla do vyhledávacího pole Google mapy, pak se místo na mapě ukáže být několik kilometrů od skutečného. Při zadávání přijatých souřadnic je v tomto případě nutné vydělit zlomkovou část zeměpisné šířky a délky 60, aby se tato čísla převedla na „sekundy“. Při prvním připojení modulu Quectel L50 a zadání přijatých souřadnic zeměpisné šířky a délky do řádku Google vyhledávání mapy, polohu na mapě jsem dostal s výraznou chybou, mapa ukazovala místo někde v oblasti Uralmaše.

Zde je několik dalších typů zpráv používaných v tomto protokolu:

  • VTG- skutečný kurz a pozemní rychlost
  • GGA- data opravy poslední pozice
  • GSA- údaje o aktivních satelitech
  • GSV- údaje o viditelných satelitech, jejich poloze a číslech a také síle signálu
  • GLL- zeměpisná šířka, délka a čas
  • ZDA- údaje o čase a datu

Nerozebíral jsem podrobně, z čeho se která zpráva skládá, odkaz na dokument popisující protokol je uveden na konci článku. Určitý typ modulu GPS nemusí přenášet všechna uvedená data. Můžete zakázat nebo povolit přenos různých typů dat a také nastavit období pro jejich vydávání. Pro konfiguraci modulu existují speciální příkazy, které začínají identifikátorem $PSRFxxx, kde xxx určuje typ a formát příkazu, stejně jako u odchozích zpráv.

Například příkaz $PSRF100.0.9600.8.1.0*0C nastavuje protokol výměny a konfiguruje parametry sériového portu.

  • 100 $ PSRF – Identifikátor příkazu nativního protokolu SIRF
  • 0 – binární protokol SIRF, 1 - NMEA protokol
  • 9600 – rychlost bps
  • 8 datový bit
  • 1 stop bit
  • 0 - kontrola parity zakázána

tým $PSRF103.00.00.02.01*26 konfiguruje výstupní parametry pro různé typy zpráv modulu:

  • 103 $ PSRF– Identifikátor příkazu nativního protokolu SIRF
  • za čárkou jsou pak dvě číslice, které určují typ vlastní zprávy: 00 - GGA
    01-GLL
    02-GSA
    03-GSV
    04-RMC
    05-VTG
  • další dvě číslice určují pořadí, ve kterém jsou zprávy vydávány, například: 00 - periodicky
    01 - na vyžádání
  • následující čísla nastavují období hlášení v sekundách: 00 = Vypnuto (zprávy jsou zakázány)
    1-255 - interval mezi zprávami tohoto typu v sekundách
  • poté povolit/zakázat přenos kontrolního součtu ve zprávě NMEA vysílané modulem: 00 – přenos kontrolního součtu je zakázán
    01 - je odeslán kontrolní součet
  • po znaku „*“, jako v odchozí zprávě NMEA, se přenese kontrolní součet a znaky pro posun řádku.

To je vše, co jsem chtěl stručně popsat protokol NMEA 0183 a příkazy pro ovládání modulu na čipsetu SIRF. Podrobnější vysvětlení všech těchto zpráv a příkazů je uvedeno například v popisu protokolu modulu Quectel L50, který je ke stažení z odkazu níže.

Popis protokolu NMEA.

Implementace v přijímačích Garmin a GlobalSat

Úvod

National Marine Electronics Association (NMEA) vyvinula protokol pro zachování interoperability mezi námořními navigačními zařízeními od různých výrobců. Tento protokol NMEA popisuje nejen data přijatá z přijímačů GPS, ale také měření ze sonarů, radarů, elektronických kompasů, barometrů a dalších navigačních zařízení používaných na lodích. Rozhraní pro výměnu dat většiny přenosných GPS přijímačů je implementováno v souladu se specifikací NMEA. Většina navigačních programů, které poskytují podporu zobrazování dat v reálném čase a „rozumí“ protokolu NMEA. Tato data obsahují kompletní navigační měření GPS přijímače - polohu, rychlost a čas. Všechny zprávy NMEA se skládají ze sekvenční sady dat oddělených čárkami. Každá jednotlivá zpráva je nezávislá na ostatních a je zcela „kompletní“. Zpráva NMEA obsahuje hlavičku, sadu dat reprezentovanou znaky ASCII a pole "kontrolní součet" pro ověření platnosti přenášených informací. Hlavička standardních zpráv NMEA se skládá z 5 znaků, z nichž první dva definují typ zprávy a zbývající tři - její název. Například všechny zprávy GPS NMEA mají předponu „GP“. Zprávy, které nejsou popsány ve specifikaci NMEA, ale jsou implementovány v přijímačích GPS podle společných pravidel, mají předponu „P“ následované třemi znaky jedinečnými pro každou společnost. Například „proprietární“ zprávy NMEA společnosti Garmin mají předponu „PGRM“, Magellan má předponu „PMGN“. Každá zpráva NMEA začíná „$“, končí „\n“ („line feed“) a nemůže být delší než 80 znaků. Všechny údaje jsou uvedeny na jednom řádku a vzájemně odděleny čárkami. Informace jsou prezentovány jako text ASCII a nevyžadují speciální dekódování. Pokud se data nevejdou do přidělených 80 znaků, pak jsou „rozdělena“ do několika zpráv NMEA. Tento formát umožňuje neomezovat přesnost a počet znaků v jednotlivých datových polích. Například zlomková část hodnoty souřadnice může být reprezentována 3 nebo 4 desetinnými místy, ale to by nemělo ovlivnit činnost softwaru, který ze zprávy extrahuje potřebná data podle čísla pole. Na konci každé zprávy NMEA je pole kontrolního součtu oddělené od dat "*". Volitelně jej lze použít pro kontrolu integrity a platnosti každé přijaté zprávy. Protokol NMEA podporuje nejen odchozí, ale i příchozí zprávy, které lze například použít k aktualizaci nebo přidávání průjezdních bodů trasy. Tyto zprávy musí být vytvořeny v přísném souladu s formátem NMEA, jinak je přijímač GPS jednoduše ignoruje. Je třeba poznamenat, že ne všechny navigační programy a modely přijímačů tento režim podporují, protože pro načítání bodů a tras používají proprietární protokoly od výrobců jako Garmin, Magellan atd. Protokol NMEA prošel od svého vzniku několika úpravami souvisejícími s přidáním nových polí a zpráv. Aktuální verze podporovaná většinou přijímačů je verze 2.3, i když již byla zveřejněna nová verze 3.0. Kompletní specifikace zpráv NMEA není volně dostupná a nelze ji oficiálně stáhnout v elektronické podobě, její jednotlivé sekce, obecný popis protokolu NMEA a nejoblíbenější zprávy lze nalézt na internetu. Dokumentaci NMEA si můžete oficiálně zakoupit na http://www.nmea.org/ .

seznam zpráv

Protokol NMEA popisuje velký seznam různých zpráv, z nichž lze rozlišit dvě desítky zpráv, které se aktivně používají v navigačních zařízeních. Pro velkou oblibu a jednoduchou prezentaci dat našel protokol NMEA uplatnění nejen v námořních zařízeních, ale také v geodetických, domácích a leteckých GPS přijímačích.

    AAM - Přílet na Waypoint

    ALM - Almanach Data

    APA – Data autopilota „A“

    APB - Data autopilota "B"

    BOD - Azimut k cíli

    DTM - Použité datum

    GGA – Fixed Solution Information

    GLL – Údaje o zeměpisné šířce a délce

    GSA – Obecné informace o satelitu

    GSV - Podrobné informace o satelitu

    MSK - Předání základnímu přijímači

    MSS - Base Receiver Status

    RTE - Směrovací informace VTG - Motion and Velocity Vector

    WCV - Údaje o rychlosti poblíž trasového bodu

    WPL - Data o bodu

    XTC – Chyba sledování

    XTE – Chyba při odjezdu naměřené trati

    ZTG – čas UTC a zbývající čas do příjezdu do cíle

    ZDA - Datum a čas.

Některé zprávy NMEA mohou obsahovat stejná datová pole nebo mohou obsahovat celá data jiných menších zpráv NMEA.

GGA - pevné informace o řešení.

Nejoblíbenější a nejpoužívanější zpráva NMEA s informacemi o aktuálním pevném řešení - horizontální souřadnice, hodnota nadmořské výšky, počet používaných satelitů a typ řešení.

$GPGGA,123519,4807,038,N,01131,000,E,1,08,0,9,545,4,M,46,9,M,*47

GGA – hlavička NMEA

123519 – čas UTC 12:35:19

4807,038, N - zeměpisná šířka, 48 stupňů 7,038 minut severní šířky

01131 000, E - zeměpisná délka, 11 stupňů 31 000 minut východně

1 - typové řešení, Samostatné řešení

08 - počet použitých satelitů

0,9 - geometrický faktor, HDOP

545,4, M - nadmořská výška v metrech

46,9, M je výška geoidu nad elipsoidem WGS 84

[prázdné pole] – čas, který uplynul od přijetí poslední opravy DGPS. Vyplněno, když je aktivován režim DGPS

[prázdné pole] – identifikační číslo základnové stanice. Vyplněno, když je aktivován režim DGPS.

GSA - obecné informace o satelitech.

Tato zpráva NMEA obsahuje seznam satelitů použitých při výpočtu polohy a hodnoty geometrických faktorů DOP, které určují přesnost výpočtu polohy. Parametry DOP jsou určeny geometrickým uspořádáním satelitů na obloze. Čím lépe jsou satelity „rozmístěny“ na obloze, tím nižší je DOP a tím lepší je přesnost polohy. Minimální hodnota PDOP (= 1) odpovídá situaci, kdy je jeden satelit přímo nad uživatelem a další 3 jsou rovnoměrně rozmístěny kolem na úrovni horizontu. Hodnota PDOP se vypočítá jako druhá odmocnina součtu druhých mocnin HDOP a VDOP.

$GPGSA,A,3,04,05,09,12,24,2,5,1,3,2,1*39

    GSA – hlavička NMEA

    A - typ volby mezi 2D a 3D řešením, automatický (A-auto, M-manual)

    3 – typ řešení, 3D řešení (1 – žádné řešení, 2 – 2D řešení, 3 – 3D řešení)

    04,05… - PRN kódy používané při výpočtu satelitní polohy (12 polí)

    2,5 - prostorový geometrický faktor, PDOP

    1,3 - horizontální geometrický faktor, HDOP

    2.1 - vertikální geometrický faktor, VDOP

GSV - Podrobné informace o satelitu

Tato zpráva NMEA obsahuje podrobné informace o všech satelitech sledovaných navigátorem GPS. Na základě omezení na 80 znaků lze v rámci jedné zprávy NMEA přenášet data pouze pro 4 satelity. V souladu s tím jsou pro 12 satelitů vyžadovány 3 zprávy GSV. Pole SNR (Signal to Noise Ration) obsahuje úrovně navigačních signálů přijímaných ze satelitů. Teoreticky se jeho hodnota může pohybovat od 0 do 99 a měří se v dB. Ve skutečnosti je úroveň signálu v rozsahu 25 ... 35 dB. Zde je vhodné poznamenat, že tento parametr není absolutní a nehodí se pro porovnávání citlivosti přijímačů různých modelů a výrobců. GPS navigátory mohou používat různé algoritmy pro výpočet úrovně přijímaného signálu, což vede k různým výsledkům při stejném stupni citlivosti přijímačů. Pro každý viditelný satelit GPS je vysílán soubor informací, včetně síly signálu, nadmořské výšky a azimutu satelitu. Počet těchto „setů“ je určen celkovým počtem viditelných satelitů, jejichž hodnota je přenášena v samostatném poli.

$GPGSV,2,1,08,01,40,083,46,02,17,308,41,12,07,344,39,14,22,228,45*75

    GSV – hlavička NMEA

    2 - počet GSV zpráv v paketu

    1 – číslo zprávy v paketu (od 1 do 3)

    08 - počet viditelných satelitů

    01 - číslo satelitu

    40 - elevační úhel, ve stupních

    083 - azimut ve stupních

    46 - SNR, úroveň signálu

Tato zpráva NMEA obsahuje celou sadu takzvaných „PVT“ dat. "PVT" je běžná zkratka pro "position, velocity, time" (pozice, rychlost, čas).

$GPRMC,123519,A,4807,038,N,01131,000,E,022,4,084,4,230394,003,1,W*6A

    RMC - hlavička NMEA

    123419 - čas UTC, 12:34:59

    A – stav (A-aktivní, V-ignorovat)

    4807.038,N - zeměpisná šířka, 48 stupňů 07.038 minut severní šířky

    01131.000,E - Zeměpisná délka, 11 stupňů 31.000 minut východně

    022.4 - Rychlost, v uzlech

    003.1,W - Magnetické variace

GLL – údaje o zeměpisné šířce a délce

Zpráva NMEA s hodnotou souřadnic zeměpisné šířky a délky a časem, kdy bylo toto řešení vypočteno.

$GPGLL,4916,45,N,12311,12,W,225444,A,*31

    GLL - hlavička NMEA

    4916,46,N - zeměpisná šířka, 49 stupňů 16,45 minut severní šířky

    12311,12 západní délky, 123 stupňů 11,12 minut západně

    225444 - Opravit čas v časovém měřítku UTC, 22:54:44

BOD - Azimut k cíli

Tato zpráva NMEA označuje směr k cíli v režimu navigace.

$GPBOD,045.,T,023.,M,DEST,START*01

    BOD - hlavička NMEA

    045.,T – skutečný směr k bodu

    023.,M – magnetický směr do bodu

    DEST - identifikační číslo koncového bodu

    START - identifikační číslo místa startu

$GPRMB,A,0,66,L,003,004,4917,24,N,12309,57,W,001,3,052,5,000,5,V*20

    RMB – hlavička NMEA

    A - Typ dat, (A - aktivní, V - ignorovat)

    0,66,L - odchylka od stopy. Parametr je definován v námořních mílích. (L-vlevo, R-vpravo)

    003 - identifikační číslo místa startu

    004 - identifikační číslo koncového bodu

    4917,24,N je hodnota zeměpisné šířky koncového bodu, 49 stupňů 17,24 minut severní šířky

    12309,57,W je hodnota zeměpisné délky koncového bodu, 123 stupňů 09,57 minut západně

    001.3 – vzdálenost k bodu v námořních mílích

    000,5 - rychlost, v uzlech

    V - informace o příjezdu (A - příchod, V - bod ještě nedosažen)

RTE - Informace o směrování

Zpráva NMEA RTE uvádí trasové body na aktivní trase. Existují dva typy zpráv RTE. V prvním případě se zobrazí všechny průjezdní body. Ve druhém pouze seznam zbývajících bodů, které je třeba při pohybu po trase ještě navštívit. Vzhledem k tomu, že protokol NMEA má omezení, že délka zprávy nesmí přesáhnout 80 znaků, může se zpráva RTE skládat z několika řádků.

$GPRTE,2,1,c,0,W3IWI,DRIVWY,32CEDR,32-29,32BKLD,32-I95,32-US1,BW-32,BW-198*69

    RTE - hlavička NMEA

    2 - celkový počet zpráv pro zobrazení úplného seznamu dat

    1 – číslo zprávy z obecného seznamu

    с – typ RTE zprávy (с – úplný seznam trasových bodů, w – seznam trasových bodů, které mají být navštíveny)

    0 - ID trasy

    W3IWI,DRIVWY,.. - seznam průjezdních bodů

Funkce Garmin

Přijímače Garmin podporují většinu zpráv NMEA obsahujících GPS měření, souřadnice a čas – GGA, GLL, GSA, GSV, RMC. Stejně jako navigační zprávy - RMB, BOD

Pro zobrazení těchto zpráv je třeba v nastavení přijímače změnit rozhraní z „Garmin“ na „NMEA“ a případně nastavit požadovanou rychlost. Stejná rychlost musí být nastavena v navigačním programu v nastavení sériového portu, ke kterému je navigátor připojen.

Bohužel přijímače s USB portem nepodporují protokol NMEA a jeho nastavení je omezeno pouze na protokol Garmin.

Chcete-li zobrazit informace přicházející na sériový port počítače, můžete použít terminálový program Windows nebo některý z navigačních programů, které tuto funkci podporují.

Níže je uveden seznam zpráv NMEA přijímače Garmin eMap, které jsou obsaženy ve stejné epoše.

$GPRMC,135412,A,5522,8973,N,03710,1401,E,0,0,0,0,190507,9,3,E,A*1F

$GPRMB,A,,A,A*0B

$GPGGA,135412,5522,8973,N,03710,1401,E,1,04,5,4,205,2,M,15,8,M,*4A

$GPGSA,A,3,08,13,23,25,5,7,5,4,1,0*3C

$GPGSV,3,1,11,02,15,267,00,03,11,085,45,04,05,236,00,08,39,233,00*77

$GPGSV,3,2,11,10,32,308,00,13,63,109,43,16,17,037,00,23,31,111,38*77

$GPGSV,3,3,11,24,09,343,00,25,66,077,44,27,69,229,00*46

$GPGLL,5522,8973,N,03710,1401,E,135412,A,A*43

$GPBOD,T,M,*47

$PGRME,19,1,M,15,2,M,25,3,M*15

$ PGRMZ, 673, f, 3 * 19

$ PGRMM, WGS 84*06

Kromě standardních zpráv NMEA implementují přijímače Garmin svou vlastní sadu zpráv, z nichž každá obsahuje předponu „GRM“ v záhlaví, identifikátor „M“ nebo „Z“ identifikující typ dat a jeden znak pro název.

PGRME - Odhad chyby pozice

$PGRME,15,0,M,45,0,M,25,0,M*1C

    15,0,M - odhad chyby horizontálního polohování, v metrech

    45,0,M - odhad vertikální chyby, v metrech

    25,0,M - ekvivalentní kulová chyba polohování

PGRMZ - měření nadmořské výšky

$PGRMZ,93,f,3*21

    93.f je hodnota výšky v librách

    3 - podmínky měření polohy (2 - výška definovaná uživatelem,

    3 - výška vypočtená pomocí GPS)

PGRMM - aktuální datum

$PGRMM,NAD27 Kanada*2F

    NAD27 Canada je název aktuálního horizontálního data

Vlastnosti Sirf

GPS čipy Sirf se používají v různých navigačních zařízeních GPS, od konvenčních desek až po přenosné a automobilové GPS navigace. Na rozdíl od navigátorů ale podporují pouze zprávy NMEA související s měřením GPS, výpočtem polohy a času – GGA, GLL, GSA, GSV, RMC, VTG, ZDA.

„Sirf“ také podporuje několik „příchozích“ zpráv NMEA pro konfiguraci a nastavení různých parametrů. Kromě toho „Sirf“ implementuje svůj vlastní binární protokol, který umožňuje změnit mnohem více nastavení. Těchto 5 „příchozích“ zpráv NMEA začíná podle pravidel předponou $PSFR. Všechny zprávy obsahují pevnou sadu dat a končí „\n“ (odřádkování)

Pro konfiguraci parametrů "Sirf" se používá speciální program "SirfTech". Nastavení zpráv NMEA se konfigurují v samostatné položce nabídky.

$GPGGA,100643,000,5522,9036,N,03710,1282,E,1,07,1,6,209,9,M,14,9,M,0000*52

$GPGSA,A,3,31,01,23,20,11,30,14,2.1,1.6,1.4*35

$GPGSV,3,1,12,20,84,187,41,01,49,067,46,23,46,238,45,31,45,073,50*7B

$GPGSV,3,2,12,11,25,194,34,13,16,240,04,15,319,30,17,14,273,21*7A

$GPGSV,3,3,12,30,10,026,33,14,05,063,22,05,04,009,25,25,03,195,*7F

$GPRMC,100643,000,A,5522,9036,N,03710,1282,E,0,16,119,11,200507,*0D

Jak je vidět z výše uvedeného příkladu, „tovární“ nastavení obsahuje méně zpráv NMEA ve srovnání s nastavením Garmin. V případě potřeby lze tuto sadu rozšířit nastavením období v chybějících zprávách NMEA.

$GPGGA,100833,000,5522,9076,N,03710,1270,E,1,07,1,3,222,4,M,14,9,M,0000*53

$GPGLL,5522,9076,N,03710,1270,E,100833,000,A*34

$GPGSA,A,3,31,01,23,20,11,30,17,2.1,1.3,1.6*31

$GPGSV,3,1,12,20,84,180,43,01,49,067,47,23,47,238,45,31,45,072,49*77

$GPGSV,3,2,12,11,24,193,26,13,16,240,26,04,15,319,24,17,13,273,31*78

$GPGSV,3,3,12,30,10,025,26,14,04,064,22,25,04,195,05,04,008,21*7C

$GPRMC,100833,000,A,5522,9076,N,03710,1270,E,0,18,4,86,200507,*00

$GPVTG,4,86,T,M,0,18,N,0,3,K*60

GPZDA $, 1 008 34 000, 20. 5. 2007, * 5 A

PSFR100, PSFR102 - konfigurace sériového portu

Zpráva NMEA číslo 100 slouží k nastavení portu A, zpráva 102 - port B. Zpráva 100 má doplňkové pole, které umožňuje přepnout rozhraní na binární protokol Sirf.

Podle toho je v binárním protokolu příkaz, který přepne port zpět do formátu NMEA. Před přechodem na binární protokol musíte pochopit, zda program, který vám později umožní obnovit protokol NMEA.

$PSRF100.0.9600.8.1.0*0C

$PSRF102.9600.8.1.0*3C

    PSRF100 - hlavička NMEA

    0 - parametr udávající, v jakém režimu byl protokol změněn (0-Sirf, 1-NMEA)

    9600 – rychlost portu (4800, 9600, 19200, 38400)

    8 - datové bity (7, 8)

    1 - stop bity (0,1)

    0 – párování (0 – ne, 1 – liché, 2 – sudé)

PSFR101, PSFR104 - inicializace parametrů přijímače

Zprávy NMEA s čísly 101 a 104 jsou určeny k inicializaci parametrů pro příjem GPS. Definování těchto parametrů může urychlit dobu pořízení satelitů GPS. Zpráva 101 nastavuje aktuální souřadnice ve formátu XYZ, zpráva 104 - ve formátu BLH (zeměpisná délka, šířka).

$PSRF101,-2686700,-4304200,3851624,95000,497260,921.12,3*22

$PSRF104.37.3875111,-121.97232.0.95000.237759.922.12.3*3A

    PSRF101 - hlavička NMEA

    37.3875111 - zeměpisná šířka ve stupních

    121,97232 - zeměpisná délka ve stupních

    0 - výška, v metrech

    95000 - hodinový posun

    237759 - GPS čas v sekundách

    922 - Číslo týdne GPS

    12 - počet kanálů

    3 – typ inicializace dat (1 – horký start, 2 – teplý start, 3 – inicializace dat, 4 – studený start s kompletním vymazáním dat, 8 – studený start s obnovením továrního nastavení)

PSFR103 - Konfigurace generování zpráv NMEA

Tato zpráva NMEA vám umožňuje nastavit nebo dotazovat se na periodu generování pro každou „odchozí“ zprávu NMEA.

103.05.00.01.01*20 $ PSRF

    PSRF103 - hlavička NMEA

    05 - název zprávy

    01 - tečka, v sekundách (0-255)

    01 – přítomnost kontrolního součtu (0- ano, 1 - ne)

Výsledky experimentu

Za normálních podmínek satelitní viditelnosti vydává přijímač Garmin eMap následující sadu zpráv NMEA:

$GPRMC,104644,A,5522,8965,N,03710,1389,E,0,0,0,0,200507,9,3,E,A*16

$GPRMB,A,,A,A*0B

$GPGGA,104644,5522,8965,N,03710,1389,E,1,07,1,2,186,6,M,15,8,M,*44

$GPGSA,A,3,01,04,13,16,20,23,31,2.1,1,2,1,7*35

$GPGSV,3,1,10,01,34,070,48,04,28,311,40,11,10,190,00,13,32,249,41*7E

$GPGSV,3,2,10,16,11,111,40,20,68,142,50,23,64,247,49,25,21,196,00*70

$GPGSV,3,3,10,30,05,012,00,31,36,055,52*7D

$GPGLL,5522,8965,N,03710,1389,E,104644,A,A*40

$GPBOD,T,M,*47

$PGRME,6,0,M,7,7,M,9,8,M*29

$PGRMZ,612,f,3*1E

$PGRM,WGS 84*06

$GPRTE,1,1,c,*37

Z analýzy zpráv je vidět, že přijímač v tuto chvíli sleduje 10 (GSV) satelitů, z nichž 7 (GGA) je použito pro výpočet polohy. Chyba horizontální polohy je 6 metrů (RME) a ​​indikátor typu řešení je 1 (GGA)

Pokud vytvoříte podmínky, za kterých nebude signál GPS přijímán, budou zprávy GGA obsahovat „prázdná“ pole a indikátor typu řešení bude mít hodnotu 0 (GGA).

$GPGGA,0,00,M,M,*66

$GPGSA,A,1,,*1E

V "normálním" režimu obsahují zprávy RMB a BOD prázdná pole. Jakmile byl Trasový bod „Road“ vybrán jako konečný cíl, byla tato pole „vyplněna“ daty. Jak vyplývá z analýzy zprávy, vzdálenost k bodu je 1,620 mil, azimut pohybu je 6,3 stupně (BOD). V tomto případě se azimut zpráv BOD a RMB liší o 0,1 stupně.

$GPRMB,A,0,00,R,Silnice,5524,501,N,03710,445,E,1,620,6,4,V,A*59

$GPBOD,6,3,T,357,0,M,Silnice,*74

Po výběru domovské trasy pro navigaci se v seznamu zpráv RTE zobrazil seznam všech trasových bodů trasy. A ve zprávě RMB - identifikační čísla výchozích a konečných (dalších) bodů trasy.

$GPRTE,1,1,c,HOME,SLOBODA,IERUSALIM,INSTITUT*01

$GPRMB,A,9,99,R,SLOBOD,IERUSAL,5555,237,N,03649,976,E,34,346,340,6,V,A*1F

Závěr

Ve většině případů uživatel nepotřebuje a nemá zájem vědět, jaká data a v jakých polích se přenášejí. Většina navigačních programů „analyzuje“ data zpráv NMEA a prezentuje je uživatelsky přívětivou formou – grafy, grafy, tabulky atd.

Zvláště zajímavé jsou zprávy NMEA pro uživatele, kteří chtějí studovat GPS data, vypočítat odhad přijatých měření nebo analyzovat chování navigačních přijímačů v různých podmínkách. Existuje řada programů, pomocí kterých můžete tyto problémy vyřešit.

Pro hloubkovou analýzu dat GPS však formát NMEA není určen, protože neobsahuje takzvaná "surová" měření - pseudovzdálenost, fáze, doppler. Každý výrobce navigačního zařízení má svůj vlastní „otevřený“ nebo „uzavřený“ protokol, který tyto informace vydává.

NMEA je jednoduchý a srozumitelný formát, který umožňuje nejen výměnu dat mezi přijímači GPS a navigačními programy, ale také dává uživatelům určitou představu o principech fungování zařízení pro satelitní navigaci.

Pozornost!

Tak jako zdrojový materiál použitý článek z webu " GPS portál"