راه اندازی ماژول GPS مدل NEO6M قسمت 2 – تحلیل کد های NMEA

راه اندازی ماژول GPS مدل NEO6M قسمت 2 – تحلیل کد های NMEA
نوشته شده توسط

سلام به همه مایکروالکامی ها. در قسمت اول این سرس آموزش به معرفی و بررسی ماژول GPS مدل NEO6M پرداخته شد. در این قسمت از سری آموزش راه اندازی ماژول NEO-6M به بررسی کد های خروجی و نحوه استفاده از آن پرداخته خواهد شد. پس با من تا انتهای مطلب همراه باشید. همچنین شما می‌توانید سایر مطلب من رو از این قسمت مطالعه کنید. همچنین قسمت بعدی این آموزش از این لینک قابل دسترس است.


وسایل مورد نیاز


کد های خروجی ماژول NEO6M

همانطور که در قسمت قبلی بررسی شد، کد های خروجی این ماژول یکسری دیتا بنام پکت های NMEA می‌باشد. برای استفاده از آنها نیاز به دانستن اطلاعات هر کدام از آنها می‌باشد. در مطالب قبلی کد های NMEA معرفی گردیده است که حتما آن را مطالعه کنید. خروجی تمام ماژول های GPS همین کد های NMEA می‌باشد که هر کدام از آنها اطلاعاتی مانند ساعت، تاریخ، سرعت، ارتفاع سطح دریا، طول و عرض جغرافیایی و… را در اختیار کاربر قرار می‌دهد. در موقعی که ماژول NEO-6M در حالت Cold Start راه اندازی شود خروجی ماژول به شکل زیر است.

خروجی ماژول NEO6M در حالت Cold Start
خروجی ماژول NEO6M در حالت Cold Start

در صورتی که ماژول راه اندازی کامل شود و بدرستی به ماهواره ها کانکت شود، وضعیت خروجی ماژول معتبر خواهد بود. تصویر زیر نمونه‌ای از خروجی ماژول در حالت نهایی و پایدار می‌باشد.

خروجی ماژول NEO6M در حالت معتبر
خروجی ماژول NEO6M در حالت معتبر

بررسی کد های NMEA ماژول NEO6M

کد های NMEA با $ شروع شده و هر بخش با کاما از یکدیگر جدا می‌شود. هر کد NMEA با عبارت ابتدای آن و قبل از کاما اول شناخته خواهدشد. بعنوان مثال GPGGA$ که این پکت معرف اطلاعات اساسی و پایه ماژول GPS بوده که دقت و موقعیت را مشخص خواهد کرد. GP بیانگر GPS و GL بیانگر GLONASS است. برای دانلود داکیومنت NMEA از این لینک اقدام کنید.

کد NMEA در ماژول GPS
کد NMEA در ماژول GPS

GPRMC$

این پکت در واقع حداقل دیتای توصیه شده و مورد نیاز در خروجی ماژول برای عمل موقعیت یابی می‌باشد. در واقع RMC مخفف Recommended Minimum data for GPS می‌باشد. به مثال زیر توجه نمایید.

$GPRMC,123519,A,4807.038,N,01131.000,E,022.4,084.4,230394,003.1,W*6A
پکت GPRMC
پکت GPRMC
ردیف مشخصات
0 ID پیام (GPRMC$)
1 ساعت (UTC)
2 وضعیت | A=active یا V=void
3 عرض جغرافیایی
4 N (شمال) یا S (جنوب)
5 طول جغرافیایی
6 E (شرق) یا W (غرب)
7 سرعت حرکت برروی زمین برحسب knots
8 زاویه ردیابی برحسب درجه
9 تاریخ بصورت ddmmyy
10 تغییرات مغناطیسی برحسب درجه
11 E یا W
12 کد checksum که همیشه با *شروع می‌شود

GPVTG$

این پکت معرف Vector track an Speed over the Ground و به معنی اطلاعات سرعت برروی زمین است. به مثال زیر توجه کنید.

$GPVTG,,T,,M,0.00,N,0.00,K*4E
پکت GPVTG
پکت GPVTG
ردیف مشخصات
0 ID پیام (GPVTG$)
1 زاویه مسیر
2 T = True
3 زاویه مسیر
4 M = Magnetic
5 سرعت برحسب Knots
6 N = Knots
7 سرعت برحسب Km بر ساعت
8 K = Kilometres Per Hour
9 Checksum

GPGGA$

این پکت حاوی اطلاعات ثابت موقعیت یابی محلی شامل زمان، طول و عرض جغرافیایی، اطلاعات ثابت مربوط به گیرنده GPS و … می‌باشد. به مثال زیر توجه نمایید.

$GPGGA,172814.0,3723.46587704,N,12202.26957864,W,2,6,1.2,18.893,M,-25.669,M,2.0,0031*4F
پکت GPGGA
پکت GPGGA
ردیف مشخصات
0 ID پیام (GPGGA$)
1 ساعت (UTC)
2 عرض جغرافیایی
3 N (شمال) یا S (جنوب)
4 طول جغرافیایی
5 E (شرق) یا W (غرب)
6 شاخص کیفیت GPS

Fixed not available :0

GPS Fix :1

Differential GPS fix :2

7 تعداد ماهواره ها، 00 – 12
8 دقت افقی
9 ارتفاع آنتن در بالا/زیر سطح متوسط ​​دریا (geoid)
10 واحد ارتفاع آنتن برحسب متر
11 جهت توضیحات به داکیومنت NMEA مراجعه شود
12 واحد پارامتر ردیف قبلی برحسب متر
13 جهت توضیحات به داکیومنت NMEA مراجعه شود 
14 Differential reference station ID, 0000-1023
15 Differential reference station ID, 0000-1023 

GPGSA$

این پاکت بیانگر اطلاعات کلی ماهواره یا Overall Satellite data می‌باشد. با مثال زیر توجه کنید.

$GPGSA,<1>,<2>,<3>,<3>,,,,,<3>,<3>,<3>,<4>,<5>,<6>*<7><CR><LF>
پکت GPGSA
پکت GPGSA
ردیف مشخصات
0 ID پیام (GPGSA$)
1 Mode 1, M = manual, A = automatic
2 Mode 2, Fix type, 1 = not available, 2 = 2D, 3 = 3D
3 PRN number, 01 through 32 for GPS, 33 through 64 for SBAS, 64+ for GLONASS
4 PDOP: 0.5 through 99.9
5 HDOP: 0.5 through 99.9
6 VDOP: 0.5 through 99.9
7 سرعت برحسب Km بر ساعت
8 Checksum

GPGSV$

این پکت شامل اطلاعات جزئی ماهواره های GPS مانند ارتفاع هر ماهواره ای که ردیابی می شود است. (پکت GNGSV$ برای گیرنده های GNSS می‌باشد.) به مثال زیر توجه کنید.

$GPGSV,4,1,13,02,02,213,,03,-3,000,,11,00,121,,14,13,172,05*67
پکت GPGSV
پکت GPGSV
ردیف مشخصات
0 ID پیام (GPGSV$)
1 تعداد کل پیام ها
2 شماره پیام
3 ماهواره های در دسترس
4 شماره ماهواره
5 ارتفاع برحسب درجه (حداکثر 90 درجه)
6 آزیموت، درجه از شمال واقعی، 000 تا 359 درجه
7 SNR برحسب dB، بین 00 تا 99 (null در حالت غیر مسیر یابی)
8-11 Information about second SV, same format as fields 4 through 7
12-15 Information about third SV, same format as fields 4 through 7
16-19 Information about fourth SV, same format as fields 4 through 7
20 Checksum

GPGLL$

این پکت شامل طول و عرض جغرافیایی می‌باشد. به مثال زیر توجه کنید.

$GPGLL,5107.0013414,N,11402.3279144,W,205412.00,A,A*73
ردیف مشخصات
0 ID پیام (GPGLL$)
1 عرض جغرافیایی
2 N (شمال) یا S (جنوب)
3 طول جغرافیایی
4 E (شرق) یا W (غرب)
5 زمان (UTC)
6 وضعیت (A: Data Valid و V: Data Invalid)
7 Checksum

معرفی ابزار آنلاین برای دیکد کردن کد های NMEA

برای دیکد کردن های NMEA بصورت آنلاین می‌توانید از این سایت اقدام نمایید. همچنین برای دیکد کردن پکت های GPRMC و GPGGA نیز می‌توانید از این سایت استفاده کنید.


نتیجه گیری

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

امیدوارم از این آموزش کمال بهره را برده باشید. در صورتی که هرگونه نظر یا سوال داشتید درباره این آموزش لطفا اون رو در انتهای همین صفحه در قسمت دیدگاه ها قرار بدید. در کوتاه ترین زمان ممکن به اون ها پاسخ خواهم داد. اگر این مطلب براتون مفید بود، اون رو حتما به اشتراک بگذارید. همینطور میتونید این آموزش را پس از اجرای عملی توی اینستاگرام با هشتگ microelecom# به اشتراک بگذارید و پیج مایکروالکام (microelecom@) رو هم منشن کنید.

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد.