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

11 KiB

GPS ਡਾਟਾ ਪੜ੍ਹੋ - Wio Terminal

ਇਸ ਪਾਠ ਦੇ ਇਸ ਹਿੱਸੇ ਵਿੱਚ, ਤੁਸੀਂ ਆਪਣੇ Wio Terminal ਵਿੱਚ GPS ਸੈਂਸਰ ਜੋੜੋਗੇ ਅਤੇ ਇਸ ਤੋਂ ਮੁੱਲ ਪੜ੍ਹੋਗੇ।

ਹਾਰਡਵੇਅਰ

Wio Terminal ਨੂੰ GPS ਸੈਂਸਰ ਦੀ ਲੋੜ ਹੈ।

ਤੁਸੀਂ ਜੋ ਸੈਂਸਰ ਵਰਤੋਗੇ ਉਹ Grove GPS Air530 sensor ਹੈ। ਇਹ ਸੈਂਸਰ ਕਈ GPS ਸਿਸਟਮਾਂ ਨਾਲ ਜੁੜ ਸਕਦਾ ਹੈ ਤਾਂ ਜੋ ਤੇਜ਼ ਅਤੇ ਸਹੀ ਸਥਿਤੀ ਪ੍ਰਾਪਤ ਕੀਤੀ ਜਾ ਸਕੇ। ਸੈਂਸਰ 2 ਹਿੱਸਿਆਂ ਤੋਂ ਬਣਿਆ ਹੈ - ਸੈਂਸਰ ਦੇ ਮੁੱਖ ਇਲੈਕਟ੍ਰਾਨਿਕਸ ਅਤੇ ਇੱਕ ਬਾਹਰੀ ਐਂਟੀਨਾ ਜੋ ਪਤਲੇ ਤਾਰ ਨਾਲ ਜੁੜਿਆ ਹੈ ਜੋ ਸੈਟੇਲਾਈਟ ਤੋਂ ਰੇਡੀਓ ਤਰੰਗਾਂ ਨੂੰ ਪਕੜਦਾ ਹੈ।

ਇਹ ਇੱਕ UART ਸੈਂਸਰ ਹੈ, ਇਸ ਲਈ ਇਹ GPS ਡਾਟਾ UART ਰਾਹੀਂ ਭੇਜਦਾ ਹੈ।

GPS ਸੈਂਸਰ ਨੂੰ ਜੁੜੋ

Grove GPS ਸੈਂਸਰ ਨੂੰ Wio Terminal ਨਾਲ ਜੁੜਿਆ ਜਾ ਸਕਦਾ ਹੈ।

ਕੰਮ - GPS ਸੈਂਸਰ ਨੂੰ ਜੁੜੋ

GPS ਸੈਂਸਰ ਨੂੰ ਜੁੜੋ।

A grove GPS sensor

  1. Grove ਕੇਬਲ ਦੇ ਇੱਕ ਸਿਰੇ ਨੂੰ GPS ਸੈਂਸਰ ਦੇ ਸਾਕਟ ਵਿੱਚ ਪਾਓ। ਇਹ ਸਿਰਫ ਇੱਕ ਹੀ ਦਿਸ਼ਾ ਵਿੱਚ ਜਾਵੇਗਾ।

  2. Wio Terminal ਨੂੰ ਆਪਣੇ ਕੰਪਿਊਟਰ ਜਾਂ ਹੋਰ ਪਾਵਰ ਸਪਲਾਈ ਤੋਂ ਅਲੱਗ ਰੱਖਦੇ ਹੋਏ, Grove ਕੇਬਲ ਦੇ ਦੂਜੇ ਸਿਰੇ ਨੂੰ Wio Terminal ਦੇ ਖੱਬੇ ਪਾਸੇ Grove ਸਾਕਟ ਵਿੱਚ ਪਾਓ ਜਦੋਂ ਤੁਸੀਂ ਸਕ੍ਰੀਨ ਨੂੰ ਦੇਖ ਰਹੇ ਹੋ। ਇਹ ਸਾਕਟ ਪਾਵਰ ਬਟਨ ਦੇ ਸਭ ਤੋਂ ਨੇੜੇ ਹੈ।

    The grove GPS sensor connected to the left hand socket

  3. GPS ਸੈਂਸਰ ਨੂੰ ਇਸ ਤਰ੍ਹਾਂ ਸਥਿਤ ਕਰੋ ਕਿ ਜੁੜੇ ਐਂਟੀਨਾ ਨੂੰ ਅਸਮਾਨ ਦੀ ਦ੍ਰਿਸ਼ਟੀ ਹੋਵੇ - ਵਧੀਆ ਤੌਰ 'ਤੇ ਖੁੱਲੇ ਵਿੰਡੋ ਦੇ ਨੇੜੇ ਜਾਂ ਬਾਹਰ। ਐਂਟੀਨਾ ਦੇ ਰਾਹ ਵਿੱਚ ਕੁਝ ਨਾ ਹੋਣ ਨਾਲ ਸਪਸ਼ਟ ਸਿਗਨਲ ਪ੍ਰਾਪਤ ਕਰਨਾ ਆਸਾਨ ਹੈ।

  4. ਹੁਣ ਤੁਸੀਂ Wio Terminal ਨੂੰ ਆਪਣੇ ਕੰਪਿਊਟਰ ਨਾਲ ਜੁੜ ਸਕਦੇ ਹੋ।

  5. GPS ਸੈਂਸਰ ਵਿੱਚ 2 LEDs ਹਨ - ਇੱਕ ਨੀਲਾ LED ਜੋ ਡਾਟਾ ਭੇਜਣ ਸਮੇਂ ਚਮਕਦਾ ਹੈ, ਅਤੇ ਇੱਕ ਹਰਾ LED ਜੋ ਸੈਟੇਲਾਈਟ ਤੋਂ ਡਾਟਾ ਪ੍ਰਾਪਤ ਕਰਨ ਸਮੇਂ ਹਰ ਸਕਿੰਟ ਚਮਕਦਾ ਹੈ। ਯਕੀਨੀ ਬਣਾਓ ਕਿ Wio Terminal ਨੂੰ ਪਾਵਰ ਦੇਣ ਸਮੇਂ ਨੀਲਾ LED ਚਮਕ ਰਿਹਾ ਹੈ। ਕੁਝ ਮਿੰਟਾਂ ਬਾਅਦ ਹਰਾ LED ਚਮਕੇਗਾ - ਜੇਕਰ ਨਹੀਂ, ਤਾਂ ਤੁਹਾਨੂੰ ਐਂਟੀਨਾ ਨੂੰ ਦੁਬਾਰਾ ਸਥਿਤ ਕਰਨ ਦੀ ਲੋੜ ਹੋ ਸਕਦੀ ਹੈ।

GPS ਸੈਂਸਰ ਨੂੰ ਪ੍ਰੋਗਰਾਮ ਕਰੋ

ਹੁਣ Wio Terminal ਨੂੰ ਜੁੜੇ GPS ਸੈਂਸਰ ਨੂੰ ਵਰਤਣ ਲਈ ਪ੍ਰੋਗਰਾਮ ਕੀਤਾ ਜਾ ਸਕਦਾ ਹੈ।

ਕੰਮ - GPS ਸੈਂਸਰ ਨੂੰ ਪ੍ਰੋਗਰਾਮ ਕਰੋ

ਡਿਵਾਈਸ ਨੂੰ ਪ੍ਰੋਗਰਾਮ ਕਰੋ।

  1. PlatformIO ਦੀ ਵਰਤੋਂ ਕਰਕੇ ਇੱਕ ਨਵਾਂ Wio Terminal ਪ੍ਰੋਜੈਕਟ ਬਣਾਓ। ਇਸ ਪ੍ਰੋਜੈਕਟ ਨੂੰ gps-sensor ਨਾਮ ਦਿਓ। setup ਫੰਕਸ਼ਨ ਵਿੱਚ ਕੋਡ ਸ਼ਾਮਲ ਕਰੋ ਤਾਂ ਜੋ ਸੀਰੀਅਲ ਪੋਰਟ ਨੂੰ ਕਨਫਿਗਰ ਕੀਤਾ ਜਾ ਸਕੇ।

  2. main.cpp ਫਾਈਲ ਦੇ ਉੱਪਰ ਹਿੱਸੇ ਵਿੱਚ ਹੇਠਾਂ ਦਿੱਤਾ ਸ਼ਾਮਲ ਕਰਨ ਵਾਲਾ ਨਿਰਦੇਸ਼ ਸ਼ਾਮਲ ਕਰੋ। ਇਹ ਇੱਕ ਹੈਡਰ ਫਾਈਲ ਸ਼ਾਮਲ ਕਰਦਾ ਹੈ ਜਿਸ ਵਿੱਚ ਖੱਬੇ ਪਾਸੇ Grove ਪੋਰਟ ਨੂੰ UART ਲਈ ਕਨਫਿਗਰ ਕਰਨ ਦੇ ਫੰਕਸ਼ਨ ਹਨ।

    #include <wiring_private.h>
    
  3. ਇਸ ਦੇ ਹੇਠਾਂ, ਹੇਠਾਂ ਦਿੱਤੀ ਲਾਈਨ ਸ਼ਾਮਲ ਕਰੋ ਤਾਂ ਜੋ UART ਪੋਰਟ ਨਾਲ ਸੀਰੀਅਲ ਪੋਰਟ ਕਨੈਕਸ਼ਨ ਘੋਸ਼ਿਤ ਕੀਤਾ ਜਾ ਸਕੇ:

    static Uart Serial3(&sercom3, PIN_WIRE_SCL, PIN_WIRE_SDA, SERCOM_RX_PAD_1, UART_TX_PAD_0);
    
  4. ਤੁਹਾਨੂੰ ਕੁਝ ਕੋਡ ਸ਼ਾਮਲ ਕਰਨ ਦੀ ਲੋੜ ਹੈ ਤਾਂ ਜੋ ਕੁਝ ਅੰਦਰੂਨੀ ਸਿਗਨਲ ਹੈਂਡਲਰਾਂ ਨੂੰ ਇਸ ਸੀਰੀਅਲ ਪੋਰਟ ਵੱਲ ਰੀਡਾਇਰੈਕਟ ਕੀਤਾ ਜਾ ਸਕੇ। 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. setup ਫੰਕਸ਼ਨ ਵਿੱਚ ਜਿੱਥੇ Serial ਪੋਰਟ ਕਨਫਿਗਰ ਕੀਤਾ ਗਿਆ ਹੈ, ਉਸ ਦੇ ਹੇਠਾਂ ਹੇਠਾਂ ਦਿੱਤੇ ਕੋਡ ਨਾਲ UART ਸੀਰੀਅਲ ਪੋਰਟ ਨੂੰ ਕਨਫਿਗਰ ਕਰੋ:

    Serial3.begin(9600);
    
    while (!Serial3)
        ; // Wait for Serial3 to be ready
    
    delay(1000);
    
  6. setup ਫੰਕਸ਼ਨ ਵਿੱਚ ਇਸ ਕੋਡ ਦੇ ਹੇਠਾਂ, ਹੇਠਾਂ ਦਿੱਤਾ ਕੋਡ ਸ਼ਾਮਲ ਕਰੋ ਤਾਂ ਜੋ Grove ਪਿਨ ਨੂੰ ਸੀਰੀਅਲ ਪੋਰਟ ਨਾਲ ਜੋੜਿਆ ਜਾ ਸਕੇ:

    pinPeripheral(PIN_WIRE_SCL, PIO_SERCOM_ALT);
    
  7. loop ਫੰਕਸ਼ਨ ਤੋਂ ਪਹਿਲਾਂ ਹੇਠਾਂ ਦਿੱਤਾ ਫੰਕਸ਼ਨ ਸ਼ਾਮਲ ਕਰੋ ਤਾਂ ਜੋ GPS ਡਾਟਾ ਨੂੰ ਸੀਰੀਅਲ ਮਾਨੀਟਰ ਵੱਲ ਭੇਜਿਆ ਜਾ ਸਕੇ:

    void printGPSData()
    {
        Serial.println(Serial3.readStringUntil('\n'));
    }
    
  8. loop ਫੰਕਸ਼ਨ ਵਿੱਚ, ਹੇਠਾਂ ਦਿੱਤਾ ਕੋਡ ਸ਼ਾਮਲ ਕਰੋ ਤਾਂ ਜੋ UART ਸੀਰੀਅਲ ਪੋਰਟ ਤੋਂ ਪੜ੍ਹਿਆ ਜਾ ਸਕੇ ਅਤੇ ਆਉਟਪੁੱਟ ਨੂੰ ਸੀਰੀਅਲ ਮਾਨੀਟਰ ਤੇ ਪ੍ਰਿੰਟ ਕੀਤਾ ਜਾ ਸਕੇ:

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

    ਇਹ ਕੋਡ UART ਸੀਰੀਅਲ ਪੋਰਟ ਤੋਂ ਪੜ੍ਹਦਾ ਹੈ। readStringUntil ਫੰਕਸ਼ਨ ਇੱਕ ਟਰਮੀਨੇਟਰ ਕਿਰਦਾਰ (ਇਸ ਮਾਮਲੇ ਵਿੱਚ ਨਵੀਂ ਲਾਈਨ) ਤੱਕ ਪੜ੍ਹਦਾ ਹੈ। ਇਹ ਇੱਕ ਪੂਰੀ NMEA ਵਾਕ (NMEA ਵਾਕ ਨਵੀਂ ਲਾਈਨ ਕਿਰਦਾਰ ਨਾਲ ਖਤਮ ਹੁੰਦੇ ਹਨ) ਪੜ੍ਹੇਗਾ। ਜਦੋਂ ਤੱਕ UART ਸੀਰੀਅਲ ਪੋਰਟ ਤੋਂ ਡਾਟਾ ਪੜ੍ਹਿਆ ਜਾ ਸਕਦਾ ਹੈ, ਇਹ ਪੜ੍ਹਿਆ ਜਾਂਦਾ ਹੈ ਅਤੇ printGPSData ਫੰਕਸ਼ਨ ਰਾਹੀਂ ਸੀਰੀਅਲ ਮਾਨੀਟਰ ਵੱਲ ਭੇਜਿਆ ਜਾਂਦਾ ਹੈ। ਜਦੋਂ ਹੋਰ ਡਾਟਾ ਪੜ੍ਹਿਆ ਨਹੀਂ ਜਾ ਸਕਦਾ, loop 1 ਸਕਿੰਟ (1,000ms) ਲਈ ਡੀਲੇ ਕਰਦਾ ਹੈ।

  9. ਕੋਡ ਨੂੰ Wio Terminal ਵਿੱਚ ਬਣਾਓ ਅਤੇ ਅਪਲੋਡ ਕਰੋ।

  10. ਅਪਲੋਡ ਕਰਨ ਤੋਂ ਬਾਅਦ, ਤੁਸੀਂ 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 ---
    $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
    

💁 ਤੁਸੀਂ ਇਹ ਕੋਡ code-gps/wio-terminal ਫੋਲਡਰ ਵਿੱਚ ਲੱਭ ਸਕਦੇ ਹੋ।

😀 ਤੁਹਾਡਾ GPS ਸੈਂਸਰ ਪ੍ਰੋਗਰਾਮ ਸਫਲ ਰਿਹਾ!


ਅਸਵੀਕਾਰਨਾ:
ਇਹ ਦਸਤਾਵੇਜ਼ AI ਅਨੁਵਾਦ ਸੇਵਾ Co-op Translator ਦੀ ਵਰਤੋਂ ਕਰਕੇ ਅਨੁਵਾਦ ਕੀਤਾ ਗਿਆ ਹੈ। ਜਦੋਂ ਕਿ ਅਸੀਂ ਸਹੀਤਾ ਲਈ ਯਤਨਸ਼ੀਲ ਹਾਂ, ਕਿਰਪਾ ਕਰਕੇ ਧਿਆਨ ਦਿਓ ਕਿ ਸਵੈਚਾਲਿਤ ਅਨੁਵਾਦਾਂ ਵਿੱਚ ਗਲਤੀਆਂ ਜਾਂ ਅਸੁਣੀਕਤਾਵਾਂ ਹੋ ਸਕਦੀਆਂ ਹਨ। ਮੂਲ ਦਸਤਾਵੇਜ਼ ਨੂੰ ਇਸਦੀ ਮੂਲ ਭਾਸ਼ਾ ਵਿੱਚ ਅਧਿਕਾਰਤ ਸਰੋਤ ਮੰਨਿਆ ਜਾਣਾ ਚਾਹੀਦਾ ਹੈ। ਮਹੱਤਵਪੂਰਨ ਜਾਣਕਾਰੀ ਲਈ, ਪੇਸ਼ੇਵਰ ਮਨੁੱਖੀ ਅਨੁਵਾਦ ਦੀ ਸਿਫਾਰਸ਼ ਕੀਤੀ ਜਾਂਦੀ ਹੈ। ਇਸ ਅਨੁਵਾਦ ਦੀ ਵਰਤੋਂ ਤੋਂ ਪੈਦਾ ਹੋਣ ਵਾਲੇ ਕਿਸੇ ਵੀ ਗਲਤਫਹਿਮੀ ਜਾਂ ਗਲਤ ਵਿਆਖਿਆ ਲਈ ਅਸੀਂ ਜ਼ਿੰਮੇਵਾਰ ਨਹੀਂ ਹਾਂ।