7.7 KiB
បោះពុម្ពចេញសីតុណ្ហភាព - Wio Terminal
នៅផ្នែកនេះនៃមេរៀន អ្នកនឹងបោះពុម្ពចេញតម្លៃសីតុណ្ហភាពដែលបានចាប់យកដោយ Wio Terminal តាមរយៈ MQTT ដូច្នេះវាអាចត្រូវបានប្រើប្រាស់ក្រោយសម្រាប់គណនារយៈពេលកំណើនកម្ដៅដី (GDD)។
បោះពុម្ពចេញសីតុណ្ហភាព
បន្ទាប់ពីសីតុណ្ហភាពត្រូវបានអាន វាអាចត្រូវបានបោះពុម្ពចេញតាម MQTT ទៅកូដ 'ម៉ាស៊ីនមេ' មួយដែលនឹងអានតម្លៃនិងផ្ទុកវាឲ្យរួចរាល់សម្រាប់ប្រើសម្រាប់ការគណនារ GDD។ ម៉ិច្រូកុងត्रोलលឺមិនអានម៉ោងពីអ៊ីនធឺណិតហើយតាមដានម៉ោងដោយនាឡិការពេលវេលាពិតជាមួយរាល់ឧបករណ៍នោះឡើយ អุปกรณ์ត្រូវតែមានកម្មវិធីប្រតិបត្តិដើម្បីធ្វើបែបនេះ បើសិនជាអ្នកមានឧបករណ៍ដែលចាំបាច់។
ដើម្បីងាយស្រួលសម្រាប់មេរៀននេះ មិនបញ្ចូនពេលវេលាមកជាមួយទិន្នន័យស៉ើនស័រឡើយ តែកូដម៉ាស៊ីនមេអាចបន្ថែមវាក្រោយពេលទទួលបានសារ។
តំណាង
កម្មវិធីឧបករណ៍ដើម្បីបោះពុម្ពចេញទិន្នន័យសីតុណ្ហភាព។
-
បើកគំរូ
temperature-sensorWio Terminal -
ធ្វើឡើងវិញជំហានដែលអ្នកបានធ្វើនៅមេរៀនទី 4 ដើម្បីភ្ជាប់ទៅ MQTT និងបញ្ជូនទិន្នន័យ telemetry អ្នកនឹងប្រើ Mosquitto broker សាធារណៈដដែល។
ជំហានសម្រាប់នេះមាន៖
- បន្ថែមបណ្ណាល័យ Seeed WiFi និង MQTT ទៅក្នុងឯកសារ
.ini - បន្ថែមឯកសារកំណត់រចនាសម្ព័ន្ធនិងកូដសម្រាប់ភ្ជាប់ទៅ WiFi
- បន្ថែមកូដភ្ជាប់ទៅ MQTT broker
- បន្ថែមកូដបោះពុម្ពចេញ telemetry
⚠️ សូមយោងទៅ ការណែនាំសម្រាប់ភ្ជាប់ទៅ MQTT និង ការណែនាំសម្រាប់បញ្ជូន telemetry ពីមេរៀនទី 4 ប្រសិនបើចាំបាច់។
- បន្ថែមបណ្ណាល័យ Seeed WiFi និង MQTT ទៅក្នុងឯកសារ
-
ត្រួតពិនិត្យឲ្យប្រាកដថា
CLIENT_NAMEក្នុងឯកសារconfig.hបង្ហាញពីគំរូនេះ៖const string CLIENT_NAME = ID + "temperature_sensor_client"; -
សម្រាប់ telemetry ជំនួសផ្ញើតម្លៃពន្លឺ សូមផ្ញើតម្លៃសីតុណ្ហភាពដែលបានអានពីស็นស័រដីអេចធី (DHT sensor) ក្នុងលក្ខណៈអចលនវត្ថុមួយក្នុងឯកសារ JSON ដែលមានឈ្មោះ
temperatureដោយប្ដូរ functionloopនៅក្នុងmain.cpp៖float temp_hum_val[2] = {0}; dht.readTempAndHumidity(temp_hum_val); DynamicJsonDocument doc(1024); doc["temperature"] = temp_hum_val[1]; -
តម្លៃសីតុណ្ហភាពមិនចាំបាច់ត្រូវបានអានជាញឹកញាប់ខ្លាំងទេ - វាមិនប្រែក្លាយច្រើននៅក្នុងរយៈពេលខ្លី ដូច្នេះកំណត់
delayក្នុង functionloopទៅ ១០ នាទី៖delay(10 * 60 * 1000);💁 Function
delayទទួលអំឡុងពេលជាឯកតាមីលីវិនាទី ដូច្នេះដើម្បីធ្វើឲ្យវាងាយស្រួលក្នុងការអាន តម្លៃត្រូវបានផ្ដល់បង្ហាញជាលទ្ធផលនៃសមីការមួយ។ 1,000ms ក្នុងមួយវិនាទី, 60s ក្នុងមួយនាទី ដូច្នេះ 10 x (60s ក្នុងមួយនាទី) x (1000ms ក្នុងមួយវិនាទី) ផ្ដល់អំឡុងពេល ១០ នាទី។ -
អាប់ឡូដនេះទៅ Wio Terminal របស់អ្នក ហើយប្រើម៉ូនីទ័រដាសុីជាលឯកសារដើម្បីមើលសីតុណ្ហភាពកំពុងត្រូវផ្ញើទៅ MQTT broker។
--- Available filters and text transformations: colorize, debug, default, direct, hexlify, log2file, nocontrol, printable, send_on_enter, time --- More details at http://bit.ly/pio-monitor-filters --- Miniterm on /dev/cu.usbmodem1201 9600,8,N,1 --- --- Quit: Ctrl+C | Menu: Ctrl+T | Help: Ctrl+T followed by Ctrl+H --- Connecting to WiFi.. Connected! Attempting MQTT connection...connected Sending telemetry {"temperature":25} Sending telemetry {"temperature":25}
💁 អ្នកអាចស្វែងរកកូដនេះនៅក្នុងថត code-publish-temperature/wio-terminal។
😀 អ្នកបានបោះពុម្ពចេញសីតុណ្ហភាពជាប telemetry ពីឧបករណ៍របស់អ្នកដោយជោគជ័យ។
ពន្យល់ឡើងវិញ៖
ឯកសារនេះត្រូវបានបកប្រែដោយប្រើសេវាកម្មបកប្រែ AI Co-op Translator។ ខណៈពេលយើងខិតខំរកភាពត្រឹមត្រូវ សូមយកចិត្តទុកដាក់ថាការបកប្រែដោយម៉ាស៊ីនអាចមានកំហុស ឬភាពមិនត្រឹមត្រូវ។ ឯកសារដើមជាភាសាទ្រង់ទ្រាយមាន អាចត្រូវបានគេយកជាផ្ទាំងមូលដ្ឋានត្រឹមត្រូវ។ សម្រាប់ព័ត៌មានសំខាន់ៗ សូមផ្ដើមនូវការបកប្រែដោយមនុស្សជំនាញ។ យើងមិនទទួលខុសត្រូវចំពោះការយល់ច្រឡំ ឬការបកប្រែខុសណាមួយដែលកើតមានពីការប្រើប្រាស់ការបកប្រែនេះទេ។