خانه - سرویس
پروتکل Nmea ویژگی های پروتکل NMEA2000 و کاربرد آن

احتمالا اکنون مشغول حل مشکل هک یک ابر ابر ابر سرور دیگر هستید، اما آیا می دانید GPS چیست و چگونه از آن استفاده کنید؟! اگر نه، پس این مکان برای شماست! در این مقاله در مورد نحوه کار گیرنده های GPS، نحوه دریافت اطلاعات از آنها و نحوه نوشتن یک برنامه ساده برای کار با ماژول GPS به شما خواهم گفت.

GPS (سیستم موقعیت یاب جهانی) توسط ایالات متحده در سال 1994 معرفی شد. از 24 ماهواره و سیستم های دریافت زمینی تشکیل شده است که می توانند ناوبر GPS یا ماژول GPS شما باشند (از این پس ناوبر نامیده می شود). برای تعیین دقیق مختصات، ناوبر شما باید حداقل 4 ماهواره را ببیند. در گذشته نزدیک، دقت تعیین مختصات در خارج از ایالات متحده (یا بهتر است بگوییم برای مصرف کنندگان غیر آمریکایی) به طور مصنوعی کاهش یافته بود، اما چندی پیش این محدودیت برداشته شد و اکنون می توانید مکان خود را حتی در تایگا با دقت تعیین کنید. چند متری

همه چیز به این صورت کار می کند: ناوبر شما اطلاعاتی را از هر یک از ماهواره های قابل مشاهده دریافت می کند که مانند فانوس دریایی برای آن هستند. در داخل ناوبر یک ریزپردازنده با یک برنامه تعبیه شده در آن وجود دارد که بر اساس داده های دریافتی، مکان شما را محاسبه می کند.

در حال حاضر، تعداد زیادی ناوبری GPS و ماژول های GPS برای رایانه های شخصی و لپ تاپ ها به فروش می رسد. GPS Navigator یک گیرنده GPS با صفحه نمایشی است که اطلاعات موقعیت مکانی شما را نشان می دهد و یک ماژول GPS یک گیرنده GPS است که به رایانه متصل می شود و تمام اطلاعات ناوبری را به برنامه ای که با آن کار می کند منتقل می کند. همه آنها اصولاً فقط از نظر شکل با هم تفاوت دارند و هیچ تفاوت اساسی در عملکرد ندارند. اما من و شما بیشتر به نحوه ارتباط آن با کامپیوتر و نحوه استخراج اطلاعات از آن علاقه مندیم. حالا من به شما می گویم و همه چیز را به شما نشان می دهم.

ماژول GPS هر شکلی که باشد (COM، USB، بلوتوث و غیره) به طور منطقی از طریق یک پورت COM به کامپیوتر متصل می شود، یعنی. هنگام اتصال، یک اتصال از طریق ایجاد می شود درگاه سریال. اطلاعات ناوبری در بیشتر موارد از طریق پروتکل NMEA منتقل می شود. این رایج ترین پروتکل انتقال برای ماژول های GPS است. اگرچه پروتکل های دیگری نیز وجود دارد، اما آنها را در نظر نخواهیم گرفت.

خوب، اکنون زمان آن رسیده است که نحوه ساخت نرم افزاری برای کار با این همه تجهیزات را بیابید. من فوراً می گویم که واقعاً نمی خواهم اکنون توضیح دهم که چگونه دکمه ها را با هم فشار دهیم
VB، مقاله بیشتر برای اهداف اطلاعاتی است. برای کسانی که در تانک هستند مراحل ساخت برنامه را در مقالات بعدی توضیح خواهم داد.
من فقط بیشترین را برجسته می کنم نکات مهمو من فکر می کنم شما موفق خواهید شد. من فوراً می گویم که شما می توانید یک برنامه در هر زبان برنامه نویسی ایجاد کنید، تا زمانی که امکان کار با پورت سریال و رشته ها وجود داشته باشد.
اولین چیزی که باید با آن شروع کنید باز کردن پورت COM است. تقریباً همه گیرنده ها دارای تنظیمات پیش فرض هستند: سرعت 9600 bps، 8/N/1. به محض باز کردن پورت، بلافاصله اطلاعات ناوبری را تقریباً در فواصل یک ثانیه دریافت خواهید کرد:

$GPGGA,143345.264, 0936.23,N,06354.15,E,0,06,0,0,230,6,M,0,0,M,0,0,0345*76
$GPRMC,143345.26, A,0936.23,N,06354.15, E,0.0,0.0,230306,0.0,E,A*45
$GPGSA,A,3,03,04,05,07,11,12,0.0,0.0,0.0*E2
$GPGSV,1,1,06,05,67,120,20*34

حال بیایید تحلیل را شروع کنیم:

داده ها در قالب جملات منتقل می شوند. فرمت پیشنهاد به شرح زیر است:

$AAAAA[,<данные>]*هه ، جایی که

$ - نماد شروع یک جمله (کد 24h)؛
AAAAA - آدرس پنج کاراکتری (نام) پیشنهاد؛
[, <данные>] - لیست فیلدهای داده که با کاما از هم جدا شده اند (کد 2Сh).
* - علامت چک جمع (کد 2Ah)؛
hh - چک جمع؛
، - محدود کننده نهایی (کدهای 0Dh و 0Ah).

انواع فیلد داده

نوع میدان تعیین تعریف

قالب فیلد ویژه

وضعیت آ فیلد تک کاراکتری. A = بله، داده ها
سیگنال هشدار قابل اعتماد
خیر V= خیر، داده ها قابل اعتماد نیستند، بله
سیگنال هشدار
عرض جغرافیایی llll.ll
درجه-دقیقه کسری از دقیقه. 2 شخصیت

تعداد کسری از دقیقه اگر اولی
پس هیچ نشانه ای از درجه یا دقیقه وجود ندارد
آن را با صفر جایگزین می کند تا




کیفیت بالا.
طول جغرافیایی yyyy.yy فیلد با طول ثابت/متغیر:
درجه-دقیقه و کسری از دقیقه. 3 کاراکتر
درجه، علائم 2 دقیقه ای و متغیر
تعداد کسری از دقیقه اگر اولی
علائم یا علامت دقیقه اول گم شده است،
سپس آنها را با صفر به منظور جایگزینی می کنند
تعداد کاراکترها را ثابت نگه دارید
نقطه اعشار و علائم بعدی
کسری از دقیقه اضافی هستند و
در صورت عدم نیاز ممکن است استفاده نشود
کیفیت بالا.
زمان hhmmss.ss فیلد طول ثابت/متغیر: ساعت/دقیقه/ثانیه
و کسری از ثانیه 2 علامت ساعت، 2 علامت
دقیقه، 2 ثانیه و عدد متغیر
نشانه های کسری از ثانیه به عنوان اولین
نشانه ساعت، دقیقه، ثانیه شاید
برای ذخیره روی صفر تنظیم کنید
تعداد کاراکترهای ثابت اگر نه
پس دقت بالا مورد نیاز است
نقطه اعشار و کسری از ثانیه می تواند
حذف شود.
زمینه های خاص برخی از زمینه ها خاص هستند
در نظر گرفته شده است که از قبل قرار داده شود
مقادیر ثابت معین، اغلب
کل تعیین حروف امضا کردن
چنین زمینه هایی وجود یک یا است
چند شخصیت

فیلدهای ارزش دیجیتال

زمینه های اطلاعاتی

یادداشت:

1. فاصله ها را فقط می توان در فیلدهای متنی با طول متغیر استفاده کرد.

2. علامت منفی "-" (کد 2Dh) اولین کاراکتر فیلد است اگر حاوی مقادیر منفی باشد. وقتی از علامت منفی در فیلدهای با طول ثابت استفاده می کنید، طول آنها یک افزایش می یابد. برای مقادیر مثبت، علامت حذف شده است.

GGA - داده های موقعیت مکانی GPS

زمان، مکان و داده های مربوط به مشاهده.

$GPGGA,hhmmss.sss,llll.ll,a,yyyyyy.yy,a,x,xx,x.x,x.x,M,x.x,M,x.x,xxxx*hh

1. hhmmss.sss - زمان تعاریف ناوبری.
2. llll.ll,a – عرض جغرافیایی، N/S;
3. yyyy.yy,a – طول جغرافیایی, E/W;
4. x – شاخص کیفیت مشاهده: 0 = بدون داده، 1 = مشاهده دریافت شده، 2 = مشاهده در حالت دیفرانسیل.
5. xx – تعداد ماهواره های استفاده شده.
6. x.x - مقدار ضریب هندسی افقی (HDOP).
7. x.x,M – ارتفاع آنتن از سطح دریا (ژئوید)، m;
8. x.x,M - ارتفاع ژئوئید بر روی بیضی WGS84، m;
9. x.x - پیری اصلاحات دیفرانسیل، یعنی زمان بر حسب ثانیه از آخرین تصحیح دیفرانسیل دریافت شده، در صورت خاموش شدن حالت دیفرانسیل، از میدان صفر استفاده می شود.
10. xxxx – شناسه ایستگاه دیفرانسیل 0е1023.

زمان، تاریخ، مختصات و دوره محاسبه شده توسط تجهیزات.

$GPRMC,hhmmss.ss,A,llll.ll,a,yyyyyy.yy,a,x.x,x.x,xxxxxx,x.x,a,a*hh

زمینه های این پیشنهاد عبارتند از:

1. hhmmss.ss – زمان;
2. الف – وضعیت (A/V);
3. llll.ll,a – عرض جغرافیایی، N/S;
4. yyyy.yy،a – طول جغرافیایی، E/W;
5. x.x - سرعت در گره.
6. x.x - دوره در درجه;
7. xxxxxx – تاریخ: dd/mm/yy (روز/ماه/سال)؛
8. x.x,a - انحراف مغناطیسی در درجه، E/W;
9. الف – نشانگر حالت: A = مشاهده مستقل، D = حالت دیفرانسیل، N = داده نامعتبر.

GSA - ضریب تخریب دقت مورد استفاده برای ماهواره های ناوبری

$GPGSA، a، x، xx، …، xx، x.x، x.x، x.x*hh

زمینه های این پیشنهاد عبارتند از:
1. a – حالت کنترل برای تعداد مختصات تعریف شده: M = دستی، حالت مشخص شده، A = سوئیچینگ خودکار.
2. x – حالت کار: 1 = مشاهده غیرممکن است، 2 = دو مختصات تعیین می شود، 3 = سه مختصات تعیین می شود.
3. xx...xx – تعداد ماهواره های مورد استفاده برای حل مشکل ناوبری، تعداد فیلدها برابر با تعداد کانال های گیرنده است، اعداد 1е32 برای GPS، 33е64 برای WAAS، 65е96 برای GLONASS استفاده می شود.
4. x.x - ضریب زوال دقت هندسی عمومی (PDOP).
5. x.x – ضریب زوال هندسی افقی (HDOP).
x.x – ضریب تخریب هندسی عمودی (VDOP).

GSV - ماهواره های قابل مشاهده

تعداد ماهواره‌ها در ناحیه دید رادیویی، تعداد ماهواره، زاویه ارتفاع، نسبت سیگنال به نویز. یک جمله می تواند حاوی اطلاعاتی در مورد 1 تا 4 ماهواره باشد؛ داده های ماهواره ای اضافی در جملات بعدی ارسال می شود. شماره پیشنهاد در دو فیلد داده اول نشان داده شده است. اعداد زیر برای سیستم های ماهواره ای رزرو شده است: برای GPS 1-32، برای WAAS 33-64، برای GLONASS 65-96.

$GPGSV، x، x، xx، xx، xx، xxx، xx، …، xx، xx، xxx، xx*hh

زمینه های این پیشنهاد عبارتند از:
1. x - تعداد کل پیام ها.
2. x – شماره پیام;
3. xx - تعداد کل ماهواره ها در منطقه دید رادیویی.
4. xx – شماره ماهواره;
5. xx – زاویه ارتفاع ماهواره، درجه 00-90.
6. xxx - آزیموت واقعی، درجه 000-360.
7. xx – نسبت سیگنال به نویز 00-99 دسی بل، اگر ماهواره همراه نباشد مخابره نمی شود.

توجه: فیلدهای 4، 5، 7 برای ماهواره های 2، 3 و 4 تکرار می شوند.

خوب، اکنون، با داشتن توضیحاتی در مورد پروتکل NMEA و درایور direct_ruki.sys، می توانید تجزیه خط به خط بسته ها و ایجاد یک برنامه مگا را شروع کنید)))).

NMEA 0183(از جانب " انجمن ملی الکترونیک دریایی") - استانداردی که یک پروتکل متنی برای ارتباط تجهیزات دریایی (معمولاً ناوبری) (یا تجهیزات مورد استفاده در قطارها) با یکدیگر تعریف می کند. به دلیل گسترش گیرنده های GPS با استفاده از این استاندارد محبوبیت خاصی پیدا کرد.

نمای کلی خطوط در NMEA 0183

  • نماد "$" یا "!" (هگز 24 یا هگز 21)
  • شناسه پیام 5 حرفی. طبق پروتکل NMEA 0183 یک نسخه خاص، دو حرف اول شناسه منبع پیام، سه حرف بعدی شناسه قالب پیام هستند.
  • لیستی از داده ها (حروف، اعداد و نقطه) که با کاما از هم جدا شده اند. اگر داده ای از دست رفته باشد داخلخطوط، کاما هنوز قرار می گیرند (به عنوان مثال، "،"). برخی از زمینه ها در پایانخطوط ممکن است به طور کلی گم شده باشند.
  • سمبل "*".
  • XOR هشت بیتی - مجموع همه کاراکترها (از جمله "" و "^") در خط بین "$" و "*" تبدیل به دو کاراکتر ASCII بزرگ برای نمایش هگزادسیمال بایت (0-9، A -F) .
  • (هگز 0D، هگز 0A).

حداکثر طول پیام به 82 کاراکتر محدود شده است (NMEA 0183 rev 3.0)

این استاندارد بیش از 250 شناسه توالی NMEA را توصیف می کند. این استاندارد نرخ تبادل داده را 4800 باود تعریف می کند. (برای سرعت های 38400 باود و بالاتر، استاندارد توسعه یافته 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 پیاده سازی در گیرنده های Garmin و GlobalSat

معرفی

انجمن ملی الکترونیک دریایی (NMEA) پروتکل خاصی را برای حفظ سازگاری بین تجهیزات ناوبری دریایی از تولید کنندگان مختلف ایجاد کرده است. این پروتکل NMEA نه تنها داده‌های دریافت‌شده از گیرنده‌های GPS، بلکه اندازه‌گیری‌های سونارها، رادارها، قطب‌نماهای الکترونیکی، فشارسنج‌ها و سایر دستگاه‌های ناوبری مورد استفاده در کشتی‌های دریایی را توصیف می‌کند.

رابط تبادل داده اکثر گیرنده های GPS قابل حمل مطابق با این مشخصات پیاده سازی شده است. اکثر برنامه های ناوبری که نمایش داده های بلادرنگ را ارائه می دهند، از پروتکل NMEA پشتیبانی کرده و "درک" دارند. این داده ها شامل اندازه گیری های ناوبری کامل گیرنده GPS - موقعیت، سرعت و زمان است. همه پیام‌های NMEA شامل مجموعه‌ای متوالی از داده‌ها هستند که با کاما از هم جدا شده‌اند. هر پیام فردی مستقل از دیگران است و کاملاً "کامل" است. یک پیام NMEA شامل یک هدر، مجموعه ای از داده های نشان داده شده توسط کاراکترهای ASCII و یک فیلد جمع کنترلی برای بررسی اعتبار اطلاعات ارسال شده است.

هدر پیام های استاندارد NMEA از 5 کاراکتر تشکیل شده است که دو کاراکتر اول نوع پیام را مشخص می کند و سه کاراکتر باقی مانده نام آن را نشان می دهد. به عنوان مثال، همه پیام های GPS NMEA با پیشوند "GP" هستند. پیام‌هایی که در مشخصات NMEA توضیح داده نشده‌اند، اما طبق قوانین کلی در گیرنده‌های GPS پیاده‌سازی می‌شوند، با یک پیشوند "P" همراه با سه کاراکتر منحصر به فرد برای هر شرکت قرار می‌گیرند. به عنوان مثال، پیام های NMEA "بومی" Garmin دارای پیشوند "PGRM"، Magellan - "PMGN" هستند.
هر پیام NMEA با "$" شروع می شود، با "n" ("فید خط") پایان می یابد و نمی تواند بیش از 80 کاراکتر باشد. همه داده ها در یک خط قرار می گیرند و با کاما از یکدیگر جدا می شوند. اطلاعات در قالب متن ASCII ارائه می شود و نیازی به رمزگشایی خاصی ندارد. اگر داده ها در 80 کاراکتر تخصیص داده شده قرار نگیرند، به چندین پیام NMEA تقسیم می شوند.

این فرمت به شما امکان می دهد دقت و تعداد کاراکترها را در فیلدهای داده جداگانه محدود نکنید. به عنوان مثال، بخش کسری مقدار مختصات را می توان با 3 یا 4 رقم اعشار نشان داد، اما این نباید به هیچ وجه بر عملکرد تأثیر بگذارد. نرم افزار، که داده های مورد نیاز را از پیام با شماره فیلد انتخاب می کند. در پایان هر پیام NMEA یک فیلد "جمع کنترل" وجود دارد که با یک کاراکتر "*" از داده ها جدا شده است. در صورت لزوم، می توان از آن برای تأیید صحت و اعتبار هر پیام دریافتی استفاده کرد.

پروتکل NMEA نه تنها از پیام‌های خروجی، بلکه از پیام‌های دریافتی نیز پشتیبانی می‌کند، به عنوان مثال، می‌توانید با آن‌ها نقاط بین مسیر را به‌روزرسانی یا اضافه کنید. این پیام ها باید مطابق با فرمت NMEA تولید شوند، در غیر این صورت به سادگی توسط گیرنده GPS نادیده گرفته می شوند. شایان ذکر است که همه برنامه های ناوبری و مدل های گیرنده از این حالت پشتیبانی نمی کنند، زیرا از پروتکل های اختصاصی سازندگان - Garmin، Magellan و غیره - برای بارگیری نقاط و مسیرها استفاده می کنند.

پروتکل NMEA از زمان آغاز به کار، دستخوش تغییرات متعددی در ارتباط با افزودن فیلدها و پیام‌های جدید شده است. نسخه فعلی که اکثر گیرنده ها از آن پشتیبانی می کنند نسخه 2.3 است، اگرچه قبلاً توضیحاتی منتشر شده است نسخه جدید 3.0. مشخصات کامل پیام NMEA به صورت عمومی در دسترس نیست و نمی توان آن را به طور رسمی از آن دانلود کرد در قالب الکترونیکی، بخش های جداگانه آن، توضیحات کلیپروتکل NMEA و محبوب ترین پیام ها را می توان در اینترنت یافت. شما می توانید اسناد NMEA را به طور رسمی در www.nmea.org خریداری کنید.

لیست پیام ها

پروتکل NMEA لیست بزرگی از پیام‌های مختلف را توصیف می‌کند که از میان آن‌ها می‌توان دوجین پیام را شناسایی کرد که به طور فعال در تجهیزات ناوبری استفاده می‌شوند. به دلیل محبوبیت زیاد و ارائه ساده داده ها، پروتکل NMEA نه تنها در تجهیزات دریایی، بلکه در گیرنده های GPS ژئودتیک، خانگی و هوانوردی نیز کاربرد پیدا کرده است.

  • AAM - رسیدن به Waypoint
  • ALM - داده های سالنامه
  • 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 باشند.

محتواپیام های NMEA

GGA - اطلاعاتی در مورد یک راه حل ثابت.
محبوب ترین و پرکاربردترین پیام NMEA اطلاعاتی در مورد راه حل ثابت فعلی ارائه می دهد - مختصات افقی، مقدار ارتفاع، تعداد ماهواره های استفاده شده و نوع راه حل.

$GPGGA,123519,4807.038,N,01131,000,E,1.08,0.9,545.4,M,46.9,M,*47
جایی که:

  • GGA - هدر
  • 123519 - ساعت UTC 12:35:19
  • 4807.038، شمال - عرض جغرافیایی، 48 درجه و 7.038 دقیقه عرض شمالی
  • 01131.000، E - طول جغرافیایی، 11 درجه و 31.000 دقیقه طول شرقی
  • 1 - محلول نوع، محلول StandAlone
    • 0 - بدون راه حل،
    • 1 - مستقل،
    • 2 - DGPS،
    • 3 - PPS
    • 4 - RTK ثابت،
    • 5 - RTK ثابت نیست،
    • 6- استفاده از داده های سیستم های اینرسی،
    • 7 - حالت دستی,
    • 8 - حالت شبیه سازی
  • 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 - هدر
  • A - نوع انتخاب بین راه حل های 2 بعدی و 3 بعدی، خودکار (A-auto، M-manual)
  • 3 - نوع محلول، محلول سه بعدی (1 - بدون راه حل، 2 - راه حل 2 بعدی، 3 - راه حل 3 بعدی)
  • 04.05… - کدهای PRN مورد استفاده در محاسبه موقعیت های ماهواره ای (12 فیلد)
  • 2.5 - عامل هندسی فضایی، PDOP
  • 1.3 - ضریب هندسی افقی، HDOP
  • 2.1 - ضریب هندسی عمودی، VDOP

GSV - اطلاعات دقیق در مورد ماهواره ها
این پیام NMEA حاوی اطلاعات دقیق برای همه ماهواره‌هایی است که توسط ناوبر GPS ردیابی می‌شوند. بر اساس محدودیت 80 کاراکتری، یک پیام NMEA فقط می تواند داده های 4 ماهواره را ارسال کند. بر این اساس، 12 ماهواره به 3 پیام GSV نیاز دارند.
فیلد SNR (نسبت سیگنال به نویز) حاوی مقادیر سطوح سیگنال های ناوبری دریافتی از ماهواره ها است. از نظر تئوری، مقدار آن می تواند از 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 - هدر
  • 2 - تعداد پیام های GSV در بسته
  • 1 - شماره پیام در بسته (از 1 تا 3)
  • 08 - تعداد ماهواره های قابل مشاهده
  • 01 - شماره ماهواره
  • 40 - زاویه ارتفاع، بر حسب درجه
  • 083 - آزیموت بر حسب درجه
  • 46 - SNR، قدرت سیگنال

RMC - حداقل مجموعه توصیه شده داده های GPS
این پیام NMEA شامل کل مجموعه داده های به اصطلاح "PVT" است. "PVT" مخفف رایج "موقعیت، سرعت، زمان" است.

$GPRMC,123519,A,4807,038,N,01131,000,E,022.4,084.4,230394,003.1,W*6A

  • RMC - هدر
  • 123419 - زمان UTC، 12:34:59
  • A - وضعیت (A - فعال، V - نادیده گرفتن)
  • 4807.038، شمال - عرض جغرافیایی، 48 درجه 07.038 دقیقه شمالی
  • 01131.000، E - طول جغرافیایی، 11 درجه و 31.000 دقیقه طول شرقی
  • 022.4 - سرعت، بر حسب گره
  • 084.4 - جهت حرکت، بر حسب درجه
  • 230394 - تاریخ 23 اسفند 94
  • 003.1، W - تغییرات مغناطیسی

GLL - داده های طول و عرض جغرافیایی

پیام NMEA با مختصات طول و عرض جغرافیایی و زمانی که این راه حل محاسبه شده است.

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

  • GLL - هدر
  • 4916.46، شمالی - عرض جغرافیایی، 49 درجه و 16.45 دقیقه عرض شمالی
  • 12311.12، عرض جغرافیایی W، 123 درجه و 11.12 دقیقه طول جغرافیایی غربی
  • 225444 - زمان ثابت در مقیاس زمانی UTC، 22:54:44

که در OD - آزیموت به مقصد
این پیام NMEA نشان دهنده بلبرینگ به مقصد در حالت ناوبری است.

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

  • BOD - هدر
  • 045.,T - جهت واقعی به نقطه
  • 023.,M - جهت مغناطیسی به یک نقطه
  • DEST - شماره شناسایی نقطه پایانی
  • START - شماره شناسایی نقطه شروع

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

  • RMB - هدر
  • A - نوع داده، (A - فعال، V - نادیده گرفتن)
  • 0.66، L - انحراف از مسیر. پارامتر بر حسب مایل دریایی تعریف می شود. (L - چپ، R - راست)
  • 003 - شماره شناسایی نقطه شروع
  • 004 - شماره شناسایی نقطه پایانی
  • 4917.24، N - مقدار عرض جغرافیایی نقطه پایانی، 49 درجه و 17.24 دقیقه عرض شمالی
  • 12309.57، W - مقدار طول جغرافیایی نقطه پایانی، 123 درجه 09.57 دقیقه طول جغرافیایی غربی
  • 001.3 - فاصله تا نقطه، در مایل دریایی
  • 052.5 - جهت به نقطه
  • 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 - هدر
  • 2 - تعداد کل پیام ها برای نمایش لیست کامل داده ها
  • 1 - شماره پیام از لیست عمومی
  • с - نوع پیام RTE (с - لیست کاملایستگاه های بین راه، w - لیست نقاطی که هنوز بازدید نشده اند)
  • 0 - شناسه مسیر
  • W3IWI، DRIVWY، .. - لیست ایستگاه های بین راه

ویژگی های گارمین

گیرنده های گارمین از اکثر پیام های NMEA حاوی اندازه گیری ها، موقعیت ها و زمان GPS پشتیبانی می کنند - GGA، GLL، GSA، GSV، RMC. و همچنین پیام های ناوبری - RMB، BOD

برای نمایش این پیام‌ها، باید رابط را در تنظیمات گیرنده از «Garmin» به «NMEA» تغییر دهید و احتمالاً تنظیم کنید. سرعت مورد نظر. همان سرعت باید در برنامه ناوبری در تنظیمات پورت سریالی که ناوبر به آن متصل است تنظیم شود.

متاسفانه گیرنده ها با پورت USBپروتکل NMEA را پشتیبانی نمی کند و تنظیمات آن را فقط به پروتکل Garmin محدود می کند

برای نمایش اطلاعات ورودی به پورت سریال کامپیوتر می توانید از ترمینال استفاده کنید برنامه ویندوز، یا یکی از برنامه های ناوبری که از این ویژگی پشتیبانی می کند.

در زیر لیستی از پیام‌های NMEA گیرنده گارمین eMap که در یک دوره وجود دارند، آمده است.

$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، گیرنده‌های گارمین مجموعه پیام‌های مخصوص به خود را پیاده‌سازی می‌کنند که هر کدام شامل یک پیشوند "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 - نام داده افقی فعلی

ویژگی های خاصسیرف

تراشه های جی پی اس از سیرف در موارد مختلف استفاده می شود GPS ناوبریتجهیزات، از بردهای مدار معمولی گرفته تا قابل حمل و خودرو ناوبرهای GPS. اما بر خلاف ناوبرها، آنها فقط از پیام های NMEA مربوط به اندازه گیری GPS، موقعیت و محاسبات زمان پشتیبانی می کنند - GGA، GLL، GSA، GSV، RMC، VTG، ZDA.

"Sirf" همچنین از چندین پیام "ورودی" NMEA در نظر گرفته شده برای پیکربندی و تنظیم پارامترهای مختلف پشتیبانی می کند. علاوه بر این، Sirf پروتکل باینری خود را پیاده سازی می کند که به شما امکان می دهد تنظیمات بیشتری را تغییر دهید. این 5 پیام "ورودی" NMEA، طبق قوانین، با پیشوند $PSFR شروع می شود. همه پیام ها حاوی مجموعه ای ثابت از داده ها هستند و با کاراکتر "n" (فید خط) پایان می یابند.

برای پیکربندی پارامترهای Sirf، استفاده کنید برنامه ویژهسیرف تک. پارامترهای پیام 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 کمتری در مقایسه با تنظیمات گارمین هستند. در صورت لزوم، این مجموعه را می توان با تنظیم دوره در پیام های از دست رفته 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 - هدر
  • 0 - پارامتری که نشان می دهد پروتکل در چه حالتی تغییر کرده است (0-Sirf، 1-NMEA)
  • 9600 - سرعت پورت (4800، 9600، 19200، 38400)
  • 8 - بیت های داده (7، 8)
  • 1 - بیت های توقف (0،1)
  • 0 - جفت شدن (0 - هیچ، 1 - فرد، 2 - زوج)

PSFR101، PSFR104 - مقداردهی اولیه پارامترهای گیرنده

پیام های NMEA با شماره 101 و 104 برای مقداردهی اولیه پارامترهای در نظر گرفته شده برای دریافت 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 - هدر
  • 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 - هدر
  • 05 - عنوان پیام
    • 00 - GGA
    • 01 - GLL
    • 02 - GSA
    • 04 - RMS
    • 05 - VTG
  • 00 - حالت (0 - تنظیم دوره، 1 - درخواست)
  • 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

هنگامی که مسیر Home برای پیمایش انتخاب شد، لیست پیام 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 و برنامه های ناوبری را فراهم می کند، بلکه به کاربران درک درستی از اصول عملکرد تجهیزات ناوبری ماهواره ای می دهد.

NMEA 0183- پروتکل ارتباط متنی مورد استفاده در ماژول های دریافت GPS. این استاندارد برای ارتباط تجهیزات ناوبری دریایی ایجاد شده است. این پروتکل امکان انتقال دستورات و پیام های متنی را با استفاده از کاراکترهای ASCII فراهم می کند. بنابراین، برای دریافت پیام ها، استفاده از رابط سریال UART کافی است، در حالی که تمام پیام ها را می توان مستقیماً با استفاده از پورت COM به رایانه منتقل کرد، اما نیاز به تبدیل سطوح سیگنال را فراموش نکرد.

ماژول GPS پیام هایی را با فرمت های مختلف ارسال می کند که شامل مجموعه های مختلف داده است: طول و عرض جغرافیایی، سرعت، سمت، زمان، تعداد ماهواره ها و غیره. پیام ها به صورت متوالی ارسال می شوند و به چندین نوع تقسیم می شوند؛ قالب هر نوع پیام حاوی اطلاعات کاملاً تعریف شده در زمینه های خود است. بیایید نگاه دقیق تری بیندازیم ساختار کلیپیام های صادر شده توسط ماژول GPS.

$ - هر پیام با این نماد شروع می شود

پس از آن یک شناسه 5 وجود دارد کاراکترهای متن. دو حرف اول نوع سیستم ناوبری را نشان می دهد، به عنوان مثال. "GP" - GPSیا " GL" - گلوناسو غیره. 3 کاراکتر بعدی شناسه قالب پیام هستند که محتوای داده های ارسالی بعدی را به طور کامل تعیین می کند. مثلا "RMC"- این حداقل داده توصیه شده است که حاوی اطلاعاتی در مورد زمان و تاریخ، طول و عرض جغرافیایی، سرعت، مسیر و انحراف مغناطیسی در درجه است (ممکن است وجود نداشته باشد). یا "GSA"، داده های ماهواره ای در اینجا مخابره می شود. ساختار انواع پیام اصلی در زیر مورد بحث قرار خواهد گرفت.

سپس دنبال می شود «,» - یک کاما، که پس از آن بدنه پیام بلافاصله با داده های مختلف دنبال می شود که با همان کاما از یکدیگر جدا می شوند. اگر عدد ارسالی یک عدد صحیح نباشد، جداکننده بین عدد صحیح و کسری یک نقطه است. «.» .

انتهای متن پیام با علامت نشان داده می شود «*» . آنچه در ادامه می‌آید، جمع تمام کاراکترهای موجود بین «$» و «*» است، یعنی کل بدنه پیام، از جمله خود داده‌ها و شناسه‌های ابتدای پیام. چک جمع به عنوان XOR (OR انحصاری) همه کدهای اسکی هگزادسیمال کاراکترهای پیام محاسبه می شود.

و در انتهای هر پیام باید کاراکترهای خط جدید وجود داشته باشد

بیایید هدف و ساختار را در نظر بگیریم انواع مختلفپیام ها.

R.M.C.- حداقل داده های ناوبری توصیه شده پیام حاوی حداقل مقدار اطلاعات مورد نیاز است. این داده ها شامل طول و عرض جغرافیایی، تاریخ و زمان و سرعت است. برای بسیاری از کارها، به عنوان مثال، در ماژول، به موارد بیشتری نیاز نیست کوکتل L50من انتقال انواع دیگر پیام ها را خاموش کردم، زیرا من مطلقاً به اطلاعاتی در مورد ماهواره ها و سطح سیگنال های آنها نیازی ندارم. و دریافت اطلاعات غیر ضروری مستلزم پیچیده شدن برنامه برای پردازش این داده ها است. ساختار پیام به شرح زیر است:

$GPRMC hhmmss.sss،آ،ddmm.mmmm,N,ddmm. mmmm , E، v.v.ج. ج, ddmmyyyy,x.x,n,متر*هه

این پیام حاوی اطلاعات زیر است:

  • GPRMC– سیستم ماهواره ای GPS، شناسه پیام RMC
  • hhmmss.sss– زمان (زمان گرینویچ)، که در آن hh – ساعت، میلی متر – دقیقه، ss.sss – ثانیه
  • آ- داده ها قابل اعتماد است یا V- داده ها غیر قابل اعتماد هستند. سمبل آاین پیام ارائه خواهد شد که دریافت قابل اعتماد سیگنال های ماهواره ای لازم برای محاسبه داده های مکان وجود دارد. سمبل Vزمانی رخ می دهد که گیرنده ماهواره ها را نمی بیند یا زمانی که تعداد ماهواره های یافت شده برای محاسبه مطمئن مختصات کافی نباشد. به عنوان مثال، اگر ماژول GPS را در جایی در یک خانه پانل و دور از پنجره ها روشن کنید، به احتمال زیاد نماد را خواهید دید. Vدر پیام دریافتی
  • ddmm.mmmm- عرض جغرافیایی، درجه و دقیقه
  • نیا اس- شمال یا جنوب نیمکره ای که در آن قرار دارید. اگر در استرالیا هستید نشان داده می شود اس. در یکاترینبورگ، ماژول GPS من می دهد ن.
  • ddmm.mmmm- طول جغرافیایی، درجه و دقیقه
  • Eیا دبلیو- نیمکره غربی یا شرقی
  • v.v- سرعت در گره
  • ج. ج- حرکت بر روی زمین بر حسب درجه. هنگام حرکت به سمت شمال 0 درجه خواهد بود.
  • ddmmyyyy- تاریخ
  • x.x- انحراف مغناطیسی
  • n- جهت انحراف مغناطیسی من نمی توانم در مورد این دو پارامتر آخر چیزی توضیح دهم. به عنوان مثال ماژول من GPS Quectel L50در طول پذیرش در آپارتمان، این داده ها به هیچ وجه روی پنجره نشان داده نشد، به سادگی از آن گذشتند.
  • متر– حالت ناوبری: ن- داده های نادرست، آ- خود مختار، D- دیفرانسیل

در اینجا نمونه ای از پیام 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 دقیقه
  • E- شرقی
  • سرعت 0.00 گره
  • خوب 96.1 درجه
  • تاریخ 25 مارس 2013
  • اطلاعات در مورد انحراف مغناطیسیهیچ یک
  • حالت - خود مختار
  • جمع بررسی کاراکترهای پیام 0×053

در اینجا لازم است به یک نکته توجه شود. داده های طول و عرض جغرافیایی شامل بخش کسری از دقیقه است که به هیچ وجه با تعداد "ثانیه ها" مطابقت ندارد، زیرا یک کسر اعشاری است. برنامه های GPS که من امتحان کردم مختصات روی نقشه را به دقت نشان می دهد. اما اگر این اعداد را در خط وارد کنید جستجوی گوگلنقشه ها، سپس مکان روی نقشه چندین کیلومتر از مکان واقعی فاصله خواهد داشت. هنگام وارد کردن مختصات به دست آمده در این مورد، باید قسمت کسری عرض و طول جغرافیایی را بر 60 تقسیم کنید تا این اعداد به "ثانیه" تبدیل شوند. وقتی برای اولین بار ماژول Quectel L50 را وصل کردم و مختصات طول و عرض جغرافیایی بدست آمده را در نوار جستجوی نقشه های گوگل وارد کردم، موقعیتی را روی نقشه با خطای قابل توجهی دریافت کردم؛ نقشه مکانی را در منطقه اورالماش نشان می داد.

در اینجا چند نوع پیام دیگر مورد استفاده در این پروتکل آورده شده است:

  • VTG- جهت واقعی مسیر و سرعت زمین
  • GGA- آخرین اطلاعات مکان
  • G.S.A.- داده های ماهواره های فعال
  • GSV- داده های ماهواره های قابل مشاهده، موقعیت و تعداد آنها و همچنین قدرت سیگنال
  • GLL- داده های طول و عرض جغرافیایی و زمان
  • ZDA- اطلاعات زمان و تاریخ

من به جزئیات در مورد اینکه هر پیام شامل چه چیزی است نپرداخته ام؛ پیوندی به سندی که پروتکل را توصیف می کند در انتهای مقاله آورده شده است. نوع خاص ماژول GPSممکن است تمام داده های فهرست شده را انتقال ندهد. می توانید انتقال انواع مختلف داده ها را غیرفعال یا فعال کنید و همچنین مدت زمان تحویل آنها را تعیین کنید. برای پیکربندی ماژول وجود دارد تیم های ویژه، که با یک شناسه شروع می شود $PSRFxxx، جایی که xxxنوع و قالب دستور را دقیقاً مانند پیام های خروجی مشخص می کند.

مثلا دستور $PSRF100.0.9600.8.1.0*0C پروتکل ارتباطی را تنظیم می کند و پارامترهای پورت سریال را پیکربندی می کند.

  • 100 دلار PSRF –شناسه فرمان بومی پروتکل SIRF
  • 0 – پروتکل باینری SIRF، 1 - پروتکل NMEA
  • 9600 – سرعت بیت/ثانیه
  • 8 بیت داده
  • 1 کمی توقف
  • 0 - بررسی برابری غیرفعال است

تیم $PSRF103.00.00.02.01*26 پارامترهای خروجی را برای انواع مختلف پیام های ماژول پیکربندی می کند:

  • PSRF103 دلار- شناسه فرمان پروتکل بومی SIRF
  • سپس بعد از نقطه اعشار دو رقم وجود دارد که نوع پیام سفارشی را تعیین می کند: 00 - GGA
    01 - GLL
    02 - GSA
    03 - GSV
    04 - RMC
    05 - VTG
  • دو رقم بعدی ترتیب صدور پیام ها را پیکربندی می کند، به عنوان مثال: 00 - به صورت دوره ای
    01 - در صورت درخواست
  • اعداد زیر دوره پیام را بر حسب ثانیه تنظیم می کنند: 00 = خاموش (پیام ها غیرفعال هستند)
    1-255 - فاصله بین پیام ها از این نوعدر چند ثانیه
  • سپس انتقال جمع کنترلی در پیام NMEA ارسال شده توسط ماژول فعال/غیرفعال می شود: 00 - انتقال جمع کنترلی غیرفعال است
    01 - چک جمع منتقل می شود
  • پس از کاراکتر "*"، مانند پیام NMEA خروجی، یک جمع کنترل و کاراکترهای تغذیه خط منتقل می شود.

این تمام چیزی است که می خواستم به طور خلاصه در مورد پروتکل NMEA 0183 و دستورات کنترل ماژول در چیپست SIRF توضیح دهم. رمزگشایی دقیق تری از همه این پیام ها و دستورات به عنوان مثال در توضیحات پروتکل ماژول Quectel L50 آورده شده است که از لینک زیر قابل دانلود است.



 


خواندن:



چرا یک لپ تاپ به یک SSD کوچک نیاز دارد و آیا ارزش نصب ویندوز روی آن را دارد؟

چرا یک لپ تاپ به یک SSD کوچک نیاز دارد و آیا ارزش نصب ویندوز روی آن را دارد؟

درایو SSD چقدر برای بازی ها مهم است ، چه تأثیری دارد و چه فایده ای از این فناوری دارد - این همان چیزی است که در مقاله ما مورد بحث قرار خواهد گرفت. حالت جامد...

تعمیر فلش مموری با استفاده از برنامه ها نحوه تعمیر پورت USB در لپ تاپ

تعمیر فلش مموری با استفاده از برنامه ها نحوه تعمیر پورت USB در لپ تاپ

چگونه پورت USB را تعمیر کنیم؟ پاسخ تکنسین: هنگام استفاده از رایانه، درگاه‌های USB اغلب خراب می‌شوند. اول از همه شکست می خورند...

ساختار دیسک آسیب دیده است، خواندن غیرممکن است، چه باید بکنم؟

ساختار دیسک آسیب دیده است، خواندن غیرممکن است، چه باید بکنم؟

رایانه های شخصی کاربران اغلب اطلاعات مهم را ذخیره می کنند - اسناد، عکس ها، فیلم ها، اما پشتیبان گیری از داده ها معمولاً ...

کامپیوتر از چه چیزی تشکیل شده است؟

کامپیوتر از چه چیزی تشکیل شده است؟

تاریخ انتشار: 1396/01/14 با سلام خدمت دوستان امروز به طور مفصل به طراحی واحد سیستم کامپیوتر می پردازیم. بیایید بفهمیم چه ...

فید-تصویر RSS