Kodi burimor i përpunimit të protokollit Nmea. Përshkrimi i protokollit NMEA

Më duhej të testoja një aplikacion që përdor të dhënat GNSS mbi protokollin NMEA. Ishte për shkak të faktit se isha duke punuar në një projekt për një program navigimi të avionëve, testimi në ajër është natyrisht i shtrenjtë, drejtimi i një makine me një marrës GNSS në tokë nuk është veçanërisht i përshtatshëm, kështu që doja të kisha të dhëna të protokollit NMEA nga lëvizja e supozuar e pajisjeve në një port paralel virtual ndërsa jam ulur në tavolinën time. Në fillim po kërkoja softuer të ndryshëm, mendova se do të gjeja diçka të përshtatshme, por shumica paguhen dhe kontrollet e emulimit të të dhënave nuk janë shumë të përshtatshme, megjithëse imitojnë pothuajse të gjithë parametrat e standardit NMEA. Por më duhej diçka e thjeshtë që të imitonte koordinatat, shpejtësinë, në thelb asgjë më shumë, dhe më duheshin kontrolle mjaft të përshtatshme dhe logjike. Kështu që më duhej të shkruaja një aplikacion të këtij lloji në C#.

Fly_nmea


NMEA ("Shoqata Kombëtare e Elektronikës Detare") - emri i plotë është "NMEA 0183" - një protokoll teksti për komunikimin midis pajisjeve detare (zakonisht navigimit).
Të dhënat transmetohen në formën e fjalive. Formati i propozimit është si më poshtë:
$AAAAA[,<данные>]*hh , Ku:
$ - simboli i fillimit të fjalisë (kodi 24h);
AAAAA - Adresa (emri) me pesë karaktere e ofertës;
[, <данные>] - lista e fushave të të dhënave të ndara me presje (kodi 2Сh);
* - shenja kontrolli (kodi 2Ah);
hh - shuma e kontrollit.

Shembull fjali:
GGA – të dhënat e vendndodhjes GPS
Koha, vendi dhe të dhënat në lidhje me vëzhgimin.
$GPGGA,hhmmss.sss,llll.ll,a,vvvv.vg,a,x,xx,x.x,x.x,M,x.x,M,x.x,xxx*hh

Më duhej të imitoja katër rreshta:

  • GLL – Koordinatat e vendndodhjes
  • GSV – Satelitë të dukshëm
  • RMC – Paketa minimale e rekomanduar e të dhënave për GPS dhe GLONASS
  • GSA - Faktori i degradimit të saktësisë që përdoret për satelitët e navigimit
Emulimi organizohet në rendin e mëposhtëm:
  • ne vendosëm koordinatat fillestare në sistemin WGS-84
  • pastaj shkojmë në një projeksion të sheshtë, për shembull Mercator (për të konvertuar koordinatat kam përdorur një bibliotekë të gatshme në C#)
  • Duke ditur koordinatat e planit x, y, h, ne zbatojmë fizikën e lëvizjes së avionit duke përdorur parametra të ndryshueshëm përmes një ndërfaqe grafike, si: rrotullimi, hapi, shpejtësia.
  • konvertoni koordinatat e sheshta në koordinatat B, L, H të sistemit WGS-84
  • ne formojmë një paketë mesazhesh standarde NMEA nga katër linjat e kërkuara
  • dërgojini ato në portin paralel virtual
Fly_nmea + Sensori Android
Për testim më të përshtatshëm, rregullova gjithashtu marrjen e të dhënave nga sensorët Android (këndet e animit). Android dërgon dy linja si:
  • "Këndi:\t236.04152\t-1.0\t-3.0"
  • "Acc:\t-0.46309182\t-0.14982383\t-10.56939"
Në aplikacionin e emulimit, unë i pranoj ato dhe, bazuar në këndet e prirjes, ndryshoj parametrat:
  • Katrani
Në aplikacionin emulues, mund të kaloni nga kontrolli përmes ndërfaqes së programit në sensorin Android.
Lidhja Fly_nmea
Për të imituar portet COM, Emulatori Virtual Serial Ports është gjithashtu i dobishëm, do t'ju duhet të konfiguroni lidhjen e dy porteve virtuale COM, për shembull: COM1<->COM6, dhe programi Fly_nmea do të dërgojë të dhëna në COM6 dhe në COM1 do t'i marrë ato një program që përdor protokollin NMEA.

konkluzioni

Në përgjithësi, kalova më shumë kohë duke kërkuar për një softuer të tillë, dhe duke mos gjetur diçka që do të më kënaqte plotësisht, e shkrova shpejt vetë. Përveç projektit me të cilin po punoja, arrita të lidhja me mjaft sukses emulatorin me programe që kuptojnë protokollin NMEA, si 2Gis dhe SAS planet.



FlyNMEA dhe sensor android (projekt për transmetimin e të dhënave nga sensorët përmes UDP)

NMEA 0183(nga " Shoqata Kombëtare e Elektronikës Detare") - një standard që përcakton një protokoll teksti për komunikimin e pajisjeve detare (zakonisht të navigimit) (ose pajisjeve të përdorura në trena) ndërmjet tyre. Ai u bë veçanërisht i popullarizuar për shkak të përhapjes së marrësve GPS që përdorin këtë standard.

Pamje e përgjithshme e linjave në NMEA 0183

  • "$" ose "!" (heks 24 ose heks 21)
  • ID-ja e mesazhit me 5 shkronja. Dy shkronjat e para janë identifikuesi i burimit të mesazhit, tre shkronjat e ardhshme janë identifikuesi i formatit të mesazhit, sipas protokollit NMEA 0183 të një versioni të caktuar.
  • një listë të dhënash (shkronja, numra dhe pika) të ndara me presje. Nëse mungon ndonjë e dhënë brenda vijat, presjet janë ende të vendosura (për shembull, ","). Disa fusha në fund rreshtat mund të mungojnë fare.
  • simboli "*".
  • XOR tetë-bitësh - shuma e të gjithë karaktereve (përfshirë "," dhe "^") në vijën midis "$" dhe "*" e konvertuar në dy karaktere ASCII të mëdha për paraqitjen heksadecimal të bajtit (0–9, A –F) .
  • (heks 0D, heks 0A).

Gjatësia maksimale e mesazhit është e kufizuar në 82 karaktere (NMEA 0183 rev 3.0)

Standardi përshkruan më shumë se 250 identifikues të sekuencës NMEA. Standardi përcakton kursin e shkëmbimit të të dhënave në 4800 baud. (Për shpejtësi 38400 baud dhe më të larta ekziston një standard i zgjeruar NMEA-0183-HS).

Standardi ju lejon të shtoni identifikuesit tuaj të sekuencës, të cilat shpesh përdoren nga prodhuesit për të përcjellë informacion shtesë në lidhje me funksionimin e pajisjes.

Vargu RMC (shembull i veçantë)

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

Vlerat e fushës:

  • "GP" - identifikuesi i burimit; në shembullin e dhënë, ky është GPS, "GL" - GLONASS, "GA" - Galileo, "GN" - GLONASS+GPS, etj.
  • "RMC" - "Fjalia minimale e rekomanduar C"
  • "hhmmss.sss" - koha e fiksimit të vendndodhjes sipas UTC: "hh" - orë, "mm" - minuta, "ss.sss" - sekonda. Gjatësia e sekondave të pjesshme ndryshon. Zerot kryesore nuk janë anashkaluar.
  • "A" - statusi: "A" - të dhënat janë të besueshme, "V" - jo të besueshme.
  • "GGMM.MM" - gjerësi gjeografike. 2 shifra shkallësh (“GG”), 2 shifra minutash të plota, një pikë dhe një pjesë e pjesshme e minutave me gjatësi të ndryshueshme. Zerot kryesore nuk janë anashkaluar.
  • "P" - "N" për veriun ose "S" për gjerësinë gjeografike jugore.
  • "gggmm.mm" - gjatësia. 3 shifra shkallësh (“ggg”), 2 shifra minutash të plota, një pikë dhe një pjesë e pjesshme e minutave me gjatësi të ndryshueshme. Zerot kryesore nuk janë anashkaluar.
  • "J" - "E" për lindjen ose "W" për gjatësinë gjeografike perëndimore.
  • "v.v" është komponenti horizontal i shpejtësisë në raport me tokën në nyje. Numri i pikës lundruese. Pjesë të plota dhe të pjesshme me gjatësi të ndryshueshme.
  • "b.b" - këndi i gjurmës (drejtimi i shpejtësisë) në gradë. Numri i pikës lundruese. Pjesë të plota dhe të pjesshme me gjatësi të ndryshueshme. Një vlerë prej 0 korrespondon me lëvizjen në veri, 90 në lindje, 180 në jug, 270 në perëndim.
  • "ddmmyy" - data: dita e muajit, muaji, 2 shifrat e fundit të vitit (kërkohen zerat kryesore).
  • "x.x" është deklinimi magnetik në gradë (shpesh mungon), i llogaritur duke përdorur ndonjë model. Numri i pikës lundruese. Pjesë të plota dhe të pjesshme me gjatësi të ndryshueshme.
  • "n" - drejtimi i deklinimit magnetik: për të marrë një kurs magnetik, deklinimi magnetik duhet të jetë "E" - zbritet, "W" - shtohet në kursin e vërtetë.
  • "m" - treguesi i modalitetit: "A" - autonom, "D" - diferencial, "E" - përafrim, "N" - të dhëna jo të besueshme (shpesh mungojnë, kjo fushë duke përfshirë presjen mungon në versionet më të vjetra të NMEA).
  • "hh" - kontrolli.
  • - bajt është 0x0D.
  • - bajt është 0x0A.

Shembuj të vargut RMC

Shembulli 1

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

Vlerat e fushës:

  • 12 orë 55 minuta 4,049 sekonda UTC
  • "A" - i besueshëm
  • gjerësia gjeografike 55° 42.2389", veri
  • gjatësia gjeografike 37° 41.6063", lindje
  • shpejtësia 0.06 nyje

NMEA (National Marine Electronics Association) 2000 është një standard i transmetimit të të dhënave për navigimin, komunikimet dhe pajisjet e tjera të rrjetit të informacionit.

Në shumicën e rasteve, NMEA2000 përdoret në aplikimet detare. Ky protokoll bazohet në protokollin e transferimit të të dhënave MUND(Rrjeti i Zonës së Kontrolluesit), i përdorur kryesisht në automatizimin e anijeve.

Shoqata Kombëtare e Elektronikës Detare (NMEA) ka zhvilluar një protokoll të veçantë për të siguruar përputhshmërinë midis produkteve detare nga prodhues të ndryshëm.

Që nga fillimi i tij, protokolli NMEA ka pësuar disa modifikime për të përfshirë fusha dhe mesazhe të reja. Versioni aktual që mbështesin shumica e marrësve është versioni 2.3, edhe pse një përshkrim i të riut tashmë është publikuar versioni 3.0.

Mesazhet NMEA

NMEA 2000 përshkruan jo vetëm të dhënat e marra nga, por edhe matjet , , barometra dhe pajisje të tjera navigimi të përdorura në anije. Ndërfaqja e shkëmbimit të të dhënave të shumicës së marrësve portativ GPS zbatohet në përputhje me specifikimet NMEA. Shumica e programeve të navigimit që ofrojnë të dhëna në kohë reale shfaqin mbështetje dhe "kuptojnë" protokollin NMEA. Këto të dhëna përmbajnë matjet e plota të navigimit të marrësit GPS - pozicioni, shpejtësia dhe koha.

Specifikimi i plotë i mesazhit NMEA nuk disponohet publikisht dhe nuk mund të shkarkohet zyrtarisht në mënyrë elektronike. Seksionet e tij individuale, një përshkrim i përgjithshëm i protokollit NMEA dhe mesazhet më të njohura mund të gjenden në internet. Ju mund të blini zyrtarisht dokumentacionin NMEA në faqen e internetit //www.nmea.org/.

Mesazhet dalëse NMEA

Të gjitha mesazhet NMEA përbëhen nga një grup vijues të dhënash të ndara me presje. Çdo mesazh individual është i pavarur nga të tjerët dhe është plotësisht "i plotë". Mesazhi NMEA përfshin:

  • titull,
  • një grup të dhënash të përfaqësuara nga karaktere ASCII,
  • Fusha "checksum" për të kontrolluar saktësinë e informacionit të transmetuar.

Drejtimi

Në mënyrë tipike, titulli përbëhet nga pesë karaktere. Dy karakteret e para përcaktojnë llojin e mesazhit, dhe tre të tjerët tregojnë emrin e tij. Për shembull, kreu i mesazheve GPS NMEA fillon me "GP". Mesazhet që nuk përshkruhen në specifikimin NMEA, por zbatohen në marrës GPS sipas rregullave të përgjithshme, parashtesohen me një "P" të ndjekur nga tre karaktere unike për secilën kompani. Për shembull, mesazhet NMEA kanë prefiksin "PGRM", Magellan - "PMGN".

Të dhënat

Çdo mesazh NMEA fillon me "$", përfundon me "\n" (furnizimi i linjës) dhe nuk mund të jetë më i gjatë se 80 karaktere. Të gjitha të dhënat përmbahen në një rresht dhe ndahen me presje. Informacioni paraqitet në formën e tekstit ASCII dhe nuk kërkon dekodim të veçantë. Nëse të dhënat nuk përshtaten në 80 karakteret e alokuara, atëherë ato "ndahen" në disa mesazhe. Ky format ju lejon të mos kufizoni saktësinë dhe numrin e karaktereve në fushat individuale të të dhënave. Për shembull, pjesa e pjesshme e një vlere koordinative mund të përfaqësohet me tre ose katër shifra dhjetore, por kjo nuk duhet në asnjë mënyrë të ndikojë në funksionimin e softuerit, i cili nxjerr të dhënat e nevojshme nga një mesazh sipas numrit të fushës.

Fusha "Shuma e kontrollit".

Në fund të secilit NMEA Mesazhi përmban një fushë "checksum", e ndarë nga të dhënat me simbolin "*". Nëse është e nevojshme, mund të përdoret për të verifikuar integritetin dhe vlefshmërinë e çdo mesazhi të marrë.

Mesazhet hyrëse NMEA

Protokolli NMEA 2000 mbështet jo vetëm mesazhet dalëse, por edhe ato hyrëse, me të cilat, për shembull, mund të përditësoni ose shtoni pikat e rrugës. Këto mesazhe duhet të formatohen rreptësisht në formatin NMEA, përndryshe ato do të shpërfillen.

lista e mesazheve

Protokolli NMEA përshkruan një listë të madhe mesazhesh të ndryshme, nga të cilat ka dy duzina që përdoren në mënyrë aktive në pajisjet e navigimit. Për shkak të popullaritetit të madh dhe paraqitjes së thjeshtë të të dhënave, protokolli NMEA ka gjetur aplikim jo vetëm në pajisjet detare, por edhe në marrës GPS gjeodezikë, amvisëri dhe të aviacionit.

AAM - Mbërritja në Waypoint
ALM - Të dhëna Almanak
APA - Të dhënat e autopilotit "A"
APB - Të dhënat autopilot "B"
BOD - Qëndrimi në destinacion
DTM – Data në përdorim
GGA – Informacion i fiksuar i zgjidhjes
GLL – Të dhënat e gjerësisë dhe gjatësisë gjeografike
GSA - Informacione të Përgjithshme Satelitore
GSV – Informacion i detajuar satelitor
MSK – Transferimi i kontrollit te marrësi bazë
MSS – Statusi bazë i marrësit
RMA – Kompleti i rekomanduar i të dhënave Loran
RMB – Kompleti i rekomanduar i të dhënave të navigimit GPS
RMC – Paketa minimale e rekomanduar e të dhënave GPS
RTE – Informacioni i itinerarit
VTG – Vektori i lëvizjes dhe shpejtësisë
WCV - Të dhënat e shpejtësisë pranë pikës së rrugës
WPL – Të dhënat e pikës së rrugës
XTC - Gabim jashtë pista
XTE - Gabim i matur jashtë pista
ZTG – Koha UTC dhe koha e mbetur deri në mbërritjen në destinacion
ZDA - Data dhe ora

Disa nga mesazhet NMEA mund të përmbajnë të njëjtat fusha të dhënash ose të përmbajnë plotësisht të dhënat e mesazheve të tjera më të vogla NMEA.

1. GGA – informacion për një zgjidhje fikse.

Mesazhi më i popullarizuar dhe më i përdorur NMEA ofron informacion në lidhje me zgjidhjen aktuale fikse - koordinatat horizontale, vlerën e lartësisë, numrin e satelitëve të përdorur dhe llojin e zgjidhjes.

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

GGA – NMEA Header

123519 – ora UTC 12:35:19

4807.038, N – Gjerësia gjeografike, 48 gradë 7.038 minuta gjerësi veriore

01131.000, E – Gjatësia gjeografike, 11 gradë 31.000 minuta gjatësi gjeografike lindore

1 – lloji i solucionit*, tretësirë ​​StandAlone

08 - numri i satelitëve të përdorur

0.9 – faktori gjeometrik, HDOP

545.4, M – lartësia mbi nivelin e detit në metra

46.9, M – lartësia e gjeoidit mbi elipsoidin WGS 84

[fushë bosh] – koha e kaluar që nga marrja e korrigjimit të fundit të DGPS. Plotësohet kur aktivizohet modaliteti DGPS

[fusha e zbrazët] – numri i identifikimit të stacionit bazë. Plotësohet kur aktivizohet modaliteti DGPS.

*Llojet e zgjidhjeve:

2. GSA - informacion i përgjithshëm për satelitët

Ky mesazh NMEA përmban një listë të satelitëve të përdorur në llogaritjen e pozicionit dhe vlerat e DOP-ve gjeometrike që përcaktojnë saktësinë e llogaritjes së pozicionit. Parametrat DOP përcaktohen nga rregullimi gjeometrik i satelitëve në qiell. Sa më mirë të "shpërndahen" satelitët në qiell, aq më i ulët është DOP dhe aq më e mirë është saktësia e pozicionit. Vlera minimale e PDOP (= 1) korrespondon me një situatë ku një satelit është drejtpërdrejt mbi përdoruesin dhe 3 të tjerët shpërndahen në mënyrë të barabartë përreth në nivelin e horizontit. Vlera PDOP llogaritet si rrënjë katrore e shumës së katrorëve të HDOP dhe VDOP.

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

Titulli GSA - NMEA

A – lloji i zgjedhjes midis zgjidhjeve 2D dhe 3D, Automatik (A-auto, M-manual)

3 – lloji i zgjidhjes, zgjidhje 3D (1 – pa zgjidhje, 2 – zgjidhje 2D, 3 – zgjidhje 3D)

04.05… – Kodet PRN të përdorura në llogaritjen e pozicioneve satelitore (12 fusha)

2.5 – faktori gjeometrik hapësinor, PDOP

1.3 – faktori gjeometrik horizontal, HDOP

2.1 – faktori gjeometrik vertikal, VDOP

3. GSV – Informacion i detajuar për satelitët

Ky mesazh NMEA përmban informacion të detajuar për të gjithë satelitët e gjurmuar nga navigatori GPS. Bazuar në kufirin prej 80 karakteresh, një mesazh NMEA mund të transmetojë të dhëna vetëm për 4 satelitë. Prandaj, 12 satelitë kërkojnë 3 mesazhe GSV. Fusha SNR (Signal to Noise Ration) përmban vlerat e niveleve të sinjaleve të navigimit të marra nga satelitët. Teorikisht, vlera e tij mund të ndryshojë nga 0 në 99 dhe matet në dB. Në fakt, niveli i sinjalit qëndron në rangun prej 25 ... 35 dB. Vlen të përmendet këtu se ky parametër nuk është absolut dhe nuk është i përshtatshëm për të krahasuar ndjeshmërinë e marrësve të modeleve dhe prodhuesve të ndryshëm. Navigatorët GPS mund të përdorin algoritme të ndryshme për llogaritjen e nivelit të sinjalit të marrë, gjë që çon në rezultate të ndryshme me të njëjtën shkallë ndjeshmërie të marrësve. Për çdo satelit të dukshëm GPS, një grup informacioni transmetohet, duke përfshirë fuqinë e sinjalit, këndin e lartësisë dhe azimutin e satelitit. Numri i këtyre "grupeve" përcaktohet nga numri i përgjithshëm i satelitëve të dukshëm, vlera e të cilave transmetohet në një fushë të veçantë.

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

Titulli GSV – NMEA

2 – numri i mesazheve GSV në paketë

1 - numri i mesazhit në paketë (nga 1 në 3)

08 - numri i satelitëve të dukshëm

01 - numri satelitor

40 – këndi i lartësisë, në gradë

083 - azimut në gradë

46 – SNR, niveli i sinjalit

Ky mesazh NMEA përmban të gjithë grupin e të dhënave të ashtuquajtura "PVT". "PVT" është një shkurtim i zakonshëm për "pozicion, shpejtësi, kohë".

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

RMC – kreu NMEA 123419 – ora UTC, 12:34:59

A – status (A – aktiv, V – injoro)

NMEA 0183– Protokolli i komunikimit me tekst i përdorur në modulet marrëse GPS. Ky standard u krijua për komunikimin e pajisjeve të lundrimit detar. Protokolli parashikon transmetimin e komandave tekstuale dhe mesazheve duke përdorur karaktere ASCII. Kështu, për të marrë mesazhe, mjafton të përdorni ndërfaqen serike UART, ndërsa të gjitha mesazhet mund të transmetohen drejtpërdrejt në kompjuter duke përdorur portën COM, por duke mos harruar nevojën për të konvertuar nivelet e sinjalit.

Moduli GPS transmeton mesazhe të formateve të ndryshme që përmbajnë grupe të ndryshme të dhënash: gjerësia dhe gjatësia gjeografike, shpejtësia, drejtimi, koha, numri i satelitëve, etj. Mesazhet transmetohen në mënyrë sekuenciale dhe ndahen në disa lloje, formati i secilit lloj mesazhi përmban informacione të përcaktuara rreptësisht në fushat e tij. Le të hedhim një vështrim më të afërt në strukturën e përgjithshme të mesazheve që prodhon moduli GPS.

$ - çdo mesazh fillon me këtë simbol

Kjo pasohet nga një identifikues prej 5 karakteresh teksti. Dy shkronjat e para tregojnë llojin e sistemit të navigimit, p.sh. "GP" - GPS ose " GL" - Glonass etj. 3 karakteret e ardhshme janë identifikuesi i formatit të mesazhit, i cili përcakton plotësisht përmbajtjen e të dhënave të transmetuara pasuese. Për shembull "RMC"- këto janë të dhënat minimale të rekomanduara, të cilat përmbajnë informacione për kohën dhe datën, gjerësinë dhe gjatësinë gjeografike, shpejtësinë, kursin dhe devijimin magnetik në gradë (mund të mungojnë). Ose "GSA", të dhënat satelitore do të transmetohen këtu. Struktura e llojeve kryesore të mesazheve do të diskutohet më poshtë.

Më pas vijon «,» - një presje, pas së cilës vijon menjëherë trupi i mesazhit me të dhëna të ndryshme, të cilat ndahen nga njëra-tjetra me të njëjtën presje. Nëse numri i transmetuar nuk është një numër i plotë, atëherë ndarësi midis pjesës së plotë dhe pjesës thyesore është një pikë «.» .

Fundi i trupit të mesazhit tregohet nga simboli «*» . Ajo që vijon është kontrolli i të gjithë karaktereve që përmbahen midis "$" dhe "*", domethënë i gjithë trupi i mesazhit, duke përfshirë vetë të dhënat dhe identifikuesit në fillim të mesazhit. Shuma e kontrollit llogaritet si XOR (OR ekskluzive) e të gjithë kodeve heksadecimal ASCII të karaktereve të mesazhit.

Dhe në fund të çdo mesazhi duhet të ketë karaktere të linjës së re

Le të shohim qëllimin dhe strukturën e llojeve të ndryshme të mesazheve.

R.M.C.– të dhënat minimale të rekomanduara të lundrimit. Mesazhi përmban sasinë minimale të kërkuar të informacionit. Këto të dhëna përfshijnë gjerësinë dhe gjatësinë, datën dhe kohën dhe shpejtësinë. Për shumë detyra nuk nevojitet më shumë, për shembull, në modul Quectel L50 Kam fikur transmetimin e të gjitha llojeve të tjera të mesazheve, pasi absolutisht nuk kam nevojë për informacione për satelitët dhe nivelin e sinjaleve të tyre. Dhe marrja e informacionit të panevojshëm kërkon komplikimin e programit për përpunimin e këtyre të dhënave. Struktura e mesazhit është si më poshtë:

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

Ky mesazh përmban informacionin e mëposhtëm:

  • GPRMC– Sistemi satelitor GPS, identifikuesi i mesazhit RMC
  • hhmmss.sss– koha (Greenwich Mean Time), ku hh – orë, mm – minuta, ss.sss – sekonda
  • A– të dhënat janë të besueshme ose V- të dhënat nuk janë të besueshme. Simboli A Mesazhi do të sigurohet se ka një marrje të besueshme të sinjaleve nga satelitët e nevojshëm për llogaritjen e të dhënave të vendndodhjes. Simboli V do të ndodhë kur marrësi nuk i sheh satelitët ose kur numri i satelitëve të gjetur nuk është i mjaftueshëm për të llogaritur me siguri koordinatat. Për shembull, nëse aktivizoni modulin GPS diku në një shtëpi panelesh dhe larg dritareve, ka shumë të ngjarë të shihni simbolin V në mesazhin e marrë.
  • ddmm.mmmm– gjerësi gjeografike, gradë dhe minuta
  • N ose S- në veri ose në jug. Hemisfera në të cilën ndodheni. Nëse jeni në Australi do të tregohet S. Në Yekaterinburg, moduli im GPS jep N.
  • ddmm.mmmm- gjatësia, gradë dhe minuta
  • E ose W- hemisfera perëndimore ose lindore
  • v.v– shpejtësia në nyje
  • c. c– duke u drejtuar mbi tokë në shkallë. Kur lëvizni drejt veriut do të jetë 0 gradë.
  • ddmmyyyy- datë
  • x.x– deklinimi magnetik
  • n– drejtimi i deklinacionit magnetik. Nuk mund të shpjegoj asgjë për këto dy parametra të fundit. Për shembull moduli im GPS Quectel L50 gjatë pritjes në apartament, këto të dhëna nuk u shfaqën fare në dritare, thjesht u anashkaluan.
  • m- mënyra e navigimit: N- të dhëna të pasakta, A- autonome, D- diferencial

Këtu është një shembull i një mesazhi RMC:

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

  • GMT 10h 59m 54s
  • A- të dhënat janë të besueshme
  • Gjerësia gjeografike 31 gradë dhe 50,6371 minuta
  • N– veriore
  • Gjatësia gjeografike 117 gradë 11.9399 minuta
  • E– lindore
  • Shpejtësia 0.00 nyje
  • Epo 96.1 gradë
  • datë 25 mars 2013
  • Të dhënat rreth deklinimi magnetik asnje
  • Modaliteti - autonome
  • Shuma kontrolluese e karaktereve të mesazhit 0×053

Këtu duhet të theksohet një pikë. Të dhënat e gjerësisë dhe gjatësisë përmbajnë një pjesë të pjesshme të minutave, e cila nuk korrespondon fare me numrin e "sekondave", pasi është një fraksion dhjetor. Programet GPS që kam provuar i tregojnë me saktësi koordinatat në hartë. Por nëse i futni këta numra në shiritin e kërkimit të hartave të Google, vendndodhja në hartë do të jetë disa kilometra nga ajo aktuale. Kur futni koordinatat e marra në këtë rast, duhet të ndani pjesën e pjesshme të gjerësisë dhe gjatësisë gjeografike me 60 për t'i kthyer këta numra në "sekonda". Kur lidha për herë të parë modulin Quectel L50 dhe futa koordinatat e marra të gjerësisë dhe gjatësisë në shiritin e kërkimit të hartave të Google, mora një pozicion në hartë me një gabim domethënës, harta tregoi një vend diku në zonën e Uralmash.

Këtu janë disa lloje të tjera mesazhesh të përdorura në këtë protokoll:

  • VTG- drejtimi i vërtetë i kursit dhe shpejtësia e tokës
  • GGA- të dhënat e fundit të vendndodhjes
  • G.S.A.- të dhëna për satelitët aktivë
  • GSV- të dhënat për satelitët e dukshëm, pozicionin dhe numrat e tyre, si dhe fuqinë e sinjalit
  • GLL- të dhënat e gjerësisë, gjatësisë dhe kohës
  • ZDA- informacione për kohën dhe datën

Unë nuk hyra në detaje se nga çfarë përbëhet çdo mesazh një lidhje me një dokument që përshkruan protokollin është dhënë në fund të artikullit. Një lloj specifik i modulit GPS mund të mos transmetojë të gjitha të dhënat e listuara. Mund të çaktivizoni ose aktivizoni transferimin e llojeve të ndryshme të të dhënave, si dhe të vendosni periudhën për dorëzimin e tyre. Për të konfiguruar modulin, ekzistojnë komanda të veçanta që fillojnë me një identifikues $PSRFxxx, Ku xxx specifikon llojin dhe formatin e komandës, ashtu si në mesazhet dalëse.

Për shembull, komanda $PSRF100.0.9600.8.1.0*0C vendos protokollin e komunikimit dhe konfiguron parametrat e portës serike.

  • 100 dollarë PSRF - identifikuesi i komandës amtare të protokollit SIRF
  • 0 – protokolli binar SIRF, 1 – Protokolli NMEA
  • 9600 – shpejtësi bit/sek
  • 8 bit i të dhënave
  • 1 ndal pak
  • 0 – kontrolli i barazisë është çaktivizuar

Ekipi $PSRF103.00.00.02.01*26 konfiguron parametrat e daljes për lloje të ndryshme të mesazheve të modulit:

  • 103 dollarë PSRF– Identifikuesi i komandës së protokollit vendas SIRF
  • atëherë pas presjes dhjetore janë dy shifra që përcaktojnë llojin e mesazhit personal: 00 - GGA
    01 - GLL
    02 - GSA
    03 - GSV
    04 - RMC
    05 - VTG
  • dy shifrat e ardhshme konfigurojnë rendin në të cilin lëshohen mesazhet, për shembull: 00 - periodikisht
    01 - sipas kërkesës
  • Numrat e mëposhtëm vendosin periudhën e mesazhit në sekonda: 00 = Joaktiv (mesazhet janë të çaktivizuara)
    1-255 - intervali midis mesazheve të këtij lloji në sekonda
  • atëherë transmetimi i shumës së kontrollit aktivizohet/çaktivizohet në mesazhin NMEA të transmetuar nga moduli: 00 - transmetimi i shumës së kontrollit është i çaktivizuar
    01 - shuma e kontrollit transmetohet
  • pas karakterit "*", si në mesazhin dalës NMEA, transmetohet një numër kontrolli dhe karaktere të furnizimit të linjës.

Kjo është gjithçka që doja të përshkruaj shkurtimisht në lidhje me protokollin NMEA 0183 dhe komandat e kontrollit të modulit në chipset SIRF. Një dekodim më i detajuar i të gjitha këtyre mesazheve dhe komandave jepet, për shembull, në përshkrimin e protokollit të modulit Quectel L50, i cili mund të shkarkohet nga lidhja më poshtë.

Përshkrimi i protokollit NMEA.

Implementimi në marrës Garmin dhe GlobalSat

Prezantimi

Shoqata Kombëtare e Elektronikës Detare (NMEA) ka zhvilluar një protokoll të veçantë për të ruajtur përputhshmërinë midis pajisjeve të navigimit detar nga prodhues të ndryshëm. Ky protokoll NMEA përshkruan jo vetëm të dhënat e marra nga marrës GPS, por edhe matjet nga hidrolokatorët, radarët, busullat elektronike, barometrat dhe pajisjet e tjera të navigimit të përdorura në anijet detare. Ndërfaqja e shkëmbimit të të dhënave të shumicës së marrësve portativ GPS zbatohet në përputhje me specifikimet NMEA. Shumica e programeve të navigimit që ofrojnë të dhëna në kohë reale shfaqin mbështetje dhe "kuptojnë" protokollin NMEA. Këto të dhëna përmbajnë matjet e plota të navigimit të marrësit GPS - pozicioni, shpejtësia dhe koha. Të gjitha mesazhet NMEA përbëhen nga një grup vijues të dhënash të ndara me presje. Çdo mesazh individual është i pavarur nga të tjerët dhe është plotësisht "i plotë". Një mesazh NMEA përfshin një kokë, një grup të dhënash të përfaqësuara nga karaktere ASCII dhe një fushë kontrolli për të kontrolluar vlefshmërinë e informacionit të transmetuar. Kreu i mesazheve standarde NMEA përbëhet nga 5 karaktere, nga të cilat dy të parat përcaktojnë llojin e mesazhit dhe tre të tjerët tregojnë emrin e tij. Për shembull, të gjitha mesazhet GPS NMEA janë të prefiksuara me "GP". Mesazhet që nuk përshkruhen në specifikimin NMEA, por zbatohen në marrës GPS sipas rregullave të përgjithshme, parashtesohen me një "P" të ndjekur nga tre karaktere unike për secilën kompani. Për shembull, mesazhet NMEA "amtare" të Garmin kanë prefiksin "PGRM", Magellan - "PMGN". Çdo mesazh NMEA fillon me "$", përfundon me "\n" ("furnizimi i linjës") dhe nuk mund të jetë më i gjatë se 80 karaktere. . Të gjitha të dhënat përmbahen në një rresht dhe ndahen nga njëra-tjetra me presje. Informacioni paraqitet në formën e tekstit ASCII dhe nuk kërkon dekodim të veçantë. Nëse të dhënat nuk përshtaten në 80 karakteret e alokuara, atëherë ato "ndahen" në disa mesazhe NMEA. Ky format ju lejon të mos kufizoni saktësinë dhe numrin e karaktereve në fushat individuale të të dhënave. Për shembull, pjesa e pjesshme e vlerës së koordinatave mund të përfaqësohet me 3 ose 4 shifra dhjetore, por kjo nuk duhet të ndikojë në asnjë mënyrë në funksionimin e softuerit, i cili zgjedh të dhënat e nevojshme nga mesazhi sipas numrit të fushës. Në fund të çdo mesazhi NMEA ka një fushë "checksum" e ndarë nga të dhënat me një karakter "*". Nëse është e nevojshme, mund të përdoret për të verifikuar integritetin dhe vlefshmërinë e çdo mesazhi të marrë. Protokolli NMEA mbështet jo vetëm mesazhet dalëse, por edhe ato hyrëse, me të cilat, për shembull, mund të përditësoni ose shtoni pikat e rrugës. Këto mesazhe duhet të gjenerohen në përputhje të plotë me formatin NMEA, përndryshe ato thjesht do të injorohen nga marrësi GPS. Vlen të përmendet se jo të gjitha programet e navigimit dhe modelet e marrësve e mbështesin këtë mënyrë, pasi ato përdorin protokolle të pronarit të prodhuesve - Garmin, Magellan, etj. - për të ngarkuar pikat dhe rrugët. Që nga fillimi i tij, protokolli NMEA ka pësuar disa modifikime të lidhura me shtimin e fushave dhe mesazheve të reja. Versioni aktual i mbështetur nga shumica e marrësve është versioni 2.3, megjithëse një version i ri 3.0 tashmë është publikuar. Specifikimi i plotë i mesazheve NMEA nuk është i disponueshëm publikisht dhe nuk mund të shkarkohet zyrtarisht në formë elektronike Seksionet e tij individuale, një përshkrim i përgjithshëm i protokollit NMEA dhe mesazhet më të njohura mund të gjenden në internet. Ju mund të blini zyrtarisht dokumentacionin NMEA në http://www.nmea.org/.

listën e mesazheve

Protokolli NMEA përshkruan një listë të madhe mesazhesh të ndryshme, nga të cilat mund të identifikohen dy duzina mesazhe që përdoren në mënyrë aktive në pajisjet e navigimit. Për shkak të popullaritetit të madh dhe paraqitjes së thjeshtë të të dhënave, protokolli NMEA ka gjetur aplikim jo vetëm në pajisjet detare, por edhe në marrës GPS gjeodezikë, amvisëri dhe të aviacionit.

    AAM – Mbërritja në pikën e rrugës

    ALM - Të dhëna Almanak

    APA - Të dhënat e autopilotit "A"

    APB - Të dhënat autopilot "B"

    BOD - Qëndrimi në destinacion

    DTM – Data në përdorim

    GGA – Informacion i fiksuar i zgjidhjes

    GLL – Të dhënat e gjerësisë dhe gjatësisë gjeografike

    GSA - Informacione të Përgjithshme Satelitore

    GSV – Informacion i detajuar satelitor

    MSK – Transferimi i kontrollit te marrësi bazë

    MSS – Statusi bazë i marrësit

    RTE – Informacioni i rrugës VTG – Vektori i lëvizjes dhe shpejtësisë

    WCV - Të dhënat e shpejtësisë pranë pikës së rrugës

    WPL – Të dhënat e pikës së rrugës

    XTC – Gabim jashtë gjurmës

    XTE - Gabim i matur jashtë pista

    ZTG – Koha UTC dhe koha e mbetur deri në mbërritjen në destinacion

    ZDA – Data dhe ora.

Disa nga mesazhet NMEA mund të përmbajnë të njëjtat fusha të dhënash ose të përmbajnë plotësisht të dhënat e mesazheve të tjera më të vogla NMEA.

GGA - informacion në lidhje me një zgjidhje fikse.

Mesazhi më i popullarizuar dhe më i përdorur NMEA ofron informacion në lidhje me zgjidhjen aktuale fikse - koordinatat horizontale, vlerën e lartësisë, numrin e satelitëve të përdorur dhe llojin e zgjidhjes.

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

GGA – NMEA Header

123519 – ora UTC 12:35:19

4807.038, N – Gjerësia gjeografike, 48 gradë 7.038 minuta gjerësi veriore

01131.000, E – Gjatësia gjeografike, 11 gradë 31.000 minuta gjatësi gjeografike lindore

1 - tretësirë ​​e tipit, zgjidhje StandAlone

08 - numri i satelitëve të përdorur

0.9 – faktori gjeometrik, HDOP

545.4, M – lartësia mbi nivelin e detit në metra

46.9, M – lartësia e gjeoidit mbi elipsoidin WGS 84

[fushë bosh] – koha e kaluar që nga marrja e korrigjimit të fundit të DGPS. Plotësohet kur aktivizohet modaliteti DGPS

[fusha e zbrazët] – numri i identifikimit të stacionit bazë. Plotësohet kur aktivizohet modaliteti DGPS.

GSA - informacion i përgjithshëm për satelitët.

Ky mesazh NMEA përmban një listë të satelitëve të përdorur në llogaritjen e pozicionit dhe vlerat e DOP-ve gjeometrike që përcaktojnë saktësinë e llogaritjes së pozicionit. Parametrat DOP përcaktohen nga rregullimi gjeometrik i satelitëve në qiell. Sa më mirë të "shpërndahen" satelitët në qiell, aq më i ulët është DOP dhe aq më e mirë është saktësia e pozicionit. Vlera minimale e PDOP (= 1) korrespondon me një situatë ku një satelit është drejtpërdrejt mbi përdoruesin dhe 3 të tjerët shpërndahen në mënyrë të barabartë përreth në nivelin e horizontit. Vlera PDOP llogaritet si rrënjë katrore e shumës së katrorëve të HDOP dhe VDOP.

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

    Titulli GSA - NMEA

    A – lloji i zgjedhjes midis zgjidhjeve 2D dhe 3D, Automatik (A-auto, M-manual)

    3 – lloji i zgjidhjes, zgjidhje 3D (1 – pa zgjidhje, 2 – zgjidhje 2D, 3 – zgjidhje 3D)

    04.05… - Kodet PRN të përdorura në llogaritjen e pozicioneve satelitore (12 fusha)

    2.5 – faktori gjeometrik hapësinor, PDOP

    1.3 – faktori gjeometrik horizontal, HDOP

    2.1 – faktori gjeometrik vertikal, VDOP

GSV - Informacion i detajuar rreth satelitëve

Ky mesazh NMEA përmban informacion të detajuar për të gjithë satelitët e gjurmuar nga navigatori GPS. Bazuar në kufirin prej 80 karakteresh, një mesazh NMEA mund të transmetojë të dhëna vetëm për 4 satelitë. Prandaj, 12 satelitë kërkojnë 3 mesazhe GSV. Fusha SNR (Signal to Noise Ration) përmban vlerat e niveleve të sinjaleve të navigimit të marra nga satelitët. Teorikisht, vlera e tij mund të ndryshojë nga 0 në 99 dhe matet në dB. Në fakt, niveli i sinjalit qëndron në rangun prej 25 ... 35 dB. Vlen të përmendet këtu se ky parametër nuk është absolut dhe nuk është i përshtatshëm për të krahasuar ndjeshmërinë e marrësve të modeleve dhe prodhuesve të ndryshëm. Navigatorët GPS mund të përdorin algoritme të ndryshme për llogaritjen e nivelit të sinjalit të marrë, gjë që çon në rezultate të ndryshme me të njëjtën shkallë ndjeshmërie të marrësve. Për çdo satelit të dukshëm GPS, një grup informacioni transmetohet, duke përfshirë fuqinë e sinjalit, këndin e lartësisë dhe azimutin e satelitit. Numri i këtyre "grupeve" përcaktohet nga numri i përgjithshëm i satelitëve të dukshëm, vlera e të cilave transmetohet në një fushë të veçantë.

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

    Titulli GSV – NMEA

    2 – numri i mesazheve GSV në paketë

    1 - numri i mesazhit në paketë (nga 1 në 3)

    08 - numri i satelitëve të dukshëm

    01 - numri satelitor

    40 – këndi i lartësisë, në gradë

    083 - azimut në gradë

    46 – SNR, niveli i sinjalit

Ky mesazh NMEA përmban të gjithë grupin e të dhënave të ashtuquajtura "PVT". "PVT" është një shkurtim i zakonshëm për "pozicion, shpejtësi, kohë".

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

    Titulli RMC – NMEA

    123419 – ora UTC, 12:34:59

    A – status (A – aktiv, V – injoro)

    4807.038,N – Gjerësia gjeografike, 48 gradë 07.038 minuta gjerësi veriore

    01131.000, E – Gjatësia gjeografike, 11 gradë 31.000 minuta gjatësi gjeografike lindore

    022.4 – Shpejtësia, në nyje

    003.1,W – Variacione magnetike

GLL - të dhënat e gjerësisë dhe gjatësisë gjeografike

Mesazh NMEA me koordinatat e gjerësisë dhe gjatësisë, dhe kohën në të cilën është llogaritur kjo zgjidhje.

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

    GLL – Titulli NMEA

    4916.46,N – gjerësi gjeografike, 49 gradë 16.45 minuta gjerësi veriore

    12311.12, W-gjatësi, 123 gradë 11.12 minuta gjatësi perëndimore

    225444 - Koha e fiksimit në shkallën kohore UTC, 22:54:44

BOD - Azimuth në destinacion

Ky mesazh NMEA tregon kushinetën në një destinacion në modalitetin e lundrimit.

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

    BOD – kreu NMEA

    045.,T – drejtimi i vërtetë në pikën

    023.,M – drejtimi magnetik në një pikë

    DEST – numri i identifikimit të pikës fundore

    START – numri i identifikimit të pikës së fillimit

$GPRMB,A,0,66,L,003,004,4917.24,N,12309.57,W,001.3,052.5,000.5,V*20

    RMB - Titulli NMEA

    A – Lloji i të dhënave, (A – aktiv, V – shpërfill)

    0.66,L - devijimi nga pista. Parametri përcaktohet në milje detare. (L - majtas, R - djathtas)

    003 - numri i identifikimit të pikës së fillimit

    004 - numri i identifikimit të pikës fundore

    4917.24,N – vlera e gjerësisë gjeografike të pikës fundore, 49 gradë 17.24 minuta gjerësi veriore

    12309.57,W – vlera e gjatësisë gjeografike të pikës fundore, 123 gradë 09.57 minuta gjatësia perëndimore

    001.3 - distanca nga pika, në milje detare

    000.5 - shpejtësia, në nyje

    V - informacioni i mbërritjes (A - mbërritja, V - pika e pa arritur ende)

RTE – Informacioni i itinerarit

Mesazhi NMEA RTE shfaq një listë të pikave në rrugën aktive. Ekzistojnë dy lloje të mesazheve RTE. Në rastin e parë, shfaqen të gjitha pikat e rrugës. Në të dytën, ekziston vetëm një listë e pikave të mbetura që duhet të vizitohen gjatë lëvizjes përgjatë rrugës. Duke marrë parasysh që protokolli NMEA ka një kufizim sipas të cilit gjatësia e mesazhit nuk duhet të kalojë 80 karaktere, një mesazh RTE mund të përbëhet nga disa rreshta.

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

    Titulli RTE – NMEA

    2 – numri total i mesazheve për të shfaqur listën e plotë të të dhënave

    1 – numri i mesazhit nga lista e përgjithshme

    с – Lloji i mesazhit RTE (с – lista e plotë e pikave të rrugës, w – lista e pikave që ende nuk janë vizituar)

    0 - identifikuesi i rrugës

    W3IWI,DRIVWY,.. - lista e pikave të rrugës

Karakteristikat e Garmin

Marrësit Garmin mbështesin shumicën e mesazheve NMEA që përmbajnë matje GPS, pozicionet dhe kohën - GGA, GLL, GSA, GSV, RMC. Si dhe mesazhet e navigimit – RMB, BOD

Për të shfaqur këto mesazhe, duhet të ndryshoni ndërfaqen në cilësimet e marrësit nga "Garmin" në "NMEA" dhe mundësisht të vendosni shpejtësinë e dëshiruar. E njëjta shpejtësi duhet të vendoset në programin e navigimit në cilësimet e portës serike me të cilën është lidhur navigatori.

Fatkeqësisht, marrësit me një port USB nuk e mbështesin protokollin NMEA, duke kufizuar cilësimet e tij vetëm në protokollin Garmin.

Për të shfaqur informacionin që hyn në portën serike të kompjuterit, mund të përdorni një program terminal të Windows ose një nga programet e navigimit që e mbështet këtë veçori.

Më poshtë është një listë e mesazheve NMEA të marrësit Garmin eMap që përmbahen brenda një epoke.

$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

Përveç mesazheve standarde NMEA, marrësit Garmin zbatojnë grupin e tyre të mesazheve, secila prej të cilave përmban një prefiks "GRM" në kokë, një identifikues "M" ose "Z" që identifikon llojin e të dhënave dhe një karakter për emrin.

PGRME – Vlerësimi i gabimit të pozicionimit

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

    15.0,M – vlerësimi i gabimit të pozicionimit horizontal, në metra

    45.0,M – vlerësim vertikal i gabimit, në metra

    25.0,M – gabim ekuivalent i pozicionimit sferik

PGRMZ – matjet e lartësisë

$PGRMZ,93,f,3*21

    93,f – vlera e lartësisë, në paund

    3 - kushtet e matjes së pozicionit (2 - lartësia e përcaktuar nga përdoruesi,

    3 – lartësia e llogaritur me GPS)

PGRMM - të dhënat aktuale

$PGRMM,NAD27 Kanada*2F

    NAD27 Canada – emri i të dhënave aktuale horizontale

Karakteristikat e Sirf-it

Çipat GPS nga Sirf përdoren në pajisje të ndryshme navigimi GPS, duke filluar nga bordet konvencionale deri te navigatorët e lëvizshëm GPS dhe ato të makinave. Por ndryshe nga navigatorët, ata mbështesin vetëm mesazhet NMEA që lidhen me matjet GPS, llogaritjet e pozicionit dhe kohës - GGA, GLL, GSA, GSV, RMC, VTG, ZDA.

"Sirf" gjithashtu mbështet disa mesazhe "hyrëse" NMEA të destinuara për konfigurimin dhe rregullimin e parametrave të ndryshëm. Përveç kësaj, Sirf zbaton protokollin e tij binar, i cili ju lejon të ndryshoni dukshëm më shumë cilësime. Këto 5 mesazhe "hyrëse" NMEA, sipas rregullave, fillojnë me prefiksin $PSFR. Të gjitha mesazhet përmbajnë një grup fiks të dhënash dhe përfundojnë me karakterin "\n" (furnizimi i linjës)

Për të konfiguruar parametrat "Sirf", përdoret një program i veçantë "SirfTech". Parametrat e mesazhit NMEA janë konfiguruar në një artikull të veçantë të menysë.

$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 miliardë dollarë

$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

Siç mund ta shihni nga shembulli i mësipërm, cilësimet e fabrikës përmbajnë më pak mesazhe NMEA në krahasim me cilësimet e Garmin. Nëse është e nevojshme, ky grup mund të zgjerohet duke vendosur periudhën në mesazhet NMEA që mungojnë.

$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 - konfigurimi i portës serike

Numri i mesazhit NMEA 100 përdoret për të vendosur portin A, mesazhin 102 - portën B. Mesazhi 100 ka një fushë shtesë që ju lejon të kaloni ndërfaqen në protokollin binar Sirf.

Prandaj, në protokollin binar ekziston një komandë që e kthen portin përsëri në formatin NMEA. Para se të kaloni në protokollin binar, duhet të kuptoni nëse ekziston një program që do t'ju lejojë të rivendosni protokollin NMEA në të ardhmen.

$PSRF100.0.9600.8.1.0*0C

PSRF102.9600.8.1.0*3C

    PSRF100 - Titulli NMEA

    0 - parametër që tregon se në cilin modalitet është ndryshuar protokolli (0-Sirf, 1-NMEA)

    9600 - shpejtësia e portit (4800, 9600, 19200, 38400)

    8 - bit të dhënash (7, 8)

    1 - bit ndalimi (0,1)

    0 - çiftimi (0 - asnjë, 1-tek, 2-çift)

PSFR101, PSFR104 - inicializimi i parametrave të marrësit

Mesazhet NMEA me numër 101 dhe 104 synojnë të inicializojnë parametrat e destinuar për marrjen e GPS. Përcaktimi i këtyre parametrave mund të përshpejtojë kohën e marrjes së satelitëve GPS. Mesazhi 101 vendos koordinatat aktuale në formatin XYZ, mesazhi 104 - në formatin BLH (gjatësia, gjerësia).

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

PSRF104.37.3875111.-121.97232.0.95000.237759.922.12.3*3A

    PSRF101 - Titulli NMEA

    37.3875111 – gjerësi gjeografike në gradë

    121.97232 - gjatësia gjeografike në gradë

    0 - lartësia, në metra

    95000 – ndërrimi i orës

    237759 – Koha GPS, në sekonda

    922 – Numri i javës GPS

    12 - numri i kanaleve

    3 – lloji i inicializimit të të dhënave (1 – nisje e nxehtë, 2 – nisje e ngrohtë, 3 – inicializimi i të dhënave, 4 – fillimi i ftohtë me pastrimin e plotë të të dhënave, 8 – fillimi i ftohtë me rivendosjen e cilësimeve të fabrikës)

PSFR103 – Konfigurimi i gjenerimit të mesazheve NMEA

Ky mesazh NMEA ju lejon të vendosni ose të kërkoni periudhën e gjenerimit të çdo mesazhi NMEA "dalës".

$PSRF103.05.00.01.01*20

    PSRF103 - Titulli NMEA

    05 – titulli i mesazhit

    01 – perioda, në sekonda (0-255)

    01 - prania e shumës së kontrollit (0 - po, 1 - jo)

Rezultatet e eksperimentit

Në kushtet e shikueshmërisë normale satelitore, marrësi Garmin eMap prodhon grupin e mëposhtëm të mesazheve 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

$PGRMM,WGS 84*06

$GPRTE,1,1,c,*37

Nga analiza e mesazheve është e qartë se marrësi aktualisht po gjurmon 10 satelitë (GSV), nga të cilët 7 (GGA) përdoren në llogaritjen e pozicionit. Gabimi i pozicionimit horizontal është i barabartë me 6 metra (RME), dhe treguesi i llojit të zgjidhjes është 1 (GGA)

Nëse krijoni kushte në të cilat sinjali GPS nuk do të merret, atëherë mesazhet GGA do të përmbajnë fusha "boshe" dhe treguesi i llojit të vendimit do të marrë vlerën 0 (GGA)

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

$GPGSA,A,1,,*1E

Në modalitetin "normal", mesazhet RMB dhe BOD përmbajnë fusha boshe. Pasi u zgjodh pika e rrugës si destinacioni përfundimtar, këto fusha u mbushën me të dhëna. Siç vijon nga analiza e mesazhit, distanca deri në pikën është 1620 milje, azimuti i lëvizjes është 6.3 gradë (BOD). Në të njëjtën kohë, azimuti i mesazheve BOD dhe RMB ndryshon me 0,1 gradë.

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

$GPBOD,6,3,T,357,0,M,Rrugë,*74

Pasi të jetë zgjedhur itinerari Home për navigim, lista e mesazheve RTE shfaq një listë të të gjitha pikave të rrugës në itinerar. Dhe në mesazhin RMB - numrat e identifikimit të pikave fillestare dhe përfundimtare (të ardhshme) të rrugës.

$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

konkluzioni

Në shumicën e rasteve, përdoruesi nuk ka nevojë dhe nuk është i interesuar të dijë se cilat të dhëna po transmetohen dhe në cilat fusha. Shumica e programeve të navigimit "analizojnë" të dhënat e mesazheve NMEA dhe i paraqesin ato në një formë miqësore për përdoruesit - grafikë, diagrame, tabela, etj.

Me interes të veçantë janë mesazhet NMEA për përdoruesit që dëshirojnë të kryejnë kërkime mbi të dhënat GPS, të llogarisin vlerësimet e matjeve të marra ose të analizojnë sjelljen e marrësve të navigimit në kushte të ndryshme. Ka një sërë programesh që mund të përdoren për të zgjidhur këto probleme.

Por megjithatë, formati NMEA nuk është menduar për analizë të thellë të të dhënave GPS, pasi nuk përmban të ashtuquajturat matje "të papërpunuara" - pseudo-varg, faza, Doppler. Çdo prodhues i pajisjeve të lundrimit ka protokollin e tij "të hapur" ose "të mbyllur" që shfaq këtë informacion

NMEA është një format i thjeshtë dhe i kuptueshëm që jo vetëm që lejon shkëmbimin e të dhënave midis marrësve GPS dhe programeve të navigimit, por gjithashtu u jep përdoruesve disa ide mbi parimet e funksionimit të pajisjeve të navigimit satelitor.

Kujdes!

Një artikull nga faqja e internetit " Portali GPS"



 

Mund të jetë e dobishme të lexoni: