# इन्टरनेटमार्फत आफ्नो नाइटलाइट नियन्त्रण गर्नुहोस् - भर्चुअल IoT हार्डवेयर र रास्पबेरी पाई यस पाठको यस भागमा, तपाईं आफ्नो रास्पबेरी पाई वा भर्चुअल IoT उपकरणमा MQTT ब्रोकरबाट पठाइएका आदेशहरूलाई सब्स्क्राइब गर्नुहुनेछ। ## आदेशहरू सब्स्क्राइब गर्नुहोस् अर्को चरण भनेको 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 अन हुन्छ, अन्यथा 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) प्रयोग गरेर अनुवाद गरिएको छ। हामी यथार्थताको लागि प्रयास गर्छौं, तर कृपया ध्यान दिनुहोस् कि स्वचालित अनुवादमा त्रुटिहरू वा अशुद्धताहरू हुन सक्छ। यसको मूल भाषा मा रहेको मूल दस्तावेज़लाई आधिकारिक स्रोत मानिनुपर्छ। महत्वपूर्ण जानकारीको लागि, व्यावसायिक मानव अनुवाद सिफारिस गरिन्छ। यस अनुवादको प्रयोगबाट उत्पन्न हुने कुनै पनि गलतफहमी वा गलत व्याख्याको लागि हामी जिम्मेवार हुने छैनौं।