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-mqtt.md

7.5 KiB

ត្រួតគ្រងភ្លើងរាត្រីរបស់អ្នកតាមអ៊ិនធឺរណೆត - ឧបករណ៍ IoT មនុស្សពិតប្រៀបធៀបនិង Raspberry Pi

ឧបករណ៍ IoT ត្រូវការត្រូវបានកូដដើម្បីទំនាក់ទំនងជាមួយ test.mosquitto.org ប្រើ MQTT ដើម្បីផ្ញើតម្លៃតាមរយៈការអានឧបករណ៍សង់សារពន្លឺ និង ទទួលបញ្ជាលើដើម្បីត្រួតគ្រង LED។

នៅក្នុងផ្នែកនេះនៃមេរៀន អ្នកនឹងភ្ជាប់ Raspberry Pi របស់អ្នក ឬឧបករណ៍ IoT ម៉ូទ្យួតទៅ MQTT broker ។

តម្លើងកញ្ចប់ MQTT client

ដើម្បីទំនាក់ទំនងជាមួយ MQTT broker អ្នកត្រូវតែតម្លើងបណ្ណាល័យ MQTT តាមរយៈ pip package នៅលើ Pi របស់អ្នក ឬ នៅក្នុងបរិស្ថានវេរីស្វាល់របស់អ្នក ប្រសិនបើអ្នកកំពុងប្រើឧបករណ៍ម៉ូទ្យួត។

ការងារ

តម្លើងកញ្ចប់ pip

  1. បើកគម្រោង nightlight នៅក្នុង VS Code ។

  2. ប្រសិនបើអ្នកកំពុងប្រើឧបករណ៍ម៉ូទ្យួត វិចិត្រសាល ត្រូវតែប្រាកដថាទTerminal កំពុងដំណើរការបរិស្ថានវេរីស្វាល់។ ប្រសិនបើអ្នកកំពុងប្រើ Raspberry Pi អ្នកមិនចាំបាច់ប្រើបរិស្ថានវេរីស្វាល់ទេ។

  3. រត់ពាណិជ្ជកម្មខាងក្រោមសម្រាប់តម្លើងកញ្ចប់ MQTT pip:

    pip3 install paho-mqtt
    

កូដឧបករណ៍

ឧបករណ៍រួចរាល់សម្រាប់កូដ។

ការងារ

សរសេរកូដឧបករណ៍។

  1. បន្ថែមការនាំចូលខាងក្រោមទៅកំពូលឯកសារ app.py

    import paho.mqtt.client as mqtt
    

    បណ្ណាល័យ paho.mqtt.client អនុញ្ញាតឲ្យកម្មវិធីរបស់អ្នកទំនាក់ទំនងតាម MQTT។

  2. បន្ថែមកូដខាងក្រោមបន្ទាប់ពីការបញ្ជាក់ឧបករណ៍សង់សារពន្លឺ និង LED៖

    id = '<ID>'
    
    client_name = id + 'nightlight_client'
    

    ជំនួស <ID> ជាមួយ ID របស់អ្នកដែលមានតែមួយ ដែលនឹងប្រើជាឈ្មោះនៃ client ឧបករណ៍នេះ ហើយបន្ទាប់មកសម្រាប់ប្រធានបទដែលឧបករណ៍នេះបង្ហោះ និង ចុះឈ្មោះ។ broker test.mosquitto.org គឺសាធារណៈ ហើយប្រើប្រាស់ដោយមនុស្សជាច្រើន រួមទាំងនិស្សិតផ្សេងទៀតដែលកំពុងធ្វើកិច្ចការនេះ។ ការមានឈ្មោះ client MQTT និងប្រធានបទដែលមានតែមួយធានាថាកូដរបស់អ្នកមិនជួបប្រទះបញ្ហាជាមួយអ្នកផ្សេងទៀត។ អ្នកនឹងត្រូវការប្រើ ID នេះនៅពេលអ្នកបង្កើតកូដម៉ាស៊ីនមេនៅក្រោយក្នុងកិច្ចការនេះផងដែរ។

    💁 អ្នកអាចប្រើគេហទំព័រដូចជា GUIDGen ដើម្បីបង្កើត ID ដែលទេរ។

    client_name គឺជាឈ្មោះទ្រឹងតែមួយសម្រាប់ client MQTT នេះនៅលើ broker។

  3. បន្ថែមកូដខាងក្រោមក្រោមកូដថ្មីនេះ ដើម្បីបង្កើតអប្សារកម្មវិធី MQTT client ហើយភ្ជាប់ទៅ MQTT broker៖

    mqtt_client = mqtt.Client(client_name)
    mqtt_client.connect('test.mosquitto.org')
    
    mqtt_client.loop_start()
    
    print("MQTT connected!")
    

    កូដនេះបង្កើតអប្សារមួយភ្ជាប់ទៅ MQTT broker សាធារណៈ ហើយចាប់ផ្តើមលំហូរការកំណត់ប្រតិបត្តិនៅក្នុងថ្រក ក្រោយ ដែលស្ដាប់សារ​នៅលើប្រធានបទដែលបានចុះឈ្មោះ។

  4. រត់កូដដូចដែលអ្នកបានរត់កូដពីផ្នែកមុននៃកិច្ចការ។ ប្រសិនបើអ្នកកំពុងប្រើឧបករណ៍ម៉ូទ្យួត វិចិត្រសាល ទៅ​រាល់ CounterFit app កំពុងដំណើរការហើយឧបករណ៍សង់សារពន្លឺ និង LED ត្រូវបានបង្កើតនៅលើ pin ត្រឹមត្រូវ។

    (.venv) ➜  nightlight python app.py 
    MQTT connected!
    Light level: 0
    Light level: 0
    

💁 អ្នកអាចរកឃើញកូដនេះនៅក្នុងថត code-mqtt/virtual-device ឬ ថត code-mqtt/pi

😀 អ្នកបានភ្ជាប់ឧបករណ៍របស់អ្នកទៅ MQTT broker ដោយជោគជ័យ។


ការបដិសេធ
ឯកសារនេះត្រូវបានបកប្រែដោយប្រើសេវាកម្មបកប្រែ AI Co-op Translator។ ខណៈពេលយើងខិតខំប្រឹងប្រែងសម្រាប់ភាពត្រឹមត្រូវ សូមយកចិត្តទុកដាក់ថាការបកប្រែម៉ាស៊ីនអាចមានកំហុស ឬការបញ្ចូលមិនត្រឹមត្រូវ។ ឯកសារដើមនៅក្នុងភាសាបុរាណគួរត្រូវបានគេយកជាអ្នកផ្សព្វផ្សាយស្រេចត្រូវ។ សម្រាប់ព័ត៌មានសំខាន់ៗ និយោជកបកប្រែជាជំនាញមនុស្សគឺបានណែនាំ។ យើងមិនទទួលខុសត្រូវចំពោះការយល់ច្រឡំ ឬការបកប្រែខុសឆ្គងណាមួយដែលកើតឡើងពីការប្រើប្រាស់ការបកប្រែនេះទេ។