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/single-board-computer-temp-...

64 lines
7.1 KiB

# ផ្សព្វផ្សាយសីតុណ្ហភាព - ឧបករណ៍ IoT អេឡិចត្រូនិកនិង Raspberry Pi
នៅក្នុងផ្នែកនេះនៃមេរៀន អ្នកនឹងផ្សព្វផ្សាយតម្លៃសីតុណ្ហភាពដែលរកឃើញដោយ Raspberry Pi ឬឧបករណ៍ IoT អេឡិចត្រូនិកតាមរយៈ MQTT ដើម្បីអាចប្រើប្រាស់នៅពេលក្រោយសម្រាប់ប្រមាណ GDD។
## ផ្សព្វផ្សាយសីតុណ្ហភាព
ពេលដែលបានអានសីតុណ្ហភាពរួច អ្នកអាចផ្សព្វផ្សាយវាតាមរយៈ MQTT ទៅកូដ 'ម៉ាស៊ីនមេ' មួយដែលនឹងអានតម្លៃនោះ ហើយរក្សាទុករួចរួមរួចរៀបចំសម្រាប់ប្រើក្នុងការគណនាហេតុការណ៍ GDD។
### ភារកិច្ច - ផ្សព្វផ្សាយសីតុណ្ហភាព
កម្មវិធីឧបករណ៍សម្រាប់ផ្សព្វផ្សាយទិន្នន័យសីតុណ្ហភាព។
1. បើកគំរូកម្មវិធី `temperature-sensor` ប្រសិនបើវានៅមិនទាន់បានបើក
1. ធ្វើឡើងវិញជំហានដែលអ្នកធ្វើនៅមេរៀន 4 ដើម្បីភ្ជាប់ទៅ MQTT និងផ្ញើទិន្នន័យទំនាក់ទំនង។ អ្នកនឹងប្រើម៉ាស៊ីនមេ Mosquitto សាធារណៈដដែល។
ជំហានសម្រាប់នេះមាន:
- បន្ថែមកញ្ចប់ pip MQTT
- បន្ថែមកូដដើម្បីភ្ជាប់ទៅម៉ាស៊ីនមេ MQTT
- បន្ថែមកូដដើម្បីផ្សព្វផ្សាយទិន្នន័យទំនាក់ទំនង
> ⚠️ សូមយោងទៅកាន់ [សេចក្ដីណែនាំសម្រាប់ភ្ជាប់ទៅ MQTT](../../../1-getting-started/lessons/4-connect-internet/single-board-computer-mqtt.md) និង [សេចក្ដីណែនាំសម្រាប់ផ្ញើទិន្នន័យទំនាក់ទំនង](../../../1-getting-started/lessons/4-connect-internet/single-board-computer-telemetry.md) ពីមេរៀន 4 ប្រសិនបើចាំបាច់។
1. វាយតម្លៃឲ្យ `client_name` ផ្ទាល់ខ្លួននូវឈ្មោះគម្រោងនេះ៖
```python
client_name = id + 'temperature_sensor_client'
```
1. សម្រាប់ទិន្នន័យទំនាក់ទំនង ជំនួសការផ្ញើតម្លៃពន្លឺ សូមផ្ញើតម្លៃសីតុណ្ហភាពដែលបានអានពីឧបករណ៍សែន DHT ក្នុងគុណលក្ខណៈ JSON មានឈ្មោះ `temperature`
```python
_, temp = sensor.read()
telemetry = json.dumps({'temperature' : temp})
```
1. តម្លៃសីតុណ្ហភាពមិនត្រូវបានអានជាញឹកញាប់ - វាមិនច្បាស់បាត់បង់ក្នុងរយៈពេលខ្លីនោះទេ ដូច្នោះសូមកំណត់ `time.sleep` ទៅ ១០ នាទី៖
```cpp
time.sleep(10 * 60);
```
> 💁 មុខងារ `sleep` ទទួលយកពេលវេលាជាទ Sekunden ដូច្នេះដើម្បីឲ្យអានបានងាយ តម្លៃត្រូវបានបញ្ជូនជាលទ្ធផលនៃកិរិយាសម្បទា។ ៦០ សិនាទីក្នុងមួយនាទី ទើប ១០ x (៦០ សិនាទីក្នុងមួយនាទី) ផ្តល់ឱ្យមានការពន្យារពេល ១០ នាទី។
1. រត់កូដដូចជារបៀបដែលអ្នកបានរត់កូដពីផ្នែកមុននៃភារកិច្ច។ ប្រសិនបើអ្នកប្រើឧបករណ៍ IoT អេឡិចត្រូនិច ផ្ទៀងផ្ទាត់ថាកម្មវិធី CounterFit កំពុងរត់ និងឧបករណ៍សែនសំណើមបរិយាយ និងសីតុណ្ហភាព ត្រូវបានបង្កើតនៅលើពិនខ្មែរពីណាត់ត្រឹមត្រូវ។
```output
pi@raspberrypi:~/temperature-sensor $ python3 app.py
MQTT connected!
Sending telemetry {"temperature": 25}
Sending telemetry {"temperature": 25}
```
> 💁 អ្នកអាចស្វែងរកកូដនេះនៅក្នុងថត [code-publish-temperature/virtual-device](../../../../../2-farm/lessons/1-predict-plant-growth/code-publish-temperature/virtual-device) ឬថត [code-publish-temperature/pi](../../../../../2-farm/lessons/1-predict-plant-growth/code-publish-temperature/pi)។
😀 អ្នកបានផ្សព្វផ្សាយសីតុណ្ហភាពជាគ្រាបទិន្នន័យទំនាក់ទំនងពីឧបករណ៍របស់អ្នកដោយជោគជ័យ។
---
<!-- CO-OP TRANSLATOR DISCLAIMER START -->
**ការ​បដិសេធ**៖
ឯកសារ​នេះ​ត្រូវ​បាន​ប្រែសម្រួល​ដោយ​ប្រើ​បច្ចេក​វិទ្យា​ប្រែសម្រួល AI សេវា [Co-op Translator](https://github.com/Azure/co-op-translator)។ ខណៈ​ដែល​យើង​ព្យាយាម​ធានា​ការពិតត្រឹមត្រូវ សូមយល់ឲ្យបានថា​ការ​ប្រែសម្រួលស្វ័យ​ប្រវត្តិ​អាច​មាន​កំហុស ឬ​ការ​មិន​ត្រឹមត្រូវ។ ឯកសារ​ដើម​ក្នុង​ភាសា​ដើម​គួរត្រូវ​បាន​គេ​ពិចារណា​ជា​ប្រភព​ផ្លូវការ។ សម្រាប់​ព័ត៌មាន​សំខាន់ ការ​ប្រែសម្រួល​ដោយ​មនុស្ស​ជំនាញ​ជា​រឿង​ដែល​ត្រូវ​បាន​ផ្ដល់​អនុសាសន៍។ យើង​មិនទទួល​ខុស​ត្រូវ​ចំពោះ​ការ​យល់បន្លំ ឬ​ការ​បកប្រែ​ខុស​ពីការ​ប្រើប្រាស់​ការ​ប្រែសម្រួល​នេះឡើយ។
<!-- CO-OP TRANSLATOR DISCLAIMER END -->