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