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

6.7 KiB

Basahin ang GPS Data - Wio Terminal

Sa bahaging ito ng aralin, magdadagdag ka ng GPS sensor sa iyong Wio Terminal at babasahin ang mga halaga mula rito.

Kagamitan

Kailangan ng Wio Terminal ng GPS sensor.

Ang sensor na gagamitin mo ay ang Grove GPS Air530 sensor. Ang sensor na ito ay maaaring kumonekta sa maraming GPS system para sa mabilis at tumpak na pagkuha ng lokasyon. Binubuo ang sensor ng 2 bahagi - ang pangunahing electronics ng sensor at isang panlabas na antena na nakakabit sa pamamagitan ng manipis na kawad upang makuha ang mga radio wave mula sa mga satellite.

Ito ay isang UART sensor, kaya't ipinapadala nito ang GPS data sa pamamagitan ng UART.

Ikonekta ang GPS Sensor

Maaaring ikonekta ang Grove GPS sensor sa Wio Terminal.

Gawain - ikonekta ang GPS sensor

Ikonekta ang GPS sensor.

Isang Grove GPS sensor

  1. Ipasok ang isang dulo ng Grove cable sa socket ng GPS sensor. Isang direksyon lamang ang tamang paraan ng pagpasok nito.

  2. Habang ang Wio Terminal ay hindi nakakonekta sa iyong computer o iba pang power supply, ikonekta ang kabilang dulo ng Grove cable sa kaliwang Grove socket ng Wio Terminal habang nakaharap ka sa screen. Ito ang socket na pinakamalapit sa power button.

    Ang Grove GPS sensor na nakakonekta sa kaliwang socket

  3. Iposisyon ang GPS sensor upang ang nakakabit na antena ay may malinaw na tanaw sa kalangitan - mas mainam kung malapit sa isang bukas na bintana o sa labas. Mas madali itong makakuha ng malinaw na signal kung walang nakaharang sa antena.

  4. Maaari mo nang ikonekta ang Wio Terminal sa iyong computer.

  5. Ang GPS sensor ay may 2 LED - isang asul na LED na kumikislap kapag may ipinapadalang data, at isang berdeng LED na kumikislap bawat segundo kapag tumatanggap ng data mula sa mga satellite. Siguraduhing kumikislap ang asul na LED kapag binuksan mo ang Wio Terminal. Pagkalipas ng ilang minuto, ang berdeng LED ay magsisimulang kumislap - kung hindi, maaaring kailangan mong ilipat ang posisyon ng antena.

Iprograma ang GPS Sensor

Ngayon ay maaari nang iprograma ang Wio Terminal upang magamit ang nakakabit na GPS sensor.

Gawain - iprograma ang GPS sensor

Iprograma ang device.

  1. Gumawa ng bagong Wio Terminal project gamit ang PlatformIO. Tawagin ang proyektong ito na gps-sensor. Magdagdag ng code sa setup function upang i-configure ang serial port.

  2. Idagdag ang sumusunod na include directive sa itaas ng main.cpp file. Kasama rito ang header file na may mga function para i-configure ang kaliwang Grove port para sa UART.

    #include <wiring_private.h>
    
  3. Sa ibaba nito, idagdag ang sumusunod na linya ng code upang ideklara ang isang serial port connection sa UART port:

    static Uart Serial3(&sercom3, PIN_WIRE_SCL, PIN_WIRE_SDA, SERCOM_RX_PAD_1, UART_TX_PAD_0);
    
  4. Kailangan mong magdagdag ng ilang code upang i-redirect ang ilang internal signal handlers sa serial port na ito. Idagdag ang sumusunod na code sa ibaba ng deklarasyon ng 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. Sa setup function sa ibaba ng kung saan naka-configure ang Serial port, i-configure ang UART serial port gamit ang sumusunod na code:

    Serial3.begin(9600);
    
    while (!Serial3)
        ; // Wait for Serial3 to be ready
    
    delay(1000);
    
  6. Sa ibaba ng code na ito sa setup function, idagdag ang sumusunod na code upang ikonekta ang Grove pin sa serial port:

    pinPeripheral(PIN_WIRE_SCL, PIO_SERCOM_ALT);
    
  7. Idagdag ang sumusunod na function bago ang loop function upang ipadala ang GPS data sa serial monitor:

    void printGPSData()
    {
        Serial.println(Serial3.readStringUntil('\n'));
    }
    
  8. Sa loop function, idagdag ang sumusunod na code upang basahin mula sa UART serial port at i-print ang output sa serial monitor:

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

    Binabasa ng code na ito ang data mula sa UART serial port. Ang readStringUntil function ay nagbabasa hanggang sa isang terminator character, sa kasong ito ay isang bagong linya. Babasahin nito ang isang buong NMEA sentence (ang mga NMEA sentence ay nagtatapos sa isang bagong linya na character). Habang may data na mababasa mula sa UART serial port, ito ay babasahin at ipapadala sa serial monitor gamit ang printGPSData function. Kapag wala nang mababasang data, ang loop ay maghihintay ng 1 segundo (1,000ms).

  9. I-build at i-upload ang code sa Wio Terminal.

  10. Kapag na-upload na, maaari mong i-monitor ang GPS data gamit ang serial monitor.

    > 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
    

💁 Makikita mo ang code na ito sa code-gps/wio-terminal folder.

😀 Tagumpay ang iyong GPS sensor program!


Paunawa:
Ang dokumentong ito ay isinalin gamit ang AI translation service na Co-op Translator. Bagama't sinisikap naming maging tumpak, pakitandaan na ang mga awtomatikong pagsasalin ay maaaring maglaman ng mga pagkakamali o hindi pagkakatugma. Ang orihinal na dokumento sa kanyang katutubong wika ang dapat ituring na opisyal na sanggunian. Para sa mahalagang impormasyon, inirerekomenda ang propesyonal na pagsasalin ng tao. Hindi kami mananagot sa anumang hindi pagkakaunawaan o maling interpretasyon na maaaring magmula sa paggamit ng pagsasaling ito.