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

3.4 KiB

Decode GPS data - Wio Terminal

Dalam bagian pelajaran ini, Anda akan mendekode pesan NMEA yang dibaca dari sensor GPS oleh Wio Terminal, dan mengekstrak lintang dan bujur.

Decode GPS data

Setelah data mentah NMEA dibaca dari port serial, data tersebut dapat didekode menggunakan pustaka NMEA sumber terbuka.

Tugas - mendekode data GPS

Programkan perangkat untuk mendekode data GPS.

  1. Buka proyek aplikasi gps-sensor jika belum dibuka.

  2. Tambahkan dependensi pustaka untuk pustaka TinyGPSPlus ke file platformio.ini proyek. Pustaka ini memiliki kode untuk mendekode data NMEA.

    lib_deps =
        mikalhart/TinyGPSPlus @ 1.0.2
    
  3. Di main.cpp, tambahkan directive include untuk pustaka TinyGPSPlus:

    #include <TinyGPS++.h>
    
  4. Di bawah deklarasi Serial3, deklarasikan objek TinyGPSPlus untuk memproses kalimat NMEA:

    TinyGPSPlus gps;
    
  5. Ubah isi fungsi printGPSData menjadi seperti berikut:

    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");
        }
    }
    

    Kode ini membaca karakter berikutnya dari port serial UART ke dalam decoder NMEA gps. Setelah setiap karakter, kode akan memeriksa apakah decoder telah membaca kalimat yang valid, lalu memeriksa apakah lokasi yang valid telah dibaca. Jika lokasi valid, data tersebut akan dikirim ke monitor serial, bersama dengan jumlah satelit yang berkontribusi pada perbaikan ini.

  6. Bangun dan unggah kode ke Wio Terminal.

  7. Setelah diunggah, Anda dapat memantau data lokasi GPS menggunakan monitor serial.

    > 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
    

💁 Anda dapat menemukan kode ini di folder code-gps-decode/wio-terminal.

😀 Program sensor GPS Anda dengan decoding data berhasil!


Penafian:
Dokumen ini telah diterjemahkan menggunakan layanan penerjemahan AI Co-op Translator. Meskipun kami berusaha untuk memberikan hasil yang akurat, harap diingat bahwa terjemahan otomatis mungkin mengandung kesalahan atau ketidakakuratan. Dokumen asli dalam bahasa aslinya harus dianggap sebagai sumber yang otoritatif. Untuk informasi yang bersifat kritis, disarankan menggunakan jasa penerjemahan profesional oleh manusia. Kami tidak bertanggung jawab atas kesalahpahaman atau penafsiran yang keliru yang timbul dari penggunaan terjemahan ini.