5.8 KiB
គ្រប់គ្រងប្រភពពន្លឺយប់របស់អ្នកតាមរយៈអ៊ីនធឺណិត - Wio Terminal
នៅផ្នែកនេះនៃមេរៀន អ្នកនឹងផ្ញើព័ត៌មានតែលេមីត្រីជាមួយកម្រិតពន្លឺពី Wio Terminal របស់អ្នកទៅកាន់ម៉ាស៊ីនមេ MQTT។
តម្លើងបណ្ណាល័យ JSON សម្រាប់ Arduino
វិធីពេញនិយមមួយក្នុងការផ្ញើសារតាម MQTT គឺការប្រើ JSON។ មានបណ្ណាល័យ Arduino សម្រាប់ JSON ដែលធ្វើឲ្យការអាននិងសរសេរឯកសារ JSON កាន់តែងាយស្រួល។
ភារកិច្ច
តម្លើងបណ្ណាល័យ Arduino JSON។
-
បើកគម្រោង nightlight នៅក្នុង VS Code។
-
បន្ថែមខាងក្រោមនេះជាបន្ទាត់បន្ថែមទៅក្នុងបញ្ជី
lib_depsនៅក្នុងឯកសារplatformio.ini៖bblanchon/ArduinoJson @ 6.17.3វានាំចូល ArduinoJson ដែលជាបណ្ណាល័យ JSON សម្រាប់ Arduino ។
បោះពុម្ពផ្សាយព័ត៌មានតេលេមីត្រី
ជំហានបន្ទាប់គឺបង្កើតឯកសារ JSON មានព័ត៌មានតេលេមីត្រី ហើយផ្ញើវាទៅម៉ាស៊ីនមេ MQTT។
ភារកិច្ច - បោះពុម្ពផ្សាយព័ត៌មានតេលេមីត្រី
បោះពុម្ពផ្សាយព័ត៌មានតេលេមីត្រីទៅម៉ាស៊ីនមេ MQTT។
-
បន្ថែមកូដខាងក្រោមទៅចុងឯកសារ
config.hដើម្បីកំណត់ឈ្មោះប្រធានបទតេលេមីត្រីសម្រាប់ម៉ាស៊ីនមេ MQTT៖const string CLIENT_TELEMETRY_TOPIC = ID + "/telemetry";CLIENT_TELEMETRY_TOPICជាប្រធានបទដែលឧបករណ៍នឹងបោះពុម្ពផ្សាយកម្រិតពន្លឺទៅ។ -
បើកឯកសារ
main.cpp -
បន្ថែមការបញ្ជាក់
#includeខាងក្រោមនៅផ្នែកលើនៃឯកសារ៖#include <ArduinoJSON.h> -
បន្ថែមកូដខាងក្រោមនៅក្នុងមុខងារ
loopមុនdelay៖int light = analogRead(WIO_LIGHT); DynamicJsonDocument doc(1024); doc["light"] = light; string telemetry; serializeJson(doc, telemetry); Serial.print("Sending telemetry "); Serial.println(telemetry.c_str()); client.publish(CLIENT_TELEMETRY_TOPIC.c_str(), telemetry.c_str());កូដនេះអានកម្រិតពន្លឺ និងបង្កើតឯកសារ JSON ដោយប្រើ ArduinoJson ដែលមានកម្រិតនេះ។ បន្ទាប់មកវាត្រូវបានបម្លែងទៅជាខ្សែអក្សរហើយបានបោះពុម្ពផ្សាយលើប្រធានបទ MQTT តេលេមីត្រីដោយអតិថិជន MQTT។
-
បញ្ចូលកូដទៅ Wio Terminal របស់អ្នក ហើយប្រើ Serial Monitor ដើម្បីមើលកម្រិតពន្លឺដែលកំពុងត្រូវបានផ្ញើទៅម៉ាស៊ីនមេ MQTT។
Connecting to WiFi.. Connected! Attempting MQTT connection...connected Sending telemetry {"light":652} Sending telemetry {"light":612} Sending telemetry {"light":583}
💁 អ្នកអាចស្វែងរកកូដនេះនៅក្នុងថត code-telemetry/wio-terminal។
😀 អ្នកបានផ្ញើព័ត៌មានតេលេមីត្រីពីឧបករណ៍របស់អ្នកដោយជោគជ័យ។
ការបដិសេធ៖
ឯកសារនេះត្រូវបានបកប្រែដោយប្រើសេវាបកប្រែ AI Co-op Translator។ ខណៈពេលដែលយើងខិតខំប្រឹងប្រែងសម្រាប់ភាពត្រឹមត្រូវ សូមយល់ដឹងថាការបកប្រែដោយស្វ័យប្រវត្តិអាចមានកំហុសឬភាពមិនត្រឹមត្រូវ។ ឯកសារដើមនៅក្នុងភាសាមាតុភាសារបស់វាគួរត្រូវបានគិតថាជាផ្នែកដើមដែលមានសិទ្ធិពេញលេញ។ សម្រាប់ព័ត៌មានដែលចាំបាច់ខ្លាំង ការបកប្រែដោយមនុស្សជំនាញគឺត្រូវបានណែនាំ។ យើងមិនទទួលខុសត្រូវចំពោះការយល់ច្រឡំ ឬការបកអក្សរមិនត្រឹមត្រូវណាមួយដែលកើតឡើងពីការប្រើប្រាស់ការបកប្រែនេះទេ។