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-telem...

5.3 KiB

គ្រប់គ្រងពន្លឺរាត្រីរបស់អ្នកតាមអ៊ីនធឺណិត - ថេរ IoT ធម្មតា និង Raspberry Pi

នៅផ្នែកនេះនៃមេរៀន អ្នកនឹងផ្ញើទិន្នន័យទូទៅជាមួយកម្រិតពន្លឺពី Raspberry Pi របស់អ្នក ឬឧបករណ៍ IoT ធម្មតាទៅឲ្យ MQTT broker។

បោះពុម្ពផ្សាយទិន្នន័យទូទាំង

ជំហានបន្ទាប់គឺបង្កើតឯកសារ JSON មានទិន្នន័យទូទាំងហើយផ្ញើវាទៅ MQTT broker។

ការងារ

បោះពុម្ពផ្សាយទិន្នន័យទៅ MQTT broker។

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

  2. ប្រសិនបើអ្នកកំពុងប្រើឧបករណ៍ IoT ធម្មតា សូមប្រាកដថា terminal កំពុងដំណើរការបរិស្ថានធម្មតា។ ប្រសិនបើអ្នកប្រើ Raspberry Pi អ្នកមិនត្រូវប្រើបរិស្ថានធម្មតាបានទេ។

  3. បន្ថែមការនាំចូលដូចខាងក្រោមនៅខាងលើឯកសារ app.py

    import json
    

    បណ្ណាល័យ json ត្រូវបានប្រើសម្រាប់ចាក់បញ្ចូលទិន្នន័យទូទាំងជាឯកសារ JSON។

  4. បន្ថែមខាងក្រោយពាក្យប្រកាស client_name ដូចខាងក្រោម៖

    client_telemetry_topic = id + '/telemetry'
    

    client_telemetry_topic គឺជាប្រធាន MQTT ដែលឧបករណ៍នឹងបោះពុម្ពផ្សាយកម្រិតពន្លឺទៅ។

  5. ជំនួសមាតិកានៃរង្វង់ while True: នៅចុងឯកសារដោយអ្វីដែលមានដូចខាងក្រោម៖

    while True:
        light = light_sensor.light
        telemetry = json.dumps({'light' : light})
    
        print("Sending telemetry ", telemetry)
    
        mqtt_client.publish(client_telemetry_topic, telemetry)
    
        time.sleep(5)
    

    កូដនេះបន្ទុកកម្រិតពន្លឺជាឯកសារ JSON ហើយបោះពុម្ពផ្សាយវាទៅ MQTT broker។ បន្ទាប់មកវានឺងដើម្បីកាត់បន្ថយប្រេកង់នៃសារ។

  6. ដំណើរការកូដ ដូចដែលអ្នកបានដំណើរការកូដពីផ្នែកមុននៃការងារ។ ប្រសិនបើអ្នកកំពុងប្រើឧបករណ៍ IoT ធម្មតា សូមប្រាកដថាកម្មវិធី CounterFit កំពុងដំណើរការ ហើយអូបសេនស័រ ពន្លឺ និង LED ត្រូវបានបង្កើតនៅលើខ្សែរភ្ជាប់ត្រឹមត្រូវ។

    (.venv) ➜  nightlight python app.py 
    MQTT connected!
    Sending telemetry  {"light": 0}
    Sending telemetry  {"light": 0}
    

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

😀 អ្នកបានផ្ញើទិន្នន័យទូទាំងពីឧបករណ៍របស់អ្នកដោយជោគជ័យ។


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