6.1 KiB
GPS डेटा डिकोड करा - व्हर्च्युअल IoT हार्डवेअर आणि रास्पबेरी पाय
या धड्याच्या भागात, तुम्ही रास्पबेरी पाय किंवा व्हर्च्युअल IoT डिव्हाइसद्वारे GPS सेन्सरमधून वाचलेल्या NMEA संदेशांचे डिकोडिंग कराल आणि अक्षांश व रेखांश काढून घेणार.
GPS डेटा डिकोड करा
जेव्हा कच्चा NMEA डेटा सिरियल पोर्टमधून वाचला जातो, तेव्हा तो ओपन सोर्स NMEA लायब्ररी वापरून डिकोड केला जाऊ शकतो.
कार्य - GPS डेटा डिकोड करा
डिव्हाइसला GPS डेटा डिकोड करण्यासाठी प्रोग्राम करा.
-
gps-sensor
अॅप प्रोजेक्ट उघडा, जर ते आधीच उघडले नसेल. -
pynmea2
Pip पॅकेज इंस्टॉल करा. या पॅकेजमध्ये NMEA संदेश डिकोड करण्यासाठी कोड आहे.pip3 install pynmea2
-
app.py
फाइलमध्येpynmea2
मॉड्यूल आयात करण्यासाठी खालील कोड आयात्समध्ये जोडा:import pynmea2
-
print_gps_data
फंक्शनची सामग्री खालीलप्रमाणे बदला: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
फंक्शन हे रूपांतर करते.नंतर अक्षांशाची दिशा तपासली जाते, आणि जर अक्षांश दक्षिण असेल, तर मूल्य नकारात्मक संख्येत रूपांतरित केले जाते. रेखांशासाठीही तसेच, जर तो पश्चिम असेल तर तो नकारात्मक संख्येत रूपांतरित केला जातो.
शेवटी, समन्वय कन्सोलवर प्रिंट केले जातात, तसेच स्थान मिळवण्यासाठी वापरलेल्या उपग्रहांची संख्या देखील.
-
कोड चालवा. जर तुम्ही व्हर्च्युअल IoT डिव्हाइस वापरत असाल, तर CounterFit अॅप चालू असल्याची खात्री करा आणि GPS डेटा पाठवला जात आहे.
pi@raspberrypi:~/gps-sensor $ python3 app.py 47.6423109,-122.1390293 - from 3 satellites
💁 तुम्हाला हा कोड code-gps-decode/virtual-device फोल्डरमध्ये किंवा code-gps-decode/pi फोल्डरमध्ये सापडेल.
😀 तुमचा GPS सेन्सर प्रोग्राम डेटा डिकोडिंगसह यशस्वी झाला!
अस्वीकरण:
हा दस्तऐवज AI भाषांतर सेवा Co-op Translator चा वापर करून भाषांतरित करण्यात आला आहे. आम्ही अचूकतेसाठी प्रयत्नशील असलो तरी, कृपया लक्षात घ्या की स्वयंचलित भाषांतरांमध्ये त्रुटी किंवा अचूकतेचा अभाव असू शकतो. मूळ भाषेतील दस्तऐवज हा अधिकृत स्रोत मानला जावा. महत्त्वाच्या माहितीसाठी व्यावसायिक मानवी भाषांतराची शिफारस केली जाते. या भाषांतराचा वापर केल्यामुळे उद्भवणाऱ्या कोणत्याही गैरसमज किंवा चुकीच्या अर्थासाठी आम्ही जबाबदार राहणार नाही.