You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
IoT-For-Beginners/translations/hi/3-transport/lessons/1-location-tracking/single-board-computer-gps-d...

6.3 KiB

जीपीएस डेटा डिकोड करें - वर्चुअल IoT हार्डवेयर और रास्पबेरी पाई

इस पाठ के इस भाग में, आप रास्पबेरी पाई या वर्चुअल IoT डिवाइस द्वारा जीपीएस सेंसर से पढ़े गए NMEA संदेशों को डिकोड करेंगे और अक्षांश और देशांतर निकालेंगे।

जीपीएस डेटा डिकोड करें

एक बार जब कच्चा NMEA डेटा सीरियल पोर्ट से पढ़ लिया जाता है, तो इसे एक ओपन सोर्स NMEA लाइब्रेरी का उपयोग करके डिकोड किया जा सकता है।

कार्य - जीपीएस डेटा डिकोड करें

डिवाइस को जीपीएस डेटा डिकोड करने के लिए प्रोग्राम करें।

  1. gps-sensor ऐप प्रोजेक्ट खोलें, अगर यह पहले से खुला नहीं है।

  2. pynmea2 पिप पैकेज इंस्टॉल करें। इस पैकेज में NMEA संदेशों को डिकोड करने के लिए कोड है।

    pip3 install pynmea2
    
  3. app.py फाइल में इम्पोर्ट्स में निम्नलिखित कोड जोड़ें ताकि pynmea2 मॉड्यूल को इम्पोर्ट किया जा सके:

    import pynmea2
    
  4. 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 फंक्शन यह रूपांतरण करता है।

    फिर अक्षांश की दिशा की जांच की जाती है, और यदि अक्षांश दक्षिण है, तो मान को नकारात्मक संख्या में परिवर्तित किया जाता है। इसी तरह, यदि देशांतर पश्चिम है, तो इसे नकारात्मक संख्या में परिवर्तित किया जाता है।

    अंत में, निर्देशांक को कंसोल पर प्रिंट किया जाता है, साथ ही स्थान प्राप्त करने के लिए उपयोग किए गए उपग्रहों की संख्या भी प्रिंट की जाती है।

  5. कोड चलाएं। यदि आप वर्चुअल IoT डिवाइस का उपयोग कर रहे हैं, तो सुनिश्चित करें कि CounterFit ऐप चल रहा है और जीपीएस डेटा भेजा जा रहा है।

    pi@raspberrypi:~/gps-sensor $ python3 app.py 
    47.6423109,-122.1390293 - from 3 satellites
    

💁 आप इस कोड को code-gps-decode/virtual-device फोल्डर में, या code-gps-decode/pi फोल्डर में पा सकते हैं।

😀 आपका जीपीएस सेंसर प्रोग्राम डेटा डिकोडिंग के साथ सफल रहा!

अस्वीकरण:
यह दस्तावेज़ AI अनुवाद सेवा Co-op Translator का उपयोग करके अनुवादित किया गया है। जबकि हम सटीकता सुनिश्चित करने का प्रयास करते हैं, कृपया ध्यान दें कि स्वचालित अनुवाद में त्रुटियां या अशुद्धियां हो सकती हैं। मूल भाषा में उपलब्ध मूल दस्तावेज़ को प्रामाणिक स्रोत माना जाना चाहिए। महत्वपूर्ण जानकारी के लिए, पेशेवर मानव अनुवाद की सिफारिश की जाती है। इस अनुवाद के उपयोग से उत्पन्न किसी भी गलतफहमी या गलत व्याख्या के लिए हम उत्तरदायी नहीं हैं।