You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
IoT-For-Beginners/translations/fa/3-transport/lessons/1-location-tracking/wio-terminal-gps-decode.md

4.5 KiB

رمزگشایی داده‌های GPS - Wio Terminal

در این بخش از درس، پیام‌های NMEA خوانده شده از حسگر GPS توسط Wio Terminal را رمزگشایی کرده و عرض و طول جغرافیایی را استخراج خواهید کرد.

رمزگشایی داده‌های GPS

پس از خواندن داده‌های خام NMEA از پورت سریال، می‌توان آن‌ها را با استفاده از یک کتابخانه متن‌باز NMEA رمزگشایی کرد.

وظیفه - رمزگشایی داده‌های GPS

دستگاه را برنامه‌ریزی کنید تا داده‌های GPS را رمزگشایی کند.

  1. اگر پروژه اپلیکیشن gps-sensor باز نیست، آن را باز کنید.

  2. یک وابستگی کتابخانه‌ای برای کتابخانه TinyGPSPlus به فایل platformio.ini پروژه اضافه کنید. این کتابخانه کدی برای رمزگشایی داده‌های NMEA دارد.

    lib_deps =
        mikalhart/TinyGPSPlus @ 1.0.2
    
  3. در فایل main.cpp، یک دستور include برای کتابخانه TinyGPSPlus اضافه کنید:

    #include <TinyGPS++.h>
    
  4. زیر اعلان Serial3، یک شیء TinyGPSPlus برای پردازش جملات NMEA اعلام کنید:

    TinyGPSPlus gps;
    
  5. محتوای تابع 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 می‌خواند. پس از هر کاراکتر، بررسی می‌کند که آیا رمزگشا یک جمله معتبر خوانده است یا خیر، سپس بررسی می‌کند که آیا مکان معتبر خوانده شده است. اگر مکان معتبر باشد، آن را همراه با تعداد ماهواره‌هایی که در این موقعیت نقش داشته‌اند، به مانیتور سریال ارسال می‌کند.

  6. کد را بسازید و به Wio Terminal آپلود کنید.

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