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/1-getting-started/lessons/4-connect-internet/single-board-computer-comma...

60 lines
6.1 KiB

# គ្រប់គ្រងពន្លឺយប់របស់អ្នកតាមអ៊ីនធឺរណិត - ឧបករណ៍ IoT វិចិត្រសន៍ និង Raspberry Pi
ក្នុងផ្នែកនេះនៃមេរៀន អ្នកនឹងជាវសម្រាប់បញ្ជា ដែលផ្ញើពីម៉ាស៊ីនបម្រើ MQTT ទៅកាន់ Raspberry Pi របស់អ្នកឬឧបករណ៍ IoT វិចិត្រសន៍។
## ជាវបញ្ជា
ជំហានបន្ទាប់គឺជាវបញ្ជាដែលផ្ញើពីម៉ាស៊ីនបម្រើ MQTT ហើយឆ្លើយតបទៅពួកវា។
### ភារកិច្ច
ជាវបញ្ជា។
1. បើកគម្រោង nightlight នៅក្នុង VS Code។
1. ប្រសិនបើអ្នកកំពុងប្រើឧបករណ៍ IoT វិចិត្រសន៍ សូមធានាថា terminal កំពុងដំណើរការបរិវេណវិជ្ជមាន។ ប្រសិនបើអ្នកកំពុងប្រើ Raspberry Pi អ្នកមិនចង់ប្រើបរិវេណវិជ្ជមានទេ។
1. បន្ថែមកូដខាងក្រោមបន្ទាប់ពីការកំណត់ `client_telemetry_topic`
```python
server_command_topic = id + '/commands'
```
`server_command_topic` គឺជាប្រធាន MQTT ដែលឧបករណ៍នឹងជាវដើម្បីទទួលបញ្ជា LED។
1. បន្ថែមកូដខាងក្រោមក្រោមស្នោតោមចម្បង ក្រោយបន្ទាត់ `mqtt_client.loop_start()`
```python
def handle_command(client, userdata, message):
payload = json.loads(message.payload.decode())
print("Message received:", payload)
if payload['led_on']:
led.on()
else:
led.off()
mqtt_client.subscribe(server_command_topic)
mqtt_client.on_message = handle_command
```
កូដនេះកំណត់មុខងារ `handle_command` ដែលអានសារ ជាឯកសារ JSON ហើយស្វែងរកតម្លៃគុណលក្ខណៈ `led_on`។ ប្រសិនបើវាត្រូវបានកំណត់ជា `True` LED នឹងបើក បើមិនដូច្នោះវានឹងបិទ។
អតិថិជន MQTT ជាវលើប្រធាន ដែលម៉ាស៊ីនបម្រើនឹងផ្ញើសារ ហើយកំណត់មុខងារ `handle_command` ដើម្បីហៅពេលមានសារមក។
> 💁 អ្នកគ្រប់គ្រង `on_message` ត្រូវបានហៅសម្រាប់ប្រធានទាំងអស់ដែលបានជាវ។ ប្រសិនបើអ្នកសរសេរកូដបន្ថែមទៀតដែលស្តាប់ច្រើនប្រធាន អ្នកអាចទទួលបានប្រធានដែលសារត្រូវបានផ្ញើទៅពីអOBJECT `message` ដែលផ្ញើទៅមុខងារ។
1. រត់កូដដូចជារបៀបដែលអ្នកបានរត់កូដពីផ្នែកមុននៃភារកិច្ច។ ប្រសិនបើអ្នកប្រើឧបករណ៍ IoT វិចិត្រសន៍ សូមធានាថា កម្មវិធី CounterFit កំពុងដំណើរការ និងឧបករណ៍ភ្លើងនិង LED ត្រូវបានបង្កើតនៅលើ PIN ត្រឹមត្រូវ។
1. កំណត់កម្រិតពន្លឺដែលឧបករណ៍របស់អ្នកបានរកឃើញ រឺថាវិចិត្រសន៍។ សារត្រូវបានទទួល និងបញ្ជាផ្ញើទៅនឹងត្រូវបានសរសេរនៅតាម Terminal។ LED នឹងត្រូវបានបើក និងបិទផ្អែកលើកម្រិតពន្លឺ។
> 💁 អ្នកអាចស្វែងរកកូដនេះនៅក្នុងថត [code-commands/virtual-device](../../../../../1-getting-started/lessons/4-connect-internet/code-commands/virtual-device) ឬថត [code-commands/pi](../../../../../1-getting-started/lessons/4-connect-internet/code-commands/pi)។
😀 អ្នកបានសម្រេចក្នុងការសរសេរកូដឲ្យឧបករណ៍របស់អ្នកឆ្លើយតបបញ្ជាពីម៉ាស៊ីនបម្រើ MQTT។
---
<!-- CO-OP TRANSLATOR DISCLAIMER START -->
**ការព្រមាន**:
ឯកសារនេះត្រូវបានបកប្រែដោយប្រើសេវាកម្មបកប្រែ AI [Co-op Translator](https://github.com/Azure/co-op-translator)។ ខណៈពួកយើងខិតខំសម្រាប់ត្រឹមត្រូវ សូម​យល់​ថា​ការបកប្រែដោយស្វ័យប្រវត្តិ​អាចមាន​កំហុស ឬ​ការខ្វះត្រឹមត្រូវ។ ឯកសារដើមក្នុងភាសាមាតិរបស់វា​គួរត្រូវបានចាត់ទុកជាមូលដ្ឋាននៃព័ត៌មានដែលមាន​សុពលភាព។ សម្រាប់ព័ត៌មានសំខាន់ៗ គួរត្រូវបានបកប្រែដោយអ្នកជំនាញមនុស្ស។ យើង​មិនទទួលខុសត្រូវចំពោះការជ្រុញលំបាក ឬការយល់ច្រឡំណាមួយដែលកើតមានពីការប្រើប្រាស់ការបកប្រែនេះនោះទេ។
<!-- CO-OP TRANSLATOR DISCLAIMER END -->