NMEA0183(از جانب " انجمن ملی الکترونیک دریایی”) استانداردی است که یک پروتکل متنی برای ارتباط تجهیزات دریایی (معمولاً ناوبری) (یا تجهیزات مورد استفاده در قطارها) با یکدیگر تعریف می کند. به دلیل گسترش گیرنده های 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" برای عرض جغرافیایی جنوبی.
  • "ggmm.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 "بومی" گارمین با پیشوند "PGRM" و ماژلان با "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 - مجموعه داده های پیشنهادی لوران
  • RMB - مجموعه داده های ناوبری GPS توصیه شده
  • RMC - حداقل مجموعه داده های GPS توصیه شده
  • RTE - اطلاعات مسیریابی
  • VTG - وکتور حرکت و سرعت
  • WCV - داده های سرعت در نزدیکی ایستگاه بین راه
  • WPL - داده های نقطه راه
  • XTC - خطای Track Off
  • 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 کاراکتر، داده های تنها برای 4 ماهواره می توانند به عنوان بخشی از یک پیام NMEA منتقل شوند. بر این اساس 3 پیام GSV برای 12 ماهواره مورد نیاز است.
فیلد 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، N - عرض جغرافیایی، 48 درجه و 07.038 دقیقه عرض شمالی
  • 01131.000، E - طول جغرافیایی، 11 درجه و 31.000 دقیقه شرقی
  • 022.4 - سرعت، بر حسب گره
  • 084.4 - جهت حرکت، بر حسب درجه
  • 230394 - تاریخ 23 مارس 1994
  • 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 ثابت کنید

AT 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 - شماره پیام از لیست عمومی
  • c - نوع پیام RTE (c - لیست کاملایستگاه‌های بین راهی، w - فهرست نقاطی که هنوز بازدید نشده‌اند)
  • 0 - شناسه مسیر
  • W3IWI، DRIVWY، .. - لیست ایستگاه های بین راه

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

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

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

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

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

در زیر فهرستی از پیام‌های 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 Sirf در موارد مختلفی استفاده می شود 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

همانطور که از مثال بالا مشاهده می شود، تنظیمات "factory" حاوی پیام های 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,20.05.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 0.30.05.012.00.31.36.055.52*7D

$GPGLL,5522.8965,N,03710.1389,E,104644,A,A*40

$GPBOD,T,M,*47

$PGRME، 6.0 ,M,7.7,M,9.8,M*29

$PGRMZ,612,f,3*1E

$PGRM، WGS 84*06

$GPRTE,1,1,c,*37

از تجزیه و تحلیل پیام ها می توان دریافت که در حال حاضر گیرنده 10 ماهواره (GSV) را ردیابی می کند که از این تعداد 7 (GGA) در محاسبه موقعیت استفاده می شود. خطای موقعیت افقی 6 متر (RME) و نشانگر نوع محلول 1 (GGA) است.

اگر شرایطی را ایجاد کنید که در آن سیگنال GPSپذیرفته نمی شود، سپس پیام های GGA حاوی فیلدهای "خالی" خواهند بود و نشانگر نوع تصمیم مقدار 0 (GGA) را می گیرد.

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

$GPGSA،A،1،،*1E

در حالت "عادی"، پیام های RMB و BOD حاوی زمینه های خالی. هنگامی که نقطه راه "جاده" به عنوان مقصد نهایی انتخاب شد، این فیلدها با داده ها "پر" شدند. همانطور که از تجزیه و تحلیل پیام آمده است، فاصله تا نقطه 1.620 مایل، آزیموت حرکت 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 را مطالعه کنند، تخمینی از اندازه‌گیری‌های دریافتی را محاسبه کنند، یا رفتار گیرنده‌های ناوبری را در شرایط مختلف تجزیه و تحلیل کنند، از اهمیت ویژه‌ای برخوردار است. تعدادی برنامه وجود دارد که با آنها می توانید این مشکلات را حل کنید.

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

NMEA یک فرمت ساده و قابل درک است که نه تنها امکان تبادل داده بین گیرنده های GPS و برنامه های ناوبری، بلکه به کاربران ایده هایی در مورد اصول عملکرد تجهیزات ناوبری ماهواره ای می دهد

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

Fly_nmea


NMEA ("انجمن ملی الکترونیک دریایی") - نام کامل "NMEA 0183" است - یک پروتکل متنی برای ارتباط تجهیزات دریایی (معمولاً ناوبری) با یکدیگر.
داده ها در قالب پیشنهادات ارسال می شود. فرمت پیشنهاد به شرح زیر است:
$AAAA[,<данные>]*هه ، جایی که:
$ - کاراکتر شروع جمله (کد 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، فیزیک حرکت هواپیما را بر حسب پارامترهای متغیر از طریق پیاده سازی می کنیم. رابط کاربری گرافیکیمانند: رول، زمین، سرعت
  • مختصات تخت را به مختصات B، L، H سیستم WGS-84 تبدیل کنید
  • ما بسته ای از پیام های استاندارد NMEA را از چهار خط مورد نیاز تشکیل می دهیم
  • آنها را به پورت موازی مجازی ارسال کنید
Fly_nmea + سنسور اندروید
برای تست راحت‌تر، دریافت داده‌ها را نیز تنظیم کردم سنسورهای اندروید(زوایای تمایل). اندروید دو رشته مانند زیر را روی UDP ارسال می کند:
  • "زاویه:\t236.04152\t-1.0\t-3.0"
  • "acc:\t-0.46309182\t-0.14982383\t-10.56939"
در برنامه شبیه سازی، آنها را می پذیرم و بر اساس زوایای تمایل، پارامترها را تغییر می دهم:
  • گام صدا
در اپلیکیشن شبیه‌سازی می‌توانید از کنترل از طریق رابط برنامه به سنسور اندروید سوئیچ کنید.
اتصال Fly_nmea
برای شبیه سازی پورت های COM، شبیه ساز پورت های سریال مجازی نیز مفید است، شما باید اتصال دو پورت COM مجازی را پیکربندی کنید، به عنوان مثال: COM1<->COM6، و برنامه Fly_nmea داده ها را به COM6 ارسال می کند و در COM1، برنامه ای با استفاده از پروتکل NMEA آن را دریافت می کند.

نتیجه

در کل زمان بیشتری را صرف جستجوی چنین نرم افزارهایی کردم و متوجه نشدم که کاملا راضی خواهم بود، خودم سریعتر آن را نوشتم. علاوه بر پروژه ای که روی آن کار می کردم، همچنین موفق شدم شبیه ساز را با موفقیت به برنامه هایی که پروتکل NMEA را درک می کنند، مانند: 2Gis و SAS planet متصل کنم.



FlyNMEA و سنسور اندروید (پروژه انتقال داده از حسگرها از طریق UDP)

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

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

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

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

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

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

و در انتهای هر پیام، کاراکترهای فید خط باید دنبال شوند

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

RMC- حداقل داده های ناوبری توصیه شده پیام حاوی حداقل مقدار اطلاعات مورد نیاز است. اینها داده هایی در مورد طول و عرض جغرافیایی، تاریخ و زمان، سرعت هستند. برای بسیاری از کارها، به عنوان مثال، در ماژول، به موارد بیشتری نیاز نیست کوکتل 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- عرض جغرافیایی، درجه و دقیقه
  • نیا اس- شمال یا جنوب نیمکره ای که در آن قرار دارید. اگر در استرالیا هستید نشان داده خواهد شد اس. در یکاترینبورگ، ماژول جی‌پی‌اس من پخش می‌شود ن.
  • 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
  • داده ها در مورد انحراف مغناطیسیگم شده
  • حالت - خود مختار
  • جمع بررسی کاراکترهای پیام 0x053

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

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

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

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

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

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

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

  • 103 دلار PSRF- شناسه فرمان پروتکل بومی 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 آمده است که از لینک زیر قابل دانلود است.

شرح پروتکل NMEA

پیاده سازی در گیرنده های Garmin و GlobalSat

مقدمه

انجمن ملی الکترونیک دریایی (NMEA) پروتکلی را برای حفظ قابلیت همکاری بین تجهیزات ناوبری دریایی از تولیدکنندگان مختلف ایجاد کرده است. این پروتکل NMEA نه تنها داده‌های دریافت‌شده از گیرنده‌های GPS، بلکه اندازه‌گیری‌های سونارها، رادارها، قطب‌نماهای الکترونیکی، فشارسنج‌ها و سایر دستگاه‌های ناوبری مورد استفاده در کشتی‌ها را توصیف می‌کند. رابط تبادل داده اکثر گیرنده های GPS قابل حمل مطابق با مشخصات NMEA پیاده سازی شده است. اکثر برنامه های ناوبری که نمایش داده های بلادرنگ را ارائه می دهند، از پروتکل NMEA پشتیبانی کرده و "درک" دارند. این داده ها شامل اندازه گیری های ناوبری کامل گیرنده GPS - موقعیت، سرعت و زمان است. همه پیام‌های NMEA شامل مجموعه‌ای متوالی از داده‌ها هستند که با کاما از هم جدا شده‌اند. هر پیام فردی مستقل از دیگران است و کاملاً "کامل" است. پیام NMEA شامل یک هدر، مجموعه ای از داده های نشان داده شده توسط کاراکترهای ASCII و یک فیلد "جمع چک" برای تایید اعتبار اطلاعات ارسال شده است. هدر پیام های استاندارد NMEA از 5 کاراکتر تشکیل شده است که دو کاراکتر اول نوع پیام را مشخص می کنند و سه کاراکتر باقی مانده نام آن است. به عنوان مثال، همه پیام های GPS NMEA با پیشوند "GP" هستند. پیام‌هایی که در مشخصات NMEA توضیح داده نشده‌اند، اما طبق قوانین رایج در گیرنده‌های GPS پیاده‌سازی می‌شوند، با یک پیشوند "P" همراه با سه کاراکتر منحصر به فرد برای هر شرکت قرار می‌گیرند. برای مثال، پیام‌های NMEA «اختصاصی» گارمین با پیشوند «PGRM»، ماژلان با «PMGN» پیشوند هستند. هر پیام NMEA با «$» شروع می‌شود، با «\n» («فید خط») پایان می‌یابد و نمی‌تواند بیشتر از آن باشد. 80 کاراکتر همه داده ها در یک خط قرار می گیرند و با کاما از یکدیگر جدا می شوند. اطلاعات به صورت متن ASCII ارائه می شود و نیازی به رمزگشایی خاصی ندارد. اگر داده ها در 80 کاراکتر اختصاص داده شده قرار نگیرند، به چندین پیام NMEA تقسیم می شوند. این فرمت به شما امکان می دهد دقت و تعداد کاراکترها را در فیلدهای داده جداگانه محدود نکنید. به عنوان مثال، بخش کسری مقدار مختصات را می توان با 3 یا 4 رقم اعشار نشان داد، اما این نباید بر عملکرد نرم افزاری که داده های لازم را از پیام با شماره فیلد استخراج می کند، تأثیر بگذارد. در انتهای هر پیام NMEA یک فیلد جمع کنترلی وجود دارد که با علامت "*" از داده ها جدا شده است. به صورت اختیاری می توان از آن برای بررسی صحت و اعتبار هر پیام دریافتی استفاده کرد. پروتکل NMEA نه تنها از پیام‌های خروجی، بلکه از پیام‌های دریافتی نیز پشتیبانی می‌کند، که به عنوان مثال، می‌توان از آنها برای به‌روزرسانی یا افزودن ایستگاه‌های مسیر استفاده کرد. این پیام ها باید کاملاً مطابق با فرمت NMEA تشکیل شوند، در غیر این صورت، به سادگی توسط گیرنده GPS نادیده گرفته می شوند. لازم به ذکر است که همه برنامه های ناوبری و مدل های گیرنده از این حالت پشتیبانی نمی کنند، زیرا از پروتکل های اختصاصی سازندگانی مانند Garmin، Magellan و غیره برای بارگذاری نقاط و مسیرها استفاده می کنند. پروتکل NMEA از زمان آغاز به کار، دستخوش تغییرات متعددی در رابطه با افزودن فیلدها و پیام‌های جدید شده است. نسخه فعلی که توسط اکثر گیرنده ها پشتیبانی می شود نسخه 2.3 است، اگرچه نسخه جدید 3.0 قبلا منتشر شده است. مشخصات کامل پیام های NMEA به صورت رایگان در دسترس نیست و نمی توان آن را به صورت رسمی به صورت الکترونیکی دانلود کرد. بخش های جداگانه آن، توضیحات کلی پروتکل NMEA و محبوب ترین پیام ها را می توان در اینترنت یافت. می توانید اسناد NMEA را به صورت رسمی در http://www.nmea.org/ خریداری کنید.

لیست پیام ها

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

    AAM - رسیدن به Waypoint

    ALM - داده های سالنامه

    APA - داده های خلبان خودکار "A"

    APB - داده های خلبان خودکار "B"

    BOD - باربری به مقصد

    DTM - داده استفاده شده

    GGA - اطلاعات راه حل ثابت

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

    GSA - اطلاعات عمومی ماهواره ای

    GSV - اطلاعات دقیق ماهواره ای

    MSK - تحویل به گیرنده پایه

    MSS - وضعیت گیرنده پایه

    RTE - اطلاعات مسیریابی VTG - بردار حرکت و سرعت

    WCV - داده های سرعت در نزدیکی ایستگاه بین راه

    WPL - داده های نقطه راه

    XTC - خطای Track Off

    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، شمال - عرض جغرافیایی، 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 - نوع انتخاب بین راه حل های 2 بعدی و 3 بعدی، خودکار (A-auto، M-manual)

    3 - نوع راه حل، راه حل 3 بعدی (1 - بدون راه حل، 2 - راه حل 2 بعدی، 3 - راه حل 3D)

    04,05… - کدهای PRN مورد استفاده در محاسبه موقعیت ماهواره (12 فیلد)

    2.5 - عامل هندسی فضایی، PDOP

    1.3 - ضریب هندسی افقی، HDOP

    2.1 - ضریب هندسی عمودی، VDOP

GSV - اطلاعات دقیق ماهواره ای

این پیام NMEA حاوی اطلاعات دقیق برای همه ماهواره‌هایی است که توسط ناوبر GPS ردیابی می‌شوند. بر اساس محدودیت 80 کاراکتر، داده های تنها برای 4 ماهواره می توانند به عنوان بخشی از یک پیام NMEA منتقل شوند. بر این اساس 3 پیام GSV برای 12 ماهواره مورد نیاز است. فیلد 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 - هدر 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، شمالی - عرض جغرافیایی، 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,000.5,V*20

    RMB - هدر NMEA

    A - نوع داده، (A - فعال، V - نادیده گرفتن)

    0.66، L - انحراف از مسیر. پارامتر بر حسب مایل دریایی تعریف می شود. (L-چپ، R-راست)

    003 - شماره شناسایی نقطه شروع

    004 - شماره شناسایی نقطه پایانی

    4917.24، N مقدار عرض جغرافیایی نقطه پایانی است، 49 درجه و 17.24 دقیقه عرض شمالی

    12309.57، W مقدار طول جغرافیایی نقطه پایانی است، 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، .. - لیست ایستگاه های بین راه

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

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

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

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

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

در زیر فهرستی از پیام‌های 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 نام داده افقی فعلی است

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

تراشه‌های 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

همانطور که از مثال بالا مشاهده می شود، تنظیمات "factory" حاوی پیام های 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,20.05.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 - مقداردهی اولیه پارامترهای گیرنده

پیام های 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 - هدر 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

$PGRM، 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 حاوی فیلدهای خالی هستند. هنگامی که نقطه راه "جاده" به عنوان مقصد نهایی انتخاب شد، این فیلدها با داده ها "پر" شدند. همانطور که از تجزیه و تحلیل پیام آمده است، فاصله تا نقطه 1.620 مایل، آزیموت حرکت 6.3 درجه (BOD) است. در این حالت، آزیموت پیام های BOD و RMB 0.1 درجه متفاوت است.

$GPRMB,A,0.00,R,Road,5524,501,N,03710,445,E,1,620,6,4,V,A*59

$GPBOD,6.3,T,357.0M,جاده,*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 را مطالعه کنند، تخمینی از اندازه‌گیری‌های دریافتی را محاسبه کنند، یا رفتار گیرنده‌های ناوبری را در شرایط مختلف تجزیه و تحلیل کنند، از اهمیت ویژه‌ای برخوردار است. تعدادی برنامه وجود دارد که با آنها می توانید این مشکلات را حل کنید.

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

NMEA یک فرمت ساده و قابل درک است که نه تنها امکان تبادل داده بین گیرنده های GPS و برنامه های ناوبری را فراهم می کند، بلکه به کاربران ایده هایی از اصول عملکرد تجهیزات ناوبری ماهواره ای می دهد.

توجه!

مانند منبع موادمقاله استفاده شده از سایت " پورتال GPS"