13 KiB
GPS डेटा वाचा - व्हर्च्युअल IoT हार्डवेअर
या धड्याच्या भागात, तुम्ही तुमच्या व्हर्च्युअल IoT डिव्हाइसवर GPS सेन्सर जोडाल आणि त्यातून मूल्ये वाचाल.
व्हर्च्युअल हार्डवेअर
व्हर्च्युअल IoT डिव्हाइस UART द्वारे सीरियल पोर्टवर प्रवेशयोग्य सिम्युलेटेड GPS सेन्सर वापरेल.
भौतिक GPS सेन्सरमध्ये GPS उपग्रहांकडून रेडिओ लहरी पकडण्यासाठी अँटेना असतो आणि GPS सिग्नल्सना GPS डेटामध्ये रूपांतरित करतो. व्हर्च्युअल आवृत्ती याची नक्कल करते, ज्यामुळे तुम्हाला अक्षांश आणि रेखांश सेट करण्याची, कच्च्या NMEA वाक्ये पाठवण्याची किंवा GPX फाइल अपलोड करण्याची परवानगी मिळते ज्यामध्ये अनेक स्थान असतात जे क्रमाने परत दिले जाऊ शकतात.
🎓 NMEA वाक्ये पुढील धड्यात कव्हर केली जातील
CounterFit मध्ये सेन्सर जोडा
व्हर्च्युअल GPS सेन्सर वापरण्यासाठी, तुम्हाला CounterFit अॅपमध्ये एक जोडणे आवश्यक आहे.
कार्य - CounterFit मध्ये सेन्सर जोडा
CounterFit अॅपमध्ये GPS सेन्सर जोडा.
-
तुमच्या संगणकावर
gps-sensor
नावाच्या फोल्डरमध्ये एक नवीन Python अॅप तयार करा ज्यामध्येapp.py
नावाची एक फाइल आणि Python व्हर्च्युअल वातावरण असेल, आणि CounterFit pip पॅकेजेस जोडा.⚠️ CounterFit Python प्रकल्प तयार करण्यासाठी आणि सेट करण्यासाठी धडा 1 मधील सूचना आवश्यक असल्यास संदर्भित करू शकता.
-
UART आधारित सेन्सरशी सीरियल कनेक्शनद्वारे संवाद साधू शकणारा CounterFit शिम स्थापित करण्यासाठी अतिरिक्त Pip पॅकेज स्थापित करा. हे व्हर्च्युअल वातावरण सक्रिय असलेल्या टर्मिनलमधून स्थापित करत असल्याची खात्री करा.
pip install counterfit-shims-serial
-
CounterFit वेब अॅप चालू असल्याची खात्री करा.
-
GPS सेन्सर तयार करा:
-
Sensors पॅनमधील Create sensor बॉक्समध्ये, Sensor type ड्रॉपडाउन करा आणि UART GPS निवडा.
-
Port /dev/ttyAMA0 वर सेट ठेवा.
-
Add बटण निवडा जेणेकरून
/dev/ttyAMA0
पोर्टवर GPS सेन्सर तयार होईल.
GPS सेन्सर तयार केला जाईल आणि सेन्सर्सच्या यादीत दिसेल.
-
GPS सेन्सर प्रोग्राम करा
व्हर्च्युअल IoT डिव्हाइस आता व्हर्च्युअल GPS सेन्सर वापरण्यासाठी प्रोग्राम केले जाऊ शकते.
कार्य - GPS सेन्सर प्रोग्राम करा
GPS सेन्सर अॅप प्रोग्राम करा.
-
gps-sensor
अॅप VS Code मध्ये उघडा. -
app.py
फाइल उघडा. -
CounterFit शी अॅप कनेक्ट करण्यासाठी
app.py
च्या वर खालील कोड जोडा:from counterfit_connection import CounterFitConnection CounterFitConnection.init('127.0.0.1', 5000)
-
CounterFit सीरियल पोर्टसाठी आवश्यक असलेल्या लायब्ररीसह काही लायब्ररी आयात करण्यासाठी खालील कोड याखाली जोडा:
import time import counterfit_shims_serial serial = counterfit_shims_serial.Serial('/dev/ttyAMA0')
हा कोड
counterfit_shims_serial
Pip पॅकेजमधीलserial
मॉड्यूल आयात करतो. त्यानंतर तो/dev/ttyAMA0
सीरियल पोर्टशी कनेक्ट होतो - हा सीरियल पोर्टचा पत्ता आहे जो व्हर्च्युअल GPS सेन्सर त्याच्या UART पोर्टसाठी वापरतो. -
सीरियल पोर्टवरून वाचण्यासाठी आणि कन्सोलवर मूल्ये प्रिंट करण्यासाठी खालील कोड याखाली जोडा:
def print_gps_data(line): print(line.rstrip()) while True: line = serial.readline().decode('utf-8') while len(line) > 0: print_gps_data(line) line = serial.readline().decode('utf-8') time.sleep(1)
print_gps_data
नावाची एक फंक्शन परिभाषित केली जाते जी कन्सोलवर पास केलेली ओळ प्रिंट करते.पुढे, कोड सतत लूप करतो, प्रत्येक लूपमध्ये सीरियल पोर्टवरून जितक्या ओळी वाचता येतील तितक्या वाचतो. प्रत्येक ओळीसाठी
print_gps_data
फंक्शन कॉल करतो.सर्व डेटा वाचल्यानंतर, लूप 1 सेकंदासाठी झोपतो आणि नंतर पुन्हा प्रयत्न करतो.
-
हा कोड चालवा, हे सुनिश्चित करून की CounterFit अॅप चालू ठेवण्यासाठी तुम्ही वेगळ्या टर्मिनलचा वापर करत आहात.
-
CounterFit अॅपमधून GPS सेन्सरचे मूल्य बदला. तुम्ही हे खालीलपैकी एका प्रकारे करू शकता:
-
Source
Lat/Lon
वर सेट करा आणि GPS फिक्स मिळवण्यासाठी वापरलेल्या उपग्रहांची स्पष्ट अक्षांश, रेखांश आणि संख्या सेट करा. हे मूल्य फक्त एकदाच पाठवले जाईल, त्यामुळे Repeat बॉक्स तपासा जेणेकरून डेटा प्रत्येक सेकंदाला पुन्हा पाठवला जाईल. -
Source
NMEA
वर सेट करा आणि काही NMEA वाक्ये टेक्स्ट बॉक्समध्ये जोडा. ही सर्व मूल्ये पाठवली जातील, प्रत्येक नवीन GGA (स्थिती फिक्स) वाक्य वाचण्यापूर्वी 1 सेकंदाचा विलंब होईल.तुम्ही nmeagen.org सारख्या टूलचा वापर करून नकाशावर रेखाटन करून ही वाक्ये तयार करू शकता. ही मूल्ये फक्त एकदाच पाठवली जातील, त्यामुळे Repeat बॉक्स तपासा जेणेकरून सर्व पाठवल्यानंतर एक सेकंदाने डेटा पुन्हा पाठवला जाईल.
-
Source GPX फाइलवर सेट करा आणि ट्रॅक स्थानांसह GPX फाइल अपलोड करा. तुम्ही AllTrails सारख्या लोकप्रिय मॅपिंग आणि हायकिंग साइट्समधून GPX फाइल्स डाउनलोड करू शकता. या फाइल्समध्ये ट्रेल म्हणून अनेक GPS स्थान असतात आणि GPS सेन्सर प्रत्येक नवीन स्थान 1 सेकंदाच्या अंतराने परत करतो.
ही मूल्ये फक्त एकदाच पाठवली जातील, त्यामुळे Repeat बॉक्स तपासा जेणेकरून सर्व पाठवल्यानंतर एक सेकंदाने डेटा पुन्हा पाठवला जाईल.
GPS सेटिंग्ज कॉन्फिगर केल्यानंतर, सेन्सरवर ही मूल्ये लागू करण्यासाठी Set बटण निवडा.
-
-
तुम्हाला GPS सेन्सरकडून कच्चा आउटपुट दिसेल, काहीतरी खालीलप्रमाणे:
$GNGGA,020604.001,4738.538654,N,12208.341758,W,1,3,,164.7,M,-17.1,M,,*67 $GNGGA,020604.001,4738.538654,N,12208.341758,W,1,3,,164.7,M,-17.1,M,,*67
💁 तुम्ही हा कोड code-gps/virtual-device फोल्डरमध्ये शोधू शकता.
😀 तुमचा GPS सेन्सर प्रोग्राम यशस्वी झाला!
अस्वीकरण:
हा दस्तऐवज AI भाषांतर सेवा Co-op Translator वापरून भाषांतरित करण्यात आला आहे. आम्ही अचूकतेसाठी प्रयत्नशील असलो तरी कृपया लक्षात ठेवा की स्वयंचलित भाषांतरांमध्ये त्रुटी किंवा अचूकतेचा अभाव असू शकतो. मूळ भाषेतील दस्तऐवज हा अधिकृत स्रोत मानला जावा. महत्त्वाच्या माहितीसाठी व्यावसायिक मानवी भाषांतराची शिफारस केली जाते. या भाषांतराचा वापर करून निर्माण होणाऱ्या कोणत्याही गैरसमज किंवा चुकीच्या अर्थासाठी आम्ही जबाबदार राहणार नाही.