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

3.9 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. למרות שאנו שואפים לדיוק, יש לקחת בחשבון שתרגומים אוטומטיים עשויים להכיל שגיאות או אי דיוקים. המסמך המקורי בשפתו המקורית צריך להיחשב כמקור סמכותי. עבור מידע קריטי, מומלץ להשתמש בתרגום מקצועי על ידי אדם. איננו נושאים באחריות לאי הבנות או לפרשנויות שגויות הנובעות משימוש בתרגום זה.