6.8 KiB
គ្រប់គ្រងភ្លើងភាគន្ធរបស់អ្នកតាមអ៊ីនធឺណិត - Wio Terminal
នៅផ្នែកនេះនៃមេរៀន អ្នកនឹងចុះឈ្មោះទទួលបញ្ចប់បញ្ជា ដែលផ្ញើពីអ្នកចែកចាយ MQTT មកកាន់ Wio Terminal របស់អ្នក។
ចុះឈ្មោះទទួលបញ្ជា
ជំហានបន្ទាប់ គឺចុះឈ្មោះទទួលបញ្ជាដែលផ្ញើពីអ្នកចែកចាយ MQTT ហើយឆ្លើយតបពួកវា។
ភារកិច្ច
ចុះឈ្មោះទទួលបញ្ជា។
-
បើកគំរោង nightlight នៅក្នុង VS Code។
-
បន្ថែមកូដខាងក្រោមទៅខាងក្រោមនៃឯកសារ
config.hដើម្បីកំណត់ឈ្មោះប្រធានបទសម្រាប់បញ្ជាៈconst string SERVER_COMMAND_TOPIC = ID + "/commands";SERVER_COMMAND_TOPICគឺជាប្រធានបទដែលឧបករណ៍នឹងចុះឈ្មោះទទួលសម្រាប់ទទួលបញ្ជា LED។ -
បន្ថែមខ្សែបន្ទាត់ខាងក្រោមទៅចុងរបស់ម៉ូឌុល
reconnectMQTTClientដើម្បីចុះឈ្មោះប្រធានបទបញ្ជា នៅពេលដែល MQTT client ផ្ដើមភ្ជាប់ឡើងវិញ៖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 client នឹងហៅនៅពេលដែលវាទទួលបានសារពីម៉ាស៊ីនបម្រើ។
សារមានទ្រង់ទ្រាយជាអារេនៃចំនួនពិតមិនអត្ថលេខ ៨-ប៊ីត ដូច្នេះត្រូវបម្លែងទៅជាអារេតួអក្សរដើម្បីដំណើរការជាអត្ថបទ។
សារនេះមានឯកសារ JSON ហើយត្រូវបានបកស្រាយដោយប្រើបណ្ណាល័យ ArduinoJson។ គុណលក្ខណៈ
led_onនៃឯកសារ JSON ត្រូវបានអាន ហើយអាស្រ័យលើតម្លៃ ទឹកដៃ LED នឹងបើកឬបិទ។ -
បន្ថែមកូដខាងក្រោមទៅម៉ូឌុល
createMQTTClient៖client.setCallback(clientCallback);កូដនេះកំណត់
clientCallbackជាការហៅត្រឡប់ដែលត្រូវហៅពេលសារមកពីអ្នកចែកចាយ MQTT ។💁 កម្មវិធី
clientCallbackនេះត្រូវហៅសម្រាប់ប្រធានបទទាំងអស់ដែលបានចុះឈ្មោះ។ ប្រសិនបើអ្នកបន្ថែមកូដនៅពេលក្រោយដែលស្តាប់ប្រធានបទច្រើន អ្នកអាចទទួលបានប្រធានបទដែលសារត្រូវបានផ្ញើទៅ ពីប៉ារ៉ាម៉ែត្រtopicដែលផ្ញើទៅមុខងារហៅត្រឡប់។ -
ផ្ទុកកូដទៅ Wio Terminal របស់អ្នក ហើយប្រើកម្មវិធី Serial Monitor ដើម្បីមើលកម្រិតពន្លឺដែលផ្ញើទៅ MQTT broker ។
-
ច្រាស់កម្រិតពន្លឺដែលឧបករណ៍របស់អ្នកបន្ថែមទាំងផ្ទាល់ និងពិត ឬនិម្មិត។ អ្នកនឹងឃើញសារត្រូវបានទទួល និងបញ្ជាទាំងនេះត្រូវបានផ្ញើក្នុងម៉ោនីទ័រ។ អ្នកនឹងក៏ឃើញ LED បើក និងបិទផ្អែកលើកម្រិតពន្លឺ។
💁 អ្នកអាចរកបណ្ដុំកូដនេះនៅក្នុងថត code-commands/wio-terminal។
😀 អ្នកបានកូដឧបករណ៍របស់អ្នកជោគជ័យក្នុងការឆ្លើយតបទៅបញ្ជាពីសេវាកម្ម MQTT។
ការបដិសេធ:
ឯកសារនេះត្រូវបានបំលែងជាភាសាផ្ទាល់តាមសេវាកម្មបកប្រែ AI Co-op Translator។ ទោះយើងខិតខំក្នុងការបន្តអោយមានភាពត្រឹមត្រូវ ក៏ដោយ សូមអញ្ជើញយកចិត្តទុកដាក់ថា ការបកប្រែដោយស្វ័យប្រវត្តិអាចមានកំហុស ឬមិនត្រឹមត្រូវ។ ឯកសារដើមជាភាសាដើមគួរត្រូវបានគេយកជាឯកសារមូលដ្ឋានដែលមានអំណាចខ្ពស់បំផុត។ សម្រាប់ព័ត៌មានសំខាន់ណាស់ ការបកប្រែដោយមនុស្សដែលមានជំនាញគឺត្រូវបានផ្តល់អនុសាសន៍។ យើងមិនទទួលខុសត្រូវចំពោះការយល់ច្រឡំ ឬការបកប្រែខុសពីការប្រើប្រាស់ការបកប្រែនេះទេ។