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

6.8 KiB

គ្រប់គ្រងភ្លើងភាគន្ធរបស់អ្នកតាមអ៊ីនធឺណិត - Wio Terminal

នៅផ្នែកនេះនៃមេរៀន អ្នកនឹងចុះឈ្មោះទទួលបញ្ចប់បញ្ជា ដែលផ្ញើពីអ្នកចែកចាយ MQTT មកកាន់ Wio Terminal របស់អ្នក។

ចុះឈ្មោះទទួលបញ្ជា

ជំហានបន្ទាប់ គឺចុះឈ្មោះទទួលបញ្ជាដែលផ្ញើពីអ្នកចែកចាយ MQTT ហើយឆ្លើយតបពួកវា។

ភារកិច្ច

ចុះឈ្មោះទទួលបញ្ជា។

  1. បើកគំរោង nightlight នៅក្នុង VS Code។

  2. បន្ថែមកូដខាងក្រោមទៅខាងក្រោមនៃឯកសារ config.h ដើម្បីកំណត់ឈ្មោះប្រធានបទសម្រាប់បញ្ជាៈ

    const string SERVER_COMMAND_TOPIC = ID + "/commands";
    

    SERVER_COMMAND_TOPIC គឺជាប្រធានបទដែលឧបករណ៍នឹងចុះឈ្មោះទទួលសម្រាប់ទទួលបញ្ជា LED។

  3. បន្ថែមខ្សែបន្ទាត់ខាងក្រោមទៅចុងរបស់ម៉ូឌុល​reconnectMQTTClient ដើម្បីចុះឈ្មោះប្រធានបទបញ្ជា នៅពេលដែល MQTT client ផ្ដើមភ្ជាប់ឡើងវិញ៖

    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 client នឹងហៅនៅពេលដែលវាទទួលបានសារ​ពីម៉ាស៊ីនបម្រើ។

    សារ​មាន​ទ្រង់ទ្រាយ​ជា​អារេ​នៃ​ចំនួន​ពិត​មិនអត្ថលេខ ៨-ប៊ីត ដូច្នេះត្រូវបម្លែងទៅជាអារេតួអក្សរដើម្បីដំណើរការ​ជា​អត្ថបទ។

    សារនេះមានឯកសារ JSON ហើយត្រូវបានបកស្រាយដោយប្រើបណ្ណាល័យ ArduinoJson។ គុណលក្ខណៈ led_on នៃឯកសារ JSON ត្រូវបានអាន ហើយអាស្រ័យលើតម្លៃ ទឹកដៃ LED នឹងបើកឬបិទ។

  5. បន្ថែមកូដខាងក្រោមទៅម៉ូឌុល createMQTTClient

    client.setCallback(clientCallback);
    

    កូដនេះកំណត់ clientCallback ជាការហៅត្រឡប់ដែលត្រូវហៅពេលសារមកពីអ្នកចែកចាយ MQTT ។

    💁 កម្មវិធី clientCallback នេះត្រូវហៅសម្រាប់ប្រធានបទទាំងអស់ដែលបានចុះឈ្មោះ។ ប្រសិនបើអ្នកបន្ថែមកូដនៅពេលក្រោយដែលស្តាប់ប្រធានបទច្រើន អ្នកអាចទទួលបានប្រធានបទដែលសារត្រូវបានផ្ញើទៅ ពីប៉ារ៉ាម៉ែត្រ topic ដែលផ្ញើទៅមុខងារហៅត្រឡប់។

  6. ផ្ទុកកូដទៅ Wio Terminal របស់អ្នក ហើយប្រើកម្មវិធី Serial Monitor ដើម្បីមើលកម្រិតពន្លឺដែលផ្ញើទៅ MQTT broker ។

  7. ច្រាស់កម្រិតពន្លឺដែលឧបករណ៍របស់អ្នកបន្ថែមទាំងផ្ទាល់ និងពិត ឬនិម្មិត។ អ្នកនឹងឃើញសារត្រូវបានទទួល និងបញ្ជាទាំងនេះត្រូវបានផ្ញើក្នុងម៉ោនីទ័រ។ អ្នកនឹងក៏ឃើញ LED បើក និងបិទផ្អែកលើកម្រិតពន្លឺ។

💁 អ្នកអាចរកបណ្ដុំកូដនេះនៅក្នុងថត code-commands/wio-terminal

😀 អ្នកបានកូដឧបករណ៍របស់អ្នកជោគជ័យក្នុងការឆ្លើយតបទៅបញ្ជាពីសេវាកម្ម MQTT។


ការបដិសេធ:
ឯកសារនេះត្រូវបានបំលែងជាភាសាផ្ទាល់តាមសេវាកម្មបកប្រែ AI Co-op Translator។ ទោះយើងខិតខំក្នុងការបន្តអោយមានភាពត្រឹមត្រូវ ក៏ដោយ សូមអញ្ជើញយកចិត្តទុកដាក់ថា ការបកប្រែដោយស្វ័យប្រវត្តិអាចមានកំហុស ឬមិនត្រឹមត្រូវ។ ឯកសារដើមជាភាសាដើមគួរត្រូវបានគេយកជាឯកសារមូលដ្ឋានដែលមានអំណាចខ្ពស់បំផុត។ សម្រាប់ព័ត៌មានសំខាន់ណាស់ ការបកប្រែដោយមនុស្សដែលមានជំនាញគឺត្រូវបានផ្តល់អនុសាសន៍។ យើងមិនទទួលខុសត្រូវចំពោះការយល់ច្រឡំ ឬការបកប្រែខុសពីការប្រើប្រាស់ការបកប្រែនេះទេ។