5.8 KiB
इन्टरनेटमार्फत आफ्नो नाइटलाइट नियन्त्रण गर्नुहोस् - भर्चुअल IoT हार्डवेयर र रास्पबेरी पाई
यस पाठको यस भागमा, तपाईं आफ्नो रास्पबेरी पाई वा भर्चुअल IoT उपकरणबाट प्रकाश स्तरको टेलिमेट्रीलाई MQTT ब्रोकरमा पठाउनुहुनेछ।
टेलिमेट्री प्रकाशित गर्नुहोस्
अर्को चरण भनेको टेलिमेट्रीसहित JSON डकुमेन्ट तयार गर्नु र यसलाई MQTT ब्रोकरमा पठाउनु हो।
कार्य
MQTT ब्रोकरमा टेलिमेट्री प्रकाशित गर्नुहोस्।
-
VS Code मा नाइटलाइट प्रोजेक्ट खोल्नुहोस्।
-
यदि तपाईं भर्चुअल IoT उपकरण प्रयोग गर्दै हुनुहुन्छ भने, सुनिश्चित गर्नुहोस् कि टर्मिनल भर्चुअल वातावरण चलिरहेको छ। यदि तपाईं रास्पबेरी पाई प्रयोग गर्दै हुनुहुन्छ भने तपाईं भर्चुअल वातावरण प्रयोग गर्नुहुने छैन।
-
app.py
फाइलको माथि निम्न इम्पोर्ट थप्नुहोस्:import json
json
लाइब्रेरी टेलिमेट्रीलाई JSON डकुमेन्टको रूपमा एन्कोड गर्न प्रयोग गरिन्छ। -
client_name
घोषणा पछि निम्न थप्नुहोस्:client_telemetry_topic = id + '/telemetry'
client_telemetry_topic
भनेको MQTT टपिक हो जहाँ उपकरणले प्रकाश स्तर प्रकाशित गर्नेछ। -
फाइलको अन्त्यमा रहेको
while True:
लूपको सामग्रीलाई निम्नसँग बदल्नुहोस्:while True: light = light_sensor.light telemetry = json.dumps({'light' : light}) print("Sending telemetry ", telemetry) mqtt_client.publish(client_telemetry_topic, telemetry) time.sleep(5)
यो कोडले प्रकाश स्तरलाई JSON डकुमेन्टमा प्याकेज गर्छ र यसलाई MQTT ब्रोकरमा प्रकाशित गर्छ। त्यसपछि यो सन्देश पठाउने आवृत्ति कम गर्न सुत्छ।
-
अघिल्लो भागको असाइनमेन्टबाट कोड चलाएको जस्तै यसलाई चलाउनुहोस्। यदि तपाईं भर्चुअल IoT उपकरण प्रयोग गर्दै हुनुहुन्छ भने, सुनिश्चित गर्नुहोस् कि CounterFit एप चलिरहेको छ र प्रकाश सेन्सर र LED सही पिनहरूमा सिर्जना गरिएको छ।
(.venv) ➜ nightlight python app.py MQTT connected! Sending telemetry {"light": 0} Sending telemetry {"light": 0}
💁 तपाईं यो कोड code-telemetry/virtual-device फोल्डरमा वा code-telemetry/pi फोल्डरमा पाउन सक्नुहुन्छ।
😀 तपाईंले सफलतापूर्वक आफ्नो उपकरणबाट टेलिमेट्री पठाउनुभएको छ।
अस्वीकरण:
यो दस्तावेज़ AI अनुवाद सेवा Co-op Translator प्रयोग गरेर अनुवाद गरिएको हो। हामी शुद्धताको लागि प्रयास गर्छौं, तर कृपया ध्यान दिनुहोस् कि स्वचालित अनुवादमा त्रुटि वा अशुद्धता हुन सक्छ। यसको मूल भाषा मा रहेको मूल दस्तावेज़लाई आधिकारिक स्रोत मानिनुपर्छ। महत्वपूर्ण जानकारीको लागि, व्यावसायिक मानव अनुवाद सिफारिस गरिन्छ। यस अनुवादको प्रयोगबाट उत्पन्न हुने कुनै पनि गलतफहमी वा गलत व्याख्याको लागि हामी जिम्मेवार हुने छैनौं।