# បោះពុម្ពចេញសីតុណ្ហភាព - Wio Terminal នៅផ្នែកនេះនៃមេរៀន អ្នកនឹងបោះពុម្ពចេញតម្លៃសីតុណ្ហភាពដែលបានចាប់យកដោយ Wio Terminal តាមរយៈ MQTT ដូច្នេះវាអាចត្រូវបានប្រើប្រាស់ក្រោយសម្រាប់គណនារយៈពេលកំណើនកម្ដៅដី (GDD)។ ## បោះពុម្ពចេញសីតុណ្ហភាព បន្ទាប់ពីសីតុណ្ហភាពត្រូវបានអាន វាអាចត្រូវបានបោះពុម្ពចេញតាម MQTT ទៅកូដ 'ម៉ាស៊ីនមេ' មួយដែលនឹងអានតម្លៃនិងផ្ទុកវាឲ្យរួចរាល់សម្រាប់ប្រើសម្រាប់ការគណនារ GDD។ ម៉ិច្រូកុងត्रोलលឺមិនអានម៉ោងពីអ៊ីនធឺណិតហើយតាមដានម៉ោងដោយនាឡិការពេលវេលាពិតជាមួយរាល់ឧបករណ៍នោះឡើយ អุปกรณ์ត្រូវតែមានកម្មវិធីប្រតិបត្តិដើម្បីធ្វើបែបនេះ បើសិនជាអ្នកមានឧបករណ៍ដែលចាំបាច់។ ដើម្បីងាយស្រួលសម្រាប់មេរៀននេះ មិនបញ្ចូនពេលវេលាមកជាមួយទិន្នន័យស៉ើនស័រឡើយ តែកូដម៉ាស៊ីនមេអាចបន្ថែមវាក្រោយពេលទទួលបានសារ។ ### តំណាង កម្មវិធីឧបករណ៍ដើម្បីបោះពុម្ពចេញទិន្នន័យសីតុណ្ហភាព។ 1. បើកគំរូ `temperature-sensor` Wio Terminal 1. ធ្វើឡើងវិញជំហានដែលអ្នកបានធ្វើនៅមេរៀនទី 4 ដើម្បីភ្ជាប់ទៅ MQTT និងបញ្ជូនទិន្នន័យ telemetry អ្នកនឹងប្រើ Mosquitto broker សាធារណៈដដែល។ ជំហានសម្រាប់នេះមាន៖ - បន្ថែមបណ្ណាល័យ Seeed WiFi និង MQTT ទៅក្នុងឯកសារ `.ini` - បន្ថែមឯកសារកំណត់រចនាសម្ព័ន្ធនិងកូដសម្រាប់ភ្ជាប់ទៅ WiFi - បន្ថែមកូដភ្ជាប់ទៅ MQTT broker - បន្ថែមកូដបោះពុម្ពចេញ telemetry > ⚠️ សូមយោងទៅ [ការណែនាំសម្រាប់ភ្ជាប់ទៅ MQTT](../../../1-getting-started/lessons/4-connect-internet/wio-terminal-mqtt.md) និង [ការណែនាំសម្រាប់បញ្ជូន telemetry](../../../1-getting-started/lessons/4-connect-internet/wio-terminal-telemetry.md) ពីមេរៀនទី 4 ប្រសិនបើចាំបាច់។ 1. ត្រួតពិនិត្យឲ្យប្រាកដថា `CLIENT_NAME` ក្នុងឯកសារ `config.h` បង្ហាញពីគំរូនេះ៖ ```cpp const string CLIENT_NAME = ID + "temperature_sensor_client"; ``` 1. សម្រាប់ telemetry ជំនួសផ្ញើតម្លៃពន្លឺ សូមផ្ញើតម្លៃសីតុណ្ហភាពដែលបានអានពីស็นស័រដីអេចធី (DHT sensor) ក្នុងលក្ខណៈអចលនវត្ថុមួយក្នុងឯកសារ JSON ដែលមានឈ្មោះ `temperature` ដោយប្ដូរ function `loop` នៅក្នុង `main.cpp`៖ ```cpp float temp_hum_val[2] = {0}; dht.readTempAndHumidity(temp_hum_val); DynamicJsonDocument doc(1024); doc["temperature"] = temp_hum_val[1]; ``` 1. តម្លៃសីតុណ្ហភាពមិនចាំបាច់ត្រូវបានអានជាញឹកញាប់ខ្លាំងទេ - វាមិនប្រែក្លាយច្រើននៅក្នុងរយៈពេលខ្លី ដូច្នេះកំណត់ `delay` ក្នុង function `loop` ទៅ ១០ នាទី៖ ```cpp delay(10 * 60 * 1000); ``` > 💁 Function `delay` ទទួលអំឡុងពេលជាឯកតាមីលីវិនាទី ដូច្នេះដើម្បី​ធ្វើ​ឲ្យ​វា​ងាយស្រួលក្នុងការអាន តម្លៃត្រូវបានផ្ដល់បង្ហាញជាលទ្ធផលនៃសមីការមួយ។ 1,000ms ក្នុងមួយវិនាទី, 60s ក្នុងមួយនាទី ដូច្នេះ 10 x (60s ក្នុងមួយនាទី) x (1000ms ក្នុងមួយវិនាទី) ផ្ដល់អំឡុងពេល ១០ នាទី។ 1. អាប់ឡូដនេះទៅ Wio Terminal របស់អ្នក ហើយប្រើម៉ូនីទ័រដាសុីជាលឯកសារដើម្បីមើលសីតុណ្ហភាពកំពុងត្រូវផ្ញើទៅ MQTT broker។ ```output --- 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](../../../../../2-farm/lessons/1-predict-plant-growth/code-publish-temperature/wio-terminal)។ 😀 អ្នកបានបោះពុម្ពចេញសីតុណ្ហភាពជាប telemetry ពីឧបករណ៍របស់អ្នកដោយជោគជ័យ។ --- **ពន្យល់ឡើងវិញ**៖ ឯកសារនេះត្រូវបានបកប្រែដោយប្រើសេវាកម្មបកប្រែ AI [Co-op Translator](https://github.com/Azure/co-op-translator)។ ខណៈពេលយើងខិតខំរកភាពត្រឹមត្រូវ សូមយកចិត្តទុកដាក់ថាការបកប្រែដោយម៉ាស៊ីនអាចមានកំហុស ឬភាពមិនត្រឹមត្រូវ។ ឯកសារដើមជាភាសាទ្រង់ទ្រាយមាន អាចត្រូវបានគេយកជាផ្ទាំងមូលដ្ឋានត្រឹមត្រូវ។ សម្រាប់ព័ត៌មានសំខាន់ៗ សូមផ្ដើមនូវការបកប្រែដោយមនុស្សជំនាញ។ យើងមិនទទួលខុសត្រូវចំពោះការយល់ច្រឡំ ឬការបកប្រែខុសណាមួយដែលកើតមានពីការប្រើប្រាស់ការបកប្រែនេះទេ។