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/ur/1-getting-started/lessons/4-connect-internet/wio-terminal-commands.md

5.5 KiB

اپنی نائٹ لائٹ کو انٹرنیٹ کے ذریعے کنٹرول کریں - Wio Terminal

اس سبق کے اس حصے میں، آپ MQTT بروکر سے بھیجے گئے کمانڈز کو اپنے Wio Terminal پر سبسکرائب کریں گے۔

کمانڈز کو سبسکرائب کریں

اگلا مرحلہ یہ ہے کہ MQTT بروکر سے بھیجے گئے کمانڈز کو سبسکرائب کریں اور ان پر ردعمل دیں۔

کام

کمانڈز کو سبسکرائب کریں۔

  1. VS Code میں نائٹ لائٹ پروجیکٹ کھولیں۔

  2. config.h فائل کے آخر میں درج ذیل کوڈ شامل کریں تاکہ کمانڈز کے لیے ٹاپک کا نام ڈیفائن کیا جا سکے:

    const string SERVER_COMMAND_TOPIC = ID + "/commands";
    

    SERVER_COMMAND_TOPIC وہ ٹاپک ہے جسے ڈیوائس سبسکرائب کرے گا تاکہ LED کمانڈز وصول کر سکے۔

  3. reconnectMQTTClient فنکشن کے آخر میں درج ذیل لائن شامل کریں تاکہ MQTT کلائنٹ کے دوبارہ جڑنے پر کمانڈ ٹاپک کو سبسکرائب کیا جا سکے:

    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);
    

    یہ کوڈ clientCallback کو اس کال بیک کے طور پر سیٹ کرتا ہے جو MQTT بروکر سے پیغام وصول ہونے پر کال کیا جائے گا۔

    💁 clientCallback ہینڈلر ان تمام ٹاپکس کے لیے کال کیا جاتا ہے جنہیں سبسکرائب کیا گیا ہو۔ اگر آپ بعد میں ایسا کوڈ لکھیں جو متعدد ٹاپکس کو سنتا ہو، تو آپ اس ٹاپک کو حاصل کر سکتے ہیں جس پر پیغام بھیجا گیا تھا، جو کال بیک فنکشن کو پاس کیے گئے topic پیرامیٹر سے حاصل ہوگا۔

  6. کوڈ کو اپنے Wio Terminal پر اپ لوڈ کریں، اور سیریل مانیٹر کا استعمال کریں تاکہ MQTT بروکر کو بھیجے جانے والے روشنی کی سطحوں کو دیکھ سکیں۔

  7. اپنی فزیکل یا ورچوئل ڈیوائس کے ذریعے ڈیٹیکٹ کی جانے والی روشنی کی سطحوں کو ایڈجسٹ کریں۔ آپ دیکھیں گے کہ ٹرمینل میں پیغامات وصول ہو رہے ہیں اور کمانڈز بھیجی جا رہی ہیں۔ آپ یہ بھی دیکھیں گے کہ روشنی کی سطح کے مطابق LED آن اور آف ہو رہا ہے۔

💁 آپ اس کوڈ کو code-commands/wio-terminal فولڈر میں تلاش کر سکتے ہیں۔

😀 آپ نے کامیابی سے اپنے ڈیوائس کو MQTT بروکر سے کمانڈز پر ردعمل دینے کے لیے کوڈ کیا ہے۔


ڈسکلیمر:
یہ دستاویز AI ترجمہ سروس Co-op Translator کا استعمال کرتے ہوئے ترجمہ کی گئی ہے۔ ہم درستگی کے لیے کوشش کرتے ہیں، لیکن براہ کرم آگاہ رہیں کہ خودکار ترجمے میں غلطیاں یا غیر درستیاں ہو سکتی ہیں۔ اصل دستاویز کو اس کی اصل زبان میں مستند ذریعہ سمجھا جانا چاہیے۔ اہم معلومات کے لیے، پیشہ ور انسانی ترجمہ کی سفارش کی جاتی ہے۔ ہم اس ترجمے کے استعمال سے پیدا ہونے والی کسی بھی غلط فہمی یا غلط تشریح کے ذمہ دار نہیں ہیں۔