# GPS డేటాను చదవండి - Wio టెర్మినల్ పాఠం ఈ భాగంలో, మీరు Wio టెర్మినల్‌కు GPS సెన్సార్‌ను జోడించి, దానినుంచి విలువలను చదువు. ## హార్డ్వేర్ Wio టెర్మినల్‌కు GPS సెన్సార్ అవసరం. మీరు ఉపయోగించబోయే సెన్సార్ ఒక [Grove GPS Air530 సెన్సార్](https://www.seeedstudio.com/Grove-GPS-Air530-p-4584.html). ఈ సెన్సార్ పలు GPS వ్యవస్థలకు కనెక్ట్ కావచ్చు, వేగవంతమైన, ఖచ్చితమైన ఫిక్స్ కోసం. సెన్సార్ రెండు భాగాల నుంచి తయారవుతుంది - సెన్సార్ యొక్క కోర్ ఎలక్ట్రానిక్స్ మరియు ఒక బయటి యాంటెనా, సాటిలైట్ల నుండి రేడియో తరంగాలను అందుకోవడానికి సన్నని వైర్ ద్వారా కనెక్ట్ చేయబడింది. ఇది UART సెన్సార్, కాబట్టి GPS డేటాను UART ద్వారా పంపుతుంది. ### GPS సెన్సార్‌ను కనెక్ట్ చేయండి Grove GPS సెన్సార్‌ను Wio టెర్మినల్‌కు కనెక్ట్ చేయవచ్చు. #### పని - GPS సెన్సార్ కనెక్ట్ చేయండి GPS సెన్సార్‌ను కనెక్ట్ చేయండి. ![A grove GPS sensor](../../../../../translated_images/te/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/te/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` ఫైల్ టాప్‌లో ఈ పొందిక సాధారణం జోడించండి. ఇది ఎడమవైపు 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. `setup` ఫంక్షన్లో `Serial` పోర్ట్ కాన్ఫిగర్ చేసిన తర్వాత 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) ఉపయోగించి అనువదించబడింది. మేము సరిగా అనువదించేందుకు ప్రయత్నిస్తున్నప్పటికీ, ఆటోమేటెడ్ అనువాదాలలో పొరపాట్లు లేదా తప్పులు ఉండవచ్చు. మూల పత్రం దాని స్వదేశీ భాషలో ఉన్న పాఠం అభిమానించదగిన మూలంగా పరిగణించాలి. ముఖ్యమైన సమాచారానికి, ప్రొఫెషనల్ మానవ అనువాదం సూచించబడుతుంది. ఈ అనువాదం వినియోగంతో కలిగిన ఏవైనా అపార్థాలు లేదా తప్పుగా అర్థం చేసుకోవడాలపై మేము బాధ్యత వహించము.