7.2 KiB
आफ्नो नाइटलाइटलाई इन्टरनेटमार्फत नियन्त्रण गर्नुहोस् - Wio Terminal
यस पाठको यस भागमा, तपाईं आफ्नो Wio Terminal मा MQTT ब्रोकरबाट पठाइएका आदेशहरूलाई सब्सक्राइब गर्नुहुनेछ।
आदेशहरूलाई सब्सक्राइब गर्नुहोस्
अर्को चरण भनेको MQTT ब्रोकरबाट पठाइएका आदेशहरूलाई सब्सक्राइब गर्नु र तिनीहरूलाई प्रतिक्रिया दिनु हो।
कार्य
आदेशहरूलाई सब्सक्राइब गर्नुहोस्।
-
VS Code मा नाइटलाइट प्रोजेक्ट खोल्नुहोस्।
-
आदेशहरूको लागि टपिक नाम परिभाषित गर्न
config.h
फाइलको तल निम्न कोड थप्नुहोस्:const string SERVER_COMMAND_TOPIC = ID + "/commands";
SERVER_COMMAND_TOPIC
भनेको उपकरणले LED आदेशहरू प्राप्त गर्न सब्सक्राइब गर्ने टपिक हो। -
MQTT क्लाइन्ट पुन: जडान हुँदा आदेश टपिकलाई सब्सक्राइब गर्न
reconnectMQTTClient
फंक्शनको अन्त्यमा निम्न लाइन थप्नुहोस्:client.subscribe(SERVER_COMMAND_TOPIC.c_str());
-
reconnectMQTTClient
फंक्शनको तल निम्न कोड थप्नुहोस्:void clientCallback(char *topic, uint8_t *payload, unsigned int length) { char buff[length + 1]; for (int i = 0; i < length; i++) { buff[i] = (char)payload[i]; } buff[length] = '\0'; Serial.print("Message received:"); Serial.println(buff); DynamicJsonDocument doc(1024); deserializeJson(doc, buff); JsonObject obj = doc.as<JsonObject>(); bool led_on = obj["led_on"]; if (led_on) digitalWrite(D0, HIGH); else digitalWrite(D0, LOW); }
यो फंक्शन MQTT क्लाइन्टले सर्भरबाट सन्देश प्राप्त गर्दा कल गर्ने कलब्याक हुनेछ।
सन्देश unsigned 8-bit इन्टिजरहरूको एरेको रूपमा प्राप्त हुन्छ, त्यसैले यसलाई पाठको रूपमा व्यवहार गर्न क्यारेक्टर एरेमा रूपान्तरण गर्न आवश्यक छ।
सन्देशमा JSON डकुमेन्ट हुन्छ, र यसलाई ArduinoJson लाइब्रेरी प्रयोग गरेर डिकोड गरिन्छ। JSON डकुमेन्टको
led_on
प्रोपर्टी पढिन्छ, र मानको आधारमा LED अन वा अफ गरिन्छ। -
createMQTTClient
फंक्शनमा निम्न कोड थप्नुहोस्:client.setCallback(clientCallback);
यो कोडले
clientCallback
लाई MQTT ब्रोकरबाट सन्देश प्राप्त हुँदा कल गर्नुपर्ने कलब्याकको रूपमा सेट गर्दछ।💁
clientCallback
ह्यान्डलर सबै सब्सक्राइब गरिएका टपिकहरूको लागि कल गरिन्छ। यदि तपाईं पछि धेरै टपिकहरू सुन्ने कोड लेख्नुहुन्छ भने, तपाईं कलब्याक फंक्शनमा पास गरिएकोtopic
प्यारामिटरबाट सन्देश पठाइएको टपिक प्राप्त गर्न सक्नुहुन्छ। -
कोडलाई आफ्नो Wio Terminal मा अपलोड गर्नुहोस्, र Serial Monitor प्रयोग गरेर प्रकाश स्तरहरू MQTT ब्रोकरमा पठाइएको हेर्नुहोस्।
-
आफ्नो भौतिक वा भर्चुअल उपकरणले पत्ता लगाएको प्रकाश स्तर समायोजन गर्नुहोस्। तपाईं टर्मिनलमा सन्देशहरू प्राप्त भइरहेको र आदेशहरू पठाइरहेको देख्नुहुनेछ। तपाईंले प्रकाश स्तरको आधारमा LED अन र अफ भइरहेको पनि देख्नुहुनेछ।
💁 तपाईं यो कोड code-commands/wio-terminal फोल्डरमा फेला पार्न सक्नुहुन्छ।
😀 तपाईंले आफ्नो उपकरणलाई MQTT ब्रोकरबाट आदेशहरूमा प्रतिक्रिया दिन कोड गर्न सफल हुनुभएको छ।
अस्वीकरण:
यो दस्तावेज़ AI अनुवाद सेवा Co-op Translator प्रयोग गरी अनुवाद गरिएको हो। हामी यथासम्भव सटीकता सुनिश्चित गर्न प्रयास गर्छौं, तर कृपया ध्यान दिनुहोस् कि स्वचालित अनुवादहरूमा त्रुटि वा अशुद्धता हुन सक्छ। यसको मूल भाषामा रहेको मूल दस्तावेज़लाई आधिकारिक स्रोत मानिनुपर्छ। महत्त्वपूर्ण जानकारीका लागि, व्यावसायिक मानव अनुवाद सिफारिस गरिन्छ। यस अनुवादको प्रयोगबाट उत्पन्न हुने कुनै पनि गलतफहमी वा गलत व्याख्याको लागि हामी जिम्मेवार हुने छैनौं।