# GPS डेटा डिकोड करा - व्हर्च्युअल IoT हार्डवेअर आणि रास्पबेरी पाय या धड्याच्या भागात, तुम्ही रास्पबेरी पाय किंवा व्हर्च्युअल IoT डिव्हाइसद्वारे GPS सेन्सरमधून वाचलेल्या NMEA संदेशांचे डिकोडिंग कराल आणि अक्षांश व रेखांश काढून घेणार. ## GPS डेटा डिकोड करा जेव्हा कच्चा NMEA डेटा सिरियल पोर्टमधून वाचला जातो, तेव्हा तो ओपन सोर्स NMEA लायब्ररी वापरून डिकोड केला जाऊ शकतो. ### कार्य - GPS डेटा डिकोड करा डिव्हाइसला GPS डेटा डिकोड करण्यासाठी प्रोग्राम करा. 1. `gps-sensor` अॅप प्रोजेक्ट उघडा, जर ते आधीच उघडले नसेल. 1. `pynmea2` Pip पॅकेज इंस्टॉल करा. या पॅकेजमध्ये NMEA संदेश डिकोड करण्यासाठी कोड आहे. ```sh pip3 install pynmea2 ``` 1. `app.py` फाइलमध्ये `pynmea2` मॉड्यूल आयात करण्यासाठी खालील कोड आयात्समध्ये जोडा: ```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') ``` हा कोड `pynmea2` लायब्ररी वापरून UART सिरियल पोर्टमधून वाचलेल्या ओळीचे पार्सिंग करेल. जर संदेशाचा वाक्य प्रकार `GGA` असेल, तर हा एक पोझिशन फिक्स संदेश आहे आणि तो प्रक्रिया केला जातो. संदेशातून अक्षांश आणि रेखांश मूल्ये वाचली जातात आणि NMEA `(d)ddmm.mmmm` स्वरूपातून दशांश अंशांमध्ये रूपांतरित केली जातात. `dm_to_sd` फंक्शन हे रूपांतर करते. नंतर अक्षांशाची दिशा तपासली जाते, आणि जर अक्षांश दक्षिण असेल, तर मूल्य नकारात्मक संख्येत रूपांतरित केले जाते. रेखांशासाठीही तसेच, जर तो पश्चिम असेल तर तो नकारात्मक संख्येत रूपांतरित केला जातो. शेवटी, समन्वय कन्सोलवर प्रिंट केले जातात, तसेच स्थान मिळवण्यासाठी वापरलेल्या उपग्रहांची संख्या देखील. 1. कोड चालवा. जर तुम्ही व्हर्च्युअल IoT डिव्हाइस वापरत असाल, तर 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) चा वापर करून भाषांतरित करण्यात आला आहे. आम्ही अचूकतेसाठी प्रयत्नशील असलो तरी, कृपया लक्षात घ्या की स्वयंचलित भाषांतरांमध्ये त्रुटी किंवा अचूकतेचा अभाव असू शकतो. मूळ भाषेतील दस्तऐवज हा अधिकृत स्रोत मानला जावा. महत्त्वाच्या माहितीसाठी व्यावसायिक मानवी भाषांतराची शिफारस केली जाते. या भाषांतराचा वापर केल्यामुळे उद्भवणाऱ्या कोणत्याही गैरसमज किंवा चुकीच्या अर्थासाठी आम्ही जबाबदार राहणार नाही.