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

6.3 KiB

Baca Data GPS - Wio Terminal

Dalam bahagian pelajaran ini, anda akan menambah sensor GPS pada Wio Terminal anda dan membaca nilai daripadanya.

Perkakasan

Wio Terminal memerlukan sensor GPS.

Sensor yang akan anda gunakan ialah Grove GPS Air530 sensor. Sensor ini boleh disambungkan kepada pelbagai sistem GPS untuk mendapatkan isyarat yang pantas dan tepat. Sensor ini terdiri daripada 2 bahagian - komponen elektronik utama sensor, dan antena luaran yang disambungkan dengan wayar nipis untuk menangkap gelombang radio daripada satelit.

Ini adalah sensor UART, jadi ia menghantar data GPS melalui UART.

Sambungkan Sensor GPS

Sensor Grove GPS boleh disambungkan kepada Wio Terminal.

Tugasan - sambungkan sensor GPS

Sambungkan sensor GPS.

Sensor GPS Grove

  1. Masukkan satu hujung kabel Grove ke dalam soket pada sensor GPS. Ia hanya boleh dimasukkan dalam satu arah sahaja.

  2. Dengan Wio Terminal tidak disambungkan kepada komputer atau sumber kuasa lain, sambungkan hujung lain kabel Grove ke soket Grove di sebelah kiri Wio Terminal apabila anda melihat skrin. Ini adalah soket yang paling dekat dengan butang kuasa.

    Sensor GPS Grove disambungkan ke soket sebelah kiri

  3. Letakkan sensor GPS supaya antena yang disambungkan mempunyai pandangan ke langit - sebaiknya di sebelah tingkap terbuka atau di luar. Isyarat akan lebih jelas jika tiada halangan di antara antena dan langit.

  4. Anda kini boleh menyambungkan Wio Terminal ke komputer anda.

  5. Sensor GPS mempunyai 2 LED - LED biru yang berkelip apabila data dihantar, dan LED hijau yang berkelip setiap saat apabila menerima data daripada satelit. Pastikan LED biru berkelip apabila anda menghidupkan Wio Terminal. Selepas beberapa minit, LED hijau akan berkelip - jika tidak, anda mungkin perlu mengubah kedudukan antena.

Programkan Sensor GPS

Wio Terminal kini boleh diprogramkan untuk menggunakan sensor GPS yang disambungkan.

Tugasan - programkan sensor GPS

Programkan peranti.

  1. Cipta projek Wio Terminal baharu menggunakan PlatformIO. Namakan projek ini gps-sensor. Tambahkan kod dalam fungsi setup untuk mengkonfigurasi port serial.

  2. Tambahkan arahan include berikut di bahagian atas fail main.cpp. Arahan ini memasukkan fail header dengan fungsi untuk mengkonfigurasi port Grove sebelah kiri untuk UART.

    #include <wiring_private.h>
    
  3. Di bawah ini, tambahkan baris kod berikut untuk mengisytiharkan sambungan port serial ke port UART:

    static Uart Serial3(&sercom3, PIN_WIRE_SCL, PIN_WIRE_SDA, SERCOM_RX_PAD_1, UART_TX_PAD_0);
    
  4. Anda perlu menambah beberapa kod untuk mengarahkan beberapa pengendali isyarat dalaman ke port serial ini. Tambahkan kod berikut di bawah deklarasi Serial3:

    void SERCOM3_0_Handler()
    {
        Serial3.IrqHandler();
    }
    
    void SERCOM3_1_Handler()
    {
        Serial3.IrqHandler();
    }
    
    void SERCOM3_2_Handler()
    {
        Serial3.IrqHandler();
    }
    
    void SERCOM3_3_Handler()
    {
        Serial3.IrqHandler();
    }
    
  5. Dalam fungsi setup di bawah konfigurasi port Serial, konfigurasikan port serial UART dengan kod berikut:

    Serial3.begin(9600);
    
    while (!Serial3)
        ; // Wait for Serial3 to be ready
    
    delay(1000);
    
  6. Di bawah kod ini dalam fungsi setup, tambahkan kod berikut untuk menyambungkan pin Grove ke port serial:

    pinPeripheral(PIN_WIRE_SCL, PIO_SERCOM_ALT);
    
  7. Tambahkan fungsi berikut sebelum fungsi loop untuk menghantar data GPS ke monitor serial:

    void printGPSData()
    {
        Serial.println(Serial3.readStringUntil('\n'));
    }
    
  8. Dalam fungsi loop, tambahkan kod berikut untuk membaca dari port serial UART dan mencetak output ke monitor serial:

    while (Serial3.available() > 0)
    {
        printGPSData();
    }
    
    delay(1000);
    

    Kod ini membaca dari port serial UART. Fungsi readStringUntil membaca sehingga watak pemutus, dalam kes ini baris baru. Ini akan membaca satu ayat NMEA penuh (ayat NMEA diakhiri dengan watak baris baru). Selagi data boleh dibaca dari port serial UART, ia akan dibaca dan dihantar ke monitor serial melalui fungsi printGPSData. Apabila tiada lagi data yang boleh dibaca, loop akan menunggu selama 1 saat (1,000ms).

  9. Bina dan muat naik kod ke Wio Terminal.

  10. Setelah dimuat naik, anda boleh memantau data 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 ---
    $GNGGA,020604.001,4738.538654,N,12208.341758,W,1,3,,164.7,M,-17.1,M,,*67
    $GPGSA,A,1,,,,,,,,,,,,,,,*1E
    $BDGSA,A,1,,,,,,,,,,,,,,,*0F
    $GPGSV,1,1,00*79
    $BDGSV,1,1,00*68
    

💁 Anda boleh menemui kod ini dalam folder code-gps/wio-terminal.

😀 Program sensor GPS anda berjaya!


Penafian:
Dokumen ini telah diterjemahkan menggunakan perkhidmatan terjemahan AI Co-op Translator. Walaupun kami berusaha untuk memastikan ketepatan, sila ambil perhatian bahawa terjemahan automatik mungkin mengandungi kesilapan atau ketidaktepatan. Dokumen asal dalam bahasa asalnya harus dianggap sebagai sumber yang berwibawa. Untuk maklumat penting, terjemahan manusia profesional adalah disyorkan. Kami tidak bertanggungjawab atas sebarang salah faham atau salah tafsir yang timbul daripada penggunaan terjemahan ini.