مکان یاب GPS

راه اندازی ماژول GPS مدل NEP6M: بخش سوم خواندن دیتای GPS GPRMC

نوشته شده توسط معین صابری

در سلسله آموزش های ماژول GPS neo6m، قسمت سوم به واکشی داده های دریافتی از ماژول می پردازیم. در دو قسمت قبل به معرفی امکانات و راه اندازی اولیه آن پرداختیم. با مطالب پیشتر بیان شده، آموختیم که ماژول GPS داده های جغرافیایی را در فرمتی استاندارد تحت عنوان NMEA در پورت سریال UART قرار می دهد. داده های NMEA دارای پکت های مختلفی هستند که هرکدام با یک پیشوند، شروع می شوند. هر کدام از این پکت ها اطلاعات خاصی را به کاربر ارائه می دهند. البته بعضی از داده ها در پکت ها با هم یکسان هستند. در این آموزش به یکی از مهم ترین پکت های GPS، پکت GPRMC می پردازیم. این پکت اطلاعات اصلی جغرافیایی را در خود جای داده است. بنابراین، در ادامه با مرجع تخصصی ماژول GPS  زبان فارسی، دیجی اسپارک همراه باشید.

 


GPRMC و فیلدهای اطلاعاتی


پکت GPRMC یکی از پکت های اساسی و کلیدی ماژول های GPS به شمار می رود. عبارت GPRMC مخفف Global Positioning Recommended Coordinates بوده و به کمک این پکت داده های اصلی جغرافیایی نظیر موقعیت، سرعت، زمان و تاریخ در اختیار کاربر قرار می گیرد. این پکت، همانطور که در دو آموزش پیشین مشاهده کردیم، فرمتی به صورت زیر دارد.

 

جهت دسترسی به این بخش، اشتراک اسپارکر پلاس تهیه کنید.

 

مطابق جدول فوق داده های مختلف پکت GPRMC را بررسی کردیم. حال در قسمت بعدی، به کمک یک برنامه ساده داده ها را از هم جدا می نماییم. برنامه قسمت بعدی به زبان آردوینو بوده، اما شما می توانید با تبدیل آن، در پلتفرم های مختلف نظیر ARM و AVR، از آن استفاده نمایید. اما پیش از آن، به نحوه فیلتر کردن داده ها می پردازیم.

 


فیلتر کردن پکت های NMEA


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

 

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

 


نمونه برنامه جهت خواندن داده های GPRMC


در این قسمت به بررسی یک نمونه برنامه می پردازیم. در این برنامه داده های NMEA به جز GPRMC را فیلتر می کنیم. سپس با خواندن سریال مانیتور، GPRMC را دریافت کرده و نمایش می دهیم.

 

جهت دسترسی به این بخش، اشتراک اسپارکر پلاس تهیه کنید.

 

در کد فوق به کمک کتابخانه سریال نرم افزاری، از طریق پایه های ۸ و ۹ با ماژول GPS ارتباط برقرار می سازیم. سپس دستورات مربوط به غیر فعال سازی داده هایی غیر از GPRMC را ارسال می کنیم. در نهایت با دریافت GPRMC، آن را در سریال مانیتور نمایش می دهیم.

 


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


ماژول GPS مدل NEO6M

انواع برد آردوینو

انواع برد ESP

میکروکنترلر ARM

میکروکنترلر AVR

 


جمع بندی


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

 

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

 

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

معین صابری

کارشناسی ارشد رشته معماری سیستم های کامپیوتری

مالي که ز تو کس نستاند، علم است
حرزي که تو را به حق رساند، علم است
جز علم طلب مکن تو اندر عالم
چيزي که تو را ز غم رهاند، علم است
(شیخ بهایی)

تبادل نظر و رفع عیب با ثبت دیدگاه

۶ دیدگاه

  • سلام مهندس اموزش ساخت دستگاه هواشناسی هم بزارید
    به این صورت که با استفاده از ماژول oled ماژول esp8266
    که ماژول esp8266 به اینترنت متصل بشه و پس از دریافت اطلاعات مربوط به شهر مورد نظر را روی نمایشگر oled نشون بده و همچنین اطلاعات هواشناسی چند روز آینده را هم نمایشگر نشون بده

  • سلام مهندس
    و اینکه اگر بشه به دستگاه هواشناسی نمایشگر SPI متصل کنیم
    که هم اطلاعات اب و هوا مربوط به شهر مورد نظر روی نمایشگر نشان داده شود

      • بله حتماً نیاز به بروزرسانی دارد
        من اموزشی که لینکش را گذاشتید را دیده بودم ولی چون نمی‌دونستم باید API را از چه سایتی و چجوری بردارم برام سوال شده بود برای همین گفتم اموزش ساخت دستگاه هواشناسی را بزارید چون شما خیلی عالی توضیح میدهید داخل پروژه ها