# GPS ಡೇಟಾವನ್ನು ಡಿಕೋಡ್ ಮಾಡಿ - ವರ್ಚುವಲ್ ಐಒಟಿ ಹಾರ್ಡ್‌ವೇರ್ ಮತ್ತು ರಾಸ್ಪ್ಬೆರ್ರಿ ಪಾಯ್ ಪಾಠದ ಈ ಭಾಗದಲ್ಲಿ, ನೀವು ರಾಸ್ಪ್ಬೆರ್ರಿ ಪಾಯ್ ಅಥವಾ ವರ್ಚುವಲ್ ಐಒಟಿ ಸಾಧನದಿಂದ GPS ಸೆンサーನಿಂದ ಓದಿದ NMEA ಸಂದೇಶಗಳನ್ನು ಡಿಕೋಡ್ ಮಾಡುತ್ತೀರಿ, ಮತ್ತು ಅಕ್ಷಾಂಶ ಮತ್ತು ರೇಖಾಂಶವನ್ನು ಹೊರತೀರಿಸುತ್ತೀರಿ. ## GPS ಡೇಟಾವನ್ನು ಡಿಕೋಡ್ ಮಾಡಿ ಒಮ್ಮೆ ರಾ NMEA ಡೇಟಾ ಸರಿಯ ಕುಂಭದಿಂದ ಓದಿದ ನಂತರ, ಅದನ್ನು ಒಂದು ಓಪನ್ ಸೋರ್ಸ್ NMEA ಗ್ರಂಥಾಲಯ ಬಳಸಿ ಡಿಕೋಡ್ ಮಾಡಬಹುದು. ### ಕಾರ್ಯ - GPS ಡೇಟಾವನ್ನು ಡಿಕೋಡ್ ಮಾಡಿ GPS ಡೇಟಾವನ್ನು ಡಿಕೋಡ್ ಮಾಡಲು ಸಾಧನವನ್ನು ಪ್ರೋಗ್ರಾಮ್ ಮಾಡಿ. 1. `gps-sensor` ಅಪ್ಲಿಕೇಶನ್ ಪ್ರೊಜೆಕ್ಟ್ ಈಗಾಗಲೇ ತೆರೆಯಲ್ಪಟ್ಟಿಲ್ಲದಿದ್ದರೆ ತೆರೆಯಿರಿ 1. `pynmea2` ಪಿಪ್ ಪ್ಯಾಕೇಜ್ ಅನ್ನು ಇನ್‌ಸ್ಟಾಲ್ ಮಾಡಿ. ಈ ಪ್ಯಾಕೇಜ್ NMEA ಸಂದೇಶಗಳನ್ನು ಡಿಕೋಡ್ ಮಾಡಬೇಕಾದ ಕೋಡ್ ಅನ್ನು ಹೊಂದಿದೆ. ```sh pip3 install pynmea2 ``` 1. `app.py` ಕಡತದಲ್ಲಿ `pynmea2` ಮಾಡ್ಯೂಲ್ ಅನ್ನು ಆಮದು ಮಾಡಲು ಕೆಳಗಿನ ಕೋಡ್ ಅನ್ನು(imports) ಸೇರಿಸಿ: ```python import pynmea2 ``` 1. `print_gps_data` ಕಾರ್ಯಕ್ಷಮತೆಯ ವಿಷಯವನ್ನು ಕೆಳಗಿನಂತಹದಾಗಿ ಬದಲಿಸಿ: ```python msg = pynmea2.parse(line) if msg.sentence_type == 'GGA': lat = pynmea2.dm_to_sd(msg.lat) lon = pynmea2.dm_to_sd(msg.lon) if msg.lat_dir == 'S': lat = lat * -1 if msg.lon_dir == 'W': lon = lon * -1 print(f'{lat},{lon} - from {msg.num_sats} satellites') ``` ಈ ಕೋಡ್ UART ಸರಿಯ ಕುಂಭದಿಂದ ಓದಿದ ಸಾಲನ್ನು ಡಿಕೋಡ್ ಮಾಡಲು `pynmea2` ಗ್ರಂಥಾಲಯವನ್ನು ಬಳಕೆ ಮಾಡುತ್ತದೆ. ಸಂದೇಶದ ವಾಕ್ಯ ಶೈಲಿ `GGA` ಆಗಿದ್ದರೆ, ಇದು ಆಸ್ಥಿತಿತಾಂತ್ರಿಕ ಸಂದೇಶವೆಂದು, ಇದನ್ನು ಪ್ರಕ್ರಿಯೆಗೊಳಿಸಲಾಗುತ್ತದೆ. ಅಕ್ಷಾಂಶ ಮತ್ತು ರೇಖಾಂಶ ಮೌಲ್ಯಗಳನ್ನು ಸಂದೇಶದಿಂದ ಓದಲಾಗುತ್ತದೆ ಮತ್ತು ಅವುಗಳನ್ನು NMEA `(d)ddmm.mmmm` ಸ್ವರೂಪದಿಂದ ದಶಮಾನ ದರ್ಜೆಗೆ ಪ್ರಯೋಜನ ಮಾಡಲಾಗುತ್ತದೆ. `dm_to_sd` ಕಾರ್ಯ ಈ ಪರಿವರ್ತನೆಯನ್ನು ಮಾಡುತ್ತದೆ. ನಂತರ ಅಕ್ಷಾಂಶದ ದಿಕ್ಕನ್ನು ಪರಿಶೀಲಿಸಲಾಗುತ್ತದೆ, ಮತ್ತು ಅಕ್ಷಾಂಶ ದಕ್ಷಿಣ이면 ಮೌಲ್ಯವನ್ನು ನೆಗೆಟಿವ್ ಸಂಖ್ಯೆಯಾಗಿ ಪರಿವರ್ತಿಸಲಾಗುತ್ತದೆ. ರೇಖಾಂಶ ಹಾಗೂ ಪಶ್ಚಿಮ ಇದ್ದರೆ ಅದನ್ನು ಸಹ ನೆಗೆಟಿವ್ ಸಂಖ್ಯೆಯಾಗಿ ಪರಿವರ್ತಿಸಲಾಗುತ್ತದೆ. ಕೊನೆಗೆ, ಸಂಯೋಜನೆಗಳನ್ನು ಮತ್ತು ಸ್ಥಳವನ್ನು ಪಡೆಯಲು ಬಳಸಿದ ಉಪಗ್ರಹಗಳ ಸಂಖ್ಯೆಯನ್ನು ಕಾಂಸೋಲ್ ಗೆ ಮುದ್ರಿಸಲಾಗುತ್ತದೆ. 1. ಕೋಡ್ ಅನ್ನು ಚಾಲನೆ ಮಾಡಿ. ನೀವು ವರ್ಚುವಲ್ ಐಒಟಿ ಸಾಧನವನ್ನು ಬಳಸುತ್ತಿದ್ದರೆ, CounterFit ಅಪ್ಲಿಕೇಶನ್ ಚಾಲನೆ ಆಗಿದೆ ಮತ್ತು GPS ಡೇಟಾ ಕಳುಹಿಸಲಾಗುತ್ತಿದೆ ಎಂದು ಖಚಿತಪಡಿಸಿಕೊಳ್ಳಿ. ```output pi@raspberrypi:~/gps-sensor $ python3 app.py 47.6423109,-122.1390293 - from 3 satellites ``` > 💁 ನೀವು ಈ ಕೋಡ್ ಅನ್ನು [code-gps-decode/virtual-device](../../../../../3-transport/lessons/1-location-tracking/code-gps-decode/virtual-device) ಫೋಲ್ಡರ್ ಅಥವಾ [code-gps-decode/pi](../../../../../3-transport/lessons/1-location-tracking/code-gps-decode/pi) ಫೋಲ್ಡರ್ ನಲ್ಲಿ ಕಂಡುಹಿಡಿಯಬಹುದು. 😀 ನಿಮ್ಮ GPS ಸೆನ್ಸರ್ ಪ್ರೋಗ್ರಾಂ ಡೇಟಾ ಡಿಕೋಡಿಂಗ್ ಜೊತೆಗೆ ಯಶಸ್ವಿಯಾಗಿ ಪೂರ್ಣಗೊಂಡಿತು! --- **ನಿರಾಕರಣೆ**: ಈ ದಸ್ತಾವೇಜನ್ನು AI ಅನುವಾದ ಸೇವೆ [Co-op Translator](https://github.com/Azure/co-op-translator) ಬಳಸಿ ಅನುವಾದಿಸಲಾಗಿದೆ. ನಾವು ನಿಖರತೆಯಿಗಾಗಿ ಪ್ರಯತ್ನಿಸುತ್ತಿದ್ದರೂ, ಸ್ವಯಂಚಾಲಿತ ಅನುವಾದಗಳಲ್ಲಿ ದೋಷಗಳು ಅಥವಾ ತಪ್ಪುಗಳು ಇರಬಹುದು ಎಂಬುದನ್ನು ದಯವಿಟ್ಟು ತಿಳಿವಳಿಕೆ ಇಡಿ. ಮೂಲ ದಸ್ತಾವೇಜಿನ ಸ್ವದೇಶಿ ಭಾಷೆಯ ಪ್ರತಿ ಅಧಿಕೃತಮೂಲವೆಂದು ಪರಿಗಣಿಸಬೇಕು. ಮಹತ್ವದ ಮಾಹಿತಿಗಾಗಿ ವೃತ್ತಿಪರ ಮಾನವ ಅನುವಾದವನ್ನು ಶಿಫಾರಸು ಮಾಡಲಾಗಿದೆ. ಈ ಅನುವಾದದ ಬಳಕೆಯಿಂದ ಉಂಟಾಗಬಹುದಾದ ಯಾವುದೇ ತಪ್ಪುಬಗ್ಗೆ ಅಥವಾ ತಪ್ಪು ವಿವರಣೆಗಾಗಿ ನಾವು ಜವಾಬ್ದಾರಿಯೋರ್ವರಲ್ಲ.