# इंटरनेटद्वारे तुमचा नाईटलाइट नियंत्रित करा - व्हर्च्युअल IoT हार्डवेअर आणि रास्पबेरी पाय या धड्याच्या या भागात, तुम्ही MQTT ब्रोकर्सकडून तुमच्या रास्पबेरी पाय किंवा व्हर्च्युअल IoT डिव्हाइसवर पाठवलेल्या कमांड्सची सदस्यता घ्याल. ## कमांड्सची सदस्यता घ्या पुढील पायरी म्हणजे MQTT ब्रोकर्सकडून पाठवलेल्या कमांड्सची सदस्यता घेणे आणि त्यांना प्रतिसाद देणे. ### कार्य कमांड्सची सदस्यता घ्या. 1. VS Code मध्ये नाईटलाइट प्रोजेक्ट उघडा. 1. जर तुम्ही व्हर्च्युअल IoT डिव्हाइस वापरत असाल, तर टर्मिनल व्हर्च्युअल वातावरण चालू असल्याची खात्री करा. जर तुम्ही रास्पबेरी पाय वापरत असाल, तर तुम्ही व्हर्च्युअल वातावरण वापरणार नाही. 1. `client_telemetry_topic` च्या व्याख्यानांनंतर खालील कोड जोडा: ```python server_command_topic = id + '/commands' ``` `server_command_topic` हा MQTT टॉपिक आहे ज्यावर डिव्हाइस LED कमांड्स प्राप्त करण्यासाठी सदस्यता घेईल. 1. मुख्य लूपच्या वर, `mqtt_client.loop_start()` ओळीच्या नंतर खालील कोड जोडा: ```python def handle_command(client, userdata, message): payload = json.loads(message.payload.decode()) print("Message received:", payload) if payload['led_on']: led.on() else: led.off() mqtt_client.subscribe(server_command_topic) mqtt_client.on_message = handle_command ``` हा कोड `handle_command` नावाची फंक्शन परिभाषित करतो, जी JSON दस्तऐवज म्हणून संदेश वाचते आणि `led_on` प्रॉपर्टीच्या मूल्याचा शोध घेते. जर ते `True` सेट केले असेल तर LED चालू होते, अन्यथा ते बंद होते. MQTT क्लायंट त्या टॉपिकवर सदस्यता घेतो ज्यावर सर्व्हर संदेश पाठवेल आणि संदेश प्राप्त झाल्यावर `handle_command` फंक्शन कॉल करण्यासाठी सेट करतो. > 💁 `on_message` हँडलर सर्व सदस्यता घेतलेल्या टॉपिक्ससाठी कॉल केला जातो. जर तुम्ही नंतर कोड लिहिला जो एकाधिक टॉपिक्स ऐकतो, तर तुम्ही हँडलर फंक्शनला पास केलेल्या `message` ऑब्जेक्टमधून संदेश पाठवलेला टॉपिक मिळवू शकता. 1. मागील भागातील कोड चालविल्याप्रमाणे कोड चालवा. जर तुम्ही व्हर्च्युअल IoT डिव्हाइस वापरत असाल, तर CounterFit अॅप चालू असल्याची खात्री करा आणि लाइट सेन्सर आणि LED योग्य पिन्सवर तयार केले आहेत. 1. तुमच्या भौतिक किंवा व्हर्च्युअल डिव्हाइसद्वारे शोधलेल्या प्रकाश पातळी समायोजित करा. प्राप्त होणारे संदेश आणि पाठवले जाणारे कमांड्स टर्मिनलवर लिहिले जातील. प्रकाश पातळीवर आधारित LED चालू आणि बंद होईल. > 💁 तुम्ही हा कोड [code-commands/virtual-device](../../../../../1-getting-started/lessons/4-connect-internet/code-commands/virtual-device) फोल्डरमध्ये किंवा [code-commands/pi](../../../../../1-getting-started/lessons/4-connect-internet/code-commands/pi) फोल्डरमध्ये शोधू शकता. 😀 तुम्ही तुमचे डिव्हाइस MQTT ब्रोकर्सकडून आलेल्या कमांड्सला प्रतिसाद देण्यासाठी यशस्वीरित्या कोड केले आहे. --- **अस्वीकरण**: हा दस्तऐवज AI भाषांतर सेवा [Co-op Translator](https://github.com/Azure/co-op-translator) चा वापर करून भाषांतरित करण्यात आला आहे. आम्ही अचूकतेसाठी प्रयत्नशील असलो तरी, कृपया लक्षात घ्या की स्वयंचलित भाषांतरांमध्ये त्रुटी किंवा अचूकतेचा अभाव असू शकतो. मूळ भाषेतील मूळ दस्तऐवज हा अधिकृत स्रोत मानला जावा. महत्त्वाच्या माहितीसाठी व्यावसायिक मानवी भाषांतराची शिफारस केली जाते. या भाषांतराचा वापर केल्यामुळे उद्भवणाऱ्या कोणत्याही गैरसमज किंवा चुकीच्या अर्थासाठी आम्ही जबाबदार राहणार नाही.