Nmea protokola apstrādes avota kods. NMEA protokola apraksts

Man vajadzēja pārbaudīt lietojumprogrammu, kas izmanto GNSS datus, izmantojot NMEA protokolu. Tas bija saistīts ar to, ka strādāju pie lidmašīnas navigācijas programmas projekta, testēšana gaisā dabiski ir dārga, braukt ar automašīnu ar GNSS uztvērēju uz zemes nav īpaši ērti, tāpēc gribēju iegūt NMEA protokola datus. no it kā pārvietojas iekārtas virtuālajā paralēlajā portā, sēžot pie mana galda. Sākumā es meklēju dažādu programmatūru, domāju, ka atradīšu kaut ko piemērotu, taču lielākā daļa ir maksas, un datu emulācijas vadīklas nav īpaši ērtas, lai gan tās emulē gandrīz visus NMEA standarta parametrus. Bet man vajadzēja kaut ko vienkāršu, kas atdarinātu koordinātas, ātrumu, būtībā neko vairāk, un man bija vajadzīgas diezgan ērtas un loģiskas vadības ierīces. Tāpēc man bija jāraksta šāda veida pieteikums C#.

Fly_nmea


NMEA ("Nacionālā jūras elektronikas asociācija") - pilns nosaukums ir "NMEA 0183" - teksta protokols saziņai starp jūras (parasti navigācijas) iekārtām.
Dati tiek pārsūtīti teikumu veidā. Piedāvājuma formāts ir šāds:
$AAAAA[,<данные>]*hh , Kur:
$ - teikuma sākuma simbols (kods 24h);
AAAAA - piedāvājuma adrese (nosaukums) ar piecām zīmēm;
[, <данные>] - ar komatiem atdalītu datu lauku saraksts (kods 2Сh);
* - kontrolsummas zīme (kods 2Ah);
hh - kontrolsumma.

Teikuma piemērs:
GGA — GPS atrašanās vietas dati
Laiks, vieta un dati, kas saistīti ar novērojumu.
$GPGGA,hhmmss.sss,llll.ll,a,yyyy.yy,a,x,xx,x.x,x.x,M,x.x,M,x.x,xxx*hh

Man vajadzēja atdarināt četras rindiņas:

  • GLL — atrašanās vietas koordinātes
  • GSV — redzamie satelīti
  • RMC — ieteicamā minimālā datu kopa GPS un GLONASS
  • GSA — precizitātes pasliktināšanās koeficients, ko izmanto navigācijas satelītiem
Emulācija tiek organizēta šādā secībā:
  • mēs uzstādām sākotnējās koordinātas WGS-84 sistēmā
  • tad ejam uz plakanu projekciju, piemēram, Mercator (koordinātu konvertēšanai izmantoju gatavu bibliotēku C# valodā)
  • Zinot plaknes koordinātas x, y, h, mēs realizējam gaisa kuģa kustības fiziku, izmantojot mainīgus parametrus, izmantojot grafisko interfeisu, piemēram: roll, piķis, ātrums
  • konvertēt plakanas koordinātas uz WGS-84 sistēmas B, L, H koordinātām
  • no nepieciešamajām četrām rindām veidojam NMEA standarta ziņojumu paketi
  • nosūtīt tos uz virtuālo paralēlo portu
Fly_nmea + Android sensors
Ērtākai testēšanai pielāgoju arī datu uztveršanu no Android sensoriem (slīpuma leņķi). Android sūta divas rindas, piemēram:
  • "Leņķis:\t236.04152\t-1.0\t-3.0"
  • "Acc:\t-0.46309182\t-0.14982383\t-10.56939"
Emulācijas lietojumprogrammā es tos pieņemu un, pamatojoties uz slīpuma leņķiem, mainu parametrus:
  • Piķis
Emulācijas lietojumprogrammā varat pārslēgties no vadības, izmantojot programmas saskarni, uz Android sensoru.
Fly_nmea savienojums
Lai emulētu COM portus, ir noderīgs arī Virtual Serial Ports Emulator, jums būs jākonfigurē divu virtuālo COM portu savienojums, piemēram: COM1;<->COM6 un programma Fly_nmea nosūtīs datus uz COM6, un programma, kas izmanto NMEA protokolu, tos saņems uz COM1.

Secinājums

Kopumā vairāk laika pavadīju šādas programmatūras meklējumos un, neatrodot kaut ko, kas mani pilnībā apmierinātu, ātri uzrakstīju pats. Papildus projektam, kurā strādāju, man izdevās arī diezgan veiksmīgi savienot emulatoru ar programmām, kas saprot NMEA protokolu, piemēram, 2Gis un SAS planet.



FlyNMEA un android sensors (projekts datu pārsūtīšanai no sensoriem, izmantojot UDP)

NMEA 0183(no " Nacionālā jūras elektronikas asociācija") - standarts, kas nosaka teksta protokolu jūras (parasti navigācijas) iekārtu (vai vilcienos izmantoto iekārtu) savstarpējai saziņai. Tas kļuva īpaši populārs, jo izplatījās GPS uztvērēji, kas izmanto šo standartu.

Vispārīgs līniju skats NMEA 0183

  • "$" vai "!" (hex 24 vai hex 21)
  • 5 burtu ziņojuma ID. Pirmie divi burti ir ziņojuma avota identifikators, nākamie trīs burti ir ziņojuma formāta identifikators saskaņā ar noteiktas versijas protokolu NMEA 0183.
  • ar komatiem atdalītu datu (burtu, ciparu un punktu) saraksts. Ja trūkst kādu datu iekšā rindas, komatus joprojām ievieto (piemēram, ","). Daži lauki beigās rindiņas var nebūt pavisam.
  • simbols "*".
  • astoņu bitu XOR — visu rakstzīmju (tostarp "," un "^") summa rindā starp "$" un "*", kas pārveidota par diviem lielajiem ASCII rakstzīmēm baita heksadecimālajam attēlojumam (0–9, A –F).
  • (hex 0D, hex 0A).

Maksimālais ziņojuma garums ir ierobežots līdz 82 rakstzīmēm (NMEA 0183 rev 3.0)

Standarts apraksta vairāk nekā 250 NMEA secību identifikatorus. Standarts nosaka datu apmaiņas ātrumu pie 4800 bodu. (Ātrumam 38400 bodu un lielākam ir paplašināts standarts NMEA-0183-HS).

Standarts ļauj pievienot savus secības identifikatorus, ko ražotāji bieži izmanto, lai sniegtu papildu informāciju par ierīces darbību.

RMC virkne (īpašs piemērs)

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

Lauku vērtības:

  • "GP" - avota identifikators; dotajā piemērā tas ir GPS, "GL" - GLONASS, "GA" - Galileo, "GN" - GLONASS+GPS utt.
  • "RMC" — "Ieteicamais minimālais teikums C"
  • “hhmmss.sss” - atrašanās vietas noteikšanas laiks saskaņā ar UTC: “hh” - stundas, “mm” - minūtes, “ss.sss” - sekundes. Sekunžu daļu garums ir atšķirīgs. Sākuma nulles netiek izlaistas.
  • "A" - statuss: "A" - dati ir ticami, "V" - neuzticami.
  • "GGMM.MM" — platums. 2 pakāpju cipari (“GG”), veselu minūšu 2 cipari, mainīga garuma minūtes punkts un daļēja daļa. Sākuma nulles netiek izlaistas.
  • "P" — "N" apzīmē ziemeļus vai "S" apzīmē dienvidu platumu.
  • "gggmm.mm" - garums. 3 grādu cipari (“ggg”), veselu minūšu 2 cipari, mainīga garuma minūtes un daļēja daļa. Sākuma nulles netiek izlaistas.
  • "J" — "E" apzīmē austrumus vai "W" apzīmē rietumu garumu.
  • "v.v" ir ātruma horizontālā komponente attiecībā pret zemi mezglos. Peldošā komata skaitlis. Mainīga garuma veselas un daļdaļas.
  • "b.b" - sliežu ceļa leņķis (ātruma virziens) grādos. Peldošā komata skaitlis. Mainīga garuma veselas un daļdaļas. Vērtība 0 atbilst kustībai uz ziemeļiem, 90 uz austrumiem, 180 uz dienvidiem, 270 uz rietumiem.
  • “ddmmyy” - datums: mēneša diena, mēnesis, gada pēdējie 2 cipari (ir nepieciešamas sākuma nulles).
  • “x.x” ir magnētiskā deklinācija grādos (bieži vien trūkst), kas aprēķināta, izmantojot kādu modeli. Peldošā komata skaitlis. Mainīga garuma veselas un daļdaļas.
  • "n" - magnētiskās deklinācijas virziens: lai iegūtu magnētisko kursu, magnētiskā deklinācija ir "E" - jāatņem, "W" - jāpievieno patiesajam kursam.
  • "m" - režīma indikators: "A" - autonoms, "D" - diferenciālis, "E" - tuvinājums, "N" - neuzticami dati (bieži trūkst, šī lauka, ieskaitot komatu, trūkst vecākās NMEA versijās).
  • "hh" - kontrolsumma.
  • - baits ir 0x0D.
  • - baits ir 0x0A.

RMC virkņu piemēri

1. piemērs

$GPRMC,125504.049,A,5542.2389,N,03741.6063,E,0.06,25.82,200906,*17

Lauku vērtības:

  • 12 stundas 55 minūtes 4,049 sekundes UTC
  • "A" - uzticams
  • platums 55° 42,2389", ziemeļu
  • garums 37° 41,6063", austrumi
  • ātrums 0,06 mezgli

NMEA (National Marine Electronics Association) 2000 ir datu pārraides standarts navigācijas, sakaru un citām informācijas tīkla iekārtām.

Vairumā gadījumu NMEA2000 izmanto jūras lietojumos. Šis protokols ir balstīts uz datu pārsūtīšanas protokolu VAR(Controller Area Network), ko galvenokārt izmanto kuģu automatizācijā.

Nacionālā jūras elektronikas asociācija (NMEA) ir izstrādājusi īpašu protokolu, lai nodrošinātu dažādu ražotāju jūras produktu savietojamību.

Kopš tā izveides NMEA protokolā ir veiktas vairākas modifikācijas, lai iekļautu jaunus laukus un ziņojumus. Pašreizējā versija, ko atbalsta lielākā daļa uztvērēju versija 2.3, lai gan jau ir publicēts apraksts par jauno versija 3.0.

NMEA ziņojumi

NMEA 2000 apraksta ne tikai saņemtos datus, bet arī mērījumus , , barometri un citas navigācijas ierīces, ko izmanto uz kuģiem. Lielākajai daļai portatīvo GPS uztvērēju datu apmaiņas interfeiss ir ieviests saskaņā ar NMEA specifikāciju. Lielākā daļa navigācijas programmu, kas nodrošina reāllaika datu displeja atbalstu un "saprot" NMEA protokolu. Šie dati satur pilnus GPS uztvērēja navigācijas mērījumus – pozīciju, ātrumu un laiku.

Pilna NMEA ziņojuma specifikācija nav publiski pieejama, un to nevar oficiāli lejupielādēt elektroniski. Tā atsevišķās sadaļas, vispārīgs NMEA protokola apraksts un populārākie ziņojumi ir atrodami internetā. Jūs varat oficiāli iegādāties NMEA dokumentāciju vietnē //www.nmea.org/.

Izejošie NMEA ziņojumi

Visi NMEA ziņojumi sastāv no secīgas datu kopas, kas atdalīta ar komatiem. Katrs atsevišķais ziņojums ir neatkarīgs no citiem un ir pilnībā “pilnīgs”. NMEA ziņojumā ietilpst:

  • virsraksts,
  • datu kopa, ko attēlo ASCII rakstzīmes,
  • “kontrolsummas” lauks, lai pārbaudītu pārsūtītās informācijas precizitāti.

Virsraksts

Parasti nosaukums sastāv no piecām rakstzīmēm. Pirmās divas rakstzīmes nosaka ziņojuma veidu, bet pārējās trīs norāda tā nosaukumu. Piemēram, GPS NMEA ziņojumu galvene sākas ar "GP". Ziņojumi, kas nav aprakstīti NMEA specifikācijā, bet ir ieviesti GPS uztvērējos saskaņā ar vispārīgiem noteikumiem, tiek apzīmēti ar "P", kam seko trīs katram uzņēmumam unikālas rakstzīmes. Piemēram, NMEA ziņojumiem ir prefikss "PGRM", Magellan - "PMGN".

Dati

Katrs NMEA ziņojums sākas ar "$", beidzas ar "\n" (rindas plūsma) un nedrīkst būt garāks par 80 rakstzīmēm. Visi dati ir ietverti vienā rindā un atdalīti ar komatiem. Informācija tiek sniegta ASCII teksta veidā, un tai nav nepieciešama īpaša dekodēšana. Ja dati neietilpst piešķirtajās 80 rakstzīmēs, tie tiek “sadalīti” vairākos ziņojumos. Šis formāts ļauj neierobežot atsevišķos datu laukos rakstzīmju precizitāti un skaitu. Piemēram, koordinātu vērtības daļdaļu var attēlot ar trīs vai četrām zīmēm aiz komata, taču tas nekādā veidā nedrīkst ietekmēt programmatūras darbību, kas no ziņojuma izņem nepieciešamos datus pēc lauka numura.

Lauks "Kontrolsumma".

Katra beigās NMEA Ziņojumā ir lauks “kontrolsumma”, kas no datiem ir atdalīts ar simbolu “*”. Ja nepieciešams, to var izmantot, lai pārbaudītu katra saņemtā ziņojuma integritāti un derīgumu.

Ienākošie NMEA ziņojumi

NMEA 2000 protokols atbalsta ne tikai izejošās, bet arī ienākošās ziņas, ar kurām, piemēram, var atjaunināt vai pievienot maršruta pieturas punktus. Šie ziņojumi ir stingri jāformatē NMEA formātā, pretējā gadījumā tie tiks ignorēti.

ziņojumu saraksts

NMEA protokols apraksta lielu dažādu ziņojumu sarakstu, no kuriem divi desmiti tiek aktīvi izmantoti navigācijas iekārtās. Pateicoties lielajai popularitātei un vienkāršai datu pasniegšanai, NMEA protokols ir atradis pielietojumu ne tikai jūras aprīkojumā, bet arī ģeodēziskajos, sadzīves un aviācijas GPS uztvērējos.

AAM — ierašanās pieturas punktā
ALM — Almanaha dati
APA — autopilota dati “A”
APB — autopilota dati “B”
BOD – virziens uz galamērķi
DTM — Datum in Use
GGA — informācija par fiksētu risinājumu
GLL — platuma un garuma dati
GSA — vispārējā satelīta informācija
GSV — detalizēta informācija par satelītu
MSK – vadības nodošana bāzes uztvērējam
MSS — pamata uztvērēja statuss
RMA — ieteicamā Loran datu kopa
RMB — ieteicamā GPS navigācijas datu kopa
RMC — ieteicamā minimālā GPS datu kopa
RTE — maršruta informācija
VTG — kustības un ātruma vektors
WCV – ātruma dati pie maršruta punkta
WPL — ceļa punkta dati
XTC — novirzes no trases kļūda
XTE — izmērīta ārpus trases kļūda
ZTG – UTC laiks un atlikušais laiks līdz ierašanās galamērķī
ZDA — datums un laiks

Daži NMEA ziņojumi var saturēt tos pašus datu laukus vai pilnībā saturēt citu, mazāku NMEA ziņojumu datus.

1. GGA – informācija par fiksētu risinājumu.

Populārākā un visbiežāk lietotā NMEA ziņa sniedz informāciju par aktuālo fiksēto risinājumu – horizontālās koordinātes, augstuma vērtību, izmantoto satelītu skaitu un risinājuma veidu.

$GPGGA,123519,4807.038,N,01131.000,E,1.08,0.9,545.4,M,46.9,M,*47 Kur:

GGA — NMEA galvene

123519 — UTC laiks 12:35:19

4807.038, Z – platums, 48 ​​grādi 7.038 minūtes ziemeļu platuma

01131 000, E – garums, 11 grādi 31 000 minūtes austrumu garuma

1 – risinājuma veids*, StandAlone risinājums

08 – izmantoto satelītu skaits

0,9 – ģeometriskais koeficients, HDOP

545,4, M – augstums virs jūras līmeņa metros

46,9, M – ģeoīda augstums virs WGS 84 elipsoīda

[tukšs lauks] – laiks, kas pagājis kopš pēdējās DGPS korekcijas saņemšanas. Aizpilda, kad ir aktivizēts DGPS režīms

[tukšs lauks] – bāzes stacijas identifikācijas numurs. Aizpilda, kad ir aktivizēts DGPS režīms.

*Risinājumu veidi:

2. GSA – vispārīga informācija par satelītiem

Šis NMEA ziņojums satur atrašanās vietas aprēķinā izmantoto satelītu sarakstu un ģeometrisko DOP vērtības, kas nosaka pozīcijas aprēķina precizitāti. DOP parametrus nosaka satelītu ģeometriskais izvietojums debesīs. Jo labāk satelīti ir “izplatīti” debesīs, jo zemāks ir DOP un labāka pozīcijas precizitāte. Minimālā PDOP vērtība (= 1) atbilst situācijai, kad viens satelīts atrodas tieši virs lietotāja, bet pārējie 3 ir vienmērīgi sadalīti horizonta līmenī. PDOP vērtību aprēķina kā kvadrātsakni no HDOP un VDOP kvadrātu summas.

$GPGSA,A,3,04,05,09,12,24,2.5,1.3,2.1*39 Kur:

GSA — NMEA galvene

A – izvēles veids starp 2D un 3D risinājumiem, automātisks (A-auto, M-manual)

3 – risinājuma veids, 3D risinājums (1 – bez risinājuma, 2 – 2D risinājums, 3 – 3D risinājums)

04.05… – PRN kodi, ko izmanto satelītu pozīciju aprēķināšanai (12 lauki)

2,5 – telpiskais ģeometriskais faktors, PDOP

1.3 – horizontālais ģeometriskais koeficients, HDOP

2.1 – vertikālais ģeometriskais koeficients, VDOP

3. GSV – detalizēta informācija par satelītiem

Šis NMEA ziņojums satur detalizētu informāciju par visiem GPS navigatora izsekotajiem satelītiem. Pamatojoties uz 80 rakstzīmju ierobežojumu, viens NMEA ziņojums var pārsūtīt datus tikai par 4 satelītiem. Attiecīgi 12 satelītiem ir nepieciešami 3 GSV ziņojumi. SNR (Signal to Noise Ration) lauks satur no satelītiem saņemto navigācijas signālu līmeņu vērtības. Teorētiski tā vērtība var svārstīties no 0 līdz 99, un to mēra dB. Faktiski signāla līmenis ir diapazonā no 25 ... 35 dB. Šeit ir vērts atzīmēt, ka šis parametrs nav absolūts un nav piemērots dažādu modeļu un ražotāju uztvērēju jutības salīdzināšanai. GPS navigatori var izmantot dažādus algoritmus saņemtā signāla līmeņa aprēķināšanai, kas rada dažādus rezultātus ar vienādu uztvērēju jutības pakāpi. Par katru redzamo GPS satelītu tiek pārraidīts informācijas kopums, tostarp signāla stiprums, pacēluma leņķis un satelīta azimuts. Šo “komplektu” skaitu nosaka kopējais redzamo satelītu skaits, kuru vērtība tiek pārraidīta atsevišķā laukā.

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

GSV — NMEA galvene

2 – GSV ziņojumu skaits iepakojumā

1 – ziņojuma numurs iepakojumā (no 1 līdz 3)

08 – redzamo satelītu skaits

01 – satelīta numurs

40 – pacēluma leņķis, grādos

083 – azimuts grādos

46 – SNR, signāla līmenis

Šis NMEA ziņojums satur visu tā saukto “PVT” datu kopu. "PVT" ir izplatīts saīsinājums vārdam "pozīcija, ātrums, laiks".

$GPRMC,123519,A,4807.038,N,01131.000,E,022.4,084.4,230394,003.1,W*6A Kur:

RMC — NMEA galvene 123419 — UTC laiks, 12:34:59

A — statuss (A — aktīvs, V — ignorēts)

NMEA 0183– GPS uztveršanas moduļos izmantotais teksta sakaru protokols. Šis standarts tika izveidots jūras navigācijas iekārtu saziņai. Protokols nodrošina teksta komandu un ziņojumu pārsūtīšanu, izmantojot ASCII rakstzīmes. Tādējādi, lai saņemtu ziņojumus, pietiek izmantot UART seriālo interfeisu, savukārt visus ziņojumus var pārsūtīt tieši uz datoru, izmantojot COM portu, taču neaizmirstot par nepieciešamību pārveidot signāla līmeņus.

GPS modulis pārraida dažādu formātu ziņojumus, kas satur dažādas datu kopas: platums un garums, ātrums, virziens, laiks, satelītu skaits utt. Ziņojumi tiek pārsūtīti secīgi un ir sadalīti vairākos veidos, katra veida ziņojumu formātā ir ietverta stingri noteikta informācija savos laukos. Sīkāk apskatīsim GPS moduļa radīto ziņojumu vispārējo struktūru.

$ - katrs ziņojums sākas ar šo simbolu

Tam seko 5 teksta rakstzīmju identifikators. Pirmie divi burti norāda navigācijas sistēmas veidu, piem. "GP" - GPS vai " GL" - Glonass utt. Nākamās 3 rakstzīmes ir ziņojuma formāta identifikators, kas pilnībā nosaka turpmāko pārsūtīto datu saturu. Piemēram "RMC"- tie ir ieteicamie minimālie dati, kas satur informāciju par laiku un datumu, platumu un garumu, ātrumu, kursu un magnētisko novirzi grādos (var trūkt). Or "GSA", šeit tiks pārsūtīti satelīta dati. Tālāk tiks aplūkota galveno ziņojumu veidu struktūra.

Tad seko «,» - komats, aiz kura uzreiz seko ziņojuma pamatteksts ar dažādiem datiem, kas ir atdalīti viens no otra ar vienu un to pašu komatu. Ja nosūtītais skaitlis nav vesels skaitlis, tad atdalītājs starp veselo skaitli un daļskaitli ir punkts «.» .

Ziņojuma pamatteksta beigas ir norādītas ar simbolu «*» . Tālāk ir norādīta visu to rakstzīmju kontrolsumma, kas atrodas starp “$” un “*”, tas ir, viss ziņojuma pamatteksts, ieskaitot pašus datus un identifikatorus ziņojuma sākumā. Kontrolsummu aprēķina kā visu ziņojuma rakstzīmju heksadecimālo ASCII kodu XOR (izņemot VAI).

Un katra ziņojuma pašās beigās ir jābūt jaunās rindiņas rakstzīmēm

Apskatīsim dažādu ziņojumu veidu mērķi un struktūru.

R.M.C.– ieteicamie minimālie navigācijas dati. Ziņojumā ir norādīts minimālais nepieciešamais informācijas apjoms. Šie dati ietver platumu un garumu, datumu un laiku, kā arī ātrumu. Daudziem uzdevumiem vairāk nav nepieciešams, piemēram, modulī Quectel L50 Es izslēdzu visu citu veidu ziņojumu pārraidi, jo man absolūti nav vajadzīga informācija par satelītiem un to signālu līmeni. Un, lai saņemtu nevajadzīgu informāciju, ir jāsarežģī šo datu apstrādes programma. Ziņojuma struktūra ir šāda:

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

Šajā ziņojumā ir šāda informācija:

  • GPRMC– GPS satelītu sistēma, RMC ziņojuma identifikators
  • hhmmss.sss– laiks (Grinvičas laiks), kur hh – stundas, mm – minūtes, ss.sss – sekundes
  • A– dati ir ticami vai V– dati nav uzticami. Simbols A ziņa tiks nodrošināta, ka ir uzticama signālu uztveršana no satelītiem, kas nepieciešami atrašanās vietas datu aprēķināšanai. Simbols V notiks, ja uztvērējs neredz satelītus vai ja atrasto satelītu skaits nav pietiekams, lai droši aprēķinātu koordinātas. Piemēram, ja ieslēdzat GPS moduli kaut kur paneļu mājā un prom no logiem, jūs, visticamāk, redzēsit simbolu V saņemtajā ziņojumā.
  • ddmm.mmmm– platuma grādi, grādi un minūtes
  • N vai S- ziemeļi vai dienvidi. Puslode, kurā atrodaties. Ja atrodaties Austrālijā, tas tiks parādīts S. Jekaterinburgā mans GPS modulis dod N.
  • ddmm.mmmm– garums, grādi un minūtes
  • E vai W– rietumu vai austrumu puslode
  • v.v– ātrums mezglos
  • c. c– virziens virs zemes grādos. Virzoties uz ziemeļiem, būs 0 grādu.
  • ddmmgggg- datums
  • x.x– magnētiskā deklinācija
  • n– magnētiskās deklinācijas virziens. Es nevaru neko izskaidrot par šiem pēdējiem diviem parametriem. Piemēram, mans modulis GPS Quectel L50 pieņemšanas laikā dzīvoklī šos datus uz loga nemaz nerādīja, vienkārši izlaida.
  • m- navigācijas režīms: N- neprecīzi dati, A- autonoms, D- diferenciālis

Šeit ir RMC ziņojuma piemērs:

$GPRMC,105954.000,A,3150.6731,N,11711.9399,E,0.00,96.10,250313,A*53

  • GMT 10h 59m 54s
  • A– dati ir ticami
  • Platums 31 grāds un 50,6371 minūtes
  • N- ziemeļu
  • Garums 117 grādi 11,9399 minūtes
  • E- austrumu
  • Ātrums 0,00 mezgli
  • Nu 96,1 grādi
  • datums 2013. gada 25. marts
  • Dati par magnētiskā deklinācija neviens
  • Režīms - autonoma
  • Ziņojuma rakstzīmju kontrolsumma 0×053

Šeit ir jāatzīmē viens punkts. Platuma un garuma dati satur daļēju minūšu daļu, kas vispār neatbilst “sekunžu” skaitam, jo ​​tā ir decimāldaļdaļa. Izmēģinātās GPS programmas precīzi parāda koordinātas kartē. Bet, ievadot šos skaitļus Google Maps meklēšanas joslā, atrašanās vieta kartē būs vairākus kilometrus no faktiskās. Ievadot iegūtās koordinātas šajā gadījumā, platuma un garuma daļēja daļa ir jāsadala ar 60, lai pārvērstu šos skaitļus “sekundēs”. Kad es pirmo reizi pieslēdzu Quectel L50 moduli un ievadīju iegūtās platuma un garuma koordinātas Google maps meklēšanas joslā, es saņēmu pozīciju kartē ar būtisku kļūdu, kas norādīja vietu kaut kur Uralmash rajonā.

Šeit ir daži citi šajā protokolā izmantotie ziņojumu veidi:

  • VTG- patiesais kursa virziens un zemes ātrums
  • GGA- pēdējās atrašanās vietas dati
  • G.S.A.- dati par aktīvajiem satelītiem
  • GSV- dati par redzamajiem satelītiem, to atrašanās vieta un numuri, kā arī signāla stiprums
  • GLL- platuma, garuma un laika dati
  • ZDA- informācija par laiku un datumu

Es neiedziļinājos par to, no kā sastāv katrs ziņojums, raksta beigās ir norādīta saite uz dokumentu, kas apraksta protokolu. Konkrēts GPS moduļa veids var nepārsūtīt visus uzskaitītos datus. Varat atspējot vai iespējot dažāda veida datu pārraidi, kā arī iestatīt to piegādes periodu. Lai konfigurētu moduli, ir īpašas komandas, kas sākas ar identifikatoru $PSRFxxx, Kur xxx norāda komandas veidu un formātu, tāpat kā izejošajos ziņojumos.

Piemēram, komanda $PSRF100.0.9600.8.1.0*0C iestata sakaru protokolu un konfigurē seriālā porta parametrus.

  • $ PSRF 100 - vietējais SIRF protokola komandas identifikators
  • 0 – binārais SIRF protokols, 1 - NMEA protokols
  • 9600 – bits/s ātrums
  • 8 datu bits
  • 1 mazliet apstājies
  • 0 - paritātes pārbaude ir atspējota

Komanda $PSRF103.00.00.02.01*26 konfigurē izvades parametrus dažāda veida moduļa ziņojumiem:

  • $ PSRF 103– SIRF vietējā protokola komandas identifikators
  • pēc tam aiz komata ir divi cipari, kas nosaka pielāgotā ziņojuma veidu: 00 - GGA
    01 - GLL
    02 — GSA
    03 — GSV
    04 - RMC
    05 - VTG
  • nākamie divi cipari konfigurē ziņojumu izdošanas secību, piemēram: 00 - periodiski
    01 - pēc pieprasījuma
  • Šie cipari iestata ziņojuma periodu sekundēs: 00 = izslēgts (ziņojumi ir atspējoti)
    1-255 – intervāls starp šāda veida ziņojumiem sekundēs
  • tad moduļa pārsūtītajā NMEA ziņojumā ir iespējota/atspējota kontrolsummas pārraide: 00 – kontrolsummas pārraide ir atspējota
    01 – tiek pārsūtīta kontrolsumma
  • aiz “*” rakstzīmes, tāpat kā izejošajā NMEA ziņojumā, tiek pārsūtīta kontrolsumma un rindas padeves rakstzīmes.

Tas ir viss, ko es gribēju īsi aprakstīt par NMEA 0183 protokolu un moduļu vadības komandām SIRF mikroshēmojumā. Detalizētāka visu šo ziņojumu un komandu dekodēšana ir sniegta, piemēram, Quectel L50 moduļa protokola aprakstā, kuru var lejupielādēt no tālāk esošās saites.

NMEA protokola apraksts.

Ieviešana Garmin un GlobalSat uztvērējos

Ievads

Nacionālā jūras elektronikas asociācija (NMEA) ir izstrādājusi īpašu protokolu, lai uzturētu dažādu ražotāju jūras navigācijas iekārtu savietojamību. Šis NMEA protokols apraksta ne tikai datus, kas saņemti no GPS uztvērējiem, bet arī mērījumus no hidrolokatoriem, radariem, elektroniskajiem kompasiem, barometriem un citām navigācijas ierīcēm, ko izmanto uz jūras kuģiem. Lielākajai daļai portatīvo GPS uztvērēju datu apmaiņas interfeiss ir ieviests saskaņā ar NMEA specifikāciju. Lielākā daļa navigācijas programmu, kas nodrošina reāllaika datu displeja atbalstu un "saprot" NMEA protokolu. Šie dati satur pilnus GPS uztvērēja navigācijas mērījumus – pozīciju, ātrumu un laiku. Visi NMEA ziņojumi sastāv no secīgas datu kopas, kas atdalīta ar komatiem. Katrs atsevišķais ziņojums ir neatkarīgs no citiem un ir pilnībā “pilnīgs”. NMEA ziņojums ietver galveni, datu kopu, ko attēlo ASCII rakstzīmes, un kontrolsummas lauku, lai pārbaudītu pārsūtītās informācijas derīgumu. Standarta NMEA ziņojumu galvene sastāv no 5 rakstzīmēm, no kurām pirmās divas nosaka ziņojuma veidu, bet atlikušās trīs norāda tā nosaukumu. Piemēram, visiem GPS NMEA ziņojumiem ir prefikss "GP". Ziņojumi, kas nav aprakstīti NMEA specifikācijā, bet ir ieviesti GPS uztvērējos saskaņā ar vispārīgiem noteikumiem, tiek apzīmēti ar "P", kam seko trīs katram uzņēmumam unikālas rakstzīmes. Piemēram, Garmin “vietējiem” NMEA ziņojumiem ir prefikss “PGRM”, Magellan – “PMGN” Katrs NMEA ziņojums sākas ar “$”, beidzas ar “\n” (“rindas plūsma”) un nedrīkst būt garāks par 80 rakstzīmēm. . Visi dati ir ietverti vienā rindā un atdalīti viens no otra ar komatiem. Informācija tiek sniegta ASCII teksta veidā, un tai nav nepieciešama īpaša dekodēšana. Ja dati neietilpst piešķirtajās 80 rakstzīmēs, tie tiek “sadalīti” vairākos NMEA ziņojumos. Šis formāts ļauj neierobežot atsevišķos datu laukos rakstzīmju precizitāti un skaitu. Piemēram, koordinātu vērtības daļēja daļa var tikt attēlota ar 3 vai 4 cipariem aiz komata, taču tas nekādā veidā nedrīkst ietekmēt programmatūras darbību, kas no ziņojuma atlasa nepieciešamos datus pēc lauka numura. Katra NMEA ziņojuma beigās ir lauks “kontrolsumma”, kas no datiem ir atdalīts ar rakstzīmi “*”. Ja nepieciešams, to var izmantot, lai pārbaudītu katra saņemtā ziņojuma integritāti un derīgumu. NMEA protokols atbalsta ne tikai izejošās, bet arī ienākošās ziņas, ar kurām, piemēram, var atjaunināt vai pievienot maršruta pieturas punktus. Šie ziņojumi ir jāģenerē stingri saskaņā ar NMEA formātu, pretējā gadījumā GPS uztvērējs tos vienkārši ignorēs. Ir vērts atzīmēt, ka ne visas navigācijas programmas un uztvērēju modeļi atbalsta šo režīmu, jo tie izmanto patentētus ražotāju protokolus - Garmin, Magellan utt., lai ielādētu punktus un maršrutus. Kopš tā izveides NMEA protokolā ir veiktas vairākas modifikācijas, kas saistītas ar jaunu lauku un ziņojumu pievienošanu. Pašreizējā versija, ko atbalsta lielākā daļa uztvērēju, ir versija 2.3, lai gan jau ir publicēta jauna versija 3.0. Pilnīga NMEA ziņojumu specifikācija nav publiski pieejama, un to nevar oficiāli lejupielādēt elektroniskā veidā. Tās atsevišķās sadaļas, vispārīgs NMEA protokola apraksts un populārākie ziņojumi ir atrodami internetā. Jūs varat oficiāli iegādāties NMEA dokumentāciju vietnē http://www.nmea.org/.

ziņojumu saraksts

NMEA protokols apraksta lielu dažādu ziņojumu sarakstu, no kura var identificēt divus desmitus ziņojumu, kas aktīvi tiek izmantoti navigācijas iekārtās. Pateicoties lielajai popularitātei un vienkāršai datu pasniegšanai, NMEA protokols ir atradis pielietojumu ne tikai jūras aprīkojumā, bet arī ģeodēziskajos, sadzīves un aviācijas GPS uztvērējos.

    AAM – ierašanās pieturas punktā

    ALM — Almanaha dati

    APA — autopilota dati “A”

    APB — autopilota dati “B”

    BOD – virziens uz galamērķi

    DTM — Datum in Use

    GGA — informācija par fiksētu risinājumu

    GLL — platuma un garuma dati

    GSA — vispārējā satelīta informācija

    GSV — detalizēta informācija par satelītu

    MSK – vadības nodošana bāzes uztvērējam

    MSS — pamata uztvērēja statuss

    RTE — maršruta informācija VTG — kustības un ātruma vektors

    WCV - ātruma dati pie ceļa punkta

    WPL — ceļa punkta dati

    XTC — ārpus trases kļūda

    XTE — izmērīta ārpus trases kļūda

    ZTG – UTC laiks un atlikušais laiks līdz ierašanās galamērķī

    ZDA — datums un laiks.

Daži NMEA ziņojumi var saturēt tos pašus datu laukus vai pilnībā saturēt citu, mazāku NMEA ziņojumu datus.

GGA - informācija par fiksētu risinājumu.

Populārākā un visbiežāk lietotā NMEA ziņa sniedz informāciju par aktuālo fiksēto risinājumu – horizontālās koordinātes, augstuma vērtību, izmantoto satelītu skaitu un risinājuma veidu.

$GPGGA,123519,4807.038,N,01131.000,E,1.08,0.9,545.4,M,46.9,M,*47

GGA — NMEA galvene

123519 – UTC laiks 12:35:19

4807.038, Z – platums, 48 ​​grādi 7.038 minūtes ziemeļu platuma

01131 000, E – garums, 11 grādi 31 000 minūtes austrumu garuma

1 - tipa risinājums, StandAlone risinājums

08 – izmantoto satelītu skaits

0,9 – ģeometriskais koeficients, HDOP

545,4, M – augstums virs jūras līmeņa metros

46,9, M – ģeoīda augstums virs WGS 84 elipsoīda

[tukšs lauks] – laiks, kas pagājis kopš pēdējās DGPS korekcijas saņemšanas. Aizpilda, kad ir aktivizēts DGPS režīms

[tukšs lauks] – bāzes stacijas identifikācijas numurs. Aizpilda, kad ir aktivizēts DGPS režīms.

GSA – vispārīga informācija par satelītiem.

Šis NMEA ziņojums satur atrašanās vietas aprēķinā izmantoto satelītu sarakstu un ģeometrisko DOP vērtības, kas nosaka pozīcijas aprēķina precizitāti. DOP parametrus nosaka satelītu ģeometriskais izvietojums debesīs. Jo labāk satelīti ir “izplatīti” debesīs, jo zemāks ir DOP un labāka pozīcijas precizitāte. Minimālā PDOP vērtība (= 1) atbilst situācijai, kad viens satelīts atrodas tieši virs lietotāja, bet pārējie 3 ir vienmērīgi sadalīti horizonta līmenī. PDOP vērtību aprēķina kā kvadrātsakni no HDOP un VDOP kvadrātu summas.

$GPGSA,A,3,04,05,09,12,24,2.5,1.3,2.1*39

    GSA — NMEA galvene

    A – izvēles veids starp 2D un 3D risinājumiem, automātisks (A-auto, M-manual)

    3 – risinājuma veids, 3D risinājums (1 – bez risinājuma, 2 – 2D risinājums, 3 – 3D risinājums)

    04.05… - PRN kodi, ko izmanto satelītu pozīciju aprēķināšanai (12 lauki)

    2,5 – telpiskais ģeometriskais faktors, PDOP

    1.3 – horizontālais ģeometriskais koeficients, HDOP

    2.1 – vertikālais ģeometriskais koeficients, VDOP

GSV — detalizēta informācija par satelītiem

Šis NMEA ziņojums satur detalizētu informāciju par visiem GPS navigatora izsekotajiem satelītiem. Pamatojoties uz 80 rakstzīmju ierobežojumu, viens NMEA ziņojums var pārsūtīt datus tikai par 4 satelītiem. Attiecīgi 12 satelītiem ir nepieciešami 3 GSV ziņojumi. SNR (Signal to Noise Ration) lauks satur no satelītiem saņemto navigācijas signālu līmeņu vērtības. Teorētiski tā vērtība var svārstīties no 0 līdz 99, un to mēra dB. Faktiski signāla līmenis ir diapazonā no 25 ... 35 dB. Šeit ir vērts atzīmēt, ka šis parametrs nav absolūts un nav piemērots dažādu modeļu un ražotāju uztvērēju jutības salīdzināšanai. GPS navigatori var izmantot dažādus algoritmus saņemtā signāla līmeņa aprēķināšanai, kas rada dažādus rezultātus ar vienādu uztvērēju jutības pakāpi. Par katru redzamo GPS satelītu tiek pārraidīts informācijas kopums, tostarp signāla stiprums, pacēluma leņķis un satelīta azimuts. Šo “komplektu” skaitu nosaka kopējais redzamo satelītu skaits, kuru vērtība tiek pārraidīta atsevišķā laukā.

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

    GSV — NMEA galvene

    2 – GSV ziņojumu skaits iepakojumā

    1 – ziņojuma numurs iepakojumā (no 1 līdz 3)

    08 – redzamo satelītu skaits

    01 – satelīta numurs

    40 – pacēluma leņķis, grādos

    083 – azimuts grādos

    46 – SNR, signāla līmenis

Šis NMEA ziņojums satur visu tā saukto “PVT” datu kopu. "PVT" ir izplatīts saīsinājums vārdam "pozīcija, ātrums, laiks".

$GPRMC,123519,A,4807.038,N,01131.000,E,022.4,084.4,230394,003.1,W*6A

    RMC — NMEA galvene

    123419 — UTC laiks, 12:34:59

    A — statuss (A — aktīvs, V — ignorēts)

    4807.038,N – platums, 48 ​​grādi 07.038 minūtes ziemeļu platuma

    01131 000, E – garums, 11 grādi 31 000 minūtes austrumu garuma

    022.4 – ātrums, mezglos

    003.1,W – Magnētiskās variācijas

GLL - platuma un garuma dati

NMEA ziņojums ar platuma un garuma koordinātām un laiku, kurā šis risinājums tika aprēķināts.

$GPGLL,4916.45,N,12311.12,W,225444,A,*31

    GLL — NMEA galvene

    4916.46,Z – platums, 49 grādi 16.45 minūtes uz ziemeļiem

    12311,12,R garums, 123 grādi 11,12 minūtes rietumu garuma

    225444 — fiksācijas laiks UTC laika skalā, 22:54:44

BOD — azimuts līdz galamērķim

Šis NMEA ziņojums norāda virzienu uz galamērķi navigācijas režīmā.

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

    BOD — NMEA galvene

    045.,T – patiesais virziens uz punktu

    023.,M – magnētiskais virziens uz punktu

    DEST – galapunkta identifikācijas numurs

    START – starta punkta identifikācijas numurs

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

    RMB — NMEA galvene

    A — datu tips (A — aktīvs, V — ignorēts)

    0.66,L – novirze no trases. Parametrs ir definēts jūras jūdzēs. (L — pa kreisi, R — pa labi)

    003 - sākuma punkta identifikācijas numurs

    004 - galapunkta identifikācijas numurs

    4917.24,N – beigu punkta platuma vērtība, 49 grādi 17.24 minūtes ziemeļu platuma grādi

    12309.57,W – beigu punkta garuma vērtība, 123 grādi 09.57 minūtes rietumu garuma

    001.3 – attālums līdz punktam, jūras jūdzēs

    000,5 – ātrums, mezglos

    V – ierašanās informācija (A – ierašanās, V – punkts vēl nav sasniegts)

RTE — maršruta informācija

NMEA RTE ziņojums parāda pieturas punktu sarakstu aktīvajā maršrutā. Ir divu veidu RTE ziņojumi. Pirmajā gadījumā tiek parādīti visi maršruta punkti. Otrajā ir tikai saraksts ar atlikušajiem punktiem, kas vēl jāapmeklē, pārvietojoties pa maršrutu. Ņemot vērā, ka NMEA protokolam ir ierobežojums, saskaņā ar kuru ziņojuma garums nedrīkst pārsniegt 80 rakstzīmes, RTE ziņojums var sastāvēt no vairākām rindām.

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

    RTE — NMEA galvene

    2 – kopējais ziņojumu skaits, lai parādītu pilnu datu sarakstu

    1 – ziņojuma numurs no vispārējā saraksta

    с – RTE ziņojuma veids (с – pilns maršruta punktu saraksts, w – to punktu saraksts, kuri vēl jāapmeklē)

    0 – maršruta identifikators

    W3IWI,DRIVWY,.. - pieturas punktu saraksts

Garmin funkcijas

Garmin uztvērēji atbalsta lielāko daļu NMEA ziņojumu, kas satur GPS mērījumus, pozīcijas un laiku - GGA, GLL, GSA, GSV, RMC. Kā arī navigācijas ziņojumi - RMB, BOD

Lai parādītu šos ziņojumus, uztvērēja iestatījumos ir jāmaina interfeiss no “Garmin” uz “NMEA” un, iespējams, jāiestata vēlamais ātrums. Tāds pats ātrums ir jāiestata navigācijas programmā seriālā porta iestatījumos, kuram ir pievienots navigators.

Diemžēl uztvērēji ar USB portu neatbalsta NMEA protokolu, ierobežojot tā iestatījumus tikai ar Garmin protokolu.

Lai parādītu informāciju, kas tiek ievadīta datora seriālajā portā, varat izmantot Windows termināļa programmu vai kādu no navigācijas programmām, kas atbalsta šo līdzekli.

Zemāk ir saraksts ar Garmin eMap uztvērēja NMEA ziņojumiem, kas ir ietverti vienā laikmetā.

$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

Papildus standarta NMEA ziņojumiem Garmin uztvērēji ievieš savu ziņojumu kopu, no kurām katra galvenē satur "GRM" prefiksu, "M" vai "Z" identifikatoru, kas identificē datu tipu, un vienu nosaukuma rakstzīmi.

PGRME — pozicionēšanas kļūdas novērtējums

$PGRME, 15.0,M,45.0,M,25.0,M*1C

    15.0,M – horizontālās pozicionēšanas kļūdas novērtējums, metros

    45,0,M – vertikālās kļūdas novērtējums, metros

    25.0,M – ekvivalenta sfēriskā pozicionēšanas kļūda

PGRMZ – augstuma mērījumi

$PGRMZ,93,f,3*21

    93,f – auguma vērtība, mārciņās

    3 — pozīcijas mērīšanas nosacījumi (2 — lietotāja definēts augstums,

    3 — GPS aprēķināts augstums)

PGRMM – pašreizējais datums

$PGRMM,NAD27 Kanāda*2F

    NAD27 Kanāda – pašreizējā horizontālā datu punkta nosaukums

Sirf funkcijas

Sirf GPS mikroshēmas tiek izmantotas dažādās GPS navigācijas iekārtās, sākot no parastajiem dēļiem līdz pārnēsājamiem un automašīnu GPS navigatoriem. Bet atšķirībā no navigatoriem tie atbalsta tikai NMEA ziņojumus, kas saistīti ar GPS mērījumiem, pozīcijas un laika aprēķiniem – GGA, GLL, GSA, GSV, RMC, VTG, ZDA.

"Sirf" atbalsta arī vairākus "ienākošos" NMEA ziņojumus, kas paredzēti dažādu parametru konfigurēšanai un regulēšanai. Turklāt Sirf ievieš savu bināro protokolu, kas ļauj mainīt ievērojami vairāk iestatījumu. Šie 5 "ienākošie" NMEA ziņojumi saskaņā ar noteikumiem sākas ar prefiksu $PSFR. Visi ziņojumi satur fiksētu datu kopu un beidzas ar rakstzīmi “\n” (rindas plūsma)

“Sirf” parametru konfigurēšanai tiek izmantota īpaša programma “SirfTech”. NMEA ziņojuma parametri tiek konfigurēti atsevišķā izvēlnes vienumā.

$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*7 B

$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

Kā redzams iepriekš minētajā piemērā, rūpnīcas iestatījumos ir mazāk NMEA ziņojumu, salīdzinot ar Garmin iestatījumiem. Ja nepieciešams, šo kopu var paplašināt, iestatot periodu trūkstošajos NMEA ziņojumos.

$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,100834.000,05/20/2007,*5A

PSFR100, PSFR102 – seriālā porta konfigurācija

NMEA ziņojuma numurs 100 tiek izmantots, lai iestatītu portu A, ziņojums 102 - ports B. Ziņojumam 100 ir papildu lauks, kas ļauj pārslēgt interfeisu uz bināro Sirf protokolu.

Attiecīgi binārajā protokolā ir komanda, kas pārslēdz portu atpakaļ uz NMEA formātu. Pirms pārslēgšanās uz bināro protokolu jums ir jāsaprot, vai ir programma, kas nākotnē ļaus atjaunot NMEA protokolu.

$PSRF100.0.9600.8.1.0*0C

$PSRF102.9600.8.1.0*3C

    PSRF100 – NMEA galvene

    0 – parametrs, kas norāda, kurā režīmā protokols tika mainīts (0-Sirf, 1-NMEA)

    9600 — porta ātrums (4800, 9600, 19200, 38400)

    8 — datu biti (7, 8)

    1 — stopbiti (0,1)

    0 — savienošana pārī (0 — nav, 1 nepāra, 2 pāra)

PSFR101, PSFR104 – uztvērēja parametru inicializācija

NMEA ziņojumi ar numuru 101 un 104 ir paredzēti, lai inicializētu parametrus, kas paredzēti GPS uztveršanai. Šo parametru noteikšana var paātrināt GPS satelītu iegūšanas laiku. Ziņojums 101 nosaka pašreizējās koordinātas XYZ formātā, ziņojums 104 – BLH (garuma, platuma) formātā.

$PSRF101,-2686700,-4304200,3851624,95000,497260,921,12.3*22

$PSRF104.37.3875111.-121.97232.0.95000.237759.922.12.3*3A

    PSRF101 – NMEA galvene

    37.3875111 – platums grādos

    121,97232 – garums grādos

    0 – augstums, metros

    95000 – pulksteņa maiņa

    237759 – GPS laiks, sekundēs

    922 – GPS nedēļas numurs

    12 – kanālu skaits

    3 – datu inicializācijas veids (1 – karstā palaišana, 2 – siltā palaišana, 3 – datu inicializācija, 4 – aukstā palaišana ar pilnīgu datu notīrīšanu, 8 – aukstā palaišana ar rūpnīcas iestatījumu atjaunošanu)

PSFR103 – NMEA ziņojumu ģenerēšanas konfigurācija

Šis NMEA ziņojums ļauj iestatīt vai pieprasīt katra "izejošā" NMEA ziņojuma ģenerēšanas periodu.

$PSRF103.05.00.01.01*20

    PSRF103 – NMEA galvene

    05 – ziņojuma nosaukums

    01 — periods, sekundēs (0–255)

    01 - kontrolsummas esamība (0 - jā, 1 - nē)

Eksperimentu rezultāti

Normālas satelīta redzamības apstākļos Garmin eMap uztvērējs rada šādu NMEA ziņojumu kopu:

$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

$PGRMM,WGS 84*06

$GPRTE,1,1,c,*37

No ziņojumu analīzes ir skaidrs, ka uztvērējs šobrīd izseko 10 (GSV) satelītus, no kuriem 7 (GGA) tiek izmantoti pozīcijas aprēķināšanai. Horizontālās pozicionēšanas kļūda ir vienāda ar 6 metriem (RME), un risinājuma tipa indikators ir 1 (GGA)

Ja radīsiet apstākļus, kādos GPS signāls netiks uztverts, GGA ziņojumos būs “tukši” lauki, un lēmuma tipa indikators saņems vērtību 0 (GGA).

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

$GPGSA,A,1,,*1E

"Parastā" režīmā RMB un BOD ziņojumos ir tukši lauki. Kad ceļa pieturas punkts tika izvēlēts kā galamērķis, šie lauki tika aizpildīti ar datiem. Kā izriet no ziņojuma analīzes, attālums līdz punktam ir 1620 jūdzes, kustības azimuts ir 6,3 grādi (BOD). Tajā pašā laikā BOD un RMB ziņojumu azimuts atšķiras par 0,1 grādu.

$GPRMB,A,0.00,R,Ceļš,5524.501,N,03710.445,E,1.620,6.4,V,A*59

$GPBOD,6.3,T,357.0,M,Ceļš,*74

Kad navigācijai ir izvēlēts mājas maršruts, RTE ziņojumu sarakstā tiek parādīts visu maršruta pieturas punktu saraksts. Un RMB ziņojumā - maršruta sākuma un beigu (nākamo) punktu identifikācijas numuri.

$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

Secinājums

Vairumā gadījumu lietotājam nav nepieciešams zināt, kādi dati un kādos laukos tiek pārsūtīti, un tas nav ieinteresēts. Lielākā daļa navigācijas programmu “parsē” NMEA ziņojumu datus un parāda tos lietotājam draudzīgā formā - grafikos, diagrammās, tabulās utt.

Īpaši interesanti ir NMEA ziņojumi lietotājiem, kuri vēlas veikt GPS datu izpēti, aprēķināt iegūto mērījumu aplēses vai analizēt navigācijas uztvērēju darbību dažādos apstākļos. Šo problēmu risināšanai var izmantot vairākas programmas.

Tomēr NMEA formāts nav paredzēts GPS datu dziļai analīzei, jo tas nesatur tā sauktos “neapstrādātos” mērījumus - pseido diapazonus, fāzes, Dopleru. Katram navigācijas iekārtu ražotājam ir savs “atvērtais” vai “slēgts” protokols, kas parāda šo informāciju

NMEA ir vienkāršs un saprotams formāts, kas ne tikai ļauj veikt datu apmaiņu starp GPS uztvērējiem un navigācijas programmām, bet arī sniedz lietotājiem priekšstatu par satelītnavigācijas iekārtu darbības principiem.

Uzmanību!

Raksts no vietnes " GPS portāls"



 

Varētu būt noderīgi izlasīt: