# GPS ಡೇಟಾ ಓದಿ - Wio ಟರ್ಮಿನಲ್ ಈ ಪಾಠದ ಭಾಗದಲ್ಲಿ, ನೀವು ನಿಮ್ಮ Wio ಟರ್ಮಿನಲ್‌ಗೆ GPS ಸೆನ್ಸಾರ್ ಅನ್ನು ಸೇರಿಸಬಹುದು ಮತ್ತು ಅದರಿಂದ ಮೌಲ್ಯಗಳನ್ನು ಓದಬಹುದು. ## ಹಾರ್ಡ್ವೇರ್ Wio ಟರ್ಮಿನಲ್‌ಗೆ GPS ಸೆನ್ಸಾರ್ ಬೇಕಾಗುತ್ತದೆ. ನೀವು ಬಳಸುವ ಸೆನ್ಸಾರ್ [Grove GPS Air530 ಸೆನ್ಸಾರ್](https://www.seeedstudio.com/Grove-GPS-Air530-p-4584.html). ಈ ಸೆನ್ಸಾರ್ ವೇಗವಾಗಿ, ನಿಖರವಾಗಿ ಫಿಕ್ಸ್‌ಗಾಗಿ ಹಲವಾರು GPS ವ್ಯವಸ್ಥೆಗಳಿಗೆ ಸಂಪರ್ಕ ಮಾಡಬಹುದು. ಸೆನ್ಸಾರ್ 2 ಭಾಗಗಳಿಂದ ನಿರ್ಮಿಸಲ್ಪಟ್ಟಿದೆ - ಸೆನ್ಸಾರ್‌ನ ಮುಖ್ಯ ಎಲೆಕ್ಟ್ರಾನಿಕ್ಸ್, ಮತ್ತು ಉಪಗ್ರಹಗಳಿಂದ ಬಂದಿರುವ ರೇಡಿಯೋ ಸಂಚలనಗಳನ್ನು ಪಿಕ್ಕು ಮಾಡಿಕೊಳ್ಳುವ ಒಂದು ಮಾನಸೂತ್ರದ ಸಣ್ಣ ಕಂಬವನ್ನು ಸಂಪರ್ಕಿಸಿದ ಹೊರಗಿನ ಪಂಬು. ಇದು UART ಸೆನ್ಸಾರ್ ಆಗಿದ್ದು, GPS ಡೇಟಾವನ್ನು UART ಮೂಲಕ ಕಳುಹಿಸುತ್ತದೆ. ### GPS ಸೆನ್ಸಾರ್ ಸಂಪರ್ಕಿಸಿ Grove GPS ಸೆನ್ಸಾರ್ Wio ಟರ್ಮಿನಲ್‌ಗೆ ಸಂಪರ್ಕಿಸಲು ಸಾಧ್ಯವಿದೆ. #### ಕಾರ್ಯ - GPS ಸೆನ್ಸಾರ್ ಸಂಪರ್ಕಿಸಿ GPS ಸೆನ್ಸಾರ್ ಅನ್ನು ಸಂಪರ್ಕಿಸಿ. ![A grove GPS sensor](../../../../../translated_images/kn/grove-gps-sensor.247943bf69b03f0d.webp) 1. Grove ಕೇಬಲ್‌ನ ಒಂದು ಭಾಗವನ್ನು GPS ಸೆನ್ಸಾರ್‌ನ ಸೊಕೆಟ್‌ಗೆ ಸೇರ್ಪಡೆ ಮಾಡಿ. ಇದು ಒಂದೇ ದಿಕ್ಕಿನಲ್ಲಿ ಮಾತ್ರ ಹೋಗುತ್ತದೆ. 1. ನಿಮ್ಮ ಕಂಪ್ಯೂಟರ್ ಅಥವಾ ಇತರ ವಿದ್ಯುತ್ ಸರಬರಾಜಿನಿಂದ Wio ಟರ್ಮಿನಲ್ ಅನ್ನು ತೆಗೆದುಹಾಕಿ, Grove ಕೇಬಲ್‌ನ ಇನ್ನೊಂದು ಮೊದಲು Wio ಟರ್ಮಿನಲ್‌ನ ಎಡಭಾಗದ Grove ಸೊಕೆಟ್ ಗೆ ಸಂಪರ್ಕಿಸಿ, ಸ್ಕ್ರೀನ್ ನೋಡಿ. ಇದು ಪವರ್ ಬಟನ್‌ಗೆ ಸನ್ನಿಧಾನವಾದ ಸೊಕೆಟ್ ಆಗಿದೆ. ![The grove GPS sensor connected to the left hand socket](../../../../../translated_images/kn/wio-gps-sensor.19fd52b81ce58095.webp) 1. GPS ಸೆನ್ಸಾರ್ ಅನ್ನು ಅಲ್ಲಿಯ ಚಿಪ್ಪು ಪಂಬು ಆಕಾಶದ ಕಡೆಗೆ ವೀಕ್ಷಿಸುವಂತೆ ಸಿದ್ಧಪಡಿಸಿ - ಸಾಧ್ಯವಾದರೆ ತೆರೆಯಲಾದ ಜಾಗ ಅಥವಾ ಹೊರಗುಡಿಯತ್ತ. ಪಂಬು ಎದುರು ಯಾವುದೂ ಇಲ್ಲದಿದ್ದರೆ ಸ್ಪಷ್ಟವಾದ ಸಿಗ್ನಲ್ ಪಡೆಯುವುದು ಸುಲಭ. 1. ನೀವು ಈಗ Wio ಟರ್ಮಿನಲ್ ಅನ್ನು ನಿಮ್ಮ ಕಂಪ್ಯೂಟರ್‌ಗೆ ಸಂಪರ್ಕಿಸಬಹುದು. 1. GPS ಸೆನ್ಸಾರ್ 2 LEDs ಹೊಂದಿದೆ - ಡೇಟಾ ಪ್ರಸಾರವಾಗುವಾಗ ಬ್ಲೂ LED ಫ್ಲ್ಯಾಶ್ ಆಗುತ್ತದೆ ಮತ್ತು ಉಪಗ್ರಹಗಳಿಂದ ಡೇಟಾ ಸ್ವೀಕರಿಸುವಾಗ ಒಂದು ಸೆಕೆಂಡಿಗೆ ಒಂದು ಬಾರಿ ಹಸಿರು LED ಫ್ಲ್ಯಾಶ್ ಆಗುತ್ತದೆ. Wio ಟರ್ಮಿನಲ್ ಪವರ್ ಅಪ್ ಮಾಡೋದಾಗ ಬ್ಲೂ LED ಫ್ಲ್ಯಾಶ್ ಆಗಿರುವುದನ್ನು ಖಾತ್ರಿ ಮಾಡಿ. ಕೆಲವು ನಿಮಿಷಗಳ ನಂತರ ಹಸಿರು LED ಫ್ಲ್ಯಾಶ್ ಆಗದೆ ಇದ್ದರೆ, ಪಂಬಿನ ಸ್ಥಾನವನ್ನು ಬದಲಾಯಿಸಬೇಕಾಗಬಹುದು. ## GPS ಸೆನ್ಸಾರ್ ಪ್ರೋಗ್ರಾಂ ಮಾಡಿ Wio ಟರ್ಮಿನಲ್ ಈಗ ಲಗತ್ತಿಸಿರುವ GPS ಸೆನ್ಸಾರ್ ಬಳಕೆ ಮಾಡೋ ಆಗ ಪ್ರೋಗ್ರಾಂ ಮಾಡಬಹುದು. ### ಕಾರ್ಯ - GPS ಸೆನ್ಸಾರ್ ಪ್ರೋಗ್ರಾಂ ಮಾಡಿ ಡಿವೈಸ್ ಅನ್ನು ಪ್ರೋಗ್ರಾಂ ಮಾಡಿ. 1. PlatformIO ಬಳಸಿ ಹೊಸ Wio ಟರ್ಮಿನಲ್ ಪ್ರಾಜೆಕ್ಟ್ ಸೃಷ್ಟಿಸಿ. ಈ ಪ್ರಾಜೆಕ್ಟ್‌ಗೆ `gps-sensor` ಎಂದು ಹೆಸರು ನೀಡಿ. `setup` ಫಂಕ್ಷನ್‌ನಲ್ಲಿ ಸೀರಿಯಲ್ ಪೋರ್ಟ್ ರೂಪುರೇಷೆಗಾಗಿ ಕೋಡ್ ಸೇರಿಸಿ. 1. `main.cpp` ಫೈಲ್‌ನ ಉದ್ದೆಗೆ ಕೆಳಗಿನ include ನಿರ್ದೇಶನವನ್ನು ಸೇರಿಸಿ. ಇದು ಎಡಭಾಗದ Grove ಪೋರ್ಟ್ ಅನ್ನು UART ಗಾಗಿ ರೂಪುರೇಷೆ ಮಾಡಲು ಫಂಕ್ಷನ್‌ಗಳನ್ನು ಒಳಗೊಂಡಿರುವ ಹೆಡರ್ ಫೈಲ್ ಅನ್ನು ಸೇರಿಸುತ್ತದೆ. ```cpp #include ``` 1. ಇದರ ಕೆಳಗೆ, UART ಪೋರ್ಟ್‌ಗೆ ಸೀರಿಯಲ್ ಪೋರ್ಟ್ ಸಂಪರ್ಕವನ್ನು ಘೋಷಿಸಲು ಈ ಕೆಳಗಿನ ಕೋಡ್ ಲೈನ್ ಅನ್ನು ಸೇರಿಸಿ: ```cpp static Uart Serial3(&sercom3, PIN_WIRE_SCL, PIN_WIRE_SDA, SERCOM_RX_PAD_1, UART_TX_PAD_0); ``` 1. ಕೆಲವು ಆಂತರಿಕ ಸಿಗ್ನಲ್ ಹ್ಯಾಂಡ್ಲರ್‌ಗಳನ್ನು ಈ ಸೀರಿಯಲ್ ಪೋರ್ಟ್‌ಗೆ ಮರುನಿರ್ದೇಶಿಸಲು ಕೆಳಗಿನ ಕೋಡ್ ಅನ್ನು `Serial3` ಘೋಷಣೆಯ ಕೆಳಗೆ ಸೇರಿಸಿ: ```cpp void SERCOM3_0_Handler() { Serial3.IrqHandler(); } void SERCOM3_1_Handler() { Serial3.IrqHandler(); } void SERCOM3_2_Handler() { Serial3.IrqHandler(); } void SERCOM3_3_Handler() { Serial3.IrqHandler(); } ``` 1. `Serial` ಪೋರ್ಟ್ ರೂಪುರೇಷೆಗೈದಿರುವ ಸ್ಥಳದ ಕೆಳಗೆ `setup` ಫಂಕ್ಷನ್‌ನಲ್ಲಿ UART ಸೀರಿಯಲ್ ಪೋರ್ಟ್ ಅನ್ನು ಕೆಳಗಿನ ಕೋಡ್‌ನೊಂದಿಗೆ ರೂಪುರೇಷೆಗೊಳಿಸಿ: ```cpp Serial3.begin(9600); while (!Serial3) ; // ಸೀರಿಯಲ್3 ಸಿದ್ಧವಾಗಬೇಕೆಂದು ಕಾಯಿರಿ delay(1000); ``` 1. `setup` ಫಂಕ್ಷನ್‌ನಲ್ಲಿ ಈ ಕೋಡ್ ಕೆಳಗೆ Grove ಪಿನ್ ಅನ್ನು ಸೀರಿಯಲ್ ಪೋರ್ಟ್‌ಗೆ ಸಂಪರ್ಕಿಸುವ ಈ ಕೆಳಗಿನ ಕೋಡ್ ಸೇರಿಸಿ: ```cpp pinPeripheral(PIN_WIRE_SCL, PIO_SERCOM_ALT); ``` 1. `loop` ಫಂಕ್ಷನ್‌ಗಿಂತ ಮೊದಲು GPS ಡೇಟಾವನ್ನು ಸೀರಿಯಲ್ ಮಾನಿಟರ್‌ಗೆ ಕಳುಹಿಸಲು ಈ ಕೆಳಗಿನ ಫಂಕ್ಷನನ್ನು ಸೇರಿಸಿ: ```cpp void printGPSData() { Serial.println(Serial3.readStringUntil('\n')); } ``` 1. `loop` ಫಂಕ್ಶನ್‌ನಲ್ಲಿ UART ಸೀರಿಯಲ್ ಪೋರ್ಟ್‌ನಿಂದ ಓದಿ ಮತ್ತು ಅವುಗಳನ್ನು ಸೀರಿಯಲ್ ಮಾನಿಟರ್‌ಗೆ ಮುದ್ರಿಸಲು ಈ ಕೆಳಗಿನ ಕೋಡ್ ಸೇರಿಸಿ: ```cpp while (Serial3.available() > 0) { printGPSData(); } delay(1000); ``` ಈ ಕೋಡ್ UART ಸೀರಿಯಲ್ ಪೋರ್ಟ್‌ನಿಂದ ಓದುತ್ತದೆ. `readStringUntil` ಫಂಕ್ಷನ್ ಟರ್ಮಿನೇಟರ್ ಕ್ಯಾರಕ್ಟರ್ (ಈ ಸಂದರ್ಭದಲ್ಲಿ ಹೊಸ ಸಾಲು) ತನಕ ಓದುತ್ತದೆ. ಇದು ಪೂರ್ಣ NMEA ವಾಕ್ಯವನ್ನು (NMEA ವಾಕ್ಯಗಳು ಹೊಸ ಸಾಲು ಕ್ಯಾರಕ್ಟರ್‌ನಿಂದ ಮುಗಿಯುತ್ತವೆ) ಓದುತ್ತದೆ. UART ಸೀರಿಯಲ್ ಪೋರ್ಟ್‌ನಿಂದ ಡೇಟಾ ಓದಬಹುದು ಆದಷ್ಟು ತನಕ, ಅದನ್ನು ಓದಿ `printGPSData` ಫಂಕ್ಷನ್ ಮೂಲಕ ಸೀರಿಯಲ್ ಮಾನಿಟರ್‌ಗೆ ಕಳುಹಿಸಲಾಗುತ್ತದೆ. ಇನ್ನಷ್ಟು ಡೇಟಾ ಓದಲು ಸಾಧ್ಯವಾಗದಷ್ಟಕ್ಕೆ, `loop` 1 ಸೆಕೆಂಡು (1,000ms) ವಿಳಂಬಿಸುತ್ತದೆ. 1. ಕೋಡ್ ಅನ್ನು ನಿರ್ಮಿಸಿ ಮತ್ತು Wio ಟರ್ಮಿನಲ್‌ಗೆ ಅಪ್‌ಲೋಡ್ ಮಾಡಿ. 1. ಅಪ್‌ಲೋಡ್ ಆದ ನಂತರ, ಸೀರಿಯಲ್ ಮಾನಿಟರ್ ಬಳಸಿ GPS ಡೇಟಾವನ್ನು ಗಮನಿಸಬಹುದು. ```output > 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](../../../../../3-transport/lessons/1-location-tracking/code-gps/wio-terminal) ಫೋಲ್ಡರ್‌ನಲ್ಲಿ ಕಂಡುಹಿಡಿಯಬಹುದು. 😀 ನಿಮ್ಮ GPS ಸೆನ್ಸಾರ್ ಪ್ರೋಗ್ರಾಂ ಯಶಸ್ವಿಯಾಗಿ ಮುಗಿದಿದೆ! --- **ನಿರಾಕರಣೆ**: ಈ ದಸ್ತಾವೇಜನ್ನು AI ಅನುವಾದ ಸೇವೆ [Co-op Translator](https://github.com/Azure/co-op-translator) ಬಳಸಿ ಅನುವಾದಿಸಲಾಗಿದೆ. ನಾವು ಶುದ್ದತೆಯ ಬಗ್ಗೆ ಪ್ರಯತ್ನಿಸುತ್ತಿದ್ದರೂ, ಸ್ವಯಂಚಾಲಿತ ಅನುವಾದಗಳಲ್ಲಿ ತಪ್ಪುಗಳು ಅಥವಾ ಅಸತ್ಯತೆಗಳು ಇರಬಹುದು ಎಂಬದನ್ನು ದಯವಿಟ್ಟು ಗಮನಿಸಿ. ಮೂಲ ದಸ್ತಾವೇಜಿನ ಭಾಷೆಯನ್ನು ಅಧಿಕಾರದ ಮೂಲ ಎಂದು ಪರಿಗಣಿಸಬೇಕು. ಮಹತ್ವಪೂರ್ಣ ಮಾಹಿತಿಗಾಗಿ, ಪರಿಣತ ಮಾನವ ಅನುವಾದವನ್ನು ಶಿಫಾರಸು ಮಾಡಲಾಗುತ್ತದೆ. ಈ ಅನುವಾದದ ಬಳಕೆಯಿಂದ ಉಂಟಾಗಬಹುದಾದ ಯಾವುದೇ ತಪ್ಪು ಅರ್ಥಮಾಡಿಕೊಳ್ಳುವಿಕೆ ಅಥವಾ ವ್ಯಾಖ್ಯಾಯಗಳನ್ನು ನಾವು ಹೊಣೆ ಹೊತ್ತಿಲ್ಲ.