4.5 KiB
رمزگشایی دادههای GPS - Wio Terminal
در این بخش از درس، پیامهای NMEA خوانده شده از حسگر GPS توسط Wio Terminal را رمزگشایی کرده و عرض و طول جغرافیایی را استخراج خواهید کرد.
رمزگشایی دادههای GPS
پس از خواندن دادههای خام NMEA از پورت سریال، میتوان آنها را با استفاده از یک کتابخانه متنباز NMEA رمزگشایی کرد.
وظیفه - رمزگشایی دادههای GPS
دستگاه را برنامهریزی کنید تا دادههای GPS را رمزگشایی کند.
-
اگر پروژه اپلیکیشن
gps-sensor
باز نیست، آن را باز کنید. -
یک وابستگی کتابخانهای برای کتابخانه TinyGPSPlus به فایل
platformio.ini
پروژه اضافه کنید. این کتابخانه کدی برای رمزگشایی دادههای NMEA دارد.lib_deps = mikalhart/TinyGPSPlus @ 1.0.2
-
در فایل
main.cpp
، یک دستور include برای کتابخانه TinyGPSPlus اضافه کنید:#include <TinyGPS++.h>
-
زیر اعلان
Serial3
، یک شیء TinyGPSPlus برای پردازش جملات NMEA اعلام کنید:TinyGPSPlus gps;
-
محتوای تابع
printGPSData
را به موارد زیر تغییر دهید:if (gps.encode(Serial3.read())) { if (gps.location.isValid()) { Serial.print(gps.location.lat(), 6); Serial.print(F(",")); Serial.print(gps.location.lng(), 6); Serial.print(" - from "); Serial.print(gps.satellites.value()); Serial.println(" satellites"); } }
این کد کاراکتر بعدی را از پورت سریال UART به رمزگشای NMEA
gps
میخواند. پس از هر کاراکتر، بررسی میکند که آیا رمزگشا یک جمله معتبر خوانده است یا خیر، سپس بررسی میکند که آیا مکان معتبر خوانده شده است. اگر مکان معتبر باشد، آن را همراه با تعداد ماهوارههایی که در این موقعیت نقش داشتهاند، به مانیتور سریال ارسال میکند. -
کد را بسازید و به Wio Terminal آپلود کنید.
-
پس از آپلود، میتوانید دادههای مکان GPS را با استفاده از مانیتور سریال مشاهده کنید.
> Executing task: platformio device monitor < --- Available filters and text transformations: colorize, debug, default, direct, hexlify, log2file, nocontrol, printable, send_on_enter, time --- More details at http://bit.ly/pio-monitor-filters --- Miniterm on /dev/cu.usbmodem1201 9600,8,N,1 --- --- Quit: Ctrl+C | Menu: Ctrl+T | Help: Ctrl+T followed by Ctrl+H --- 47.6423109,-122.1390293 - from 3 satellites
💁 میتوانید این کد را در پوشه code-gps-decode/wio-terminal پیدا کنید.
😀 برنامه حسگر GPS شما با رمزگشایی دادهها موفقیتآمیز بود!
سلب مسئولیت:
این سند با استفاده از سرویس ترجمه هوش مصنوعی Co-op Translator ترجمه شده است. در حالی که ما تلاش میکنیم دقت را حفظ کنیم، لطفاً توجه داشته باشید که ترجمههای خودکار ممکن است شامل خطاها یا نادرستیها باشند. سند اصلی به زبان اصلی آن باید به عنوان منبع معتبر در نظر گرفته شود. برای اطلاعات حساس، توصیه میشود از ترجمه حرفهای انسانی استفاده کنید. ما مسئولیتی در قبال سوء تفاهمها یا تفسیرهای نادرست ناشی از استفاده از این ترجمه نداریم.