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/ar/3-transport/lessons/1-location-tracking/wio-terminal-gps-decode.md

4.2 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، أضف توجيه تضمين لمكتبة 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. بينما نسعى لتحقيق الدقة، يرجى العلم أن الترجمات الآلية قد تحتوي على أخطاء أو معلومات غير دقيقة. يجب اعتبار المستند الأصلي بلغته الأصلية المصدر الرسمي. للحصول على معلومات حاسمة، يُوصى بالاستعانة بترجمة بشرية احترافية. نحن غير مسؤولين عن أي سوء فهم أو تفسيرات خاطئة ناتجة عن استخدام هذه الترجمة.