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.
64 lines
7.1 KiB
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 --> |