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 ਸੈਂਸਰ ਨੂੰ ਜੁੜੋ।
-
Grove ਕੇਬਲ ਦੇ ਇੱਕ ਸਿਰੇ ਨੂੰ GPS ਸੈਂਸਰ ਦੇ ਸਾਕਟ ਵਿੱਚ ਪਾਓ। ਇਹ ਸਿਰਫ ਇੱਕ ਹੀ ਦਿਸ਼ਾ ਵਿੱਚ ਜਾਵੇਗਾ।
-
Wio Terminal ਨੂੰ ਆਪਣੇ ਕੰਪਿਊਟਰ ਜਾਂ ਹੋਰ ਪਾਵਰ ਸਪਲਾਈ ਤੋਂ ਅਲੱਗ ਰੱਖਦੇ ਹੋਏ, Grove ਕੇਬਲ ਦੇ ਦੂਜੇ ਸਿਰੇ ਨੂੰ Wio Terminal ਦੇ ਖੱਬੇ ਪਾਸੇ Grove ਸਾਕਟ ਵਿੱਚ ਪਾਓ ਜਦੋਂ ਤੁਸੀਂ ਸਕ੍ਰੀਨ ਨੂੰ ਦੇਖ ਰਹੇ ਹੋ। ਇਹ ਸਾਕਟ ਪਾਵਰ ਬਟਨ ਦੇ ਸਭ ਤੋਂ ਨੇੜੇ ਹੈ।
-
GPS ਸੈਂਸਰ ਨੂੰ ਇਸ ਤਰ੍ਹਾਂ ਸਥਿਤ ਕਰੋ ਕਿ ਜੁੜੇ ਐਂਟੀਨਾ ਨੂੰ ਅਸਮਾਨ ਦੀ ਦ੍ਰਿਸ਼ਟੀ ਹੋਵੇ - ਵਧੀਆ ਤੌਰ 'ਤੇ ਖੁੱਲੇ ਵਿੰਡੋ ਦੇ ਨੇੜੇ ਜਾਂ ਬਾਹਰ। ਐਂਟੀਨਾ ਦੇ ਰਾਹ ਵਿੱਚ ਕੁਝ ਨਾ ਹੋਣ ਨਾਲ ਸਪਸ਼ਟ ਸਿਗਨਲ ਪ੍ਰਾਪਤ ਕਰਨਾ ਆਸਾਨ ਹੈ।
-
ਹੁਣ ਤੁਸੀਂ Wio Terminal ਨੂੰ ਆਪਣੇ ਕੰਪਿਊਟਰ ਨਾਲ ਜੁੜ ਸਕਦੇ ਹੋ।
-
GPS ਸੈਂਸਰ ਵਿੱਚ 2 LEDs ਹਨ - ਇੱਕ ਨੀਲਾ LED ਜੋ ਡਾਟਾ ਭੇਜਣ ਸਮੇਂ ਚਮਕਦਾ ਹੈ, ਅਤੇ ਇੱਕ ਹਰਾ LED ਜੋ ਸੈਟੇਲਾਈਟ ਤੋਂ ਡਾਟਾ ਪ੍ਰਾਪਤ ਕਰਨ ਸਮੇਂ ਹਰ ਸਕਿੰਟ ਚਮਕਦਾ ਹੈ। ਯਕੀਨੀ ਬਣਾਓ ਕਿ Wio Terminal ਨੂੰ ਪਾਵਰ ਦੇਣ ਸਮੇਂ ਨੀਲਾ LED ਚਮਕ ਰਿਹਾ ਹੈ। ਕੁਝ ਮਿੰਟਾਂ ਬਾਅਦ ਹਰਾ LED ਚਮਕੇਗਾ - ਜੇਕਰ ਨਹੀਂ, ਤਾਂ ਤੁਹਾਨੂੰ ਐਂਟੀਨਾ ਨੂੰ ਦੁਬਾਰਾ ਸਥਿਤ ਕਰਨ ਦੀ ਲੋੜ ਹੋ ਸਕਦੀ ਹੈ।
GPS ਸੈਂਸਰ ਨੂੰ ਪ੍ਰੋਗਰਾਮ ਕਰੋ
ਹੁਣ Wio Terminal ਨੂੰ ਜੁੜੇ GPS ਸੈਂਸਰ ਨੂੰ ਵਰਤਣ ਲਈ ਪ੍ਰੋਗਰਾਮ ਕੀਤਾ ਜਾ ਸਕਦਾ ਹੈ।
ਕੰਮ - GPS ਸੈਂਸਰ ਨੂੰ ਪ੍ਰੋਗਰਾਮ ਕਰੋ
ਡਿਵਾਈਸ ਨੂੰ ਪ੍ਰੋਗਰਾਮ ਕਰੋ।
-
PlatformIO ਦੀ ਵਰਤੋਂ ਕਰਕੇ ਇੱਕ ਨਵਾਂ Wio Terminal ਪ੍ਰੋਜੈਕਟ ਬਣਾਓ। ਇਸ ਪ੍ਰੋਜੈਕਟ ਨੂੰ
gps-sensor
ਨਾਮ ਦਿਓ।setup
ਫੰਕਸ਼ਨ ਵਿੱਚ ਕੋਡ ਸ਼ਾਮਲ ਕਰੋ ਤਾਂ ਜੋ ਸੀਰੀਅਲ ਪੋਰਟ ਨੂੰ ਕਨਫਿਗਰ ਕੀਤਾ ਜਾ ਸਕੇ। -
main.cpp
ਫਾਈਲ ਦੇ ਉੱਪਰ ਹਿੱਸੇ ਵਿੱਚ ਹੇਠਾਂ ਦਿੱਤਾ ਸ਼ਾਮਲ ਕਰਨ ਵਾਲਾ ਨਿਰਦੇਸ਼ ਸ਼ਾਮਲ ਕਰੋ। ਇਹ ਇੱਕ ਹੈਡਰ ਫਾਈਲ ਸ਼ਾਮਲ ਕਰਦਾ ਹੈ ਜਿਸ ਵਿੱਚ ਖੱਬੇ ਪਾਸੇ Grove ਪੋਰਟ ਨੂੰ UART ਲਈ ਕਨਫਿਗਰ ਕਰਨ ਦੇ ਫੰਕਸ਼ਨ ਹਨ।#include <wiring_private.h>
-
ਇਸ ਦੇ ਹੇਠਾਂ, ਹੇਠਾਂ ਦਿੱਤੀ ਲਾਈਨ ਸ਼ਾਮਲ ਕਰੋ ਤਾਂ ਜੋ UART ਪੋਰਟ ਨਾਲ ਸੀਰੀਅਲ ਪੋਰਟ ਕਨੈਕਸ਼ਨ ਘੋਸ਼ਿਤ ਕੀਤਾ ਜਾ ਸਕੇ:
static Uart Serial3(&sercom3, PIN_WIRE_SCL, PIN_WIRE_SDA, SERCOM_RX_PAD_1, UART_TX_PAD_0);
-
ਤੁਹਾਨੂੰ ਕੁਝ ਕੋਡ ਸ਼ਾਮਲ ਕਰਨ ਦੀ ਲੋੜ ਹੈ ਤਾਂ ਜੋ ਕੁਝ ਅੰਦਰੂਨੀ ਸਿਗਨਲ ਹੈਂਡਲਰਾਂ ਨੂੰ ਇਸ ਸੀਰੀਅਲ ਪੋਰਟ ਵੱਲ ਰੀਡਾਇਰੈਕਟ ਕੀਤਾ ਜਾ ਸਕੇ।
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(); }
-
setup
ਫੰਕਸ਼ਨ ਵਿੱਚ ਜਿੱਥੇSerial
ਪੋਰਟ ਕਨਫਿਗਰ ਕੀਤਾ ਗਿਆ ਹੈ, ਉਸ ਦੇ ਹੇਠਾਂ ਹੇਠਾਂ ਦਿੱਤੇ ਕੋਡ ਨਾਲ UART ਸੀਰੀਅਲ ਪੋਰਟ ਨੂੰ ਕਨਫਿਗਰ ਕਰੋ:Serial3.begin(9600); while (!Serial3) ; // Wait for Serial3 to be ready delay(1000);
-
setup
ਫੰਕਸ਼ਨ ਵਿੱਚ ਇਸ ਕੋਡ ਦੇ ਹੇਠਾਂ, ਹੇਠਾਂ ਦਿੱਤਾ ਕੋਡ ਸ਼ਾਮਲ ਕਰੋ ਤਾਂ ਜੋ Grove ਪਿਨ ਨੂੰ ਸੀਰੀਅਲ ਪੋਰਟ ਨਾਲ ਜੋੜਿਆ ਜਾ ਸਕੇ:pinPeripheral(PIN_WIRE_SCL, PIO_SERCOM_ALT);
-
loop
ਫੰਕਸ਼ਨ ਤੋਂ ਪਹਿਲਾਂ ਹੇਠਾਂ ਦਿੱਤਾ ਫੰਕਸ਼ਨ ਸ਼ਾਮਲ ਕਰੋ ਤਾਂ ਜੋ GPS ਡਾਟਾ ਨੂੰ ਸੀਰੀਅਲ ਮਾਨੀਟਰ ਵੱਲ ਭੇਜਿਆ ਜਾ ਸਕੇ:void printGPSData() { Serial.println(Serial3.readStringUntil('\n')); }
-
loop
ਫੰਕਸ਼ਨ ਵਿੱਚ, ਹੇਠਾਂ ਦਿੱਤਾ ਕੋਡ ਸ਼ਾਮਲ ਕਰੋ ਤਾਂ ਜੋ UART ਸੀਰੀਅਲ ਪੋਰਟ ਤੋਂ ਪੜ੍ਹਿਆ ਜਾ ਸਕੇ ਅਤੇ ਆਉਟਪੁੱਟ ਨੂੰ ਸੀਰੀਅਲ ਮਾਨੀਟਰ ਤੇ ਪ੍ਰਿੰਟ ਕੀਤਾ ਜਾ ਸਕੇ:while (Serial3.available() > 0) { printGPSData(); } delay(1000);
ਇਹ ਕੋਡ UART ਸੀਰੀਅਲ ਪੋਰਟ ਤੋਂ ਪੜ੍ਹਦਾ ਹੈ।
readStringUntil
ਫੰਕਸ਼ਨ ਇੱਕ ਟਰਮੀਨੇਟਰ ਕਿਰਦਾਰ (ਇਸ ਮਾਮਲੇ ਵਿੱਚ ਨਵੀਂ ਲਾਈਨ) ਤੱਕ ਪੜ੍ਹਦਾ ਹੈ। ਇਹ ਇੱਕ ਪੂਰੀ NMEA ਵਾਕ (NMEA ਵਾਕ ਨਵੀਂ ਲਾਈਨ ਕਿਰਦਾਰ ਨਾਲ ਖਤਮ ਹੁੰਦੇ ਹਨ) ਪੜ੍ਹੇਗਾ। ਜਦੋਂ ਤੱਕ UART ਸੀਰੀਅਲ ਪੋਰਟ ਤੋਂ ਡਾਟਾ ਪੜ੍ਹਿਆ ਜਾ ਸਕਦਾ ਹੈ, ਇਹ ਪੜ੍ਹਿਆ ਜਾਂਦਾ ਹੈ ਅਤੇprintGPSData
ਫੰਕਸ਼ਨ ਰਾਹੀਂ ਸੀਰੀਅਲ ਮਾਨੀਟਰ ਵੱਲ ਭੇਜਿਆ ਜਾਂਦਾ ਹੈ। ਜਦੋਂ ਹੋਰ ਡਾਟਾ ਪੜ੍ਹਿਆ ਨਹੀਂ ਜਾ ਸਕਦਾ,loop
1 ਸਕਿੰਟ (1,000ms) ਲਈ ਡੀਲੇ ਕਰਦਾ ਹੈ। -
ਕੋਡ ਨੂੰ Wio Terminal ਵਿੱਚ ਬਣਾਓ ਅਤੇ ਅਪਲੋਡ ਕਰੋ।
-
ਅਪਲੋਡ ਕਰਨ ਤੋਂ ਬਾਅਦ, ਤੁਸੀਂ 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 ਦੀ ਵਰਤੋਂ ਕਰਕੇ ਅਨੁਵਾਦ ਕੀਤਾ ਗਿਆ ਹੈ। ਜਦੋਂ ਕਿ ਅਸੀਂ ਸਹੀਤਾ ਲਈ ਯਤਨਸ਼ੀਲ ਹਾਂ, ਕਿਰਪਾ ਕਰਕੇ ਧਿਆਨ ਦਿਓ ਕਿ ਸਵੈਚਾਲਿਤ ਅਨੁਵਾਦਾਂ ਵਿੱਚ ਗਲਤੀਆਂ ਜਾਂ ਅਸੁਣੀਕਤਾਵਾਂ ਹੋ ਸਕਦੀਆਂ ਹਨ। ਮੂਲ ਦਸਤਾਵੇਜ਼ ਨੂੰ ਇਸਦੀ ਮੂਲ ਭਾਸ਼ਾ ਵਿੱਚ ਅਧਿਕਾਰਤ ਸਰੋਤ ਮੰਨਿਆ ਜਾਣਾ ਚਾਹੀਦਾ ਹੈ। ਮਹੱਤਵਪੂਰਨ ਜਾਣਕਾਰੀ ਲਈ, ਪੇਸ਼ੇਵਰ ਮਨੁੱਖੀ ਅਨੁਵਾਦ ਦੀ ਸਿਫਾਰਸ਼ ਕੀਤੀ ਜਾਂਦੀ ਹੈ। ਇਸ ਅਨੁਵਾਦ ਦੀ ਵਰਤੋਂ ਤੋਂ ਪੈਦਾ ਹੋਣ ਵਾਲੇ ਕਿਸੇ ਵੀ ਗਲਤਫਹਿਮੀ ਜਾਂ ਗਲਤ ਵਿਆਖਿਆ ਲਈ ਅਸੀਂ ਜ਼ਿੰਮੇਵਾਰ ਨਹੀਂ ਹਾਂ।