# ఇంటర్నెట్ ద్వారా మీ నైట్‌లైట్‌ను నియంత్రించండి - Wio టెర్మినల్ ఈ భాగంలో, మీరు MQTT బ్రోకర్ నుండి Wio టెర్మినల్‌కు పంపబడే కమాండ్లను సబ్స్క్రైబ్ చేస్తారు. ## కమాండ్లను సబ్స్క్రైబ్ చేయండి తరవాతి దశ MQTT బ్రోకర్ నుండి పంపబడే కమాండ్లను సబ్స్క్రైబ్ చేసి, వాటికి స్పందించడం. ### పనిని కమాండ్లను సబ్స్క్రైబ్ చేయండి. 1. VS కోడ్‌లో నైట్‌లైట్ ప్రాజెక్ట్‌ను ఓపెన్ చేయండి. 1. `config.h` ఫైల్ లో దిగువ భాగంలో క్రింది కో드를 జోడించి కమాండ్ల కోసం టాపిక్ పేరును నిర్వచించండి: ```cpp const string SERVER_COMMAND_TOPIC = ID + "/commands"; ``` `SERVER_COMMAND_TOPIC` అనేది డివైస్ సబ్స్క్రైబ్ అయ్యే టాపిక్, LED కమాండ్లను పొందడానికి. 1. MQTT క్లయింట్ మళ్లీ కనెక్ట్ అయినప్పుడు కమాండ్ టాపిక్‌కు సబ్స్క్రైబ్ అయ్యేలా `reconnectMQTTClient` ఫంక్షన్ చివర క్రింది లైన్‌ను జోడించండి: ```cpp client.subscribe(SERVER_COMMAND_TOPIC.c_str()); ``` 1. `reconnectMQTTClient` ఫంక్షన్ కింద క్రింది కోడ్‌ను జోడించండి. ```cpp 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(); bool led_on = obj["led_on"]; if (led_on) digitalWrite(D0, HIGH); else digitalWrite(D0, LOW); } ``` ఈ ఫంక్షన్ MQTT క్లయింట్ సర్వర్ నుండి సందేశం పొందినప్పుడు పిలవబడే కాల్‌బ్యాక్ అవుతుంది. సందేశం అన్సైండ్ 8-బిట్ ఇంటిగర్స్ అర్రేకాగా వస్తుంది, కావున దాన్ని టెక్స్ట్‌గా పరిగణించేందుకు క్యారెక్టర్ అర్రేగా మార్పిడి చేయాలి. సందేశం JSON డాక్యుమెంట్‌ని కలిగి ఉంటుంది, దీనిని ArduinoJson లైబ్రరీతో డీకోడ్ చేస్తారు. JSON డాక్యుమెంట్ లోని `led_on` ప్రాపర్టీని చదివి, విలువ ఆధారంగా LEDని ఆన్ లేదా ఆఫ్ చేస్తారు. 1. `createMQTTClient` ఫంక్షన్‌లో క్రింది కోడ్ జోడించండి: ```cpp client.setCallback(clientCallback); ``` ఈ కోడ్ MQTT బ్రోకర్ నుండి సందేశం అందినప్పుడు `clientCallback`ను కాల్‌బ్యాక్‌గా సెట్ చేస్తుంది. > 💁 `clientCallback` హండ్ర్లర్ అన్ని సబ్స్క్రైబ్ చేసిన టాపిక్లకు పిలవబడుతుంది. తరువాత మీరు బహు టాపిక్లను వింటే, సందేశం పంపబడిన టాపిక్‌ను కాల్‌బ్యాక్ ఫంక్షన్‌కు పంపిన `topic` ప్యారామీటర్ నుండి పొందవచ్చు. 1. మీ కోడ్‌ను Wio టెర్మినల్‌కు అప్లోడ్ చేసి, సీరియల్ మానిటర్ ద్వారా MQTT బ్రోకర్‌కు పంపబడుతున్న లైట్ స్థాయిలను గమనించండి. 1. మీ భౌతిక లేదా వర్చువల్ డివైస్ ద్వారా లైట్ స్థాయిలను సర్దుబాటు చేయండి. టెర్మినల్‌లో సందేశాలు అందుతూ, కమాండ్లు పంపబడుతాయని మరియు లైట్ స్థాయిల ఆధారంగా LED ఆన్/ఆఫ్ అవుతున్నది చూడవచ్చు. > 💁 మీరు ఈ కోడ్‌ను [code-commands/wio-terminal](../../../../../1-getting-started/lessons/4-connect-internet/code-commands/wio-terminal) ఫోల్డర్‌లో కనుగొనవచ్చు. 😀 మీరు విజయవంతంగా MQTT బ్రోకర్ నుండి కమాండ్లకు స్పందించే విధంగా మీ డివైస్‌ను కోడ్ చేశారు. --- **స్పష్టం**: ఈ పత్రం [Co-op Translator](https://github.com/Azure/co-op-translator) అనే AI అనువాద సేవను ఉపయోగించి అనువదించబడింది. మేము సరివారిగా అనువదించేందుకు ప్రయత్నించినప్పటికీ, స్వయంచాలక అనువాదాల్లో పొరపాట్లు లేదా తప్పులు ఉండవచ్చు. అసలు పత్రం_NATIVE_ భాషలోనిది అధికారిక మూలగా పరిగణించాలి. కీలకమైన సమాచారానికి, వృత్తిపరమైన మానవ అనువాదం చేయించుకోవడం ఉత్తమం. ఈ అనువాదం ఉపయోగం వల్ల కలిగే ఏదైనా అపార్థాలు లేదా తప్పు వివరాలకు మేమ్స్ బాధ్యత వహించము.