6.1 KiB
គ្រប់គ្រងពន្លឺយប់របស់អ្នកតាមអ៊ីនធឺរណិត - ឧបករណ៍ IoT វិចិត្រសន៍ និង Raspberry Pi
ក្នុងផ្នែកនេះនៃមេរៀន អ្នកនឹងជាវសម្រាប់បញ្ជា ដែលផ្ញើពីម៉ាស៊ីនបម្រើ MQTT ទៅកាន់ Raspberry Pi របស់អ្នកឬឧបករណ៍ IoT វិចិត្រសន៍។
ជាវបញ្ជា
ជំហានបន្ទាប់គឺជាវបញ្ជាដែលផ្ញើពីម៉ាស៊ីនបម្រើ MQTT ហើយឆ្លើយតបទៅពួកវា។
ភារកិច្ច
ជាវបញ្ជា។
-
បើកគម្រោង nightlight នៅក្នុង VS Code។
-
ប្រសិនបើអ្នកកំពុងប្រើឧបករណ៍ IoT វិចិត្រសន៍ សូមធានាថា terminal កំពុងដំណើរការបរិវេណវិជ្ជមាន។ ប្រសិនបើអ្នកកំពុងប្រើ Raspberry Pi អ្នកមិនចង់ប្រើបរិវេណវិជ្ជមានទេ។
-
បន្ថែមកូដខាងក្រោមបន្ទាប់ពីការកំណត់
client_telemetry_topic៖server_command_topic = id + '/commands'server_command_topicគឺជាប្រធាន MQTT ដែលឧបករណ៍នឹងជាវដើម្បីទទួលបញ្ជា LED។ -
បន្ថែមកូដខាងក្រោមក្រោមស្នោតោមចម្បង ក្រោយបន្ទាត់
mqtt_client.loop_start()៖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។ ប្រសិនបើវាត្រូវបានកំណត់ជាTrueLED នឹងបើក បើមិនដូច្នោះវានឹងបិទ។អតិថិជន MQTT ជាវលើប្រធាន ដែលម៉ាស៊ីនបម្រើនឹងផ្ញើសារ ហើយកំណត់មុខងារ
handle_commandដើម្បីហៅពេលមានសារមក។💁 អ្នកគ្រប់គ្រង
on_messageត្រូវបានហៅសម្រាប់ប្រធានទាំងអស់ដែលបានជាវ។ ប្រសិនបើអ្នកសរសេរកូដបន្ថែមទៀតដែលស្តាប់ច្រើនប្រធាន អ្នកអាចទទួលបានប្រធានដែលសារត្រូវបានផ្ញើទៅពីអOBJECTmessageដែលផ្ញើទៅមុខងារ។ -
រត់កូដដូចជារបៀបដែលអ្នកបានរត់កូដពីផ្នែកមុននៃភារកិច្ច។ ប្រសិនបើអ្នកប្រើឧបករណ៍ IoT វិចិត្រសន៍ សូមធានាថា កម្មវិធី CounterFit កំពុងដំណើរការ និងឧបករណ៍ភ្លើងនិង LED ត្រូវបានបង្កើតនៅលើ PIN ត្រឹមត្រូវ។
-
កំណត់កម្រិតពន្លឺដែលឧបករណ៍របស់អ្នកបានរកឃើញ រឺថាវិចិត្រសន៍។ សារត្រូវបានទទួល និងបញ្ជាផ្ញើទៅនឹងត្រូវបានសរសេរនៅតាម Terminal។ LED នឹងត្រូវបានបើក និងបិទផ្អែកលើកម្រិតពន្លឺ។
💁 អ្នកអាចស្វែងរកកូដនេះនៅក្នុងថត code-commands/virtual-device ឬថត code-commands/pi។
😀 អ្នកបានសម្រេចក្នុងការសរសេរកូដឲ្យឧបករណ៍របស់អ្នកឆ្លើយតបបញ្ជាពីម៉ាស៊ីនបម្រើ MQTT។
ការព្រមាន:
ឯកសារនេះត្រូវបានបកប្រែដោយប្រើសេវាកម្មបកប្រែ AI Co-op Translator។ ខណៈពួកយើងខិតខំសម្រាប់ត្រឹមត្រូវ សូមយល់ថាការបកប្រែដោយស្វ័យប្រវត្តិអាចមានកំហុស ឬការខ្វះត្រឹមត្រូវ។ ឯកសារដើមក្នុងភាសាមាតិរបស់វាគួរត្រូវបានចាត់ទុកជាមូលដ្ឋាននៃព័ត៌មានដែលមានសុពលភាព។ សម្រាប់ព័ត៌មានសំខាន់ៗ គួរត្រូវបានបកប្រែដោយអ្នកជំនាញមនុស្ស។ យើងមិនទទួលខុសត្រូវចំពោះការជ្រុញលំបាក ឬការយល់ច្រឡំណាមួយដែលកើតមានពីការប្រើប្រាស់ការបកប្រែនេះនោះទេ។