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