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/2-farm/lessons/1-predict-plant-growth/wio-terminal-temp-publish.md

75 lines
7.7 KiB

# បោះពុម្ពចេញសីតុណ្ហភាព - 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 ពីឧបករណ៍របស់អ្នកដោយជោគជ័យ។
---
<!-- CO-OP TRANSLATOR DISCLAIMER START -->
**ពន្យល់ឡើងវិញ**៖
ឯកសារនេះត្រូវបានបកប្រែដោយប្រើសេវាកម្មបកប្រែ AI [Co-op Translator](https://github.com/Azure/co-op-translator)។ ខណៈពេលយើងខិតខំរកភាពត្រឹមត្រូវ សូមយកចិត្តទុកដាក់ថាការបកប្រែដោយម៉ាស៊ីនអាចមានកំហុស ឬភាពមិនត្រឹមត្រូវ។ ឯកសារដើមជាភាសាទ្រង់ទ្រាយមាន អាចត្រូវបានគេយកជាផ្ទាំងមូលដ្ឋានត្រឹមត្រូវ។ សម្រាប់ព័ត៌មានសំខាន់ៗ សូមផ្ដើមនូវការបកប្រែដោយមនុស្សជំនាញ។ យើងមិនទទួលខុសត្រូវចំពោះការយល់ច្រឡំ ឬការបកប្រែខុសណាមួយដែលកើតមានពីការប្រើប្រាស់ការបកប្រែនេះទេ។
<!-- CO-OP TRANSLATOR DISCLAIMER END -->