Nmea արձանագրության մշակման աղբյուրի կոդը: NMEA արձանագրության նկարագրությունը

Ինձ անհրաժեշտ էր փորձարկել մի ծրագիր, որն օգտագործում է GNSS տվյալներ NMEA արձանագրության միջոցով: Դա պայմանավորված էր նրանով, որ ես աշխատում էի ինքնաթիռների նավիգացիոն ծրագրի նախագծի վրա, օդում փորձարկումը բնականաբար թանկ է, գետնին GNSS ընդունիչով մեքենա վարելը առանձնապես հարմար չէ, ուստի ես ուզում էի ունենալ NMEA արձանագրության տվյալներ: իմ գրասեղանի մոտ նստած վիրտուալ զուգահեռ պորտի վրա ենթադրաբար շարժվող սարքավորումներից: Սկզբում ես փնտրում էի տարբեր ծրագրակազմ, մտածեցի, որ հարմար բան կգտնեմ, բայց մեծ մասը վճարովի է, և տվյալների էմուլյացիայի վերահսկիչները այնքան էլ հարմար չեն, չնայած նրանք ընդօրինակում են NMEA ստանդարտի գրեթե բոլոր պարամետրերը: Բայց ինձ պետք էր ինչ-որ պարզ բան, որն ընդօրինակեր կոորդինատները, արագությունը, հիմնականում ոչ ավելին, և ինձ բավական հարմար և տրամաբանական հսկողություն էր պետք: Այսպիսով, ես ստիպված էի գրել այս տեսակի դիմում C#-ով:

Fly_nmea


NMEA («Ազգային ծովային էլեկտրոնիկայի ասոցիացիա») - լրիվ անվանումն է «NMEA 0183» - տեքստային արձանագրություն ծովային (սովորաբար նավիգացիոն) սարքավորումների միջև հաղորդակցության համար:
Տվյալները փոխանցվում են նախադասությունների տեսքով: Առաջարկի ձևաչափը հետևյալն է.
$AAAAA[,<данные>]*հհ , Որտեղ:
$ - նախադասության մեկնարկի խորհրդանիշ (կոդ 24h);
AAAAA - առաջարկի հինգ նիշանոց հասցեն (անունը);
[, <данные>] - ստորակետերով բաժանված տվյալների դաշտերի ցանկ (կոդ 2Сh);
* - ստուգիչ գումարի նշան (կոդ 2Ah);
hh - ստուգիչ գումար:

Օրինակ նախադասություն.
GGA – GPS տեղադրության տվյալներ
Դիտարկման հետ կապված ժամանակը, վայրը և տվյալներ.
$GPGGA,hhmmss.sss,llll.ll,a,yyyy.yy,a,x,xx,x.x,x.x,M,x.x,M,x.x,xxx*hh

Ինձ անհրաժեշտ էր ընդօրինակել չորս տող.

  • GLL – Տեղադրության կոորդինատներ
  • GSV – Տեսանելի արբանյակներ
  • RMC – Առաջարկվող նվազագույն տվյալների հավաքածու GPS-ի և GLONASS-ի համար
  • GSA - Ճշգրտության քայքայման գործոն, որն օգտագործվում է նավիգացիոն արբանյակների համար
Էմուլյացիան կազմակերպվում է հետևյալ հաջորդականությամբ.
  • մենք նախնական կոորդինատները սահմանեցինք WGS-84 համակարգում
  • այնուհետև մենք գնում ենք հարթ պրոյեկցիա, օրինակ Mercator (կոորդինատները փոխարկելու համար ես օգտագործել եմ պատրաստի գրադարան C#-ում)
  • Իմանալով x, y, h հարթության կոորդինատները, մենք իրականացնում ենք օդանավի շարժման ֆիզիկան՝ օգտագործելով փոփոխական պարամետրեր գրաֆիկական ինտերֆեյսի միջոցով, ինչպիսիք են՝ գլորում, քայլ, արագություն։
  • փոխարկել հարթ կոորդինատները WGS-84 համակարգի B, L, H կոորդինատների
  • մենք կազմում ենք NMEA ստանդարտ հաղորդագրությունների փաթեթ անհրաժեշտ չորս տողերից
  • ուղարկել դրանք վիրտուալ զուգահեռ նավահանգիստ
Fly_nmea + Android սենսոր
Ավելի հարմար փորձարկման համար ես նաև կարգավորեցի տվյալների ընդունումը Android սենսորներից (թեքության անկյուններ): Android-ն ուղարկում է երկու տող, ինչպիսիք են.
  • «Անկյուն:\t236.04152\t-1.0\t-3.0»
  • «Acc:\t-0.46309182\t-0.14982383\t-10.56939»
Էմուլացիոն հավելվածում ես ընդունում եմ դրանք և, ելնելով թեքության անկյուններից, փոխում եմ պարամետրերը.
  • սկիպիդար
Էմուլացիոն հավելվածում դուք կարող եք ծրագրային ինտերֆեյսի միջոցով կառավարումից անցնել Android Sensor-ին:
Fly_nmea միացում
COM պորտերը ընդօրինակելու համար Վիրտուալ Սերիական Պորտերի Էմուլյատորը նույնպես պետք է կարգավորեք երկու վիրտուալ COM պորտերի միացումը, օրինակ՝ COM1;<->COM6, իսկ Fly_nmea ծրագիրը տվյալներ կուղարկի COM6-ին, իսկ COM1-ին NMEA արձանագրությունն օգտագործող ծրագիրն այն կստանա:

Եզրակացություն

Ընդհանրապես, ես ավելի շատ ժամանակ էի ծախսում նման ծրագրեր փնտրելու համար, և չգտնելով մի բան, որն ինձ լիովին կբավարարի, ես ինքս արագ գրեցի: Ի լրումն այն նախագծի, որի վրա ես աշխատում էի, ինձ հաջողվեց նաև բավականին հաջողությամբ միացնել էմուլյատորը NMEA արձանագրությունը հասկացող ծրագրերին, ինչպիսիք են 2Gis-ը և SAS planet-ը:



FlyNMEA և android սենսոր (սենսորներից տվյալների փոխանցման նախագիծ UDP-ի միջոցով)

NMEA 0183(-ից Ծովային էլեկտրոնիկայի ազգային ասոցիացիա«) - ստանդարտ, որը սահմանում է տեքստային արձանագրություն ծովային (սովորաբար նավիգացիոն) սարքավորումների (կամ գնացքներում օգտագործվող սարքավորումների) միմյանց միջև հաղորդակցության համար: Այն հատկապես հայտնի դարձավ այս ստանդարտով GPS ընդունիչների տարածման շնորհիվ:

Գծերի ընդհանուր տեսքը NMEA 0183-ում

  • «$» կամ «!" (վեցանկյուն 24 կամ վեցանկյուն 21)
  • 5 տառանոց հաղորդագրության ID. Առաջին երկու տառերը հաղորդագրության աղբյուրի նույնացուցիչն են, հաջորդ երեք տառերը հաղորդագրության ձևաչափի նույնացուցիչն են՝ համաձայն որոշակի տարբերակի NMEA 0183 արձանագրության:
  • ստորակետերով բաժանված տվյալների ցանկ (տառեր, թվեր և կետեր): Եթե ​​որևէ տվյալ բացակայում է ներսումտողերը, ստորակետները դեռ տեղադրվում են (օրինակ, «,»): Որոշ դաշտեր վերջումտողերը կարող են ընդհանրապես բացակայել:
  • խորհրդանիշ "*".
  • ութ-բիթանոց XOR - բոլոր նիշերի գումարը (ներառյալ «,» և «^») «$» և «*» տողում, որը փոխարկվում է երկու մեծատառով ASCII նիշի՝ բայթի տասնվեցական (0–9, A) ներկայացման համար։ -F) .
  • (վեցանկյուն 0D, վեցանկյուն 0Ա):

Հաղորդագրության առավելագույն երկարությունը սահմանափակված է 82 նիշով (NMEA 0183 rev 3.0)

Ստանդարտը նկարագրում է ավելի քան 250 NMEA հաջորդականության նույնացուցիչներ: Ստանդարտը սահմանում է տվյալների փոխանակման փոխարժեքներ 4800 baud: (38400 baud և ավելի արագությունների համար կա ընդլայնված ստանդարտ NMEA-0183-HS):

Ստանդարտը թույլ է տալիս ավելացնել ձեր սեփական հաջորդականության նույնացուցիչները, որոնք հաճախ օգտագործվում են արտադրողների կողմից սարքի աշխատանքի մասին լրացուցիչ տեղեկություններ հաղորդելու համար:

RMC տող (հատուկ օրինակ)

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

Դաշտի արժեքներ.

  • «GP» - աղբյուրի նույնացուցիչ; բերված օրինակում սա GPS է, «GL» - GLONASS, «GA» - Galileo, «GN» - GLONASS+GPS և այլն:
  • «RMC» - «Առաջարկվող նվազագույն նախադասություն C»
  • «hhmmss.sss» - գտնվելու վայրը ֆիքսելու ժամանակը ըստ UTC-ի՝ «hh» - ժամ, «mm» - րոպե, «ss.sss» - վայրկյան: Կոտորակի վայրկյանների տեւողությունը տատանվում է: Առաջատար զրոները բաց չեն թողնվել:
  • «A» - կարգավիճակը. «A» - տվյալները հուսալի են, «V» - անվստահելի:
  • «GGMM.MM» - լայնություն: 2 նիշ աստիճաններ («GG»), 2 նիշ ամբողջ րոպե, կետ և րոպեների կոտորակային մասը փոփոխական երկարությամբ: Առաջատար զրոները բաց չեն թողնվել:
  • «P» - «N» հյուսիսային կամ «S» հարավային լայնության համար:
  • «gggmm.mm» - երկայնություն: 3 նիշ աստիճան («ggg»), 2 նիշ ամբողջ րոպե, կետ և փոփոխական երկարությամբ րոպեների կոտորակային մասը: Առաջատար զրոները բաց չեն թողնվել:
  • «J» - «E» արևելյան կամ «W» արևմտյան երկայնության համար:
  • «v.v»-ն գետնի նկատմամբ արագության հորիզոնական բաղադրիչն է հանգույցներով: Լողացող կետի համարը. Փոփոխական երկարության ամբողջ և կոտորակային մասեր:
  • «b.b» - ուղու անկյունը (արագության ուղղությունը) աստիճաններով: Լողացող կետի համարը. Փոփոխական երկարության ամբողջ և կոտորակային մասեր: 0 արժեքը համապատասխանում է շարժմանը դեպի հյուսիս, 90 դեպի արևելք, 180 դեպի հարավ, 270 դեպի արևմուտք։
  • «ddmmyy» - ամսաթիվ՝ ամսվա օրը, ամիսը, տարվա վերջին 2 թվանշանները (առաջին զրոները պարտադիր են):
  • «x.x»-ը մագնիսական անկումն է աստիճաններով (հաճախ բացակայում է), որը հաշվարկվում է որոշ մոդելի միջոցով: Լողացող կետի համարը. Փոփոխական երկարության ամբողջ և կոտորակային մասեր:
  • «n» - մագնիսական անկման ուղղություն. մագնիսական ընթացք ստանալու համար մագնիսական անկումը պետք է հանվի «E», «W» - ավելացվի իրական ընթացքին:
  • «m» - ռեժիմի ցուցիչ. «A» - ինքնավար, «D» - դիֆերենցիալ, «E» - մոտավորություն, «N» - անվստահելի տվյալներ (հաճախ բացակայում է, այս դաշտը, ներառյալ ստորակետը, բացակայում է NMEA-ի հին տարբերակներում):
  • «hh» - ստուգիչ գումար:
  • - բայթը 0x0D է:
  • - բայթը 0x0A է:

RMC լարային օրինակներ

Օրինակ 1

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

Դաշտի արժեքներ.

  • 12 ժամ 55 րոպե 4,049 վայրկյան UTC
  • «Ա» - հուսալի
  • լայնություն 55° 42.2389», հյուսիս
  • երկայնություն 37° 41.6063», արևելք
  • արագություն 0,06 հանգույց

NMEA (National Marine Electronics Association) 2000 թվականը տվյալների փոխանցման ստանդարտ է նավիգացիայի, կապի և տեղեկատվական ցանցերի այլ սարքավորումների համար:

Շատ դեպքերում NMEA2000-ն օգտագործվում է ծովային ծրագրերում: Այս արձանագրությունը հիմնված է տվյալների փոխանցման արձանագրության վրա ԿԱՐՈՂ(Controller Area Network), որն օգտագործվում է հիմնականում նավերի ավտոմատացման մեջ։

Ծովային էլեկտրոնիկայի ազգային ասոցիացիան (NMEA) մշակել է հատուկ արձանագրություն՝ ապահովելու տարբեր արտադրողների ծովային արտադրանքի համատեղելիությունը:

Իր ստեղծման օրվանից NMEA արձանագրությունը ենթարկվել է մի քանի փոփոխության՝ ներառելով նոր դաշտեր և հաղորդագրություններ: Ընթացիկ տարբերակը, որն աջակցում է ընդունիչների մեծ մասը տարբերակ 2.3, թեեւ նորի նկարագրությունն արդեն հրապարակվել է տարբերակ 3.0.

NMEA հաղորդագրություններ

NMEA 2000-ը նկարագրում է ոչ միայն ստացված տվյալները, այլև չափումները , , բարոմետրեր և նավիգացիոն այլ սարքեր, որոնք օգտագործվում են նավերի վրա։ Տվյալների փոխանակման ինտերֆեյսը շարժական GPS ընդունիչների մեծ մասի համար իրականացվում է NMEA-ի բնութագրին համապատասխան: Նավիգացիոն ծրագրերի մեծ մասը, որոնք ապահովում են իրական ժամանակի տվյալներ, ցուցադրում են աջակցություն և «հասկանում» NMEA արձանագրությունը: Այս տվյալները պարունակում են GPS ընդունիչի նավիգացիոն ամբողջական չափումները՝ դիրքը, արագությունը և ժամանակը:

NMEA հաղորդագրության ամբողջական ճշգրտումը հանրությանը հասանելի չէ և չի կարող պաշտոնապես ներբեռնվել էլեկտրոնային եղանակով: Դրա առանձին բաժինները, NMEA արձանագրության ընդհանուր նկարագրությունը և ամենահայտնի հաղորդագրությունները կարելի է գտնել ինտերնետում: Դուք կարող եք պաշտոնապես գնել NMEA փաստաթղթերը կայքում //www.nmea.org/:

Ելքային NMEA հաղորդագրություններ

Բոլոր NMEA հաղորդագրությունները բաղկացած են ստորակետերով բաժանված տվյալների հաջորդական շարքից: Յուրաքանչյուր առանձին հաղորդագրություն անկախ է մյուսներից և լիովին «ամբողջական» է: NMEA հաղորդագրությունը ներառում է.

  • կոչում,
  • ASCII նիշերով ներկայացված տվյալների հավաքածու,
  • «checksum» դաշտ՝ փոխանցված տեղեկատվության ճշգրտությունը ստուգելու համար:

Վերնագիր

Որպես կանոն, վերնագիրը բաղկացած է հինգ նիշից: Առաջին երկու նիշերը որոշում են հաղորդագրության տեսակը, իսկ մնացած երեքը նշում են նրա անունը: Օրինակ, հաղորդագրությունների GPS NMEA վերնագիրը սկսվում է «GP»-ով: Հաղորդագրությունները, որոնք նկարագրված չեն NMEA-ի մասնագրերում, բայց իրականացվում են GPS ընդունիչներում՝ համաձայն ընդհանուր կանոնների, նախածանցով «P» են, որին հաջորդում է յուրաքանչյուր ընկերության համար եզակի երեք նիշ: Օրինակ, NMEA հաղորդագրություններն ունեն «PGRM» նախածանցը, Մագելանը՝ «PMGN»:

Տվյալներ

Յուրաքանչյուր NMEA հաղորդագրություն սկսվում է «$»-ով, ավարտվում է «\n»-ով (գծի հոսք) և չի կարող լինել ավելի քան 80 նիշ: Բոլոր տվյալները պարունակվում են մեկ տողում և բաժանվում են ստորակետերով: Տեղեկատվությունը ներկայացված է ASCII տեքստի տեսքով և չի պահանջում հատուկ վերծանում: Եթե ​​տվյալները չեն տեղավորվում հատկացված 80 նիշերի մեջ, ապա դրանք «բաժանվում» են մի քանի հաղորդագրությունների: Այս ձևաչափը թույլ է տալիս չսահմանափակել անհատական ​​տվյալների դաշտերում նիշերի ճշգրտությունն ու քանակը: Օրինակ, կոորդինատային արժեքի կոտորակային մասը կարող է ներկայացվել երեք կամ չորս տասնորդական թվերով, բայց դա ոչ մի կերպ չպետք է ազդի ծրագրաշարի աշխատանքի վրա, որը հաղորդագրությունից անհրաժեշտ տվյալները հանում է դաշտի համարով:

«Checksum» դաշտ

Յուրաքանչյուրի վերջում NMEAՀաղորդագրությունը պարունակում է «checksum» դաշտ, որը տվյալներից առանձնացված է «*» նշանով: Անհրաժեշտության դեպքում այն ​​կարող է օգտագործվել յուրաքանչյուր ստացված հաղորդագրության ամբողջականությունն ու վավերականությունը ստուգելու համար:

Մուտքային NMEA հաղորդագրություններ

NMEA 2000 արձանագրությունն աջակցում է ոչ միայն ելքային, այլև մուտքային հաղորդագրություններին, որոնց միջոցով, օրինակ, կարող եք թարմացնել կամ ավելացնել երթուղու անցակետերը: Այս հաղորդագրությունները պետք է խիստ ձևաչափված լինեն NMEA ձևաչափով, հակառակ դեպքում դրանք անտեսվելու են:

հաղորդագրությունների ցանկ

NMEA արձանագրությունը նկարագրում է տարբեր հաղորդագրությունների մեծ ցուցակ, որոնցից երկու տասնյակը ակտիվորեն օգտագործվում են նավիգացիոն սարքավորումներում: Շնորհիվ մեծ ժողովրդականության և տվյալների պարզ ներկայացման՝ NMEA արձանագրությունը կիրառել է ոչ միայն ծովային սարքավորումներում, այլև գեոդեզիական, կենցաղային և ավիացիոն GPS ընդունիչներում:

AAM - Ժամանում ճանապարհային կետ
ԱԼՄ - Ալմանախի տվյալներ
APA – Ավտոպիլոտի տվյալներ «A»
APB – Ավտոպիլոտի տվյալներ «B»
BOD – Հասանելի է նպատակակետին
DTM – Օգտագործման տվյալ
GGA – Լուծման ֆիքսված տեղեկատվություն
GLL - լայնության և երկայնության տվյալներ
GSA - Ընդհանուր արբանյակային տեղեկատվություն
GSV – Մանրամասն արբանյակային տեղեկատվություն
MSK – Կառավարման փոխանցում բազային ընդունիչին
MSS – ստացողի հիմնական կարգավիճակը
RMA – Առաջարկվող Loran տվյալների հավաքածու
RMB – Առաջարկվող GPS նավիգացիոն տվյալների հավաքածու
RMC – Առաջարկվող GPS տվյալների նվազագույն հավաքածու
RTE - երթուղու տեղեկատվություն
VTG – Շարժման և արագության վեկտոր
WCV - արագության տվյալներ ճանապարհային կետի մոտ
WPL – Ճանապարհային տվյալներ
XTC – Անուղղելի սխալ
XTE – Չափված ուղու սխալ
ZTG – UTC ժամանակը և մնացած ժամանակը մինչև նշանակման վայր հասնելը
ZDA - Ամսաթիվ և ժամ

NMEA հաղորդագրություններից որոշները կարող են պարունակել նույն տվյալների դաշտերը կամ ամբողջությամբ պարունակել այլ, ավելի փոքր NMEA հաղորդագրությունների տվյալները:

1. GGA – տեղեկատվություն ֆիքսված լուծման մասին:

Ամենատարածված և ամենաշատ օգտագործվող NMEA հաղորդագրությունը տեղեկատվություն է տրամադրում ընթացիկ ֆիքսված լուծման մասին՝ հորիզոնական կոորդինատները, բարձրության արժեքը, օգտագործվող արբանյակների քանակը և լուծման տեսակը:

$GPGGA,123519,4807.038,N,01131.000,E,1.08,0.9,545.4,M,46.9,M,*47Որտեղ:

GGA – NMEA վերնագիր

123519 – UTC ժամը 12:35:19

4807.038, N – լայնություն, 48 աստիճան 7.038 րոպե հյուսիսային լայնություն

01131.000, E – Երկայնություն, 11 աստիճան 31.000 րոպե արևելյան երկայնություն

1 – լուծույթի տեսակ*, StandAlone լուծում

08 - օգտագործված արբանյակների քանակը

0.9 - երկրաչափական գործակից, HDOP

545.4, M – բարձրությունը ծովի մակարդակից մետրերով

46.9, M – գեոիդի բարձրությունը WGS 84 էլիպսոիդից վեր

[դատարկ դաշտ] – ժամանակ է անցել DGPS-ի վերջին ուղղումը ստանալուց հետո: Լրացվում է, երբ DGPS ռեժիմն ակտիվացված է

[դատարկ դաշտ] – բազային կայանի նույնականացման համարը: Լրացվում է, երբ DGPS ռեժիմն ակտիվացված է:

* Լուծման տեսակները.

2. GSA - ընդհանուր տեղեկություններ արբանյակների մասին

Այս NMEA հաղորդագրությունը պարունակում է արբանյակների ցանկ, որոնք օգտագործվում են դիրքի հաշվարկում և երկրաչափական DOP-ների արժեքները, որոնք որոշում են դիրքի հաշվարկի ճշգրտությունը: DOP-ի պարամետրերը որոշվում են երկնքում արբանյակների երկրաչափական դասավորությամբ: Որքան լավ են արբանյակները «բաշխված» երկնքում, այնքան ցածր է DOP-ը և ավելի լավ դիրքի ճշգրտությունը: Նվազագույն PDOP արժեքը (= 1) համապատասխանում է մի իրավիճակի, երբ արբանյակներից մեկը գտնվում է անմիջապես օգտագործողի վերևում, իսկ մյուս 3-ը հավասարաչափ բաշխված են հորիզոնի մակարդակով: PDOP արժեքը հաշվարկվում է որպես HDOP-ի և VDOP-ի քառակուսիների գումարի քառակուսի արմատ:

$GPGSA,A,3,04,05,09,12,24,2.5,1.3,2.1*39Որտեղ:

GSA – NMEA վերնագիր

A – ընտրության տեսակ 2D և 3D լուծումների միջև, ավտոմատ (A-auto, M-manual)

3 – լուծույթի տեսակ, 3D լուծում (1 – լուծույթ չկա, 2 – 2D լուծում, 3 – 3D լուծում)

04.05… – PRN կոդեր, որոնք օգտագործվում են արբանյակային դիրքերը հաշվարկելիս (12 դաշտ)

2.5 – տարածական երկրաչափական գործոն, PDOP

1.3 – հորիզոնական երկրաչափական գործակից, HDOP

2.1 – ուղղահայաց երկրաչափական գործակից, VDOP

3. GSV – Մանրամասն տեղեկություններ արբանյակների մասին

Այս NMEA հաղորդագրությունը պարունակում է մանրամասն տեղեկատվություն բոլոր արբանյակների համար, որոնց հետևում է GPS նավիգատորը: Ելնելով 80 նիշերի սահմանաչափից՝ մեկ NMEA հաղորդագրությունը կարող է տվյալներ փոխանցել միայն 4 արբանյակների համար: Համապատասխանաբար, 12 արբանյակները պահանջում են 3 GSV հաղորդագրություն: SNR (Signal to Noise Ration) դաշտը պարունակում է արբանյակներից ստացված նավիգացիոն ազդանշանների մակարդակների արժեքները: Տեսականորեն դրա արժեքը կարող է տատանվել 0-ից մինչև 99 և չափվում է դԲ-ով: Փաստորեն, ազդանշանի մակարդակը գտնվում է 25 ... 35 դԲ միջակայքում: Այստեղ հարկ է նշել, որ այս պարամետրը բացարձակ չէ և հարմար չէ տարբեր մոդելների և արտադրողների ընդունիչների զգայունությունը համեմատելու համար: GPS նավիգատորները կարող են օգտագործել տարբեր ալգորիթմներ ստացված ազդանշանի մակարդակը հաշվարկելու համար, ինչը հանգեցնում է տարբեր արդյունքների՝ ընդունիչների նույն աստիճանի զգայունությամբ։ Յուրաքանչյուր տեսանելի GPS արբանյակի համար փոխանցվում է տեղեկատվության մի շարք, ներառյալ ազդանշանի ուժը, բարձրության անկյունը և արբանյակի ազիմուտը: Այս «կոմպլեկտների» թիվը որոշվում է տեսանելի արբանյակների ընդհանուր քանակով, որոնց արժեքը փոխանցվում է առանձին դաշտում:

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

GSV - NMEA վերնագիր

2 – փաթեթում GSV հաղորդագրությունների քանակը

1 – հաղորդագրության համարը փաթեթում (1-ից 3)

08 - տեսանելի արբանյակների քանակը

01 - արբանյակային համար

40 – բարձրության անկյուն, աստիճաններով

083 - ազիմուտ աստիճաններով

46 – SNR, ազդանշանի մակարդակ

Այս NMEA հաղորդագրությունը պարունակում է այսպես կոչված «PVT» տվյալների ամբողջ փաթեթը: «PVT»-ն «դիրք, արագություն, ժամանակ» բառի ընդհանուր հապավումն է։

$GPRMC,123519,A,4807.038,N,01131.000,E,022.4,084.4,230394,003.1,W*6AՈրտեղ:

RMC – NMEA վերնագիր 123419 – UTC ժամանակ, 12:34:59

A – կարգավիճակ (A – ակտիվ, V – անտեսել)

NMEA 0183– տեքստային հաղորդակցման արձանագրություն, որն օգտագործվում է GPS ստացող մոդուլներում: Այս ստանդարտը ստեղծվել է ծովային նավիգացիոն սարքավորումների հաղորդակցման համար: Արձանագրությունը նախատեսում է տեքստային հրամանների և հաղորդագրությունների փոխանցում ASCII նիշերի միջոցով: Այսպիսով, հաղորդագրություններ ստանալու համար բավական է օգտագործել UART սերիական ինտերֆեյսը, մինչդեռ բոլոր հաղորդագրությունները կարող են ուղղակիորեն փոխանցվել համակարգչին, օգտագործելով COM պորտը, բայց չմոռանալով ազդանշանի մակարդակները փոխարկելու անհրաժեշտությունը:

GPS մոդուլը փոխանցում է տարբեր ձևաչափերի հաղորդագրություններ, որոնք պարունակում են տվյալների տարբեր հավաքածուներ՝ լայնություն և երկայնություն, արագություն, ուղղություն, ժամանակ, արբանյակների քանակը և այլն: Հաղորդագրությունները փոխանցվում են հաջորդականորեն և բաժանվում են մի քանի տեսակների, յուրաքանչյուր տեսակի հաղորդագրության ձևաչափը պարունակում է խիստ սահմանված տեղեկատվություն իր դաշտերում. Եկեք ավելի սերտ նայենք հաղորդագրությունների ընդհանուր կառուցվածքին, որոնք արտադրում է GPS մոդուլը:

$ - յուրաքանչյուր հաղորդագրություն սկսվում է այս խորհրդանիշով

Դրան հաջորդում է 5 տեքստային նիշերի նույնացուցիչը: Առաջին երկու տառերը ցույց են տալիս նավիգացիոն համակարգի տեսակը, օրինակ. «GP» - GPSկամ " ԳԼ» - Գլոնասսև այլն: Հաջորդ 3 նիշերը հաղորդագրության ձևաչափի նույնացուցիչն են, որն ամբողջությամբ որոշում է հետագա փոխանցվող տվյալների բովանդակությունը: Օրինակ «RMC»- սա առաջարկվող նվազագույն տվյալն է, որը պարունակում է տեղեկատվություն ժամանակի և ամսաթվի, լայնության և երկայնության, արագության, ընթացքի և աստիճաններով մագնիսական շեղման մասին (կարող է բացակայել): Կամ «GSA», այստեղ կփոխանցվեն արբանյակային տվյալները։ Հաղորդագրությունների հիմնական տեսակների կառուցվածքը կքննարկվի ստորև:

Այնուհետեւ հետեւում է «,» - ստորակետ, որից հետո անմիջապես հաջորդում է հաղորդագրության հիմնական մասը՝ տարբեր տվյալներով, որոնք միմյանցից բաժանվում են նույն ստորակետով։ Եթե ​​փոխանցված թիվը ամբողջ թիվ չէ, ապա ամբողջ թվի և կոտորակային մասերի միջև բաժանարարը կետ է. «.» .

Հաղորդագրության մարմնի վերջը նշվում է խորհրդանիշով «*» . Հետևյալը «$»-ի և «*»-ի միջև պարունակվող բոլոր նիշերի ստուգման գումարն է, այսինքն՝ հաղորդագրության ամբողջ մասը, ներառյալ բուն տվյալները և հաղորդագրության սկզբում գտնվող նույնացուցիչները: Ստուգման գումարը հաշվարկվում է որպես հաղորդագրության նիշերի բոլոր տասնվեցական ASCII կոդերի XOR (բացառիկ OR):

Եվ յուրաքանչյուր հաղորդագրության հենց վերջում պետք է լինեն նոր տող նիշեր

Եկեք նայենք տարբեր տեսակի հաղորդագրությունների նպատակին և կառուցվածքին:

Ռ.Մ.Կ.- առաջարկվող նվազագույն նավիգացիոն տվյալներ: Հաղորդագրությունը պարունակում է նվազագույն անհրաժեշտ քանակությամբ տեղեկատվություն: Այս տվյալները ներառում են լայնությունը և երկայնությունը, ամսաթիվը և ժամը և արագությունը: Շատ առաջադրանքների համար ավելին պետք չէ, օրինակ, մոդուլում Quectel L50Ես անջատեցի բոլոր այլ տեսակի հաղորդագրությունների փոխանցումը, քանի որ ինձ բացարձակապես պետք չէ տեղեկատվություն արբանյակների և դրանց ազդանշանների մակարդակի մասին: Իսկ անհարկի տեղեկատվություն ստանալը պահանջում է բարդացնել այս տվյալների մշակման ծրագիրը։ Հաղորդագրության կառուցվածքը հետևյալն է.

$GPRMC hhmmss.sss,Ա,ddmm.mmmm,N,դդմմ. մմմմ , Ե,v.v.գ. գ, ddmmyyyy,x.x,n,մ*հհ

Այս հաղորդագրությունը պարունակում է հետևյալ տեղեկատվությունը.

  • GPRMC– GPS արբանյակային համակարգ, RMC հաղորդագրության նույնացուցիչ
  • hhmmss.sss– ժամանակ (Գրինվիչի միջին ժամանակ), որտեղ hh – ժամ, մմ – րոպե, ss.sss – վայրկյան
  • Ա– տվյալները հավաստի են կամ Վ- տվյալներն անհուսալի են: Խորհրդանիշ Ահաղորդագրությունը կտրամադրվի, որ կա արբանյակներից ազդանշանների հուսալի ընդունում, որոնք անհրաժեշտ են տեղորոշման տվյալները հաշվարկելու համար: Խորհրդանիշ Վտեղի կունենա, երբ ստացողը չի տեսնում արբանյակները կամ երբ հայտնաբերված արբանյակների թիվը բավարար չէ կոորդինատները վստահորեն հաշվարկելու համար: Օրինակ, եթե դուք միացնեք GPS մոդուլը ինչ-որ տեղ պանելային տանը և պատուհաններից հեռու, ամենայն հավանականությամբ կտեսնեք խորհրդանիշը. Վստացված հաղորդագրության մեջ։
  • ddmm.mmmm- լայնություն, աստիճաններ և րոպեներ
  • Նկամ Ս- հյուսիս կամ հարավ: Այն կիսագնդը, որում դուք գտնվում եք: Եթե ​​դուք Ավստրալիայում եք, դա ցույց կտա Ս. Եկատերինբուրգում իմ GPS մոդուլը տալիս է Ն.
  • ddmm.mmmm- երկայնություն, աստիճաններ և րոպեներ
  • Եկամ Վ- արևմտյան կամ արևելյան կիսագնդեր
  • v.v- արագությունը հանգույցներով
  • գ. գ- աստիճաններով գետնի վրայով ուղղվելը: Հյուսիս ուղղությամբ շարժվելիս կլինի 0 աստիճան:
  • ddmmyyyy- ամսաթիվ
  • x.x- մագնիսական անկում
  • n- մագնիսական անկման ուղղություն. Ես ոչինչ չեմ կարող բացատրել այս վերջին երկու պարամետրերի մասին: Օրինակ իմ մոդուլը GPS Quectel L50բնակարանում ընդունելության ժամանակ այս տվյալն ընդհանրապես չի ցուցադրվել պատուհանի վրա, ուղղակի բաց է թողնվել։
  • մ- նավիգացիոն ռեժիմ. Ն- ոչ ճշգրիտ տվյալներ, Ա- ինքնավար, Դ- դիֆերենցիալ

Ահա RMC հաղորդագրության օրինակ.

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

  • GMT 10ժ 59մ 54վրկ
  • Ա- տվյալները հավաստի են
  • Լայնություն 31 աստիճան 50,6371 րոպե
  • Ն- Հյուսիսային
  • Երկայնություն 117 աստիճան 11,9399 րոպե
  • Ե- արևելյան
  • Արագություն 0.00 հանգույց
  • Դե, 96,1 աստիճան
  • ամսաթիվը 25 մարտի, 2013 թ
  • մասին տեղեկություններ մագնիսական անկումոչ ոք
  • Ռեժիմ - ինքնավար
  • Հաղորդագրության նիշերի ստուգման գումարը 0×053

Այստեղ հարկ է նշել մեկ կետ. Լայնության և երկայնության տվյալները պարունակում են րոպեների կոտորակային մաս, որն ընդհանրապես չի համապատասխանում «վայրկյանների» թվին, քանի որ այն տասնորդական կոտորակ է։ Իմ փորձած GPS ծրագրերը ճշգրիտ ցույց են տալիս քարտեզի կոորդինատները: Բայց եթե այս թվերը մուտքագրեք Google Maps-ի որոնման տողում, քարտեզի վրա գտնվելու վայրը իրականից մի քանի կիլոմետր հեռավորության վրա կլինի: Այս դեպքում ստացված կոորդինատները մուտքագրելիս պետք է լայնության և երկայնության կոտորակային մասը բաժանել 60-ի` այս թվերը «վայրկյանների» վերածելու համար: Երբ ես առաջին անգամ միացրի Quectel L50 մոդուլը և մուտքագրեցի ձեռք բերված լայնության և երկայնության կոորդինատները Google maps-ի որոնման տողում, ես քարտեզի վրա դիրք ստացա զգալի սխալով, որտեղ նշված էր Ուրալմաշի տարածքում ինչ-որ տեղ:

Ահա այս արձանագրության մեջ օգտագործվող հաղորդագրությունների մի քանի այլ տեսակներ.

  • ՎՏԳ- ճշմարիտ ընթացքի ուղղությունը և վերգետնյա արագությունը
  • Գ.Գ.Ա.- վերջին գտնվելու վայրի տվյալները
  • Գ.Ս.Ա.- տվյալներ ակտիվ արբանյակների մասին
  • GSV- տեսանելի արբանյակների, դրանց դիրքի և թվերի, ինչպես նաև ազդանշանի ուժի մասին տվյալներ
  • GLL- լայնության, երկայնության և ժամանակի տվյալներ
  • ԶԴԱ- ժամի և ամսաթվի մասին տեղեկատվություն

Ես չմանրամասնեցի, թե ինչից է բաղկացած յուրաքանչյուր հաղորդագրություն հոդվածի վերջում տրված է արձանագրությունը նկարագրող փաստաթղթի հղումը: GPS մոդուլի որոշակի տեսակ չի կարող փոխանցել թվարկված բոլոր տվյալները: Դուք կարող եք անջատել կամ միացնել տարբեր տեսակի տվյալների փոխանցումը, ինչպես նաև սահմանել դրանց առաքման ժամկետը: Մոդուլը կարգավորելու համար կան հատուկ հրամաններ, որոնք սկսվում են նույնացուցիչով $PSRFxxx, Որտեղ xxxսահմանում է հրամանի տեսակը և ձևաչափը, ինչպես ելքային հաղորդագրություններում:

Օրինակ, հրամանը $PSRF100.0.9600.8.1.0*0C սահմանում է կապի արձանագրությունը և կարգավորում սերիական պորտի պարամետրերը:

  • $PSRF100 –բնիկ SIRF արձանագրության հրամանի նույնացուցիչ
  • 0 – երկուական SIRF արձանագրություն, 1 - NMEA արձանագրություն
  • 9600 – բիթ/վրկ արագություն
  • 8 տվյալների բիթ
  • 1 կանգ առնել մի քիչ
  • 0 - հավասարության ստուգումն անջատված է

Թիմ $PSRF103.00.00.02.01 * 26 կարգավորում է ելքային պարամետրերը տարբեր տեսակի մոդուլային հաղորդագրությունների համար.

  • $PSRF103– SIRF բնիկ արձանագրության հրամանի նույնացուցիչ
  • ապա տասնորդական կետից հետո կան երկու թվանշան, որոնք որոշում են մաքսային հաղորդագրության տեսակը. 00 - GGA
    01 - ԳԼԼ
    02 - ԳՍԱ
    03 - ԳՍՎ
    04 - ՃՇՇ
    05 - ՎՏԳ
  • հաջորդ երկու թվանշանները կարգավորում են հաղորդագրությունների թողարկման կարգը, օրինակ՝ 00 - պարբերաբար
    01 - խնդրանքով
  • Հետևյալ թվերը սահմանում են հաղորդագրության ժամկետը վայրկյաններով՝ 00 = Անջատված (հաղորդագրություններն անջատված են)
    1-255 – այս տեսակի հաղորդագրությունների միջակայքը վայրկյաններով
  • ապա ստուգիչ գումարի փոխանցումը միացված/անջատված է NMEA հաղորդագրության մեջ, որը փոխանցվում է մոդուլի կողմից. 00 – ստուգիչ գումարի փոխանցումն անջատված է
    01 - ստուգիչ գումարը փոխանցվում է
  • «*» նիշից հետո, ինչպես ելքային NMEA հաղորդագրության մեջ, փոխանցվում են ստուգիչ գումար և տողերի նիշերը:

Սա այն ամենն է, ինչ ես ուզում էի համառոտ նկարագրել NMEA 0183 արձանագրության և SIRF չիպսեթի վրա մոդուլի կառավարման հրամանների մասին: Այս բոլոր հաղորդագրությունների և հրամանների ավելի մանրամասն վերծանումը տրված է, օրինակ, Quectel L50 մոդուլի արձանագրության նկարագրության մեջ, որը կարելի է ներբեռնել ստորև նշված հղումից:

NMEA արձանագրության նկարագրությունը.

Իրականացում Garmin և GlobalSat ընդունիչներում

Ներածություն

Ծովային էլեկտրոնիկայի ազգային ասոցիացիան (NMEA) մշակել է հատուկ արձանագրություն՝ տարբեր արտադրողների ծովային նավիգացիոն սարքավորումների միջև համատեղելիությունը պահպանելու համար: Այս NMEA արձանագրությունը նկարագրում է ոչ միայն GPS ընդունիչներից ստացված տվյալները, այլև չափումներ սոնարներից, ռադարներից, էլեկտրոնային կողմնացույցներից, բարոմետրերից և ծովային նավերի վրա օգտագործվող նավիգացիոն այլ սարքերից: Տվյալների փոխանակման ինտերֆեյսը շարժական GPS ընդունիչների մեծ մասի համար իրականացվում է NMEA-ի բնութագրին համապատասխան: Նավիգացիոն ծրագրերի մեծ մասը, որոնք ապահովում են իրական ժամանակի տվյալներ, ցուցադրում են աջակցություն և «հասկանում» NMEA արձանագրությունը: Այս տվյալները պարունակում են GPS ընդունիչի նավիգացիոն ամբողջական չափումները՝ դիրքը, արագությունը և ժամանակը: Բոլոր NMEA հաղորդագրությունները բաղկացած են ստորակետերով բաժանված տվյալների հաջորդական շարքից: Յուրաքանչյուր առանձին հաղորդագրություն անկախ է մյուսներից և լիովին «ամբողջական» է: NMEA հաղորդագրությունը ներառում է վերնագիր, տվյալների մի շարք, որոնք ներկայացված են ASCII նիշերով և ստուգիչ գումարի դաշտ՝ փոխանցված տեղեկատվության վավերականությունը ստուգելու համար: Ստանդարտ NMEA հաղորդագրությունների վերնագիրը բաղկացած է 5 նիշից, որոնցից առաջին երկուսը որոշում են հաղորդագրության տեսակը, իսկ մնացած երեքը՝ անունը։ Օրինակ, բոլոր GPS NMEA հաղորդագրությունները նախածանցով են «GP»: Հաղորդագրությունները, որոնք նկարագրված չեն NMEA-ի մասնագրերում, բայց իրականացվում են GPS ընդունիչներում՝ համաձայն ընդհանուր կանոնների, նախածանցով «P» են, որին հաջորդում է յուրաքանչյուր ընկերության համար եզակի երեք նիշ: Օրինակ, Garmin-ի «հայրենի» NMEA հաղորդագրություններն ունեն «PGRM» նախածանցը, Մագելան – «PMGN» Յուրաքանչյուր NMEA հաղորդագրություն սկսվում է «$»-ով, ավարտվում է «\n»-ով («տողերի հոսք») և չի կարող լինել ավելի քան 80 նիշ: . Բոլոր տվյալները պարունակվում են մեկ տողում և միմյանցից բաժանվում են ստորակետերով: Տեղեկատվությունը ներկայացված է ASCII տեքստի տեսքով և չի պահանջում հատուկ վերծանում: Եթե ​​տվյալները չեն տեղավորվում հատկացված 80 նիշերի մեջ, ապա դրանք «բաժանվում են» մի քանի NMEA հաղորդագրությունների: Այս ձևաչափը թույլ է տալիս չսահմանափակել անհատական ​​տվյալների դաշտերում նիշերի ճշգրտությունն ու քանակը: Օրինակ, կոորդինատների արժեքի կոտորակային մասը կարող է ներկայացվել 3 կամ 4 տասնորդական թվերով, բայց դա ոչ մի կերպ չպետք է ազդի ծրագրաշարի աշխատանքի վրա, որն ընտրում է անհրաժեշտ տվյալները հաղորդագրությունից դաշտի համարով: Յուրաքանչյուր NMEA հաղորդագրության վերջում կա «checksum» դաշտ, որն առանձնացված է տվյալներից «*» նիշով: Անհրաժեշտության դեպքում այն ​​կարող է օգտագործվել յուրաքանչյուր ստացված հաղորդագրության ամբողջականությունն ու վավերականությունը ստուգելու համար: NMEA արձանագրությունն աջակցում է ոչ միայն ելքային, այլև մուտքային հաղորդագրություններին, որոնց միջոցով, օրինակ, կարող եք թարմացնել կամ ավելացնել երթուղու անցակետերը: Այս հաղորդագրությունները պետք է գեներացվեն խիստ համապատասխան NMEA ձևաչափին, հակառակ դեպքում դրանք պարզապես անտեսվելու են GPS ընդունիչի կողմից: Հարկ է նշել, որ ոչ բոլոր նավիգացիոն ծրագրերն ու ստացողների մոդելներն են աջակցում այս ռեժիմին, քանի որ դրանք օգտագործում են արտադրողների՝ Garmin, Magellan և այլն, սեփականության արձանագրությունները՝ կետերն ու երթուղիները բեռնելու համար: Իր ստեղծման օրվանից NMEA արձանագրությունը ենթարկվել է մի քանի փոփոխության՝ կապված նոր դաշտերի և հաղորդագրությունների ավելացման հետ: Ընթացիկ տարբերակը, որն աջակցվում է ընդունիչների մեծ մասի կողմից, 2.3 տարբերակն է, թեև նոր 3.0 տարբերակն արդեն հրապարակվել է: NMEA հաղորդագրությունների ամբողջական ճշգրտումը հանրությանը հասանելի չէ և չի կարող պաշտոնապես ներբեռնվել էլեկտրոնային ձևով, դրա առանձին բաժինները, NMEA արձանագրության ընդհանուր նկարագրությունը և ամենահայտնի հաղորդագրությունները կարելի է գտնել ինտերնետում: Դուք կարող եք պաշտոնապես գնել NMEA փաստաթղթերը http://www.nmea.org/ կայքում:

հաղորդագրությունների ցանկ

NMEA արձանագրությունը նկարագրում է տարբեր հաղորդագրությունների մեծ ցուցակ, որոնցից կարելի է բացահայտել երկու տասնյակ հաղորդագրություններ, որոնք ակտիվորեն օգտագործվում են նավիգացիոն սարքավորումներում: Շնորհիվ մեծ ժողովրդականության և տվյալների պարզ ներկայացման՝ NMEA արձանագրությունը կիրառել է ոչ միայն ծովային սարքավորումներում, այլև գեոդեզիական, կենցաղային և ավիացիոն GPS ընդունիչներում:

    AAM – Ժամանում ճանապարհային կետ

    ԱԼՄ - Ալմանախի տվյալներ

    APA – Ավտոպիլոտի տվյալներ «A»

    APB – Ավտոպիլոտի տվյալներ «B»

    BOD – Հասանելի է նպատակակետին

    DTM – Օգտագործման տվյալ

    GGA – Լուծման ֆիքսված տեղեկատվություն

    GLL - լայնության և երկայնության տվյալներ

    GSA - Ընդհանուր արբանյակային տեղեկատվություն

    GSV – Մանրամասն արբանյակային տեղեկատվություն

    MSK – Կառավարման փոխանցում բազային ընդունիչին

    MSS – ստացողի հիմնական կարգավիճակը

    RTE – երթուղու տեղեկատվություն VTG – Շարժման և արագության վեկտոր

    WCV - արագության տվյալներ ճանապարհային կետի մոտ

    WPL – Ճանապարհային տվյալներ

    XTC – Անուղղելի սխալ

    XTE – Չափված ուղու սխալ

    ZTG – UTC ժամանակը և մնացած ժամանակը մինչև նշանակման վայր հասնելը

    ZDA - Ամսաթիվ և ժամ:

NMEA հաղորդագրություններից որոշները կարող են պարունակել նույն տվյալների դաշտերը կամ ամբողջությամբ պարունակել այլ, ավելի փոքր NMEA հաղորդագրությունների տվյալները:

GGA - տեղեկատվություն ֆիքսված լուծման մասին:

Ամենատարածված և ամենաշատ օգտագործվող NMEA հաղորդագրությունը տեղեկատվություն է տրամադրում ընթացիկ ֆիքսված լուծման մասին՝ հորիզոնական կոորդինատները, բարձրության արժեքը, օգտագործվող արբանյակների քանակը և լուծման տեսակը:

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

GGA – NMEA վերնագիր

123519 –UTC ժամը 12:35:19

4807.038, N – լայնություն, 48 աստիճան 7.038 րոպե հյուսիսային լայնություն

01131.000, E – Երկայնություն, 11 աստիճան 31.000 րոպե արևելյան երկայնություն

1 - տիպի լուծում, StandAlone լուծում

08 - օգտագործված արբանյակների քանակը

0.9 - երկրաչափական գործակից, HDOP

545.4, M – բարձրությունը ծովի մակարդակից մետրերով

46.9, M – գեոիդի բարձրությունը WGS 84 էլիպսոիդից վեր

[դատարկ դաշտ] – ժամանակ է անցել DGPS-ի վերջին ուղղումը ստանալուց հետո: Լրացվում է, երբ DGPS ռեժիմն ակտիվացված է

[դատարկ դաշտ] – բազային կայանի նույնականացման համարը: Լրացվում է, երբ DGPS ռեժիմն ակտիվացված է:

GSA - ընդհանուր տեղեկություններ արբանյակների մասին:

Այս NMEA հաղորդագրությունը պարունակում է արբանյակների ցանկ, որոնք օգտագործվում են դիրքի հաշվարկում և երկրաչափական DOP-ների արժեքները, որոնք որոշում են դիրքի հաշվարկի ճշգրտությունը: DOP-ի պարամետրերը որոշվում են երկնքում արբանյակների երկրաչափական դասավորությամբ: Որքան լավ են արբանյակները «բաշխված» երկնքում, այնքան ցածր է DOP-ը և ավելի լավ դիրքի ճշգրտությունը: Նվազագույն PDOP արժեքը (= 1) համապատասխանում է մի իրավիճակի, երբ արբանյակներից մեկը գտնվում է անմիջապես օգտագործողի վերևում, իսկ մյուս 3-ը հավասարաչափ բաշխված են հորիզոնի մակարդակով: PDOP արժեքը հաշվարկվում է որպես HDOP-ի և VDOP-ի քառակուսիների գումարի քառակուսի արմատ:

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

    GSA – NMEA վերնագիր

    A – ընտրության տեսակ 2D և 3D լուծումների միջև, ավտոմատ (A-auto, M-manual)

    3 – լուծույթի տեսակ, 3D լուծում (1 – լուծույթ չկա, 2 – 2D լուծում, 3 – 3D լուծում)

    04.05… - PRN կոդեր, որոնք օգտագործվում են արբանյակային դիրքերը հաշվարկելիս (12 դաշտ)

    2.5 – տարածական երկրաչափական գործոն, PDOP

    1.3 – հորիզոնական երկրաչափական գործակից, HDOP

    2.1 – ուղղահայաց երկրաչափական գործակից, VDOP

GSV - Մանրամասն տեղեկություններ արբանյակների մասին

Այս NMEA հաղորդագրությունը պարունակում է մանրամասն տեղեկատվություն բոլոր արբանյակների համար, որոնց հետևում է GPS նավիգատորը: Ելնելով 80 նիշերի սահմանաչափից՝ մեկ NMEA հաղորդագրությունը կարող է տվյալներ փոխանցել միայն 4 արբանյակների համար: Համապատասխանաբար, 12 արբանյակները պահանջում են 3 GSV հաղորդագրություն: SNR (Signal to Noise Ration) դաշտը պարունակում է արբանյակներից ստացված նավիգացիոն ազդանշանների մակարդակների արժեքները: Տեսականորեն դրա արժեքը կարող է տատանվել 0-ից մինչև 99 և չափվում է դԲ-ով: Փաստորեն, ազդանշանի մակարդակը գտնվում է 25 ... 35 դԲ միջակայքում: Այստեղ հարկ է նշել, որ այս պարամետրը բացարձակ չէ և հարմար չէ տարբեր մոդելների և արտադրողների ընդունիչների զգայունությունը համեմատելու համար: GPS նավիգատորները կարող են օգտագործել տարբեր ալգորիթմներ ստացված ազդանշանի մակարդակը հաշվարկելու համար, ինչը հանգեցնում է տարբեր արդյունքների՝ ընդունիչների նույն աստիճանի զգայունությամբ։ Յուրաքանչյուր տեսանելի GPS արբանյակի համար փոխանցվում է տեղեկատվության մի շարք, ներառյալ ազդանշանի ուժը, բարձրության անկյունը և արբանյակի ազիմուտը: Այս «կոմպլեկտների» թիվը որոշվում է տեսանելի արբանյակների ընդհանուր քանակով, որոնց արժեքը փոխանցվում է առանձին դաշտում:

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

    GSV - NMEA վերնագիր

    2 – փաթեթում GSV հաղորդագրությունների քանակը

    1 – հաղորդագրության համարը փաթեթում (1-ից 3)

    08 - տեսանելի արբանյակների քանակը

    01 - արբանյակային համար

    40 – բարձրության անկյուն, աստիճաններով

    083 - ազիմուտ աստիճաններով

    46 – SNR, ազդանշանի մակարդակ

Այս NMEA հաղորդագրությունը պարունակում է այսպես կոչված «PVT» տվյալների ամբողջ փաթեթը: «PVT»-ն «դիրք, արագություն, ժամանակ» բառի ընդհանուր հապավումն է։

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

    RMC – NMEA վերնագիր

    123419 – UTC ժամանակ, 12:34:59

    A – կարգավիճակ (A – ակտիվ, V – անտեսել)

    4807.038, N – լայնություն, 48 աստիճան 07.038 րոպե հյուսիսային լայնություն

    01131.000, E – Երկայնություն, 11 աստիճան 31.000 րոպե արևելյան երկայնություն

    022.4 – Արագություն, հանգույցներով

    003.1, W – Մագնիսական տատանումներ

GLL - լայնության և երկայնության տվյալներ

NMEA հաղորդագրություն լայնության և երկայնության կոորդինատներով և այն ժամանակով, երբ հաշվարկվել է այս լուծումը:

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

    GLL – NMEA վերնագիր

    4916.46, N – լայնություն, 49 աստիճան 16.45 րոպե հյուսիս

    12311.12,W- երկայնություն, 123 աստիճան 11.12 րոպե արևմտյան երկայնություն

    225444 – Ֆիքսման ժամանակը UTC ժամանակային մասշտաբով, 22:54:44

BOD - Ազիմուտ դեպի նպատակակետ

Այս NMEA հաղորդագրությունը ցույց է տալիս նավարկության ռեժիմում գտնվող առանցքակալը դեպի նպատակակետ:

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

    BOD – NMEA վերնագիր

    045.,T – ճշմարիտ ուղղություն դեպի կետ

    023.,M – մագնիսական ուղղություն դեպի կետ

    DEST – վերջնակետի նույնականացման համարը

    START – մեկնարկային կետի նույնականացման համարը

$GPRMB,A,0.66,L,003,004,4917.24,N,12309.57,W,001.3,052.5,5000.5,V*20

    RMB – NMEA վերնագիր

    A – Տվյալների տեսակը, (A – ակտիվ, V – անտեսել)

    0.66, L - շեղում ուղուց: Պարամետրը սահմանվում է ծովային մղոններով: (L – ձախ, R – աջ)

    003 - մեկնարկային կետի նույնականացման համարը

    004 - վերջնակետի նույնականացման համարը

    4917.24, N – վերջնակետի լայնության արժեքը, 49 աստիճան 17.24 րոպե հյուսիսային լայնություն

    12309.57,Վտ – վերջնակետի երկայնության արժեքը, 123 աստիճան 09.57 րոպե արևմտյան երկայնություն

    001.3 – հեռավորությունը դեպի կետ, ծովային մղոններով

    000.5 - արագություն, հանգույցներով

    V – ժամանման տեղեկություն (A – ժամանում, V – կետ դեռ չի հասել)

RTE - երթուղու տեղեկատվություն

NMEA RTE հաղորդագրությունը ցուցադրում է ակտիվ երթուղու ճանապարհային կետերի ցանկը: Գոյություն ունեն երկու տեսակի RTE հաղորդագրություններ. Առաջին դեպքում ցուցադրվում են երթուղու բոլոր կետերը: Երկրորդում կա միայն մնացած կետերի ցանկը, որոնք դեռ պետք է այցելել երթուղու երկայնքով շարժվելիս: Հաշվի առնելով, որ NMEA արձանագրությունն ունի սահմանափակում, ըստ որի հաղորդագրության երկարությունը չպետք է գերազանցի 80 նիշը, RTE հաղորդագրությունը կարող է բաղկացած լինել մի քանի տողից։

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

    RTE – NMEA վերնագիր

    2 – հաղորդագրությունների ընդհանուր քանակը տվյալների ամբողջական ցանկը ցուցադրելու համար

    1 – հաղորդագրության համարը ընդհանուր ցուցակից

    с – RTE հաղորդագրության տեսակը (с – երթուղու կետերի ամբողջական ցանկ, w – կետերի ցանկ, որոնք դեռ պետք է այցելել)

    0 - երթուղու նույնացուցիչ

    W3IWI,DRIVWY,.. - ճանապարհային կետերի ցանկ

Garmin-ի առանձնահատկությունները

Garmin ընդունիչներն աջակցում են NMEA հաղորդագրությունների մեծամասնությանը, որոնք պարունակում են GPS չափումներ, դիրքեր և ժամանակ՝ GGA, GLL, GSA, GSV, RMC: Ինչպես նաև նավիգացիոն հաղորդագրություններ – RMB, BOD

Այս հաղորդագրությունները ցուցադրելու համար դուք պետք է փոխեք ինտերֆեյսը ստացողի կարգավորումներում «Garmin»-ից «NMEA»-ի և, հնարավոր է, սահմանեք ցանկալի արագությունը: Նույն արագությունը պետք է սահմանվի նավիգացիոն ծրագրում սերիական պորտի կարգավորումներում, որին միացված է նավիգատորը:

Ցավոք, USB պորտով ընդունիչները չեն աջակցում NMEA արձանագրությունը՝ սահմանափակելով դրա կարգավորումները միայն Garmin արձանագրությամբ:

Համակարգչի սերիական միացք մուտք գործող տեղեկատվությունը ցուցադրելու համար կարող եք օգտագործել Windows տերմինալային ծրագիր կամ նավիգացիոն ծրագրերից մեկը, որն աջակցում է այս գործառույթը:

Ստորև բերված է Garmin eMap ստացողի NMEA հաղորդագրությունների ցանկը, որոնք պարունակվում են մեկ դարաշրջանում:

$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

Ի լրումն ստանդարտ NMEA հաղորդագրությունների, Garmin ընդունիչները իրականացնում են հաղորդագրությունների իրենց հավաքածուն, որոնցից յուրաքանչյուրը պարունակում է «GRM» նախածանց վերնագրում, «M» կամ «Z» նույնացուցիչ, որը նույնացնում է տվյալների տեսակը և մեկ նիշ անվան համար:

PGRME – Դիրքորոշման սխալի գնահատում

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

    15.0,M – հորիզոնական դիրքավորման սխալի գնահատում մետրերով

    45.0,M – ուղղահայաց սխալի գնահատում, մետրերով

    25.0,M – համարժեք գնդային դիրքավորման սխալ

PGRMZ - բարձրության չափումներ

$PGRMZ,93,f,3*21

    93,f – բարձրության արժեքը, ֆունտներով

    3 - դիրքի չափման պայմաններ (2 - օգտագործողի կողմից սահմանված բարձրություն,

    3 – բարձրությունը հաշվարկված GPS-ով)

PGRMM - ընթացիկ տվյալ

$ PGRMM, NAD27 Կանադա * 2F

    NAD27 Canada – ընթացիկ հորիզոնական տվյալների անվանումը

Sirf-ի առանձնահատկությունները

Sirf-ի GPS չիպերն օգտագործվում են GPS նավիգացիոն տարբեր սարքավորումներում՝ սովորական տախտակներից մինչև շարժական և մեքենայի GPS նավիգատորներ: Բայց ի տարբերություն նավիգատորների, նրանք աջակցում են միայն NMEA հաղորդագրությունները՝ կապված GPS չափումների, դիրքի և ժամանակի հաշվարկների հետ՝ GGA, GLL, GSA, GSV, RMC, VTG, ZDA:

«Sirf»-ն աջակցում է նաև մի քանի «մուտքային» NMEA հաղորդագրություններ, որոնք նախատեսված են տարբեր պարամետրերի կազմաձևման և ճշգրտման համար: Բացի այդ, Sirf-ն իրականացնում է իր սեփական երկուական արձանագրությունը, որը թույլ է տալիս զգալիորեն ավելի շատ կարգավորումներ փոխել։ Այս 5 «մուտքային» NMEA հաղորդագրությունները, ըստ կանոնների, սկսվում են $PSFR նախածանցով։ Բոլոր հաղորդագրությունները պարունակում են տվյալների ֆիքսված հավաքածու և ավարտվում են «\n» գրանշանով (գծի հոսք)

«Sirf» պարամետրերը կարգավորելու համար օգտագործվում է «SirfTech» հատուկ ծրագիր: NMEA հաղորդագրության պարամետրերը կազմաձևված են ընտրացանկի առանձին տարրում:

$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

Ինչպես տեսնում եք վերը նշված օրինակից, գործարանային կարգավորումները պարունակում են ավելի քիչ NMEA հաղորդագրություններ՝ համեմատած Garmin-ի կարգավորումների հետ: Անհրաժեշտության դեպքում այս հավաքածուն կարող է ընդլայնվել՝ բացակայող 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,100834.000,05/20/2007,*5A

PSFR100, PSFR102 – սերիական պորտի կոնֆիգուրացիա

NMEA հաղորդագրության համարը 100 օգտագործվում է A պորտը կարգավորելու համար, հաղորդագրություն 102 - նավահանգիստ B: Հաղորդագրություն 100-ն ունի լրացուցիչ դաշտ, որը թույլ է տալիս փոխարկել միջերեսը երկուական Sirf արձանագրությանը:

Համապատասխանաբար, երկուական արձանագրությունում կա հրաման, որը փոխում է նավահանգիստը NMEA ձևաչափի: Նախքան երկուական արձանագրության անցնելը, դուք պետք է հասկանաք, արդյոք կա ծրագիր, որը թույլ կտա վերականգնել NMEA արձանագրությունը ապագայում:

$PSRF100.0.9600.8.1.0*0C

$PSRF102.9600.8.1.0 * 3C

    PSRF100 – NMEA վերնագիր

    0 – պարամետր, որը ցույց է տալիս, թե որ ռեժիմում է փոխվել արձանագրությունը (0-Sirf, 1-NMEA)

    9600 - պորտի արագություն (4800, 9600, 19200, 38400)

    8 – տվյալների բիթ (7, 8)

    1 - կանգառի բիթ (0,1)

    0 – զուգավորում (0 – ոչ մեկը, 1 – կենտ, 2 – զույգ)

PSFR101, PSFR104 – ստացողի պարամետրերի սկզբնավորում

101 և 104 համարներով NMEA հաղորդագրությունները նախատեսված են GPS ընդունման համար նախատեսված պարամետրերը սկզբնավորելու համար: Այս պարամետրերի որոշումը կարող է արագացնել GPS արբանյակների ձեռքբերման ժամանակը: Հաղորդագրություն 101-ը սահմանում է ընթացիկ կոորդինատները XYZ ձևաչափով, հաղորդագրություն 104-ը՝ BLH (երկայնություն, լայնություն) ձևաչափով:

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

$PSRF104.37.3875111.-121.97232.0.95000.237759.922.12.3 * 3A

    PSRF101 – NMEA վերնագիր

    37.3875111 – լայնությունը աստիճաններով

    121,97232 – երկայնություն աստիճաններով

    0 - բարձրություն, մետրերով

    95000 – ժամացույցի հերթափոխ

    237759 – GPS ժամանակը, վայրկյաններով

    922 – GPS շաբաթվա համարը

    12 - ալիքների քանակը

    3 – տվյալների սկզբնավորման տեսակը (1 – տաք մեկնարկ, 2 – տաք մեկնարկ, 3 – տվյալների սկզբնավորում, 4 – սառը մեկնարկ՝ տվյալների ամբողջական մաքրմամբ, 8 – սառը մեկնարկ՝ գործարանային պարամետրերի վերականգնմամբ)

PSFR103 – NMEA հաղորդագրությունների ստեղծման կոնֆիգուրացիա

Այս NMEA հաղորդագրությունը թույլ է տալիս սահմանել կամ հարցումներ կատարել յուրաքանչյուր «ելքային» NMEA հաղորդագրության ստեղծման ժամանակահատվածը:

$PSRF103.05.00.01.01*20

    PSRF103 – NMEA վերնագիր

    05 - հաղորդագրության անվանումը

    01 – ժամանակաշրջան, վայրկյաններով (0-255)

    01 - ստուգիչ գումարի առկայություն (0 - այո, 1 - ոչ)

Փորձի արդյունքները

Արբանյակային նորմալ տեսանելիության պայմաններում Garmin eMap ընդունիչը արտադրում է 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

Հաղորդագրությունների վերլուծությունից պարզ է դառնում, որ ստացողը ներկայումս հետևում է 10 (GSV) արբանյակներին, որոնցից 7-ը (GGA) օգտագործվում են դիրքի հաշվարկում։ Հորիզոնական դիրքավորման սխալը հավասար է 6 մետրի (RME), իսկ լուծման տեսակի ցուցանիշը 1 է (GGA)

Եթե ​​ստեղծեք պայմաններ, որոնց դեպքում GPS ազդանշանը չի ստացվի, ապա GGA հաղորդագրությունները կպարունակեն «դատարկ» դաշտեր, իսկ որոշման տեսակի ցուցիչը կստանա 0 արժեքը (GGA):

$GPGGA,0.00,M,M,*66

$GPGSA,A,1,,*1E

«Նորմալ» ռեժիմում RMB և BOD հաղորդագրությունները պարունակում են դատարկ դաշտեր: Երբ Ճանապարհային անցակետը ընտրվեց որպես վերջնական նպատակակետ, այս դաշտերը համալրվեցին տվյալների հետ: Ինչպես հետևում է հաղորդագրության վերլուծությունից, հեռավորությունը դեպի կետ 1620 մղոն է, շարժման ազիմուտը՝ 6,3 աստիճան (BOD): Միևնույն ժամանակ, BOD և RMB հաղորդագրությունների ազիմուտը տարբերվում է 0,1 աստիճանով:

$GPRMB,A,0.00,R,Ճանապարհ,5524.501,N,03710.445,E,1.620,6.4,V,A*59

$GPBOD,6.3,T,357.0,M,Ճանապարհ,*74

Նավիգացիայի համար Գլխավոր երթուղին ընտրվելուց հետո RTE հաղորդագրությունների ցանկը ցուցադրում է երթուղու բոլոր ճանապարհային կետերի ցանկը: Իսկ RMB հաղորդագրության մեջ՝ երթուղու մեկնարկային և վերջնական (հաջորդ) կետերի նույնականացման համարները։

$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

Եզրակացություն

Շատ դեպքերում օգտատերը կարիք չունի և հետաքրքրված չէ, թե ինչ տվյալներ են փոխանցվում և ինչ ոլորտներում: Նավիգացիոն ծրագրերի մեծ մասը «վերլուծում» է NMEA հաղորդագրության տվյալները և ներկայացնում դրանք օգտագործողի համար հարմար ձևով՝ գրաֆիկներ, դիագրամներ, աղյուսակներ և այլն:

Առանձնահատուկ հետաքրքրություն են ներկայացնում NMEA հաղորդագրությունները այն օգտատերերի համար, ովքեր ցանկանում են հետազոտություն կատարել GPS տվյալների վրա, հաշվարկել ձեռք բերված չափումների գնահատումները կամ վերլուծել նավիգացիոն ընդունիչների վարքագիծը տարբեր պայմաններում: Կան մի շարք ծրագրեր, որոնք կարող են օգտագործվել այս խնդիրները լուծելու համար:

Այնուամենայնիվ, NMEA ձևաչափը նախատեսված չէ GPS տվյալների խորը վերլուծության համար, քանի որ այն չի պարունակում այսպես կոչված «հում» չափումներ՝ կեղծ միջակայքեր, փուլեր, դոպլեր: Նավիգացիոն սարքավորումների յուրաքանչյուր արտադրող ունի իր «բաց» կամ «փակ» արձանագրությունը, որը ցուցադրում է այս տեղեկատվությունը

NMEA-ն պարզ և հասկանալի ձևաչափ է, որը ոչ միայն թույլ է տալիս տվյալների փոխանակում GPS ընդունիչների և նավիգացիոն ծրագրերի միջև, այլև օգտվողներին տալիս է որոշակի պատկերացում արբանյակային նավիգացիոն սարքավորումների շահագործման սկզբունքների մասին:

Ուշադրություն.

Հոդված կայքից» GPS պորտալ"



 

Կարող է օգտակար լինել կարդալ.