14 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 प्रोजेक्ट सिर्जना र सेटअप गर्ने निर्देशनहरू हेर्न सक्नुहुन्छ।
-
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
फङ्सनलाई कल गर्दछ।सबै डेटा पढिसकेपछि, लूप १ सेकेन्डको लागि सुत्छ, त्यसपछि फेरि प्रयास गर्दछ।
-
यो कोड चलाउनुहोस्, सुनिश्चित गर्दै कि CounterFit एप चलिरहेको टर्मिनलभन्दा फरक टर्मिनल प्रयोग गर्दै हुनुहुन्छ, ताकि CounterFit एप चलिरहोस्।
-
CounterFit एपबाट GPS सेन्सरको मान परिवर्तन गर्नुहोस्। तपाईं यसलाई निम्न तरिकाहरूमा गर्न सक्नुहुन्छ:
-
Source लाई
Lat/Lon
मा सेट गर्नुहोस्, र GPS फिक्स प्राप्त गर्न प्रयोग गरिएको उपग्रहहरूको संख्या सहित स्पष्ट अक्षांश, देशान्तर सेट गर्नुहोस्। यो मान केवल एक पटक पठाइनेछ, त्यसैले Repeat बक्स जाँच गरेर डेटा प्रत्येक सेकेन्डमा दोहोर्याउन सेट गर्नुहोस्। -
Source लाई
NMEA
मा सेट गर्नुहोस् र केही NMEA वाक्यहरू पाठ बक्समा थप्नुहोस्। यी सबै मानहरू पठाइनेछ, प्रत्येक नयाँ GGA (स्थिति फिक्स) वाक्य पढ्न अघि १ सेकेन्डको ढिलाइ हुनेछ।तपाईं nmeagen.org जस्ता उपकरण प्रयोग गरेर नक्सामा ड्र गरि यी वाक्यहरू सिर्जना गर्न सक्नुहुन्छ। यी मानहरू केवल एक पटक पठाइनेछ, त्यसैले Repeat बक्स जाँच गरेर डेटा एक सेकेन्ड पछि दोहोर्याउन सेट गर्नुहोस्।
-
Source लाई GPX फाइलमा सेट गर्नुहोस्, र ट्र्याक स्थानहरू भएको GPX फाइल अपलोड गर्नुहोस्। तपाईं AllTrails जस्ता लोकप्रिय नक्सा र हाइकिङ साइटहरूबाट GPX फाइलहरू डाउनलोड गर्न सक्नुहुन्छ। यी फाइलहरूमा ट्रेलको रूपमा धेरै GPS स्थानहरू हुन्छन्, र GPS सेन्सरले प्रत्येक नयाँ स्थान १ सेकेन्डको अन्तरालमा फर्काउनेछ।
यी मानहरू केवल एक पटक पठाइनेछ, त्यसैले 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 प्रयोग गरेर अनुवाद गरिएको छ। हामी शुद्धताको लागि प्रयास गर्छौं, तर कृपया ध्यान दिनुहोस् कि स्वचालित अनुवादहरूमा त्रुटि वा अशुद्धता हुन सक्छ। यसको मूल भाषा मा रहेको मूल दस्तावेज़लाई आधिकारिक स्रोत मानिनुपर्छ। महत्वपूर्ण जानकारीको लागि, व्यावसायिक मानव अनुवाद सिफारिस गरिन्छ। यस अनुवादको प्रयोगबाट उत्पन्न हुने कुनै पनि गलतफहमी वा गलत व्याख्याको लागि हामी जिम्मेवार हुने छैनौं।