8.1 KiB
इंटरनेट के माध्यम से अपनी नाइटलाइट को नियंत्रित करें - वर्चुअल IoT हार्डवेयर और रास्पबेरी पाई
IoT डिवाइस को test.mosquitto.org के साथ MQTT का उपयोग करके टेलीमेट्री मान भेजने और लाइट सेंसर रीडिंग के साथ LED को नियंत्रित करने के लिए कमांड प्राप्त करने के लिए कोड किया जाना चाहिए।
इस पाठ के इस भाग में, आप अपने रास्पबेरी पाई या वर्चुअल IoT डिवाइस को एक MQTT ब्रोकर्स से कनेक्ट करेंगे।
MQTT क्लाइंट पैकेज इंस्टॉल करें
MQTT ब्रोकर्स के साथ संवाद करने के लिए, आपको अपने पाई पर या वर्चुअल डिवाइस का उपयोग कर रहे हैं तो वर्चुअल वातावरण में एक MQTT लाइब्रेरी पिप पैकेज इंस्टॉल करना होगा।
कार्य
पिप पैकेज इंस्टॉल करें
-
VS Code में नाइटलाइट प्रोजेक्ट खोलें।
-
यदि आप वर्चुअल IoT डिवाइस का उपयोग कर रहे हैं, तो सुनिश्चित करें कि टर्मिनल वर्चुअल वातावरण चला रहा है। यदि आप रास्पबेरी पाई का उपयोग कर रहे हैं, तो आप वर्चुअल वातावरण का उपयोग नहीं करेंगे।
-
MQTT पिप पैकेज इंस्टॉल करने के लिए निम्नलिखित कमांड चलाएं:
pip3 install paho-mqtt
डिवाइस कोड करें
डिवाइस को कोड करने के लिए तैयार है।
कार्य
डिवाइस कोड लिखें।
-
app.py
फ़ाइल के शीर्ष पर निम्नलिखित इम्पोर्ट जोड़ें:import paho.mqtt.client as mqtt
paho.mqtt.client
लाइब्रेरी आपके ऐप को MQTT के माध्यम से संवाद करने की अनुमति देती है। -
लाइट सेंसर और LED की परिभाषाओं के बाद निम्नलिखित कोड जोड़ें:
id = '<ID>' client_name = id + 'nightlight_client'
<ID>
को एक यूनिक ID से बदलें, जो इस डिवाइस क्लाइंट का नाम होगा और बाद में उन टॉपिक्स के लिए उपयोग किया जाएगा जिन्हें यह डिवाइस प्रकाशित और सब्सक्राइब करेगा। test.mosquitto.org ब्रोकर्स सार्वजनिक है और कई लोग इसका उपयोग करते हैं, जिनमें इस असाइनमेंट पर काम कर रहे अन्य छात्र भी शामिल हैं। एक यूनिक MQTT क्लाइंट नाम और टॉपिक नाम रखने से यह सुनिश्चित होता है कि आपका कोड किसी और के कोड से टकराएगा नहीं। आपको इस ID की आवश्यकता इस असाइनमेंट के बाद के हिस्से में सर्वर कोड बनाते समय भी होगी।💁 आप GUIDGen जैसी वेबसाइट का उपयोग करके एक यूनिक ID जनरेट कर सकते हैं।
client_name
इस MQTT क्लाइंट का ब्रोकर्स पर एक यूनिक नाम है। -
इस नए कोड के नीचे निम्नलिखित कोड जोड़ें ताकि एक MQTT क्लाइंट ऑब्जेक्ट बनाया जा सके और MQTT ब्रोकर्स से कनेक्ट किया जा सके:
mqtt_client = mqtt.Client(client_name) mqtt_client.connect('test.mosquitto.org') mqtt_client.loop_start() print("MQTT connected!")
यह कोड क्लाइंट ऑब्जेक्ट बनाता है, सार्वजनिक MQTT ब्रोकर्स से कनेक्ट करता है, और एक प्रोसेसिंग लूप शुरू करता है जो बैकग्राउंड थ्रेड में चलता है और किसी भी सब्सक्राइब किए गए टॉपिक्स पर संदेशों को सुनता है।
-
कोड को उसी तरह चलाएं जैसे आपने असाइनमेंट के पिछले भाग से कोड चलाया था। यदि आप वर्चुअल IoT डिवाइस का उपयोग कर रहे हैं, तो सुनिश्चित करें कि CounterFit ऐप चल रहा है और लाइट सेंसर और LED को सही पिन पर बनाया गया है।
(.venv) ➜ nightlight python app.py MQTT connected! Light level: 0 Light level: 0
💁 आप इस कोड को code-mqtt/virtual-device फोल्डर या code-mqtt/pi फोल्डर में पा सकते हैं।
😀 आपने सफलतापूर्वक अपने डिवाइस को एक MQTT ब्रोकर्स से कनेक्ट कर लिया है।
अस्वीकरण:
यह दस्तावेज़ AI अनुवाद सेवा Co-op Translator का उपयोग करके अनुवादित किया गया है। जबकि हम सटीकता सुनिश्चित करने का प्रयास करते हैं, कृपया ध्यान दें कि स्वचालित अनुवाद में त्रुटियां या अशुद्धियां हो सकती हैं। मूल भाषा में उपलब्ध मूल दस्तावेज़ को प्रामाणिक स्रोत माना जाना चाहिए। महत्वपूर्ण जानकारी के लिए, पेशेवर मानव अनुवाद की सिफारिश की जाती है। इस अनुवाद के उपयोग से उत्पन्न किसी भी गलतफहमी या गलत व्याख्या के लिए हम जिम्मेदार नहीं हैं।