You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
IoT-For-Beginners/translations/te/1-getting-started/lessons/4-connect-internet/wio-terminal-commands.md

6.8 KiB

ఇంటర్నెట్ ద్వారా మీ నైట్‌లైట్‌ను నియంత్రించండి - Wio టెర్మినల్

ఈ భాగంలో, మీరు MQTT బ్రోకర్ నుండి Wio టెర్మినల్‌కు పంపబడే కమాండ్లను సబ్స్క్రైబ్ చేస్తారు.

కమాండ్లను సబ్స్క్రైబ్ చేయండి

తరవాతి దశ MQTT బ్రోకర్ నుండి పంపబడే కమాండ్లను సబ్స్క్రైబ్ చేసి, వాటికి స్పందించడం.

పనిని

కమాండ్లను సబ్స్క్రైబ్ చేయండి.

  1. VS కోడ్‌లో నైట్‌లైట్ ప్రాజెక్ట్‌ను ఓపెన్ చేయండి.

  2. config.h ఫైల్ లో దిగువ భాగంలో క్రింది కో드를 జోడించి కమాండ్ల కోసం టాపిక్ పేరును నిర్వచించండి:

    const string SERVER_COMMAND_TOPIC = ID + "/commands";
    

    SERVER_COMMAND_TOPIC అనేది డివైస్ సబ్స్క్రైబ్ అయ్యే టాపిక్, LED కమాండ్లను పొందడానికి.

  3. MQTT క్లయింట్ మళ్లీ కనెక్ట్ అయినప్పుడు కమాండ్ టాపిక్‌కు సబ్స్క్రైబ్ అయ్యేలా reconnectMQTTClient ఫంక్షన్ చివర క్రింది లైన్‌ను జోడించండి:

    client.subscribe(SERVER_COMMAND_TOPIC.c_str());
    
  4. 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 క్లయింట్ సర్వర్ నుండి సందేశం పొందినప్పుడు పిలవబడే కాల్‌బ్యాక్ అవుతుంది.

    సందేశం అన్సైండ్ 8-బిట్ ఇంటిగర్స్ అర్రేకాగా వస్తుంది, కావున దాన్ని టెక్స్ట్‌గా పరిగణించేందుకు క్యారెక్టర్ అర్రేగా మార్పిడి చేయాలి.

    సందేశం JSON డాక్యుమెంట్‌ని కలిగి ఉంటుంది, దీనిని ArduinoJson లైబ్రరీతో డీకోడ్ చేస్తారు. JSON డాక్యుమెంట్ లోని led_on ప్రాపర్టీని చదివి, విలువ ఆధారంగా LEDని ఆన్ లేదా ఆఫ్ చేస్తారు.

  5. createMQTTClient ఫంక్షన్‌లో క్రింది కోడ్ జోడించండి:

    client.setCallback(clientCallback);
    

    ఈ కోడ్ MQTT బ్రోకర్ నుండి సందేశం అందినప్పుడు clientCallbackను కాల్‌బ్యాక్‌గా సెట్ చేస్తుంది.

    💁 clientCallback హండ్ర్లర్ అన్ని సబ్స్క్రైబ్ చేసిన టాపిక్లకు పిలవబడుతుంది. తరువాత మీరు బహు టాపిక్లను వింటే, సందేశం పంపబడిన టాపిక్‌ను కాల్‌బ్యాక్ ఫంక్షన్‌కు పంపిన topic ప్యారామీటర్ నుండి పొందవచ్చు.

  6. మీ కోడ్‌ను Wio టెర్మినల్‌కు అప్లోడ్ చేసి, సీరియల్ మానిటర్ ద్వారా MQTT బ్రోకర్‌కు పంపబడుతున్న లైట్ స్థాయిలను గమనించండి.

  7. మీ భౌతిక లేదా వర్చువల్ డివైస్ ద్వారా లైట్ స్థాయిలను సర్దుబాటు చేయండి. టెర్మినల్‌లో సందేశాలు అందుతూ, కమాండ్లు పంపబడుతాయని మరియు లైట్ స్థాయిల ఆధారంగా LED ఆన్/ఆఫ్ అవుతున్నది చూడవచ్చు.

💁 మీరు ఈ కోడ్‌ను code-commands/wio-terminal ఫోల్డర్‌లో కనుగొనవచ్చు.

😀 మీరు విజయవంతంగా MQTT బ్రోకర్ నుండి కమాండ్లకు స్పందించే విధంగా మీ డివైస్‌ను కోడ్ చేశారు.


స్పష్టం:
ఈ పత్రం Co-op Translator అనే AI అనువాద సేవను ఉపయోగించి అనువదించబడింది. మేము సరివారిగా అనువదించేందుకు ప్రయత్నించినప్పటికీ, స్వయంచాలక అనువాదాల్లో పొరపాట్లు లేదా తప్పులు ఉండవచ్చు. అసలు పత్ర_NATIVE_ భాషలోనిది అధికారిక మూలగా పరిగణించాలి. కీలకమైన సమాచారానికి, వృత్తిపరమైన మానవ అనువాదం చేయించుకోవడం ఉత్తమం. ఈ అనువాదం ఉపయోగం వల్ల కలిగే ఏదైనా అపార్థాలు లేదా తప్పు వివరాలకు మేమ్స్ బాధ్యత వహించము.