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/2-farm/lessons/1-predict-plant-growth/wio-terminal-temp-publish.md

7.7 KiB

បោះពុម្ពចេញសីតុណ្ហភាព - Wio Terminal

នៅផ្នែកនេះនៃមេរៀន អ្នកនឹងបោះពុម្ពចេញតម្លៃសីតុណ្ហភាពដែលបានចាប់យកដោយ Wio Terminal តាមរយៈ MQTT ដូច្នេះវាអាចត្រូវបានប្រើប្រាស់ក្រោយសម្រាប់គណនារយៈពេលកំណើនកម្ដៅដី (GDD)។

បោះពុម្ពចេញសីតុណ្ហភាព

បន្ទាប់ពីសីតុណ្ហភាពត្រូវបានអាន វាអាចត្រូវបានបោះពុម្ពចេញតាម MQTT ទៅកូដ 'ម៉ាស៊ីនមេ' មួយដែលនឹងអានតម្លៃនិងផ្ទុកវាឲ្យរួចរាល់សម្រាប់ប្រើសម្រាប់ការគណនារ GDD។ ម៉ិច្រូកុងត्रोलលឺមិនអានម៉ោងពីអ៊ីនធឺណិតហើយតាមដានម៉ោងដោយនាឡិការពេលវេលាពិតជាមួយរាល់ឧបករណ៍នោះឡើយ អุปกรณ์ត្រូវតែមានកម្មវិធីប្រតិបត្តិដើម្បីធ្វើបែបនេះ បើសិនជាអ្នកមានឧបករណ៍ដែលចាំបាច់។

ដើម្បីងាយស្រួលសម្រាប់មេរៀននេះ មិនបញ្ចូនពេលវេលាមកជាមួយទិន្នន័យស៉ើនស័រឡើយ តែកូដម៉ាស៊ីនមេអាចបន្ថែមវាក្រោយពេលទទួលបានសារ។

តំណាង

កម្មវិធីឧបករណ៍ដើម្បីបោះពុម្ពចេញទិន្នន័យសីតុណ្ហភាព។

  1. បើកគំរូ temperature-sensor Wio Terminal

  2. ធ្វើឡើងវិញជំហានដែលអ្នកបានធ្វើនៅមេរៀនទី 4 ដើម្បីភ្ជាប់ទៅ MQTT និងបញ្ជូនទិន្នន័យ telemetry អ្នកនឹងប្រើ Mosquitto broker សាធារណៈដដែល។

    ជំហានសម្រាប់នេះមាន៖

    • បន្ថែមបណ្ណាល័យ Seeed WiFi និង MQTT ទៅក្នុងឯកសារ .ini
    • បន្ថែមឯកសារកំណត់រចនាសម្ព័ន្ធនិងកូដសម្រាប់ភ្ជាប់ទៅ WiFi
    • បន្ថែមកូដភ្ជាប់ទៅ MQTT broker
    • បន្ថែមកូដបោះពុម្ពចេញ telemetry

    ⚠️ សូមយោងទៅ ការណែនាំសម្រាប់ភ្ជាប់ទៅ MQTT និង ការណែនាំសម្រាប់បញ្ជូន telemetry ពីមេរៀនទី 4 ប្រសិនបើចាំបាច់។

  3. ត្រួតពិនិត្យឲ្យប្រាកដថា CLIENT_NAME ក្នុងឯកសារ config.h បង្ហាញពីគំរូនេះ៖

    const string CLIENT_NAME = ID + "temperature_sensor_client";
    
  4. សម្រាប់ telemetry ជំនួសផ្ញើតម្លៃពន្លឺ សូមផ្ញើតម្លៃសីតុណ្ហភាពដែលបានអានពីស็นស័រដីអេចធី (DHT sensor) ក្នុងលក្ខណៈអចលនវត្ថុមួយក្នុងឯកសារ JSON ដែលមានឈ្មោះ temperature ដោយប្ដូរ function loop នៅក្នុង main.cpp

    float temp_hum_val[2] = {0};
    dht.readTempAndHumidity(temp_hum_val);
    
    DynamicJsonDocument doc(1024);
    doc["temperature"] = temp_hum_val[1];
    
  5. តម្លៃសីតុណ្ហភាពមិនចាំបាច់ត្រូវបានអានជាញឹកញាប់ខ្លាំងទេ - វាមិនប្រែក្លាយច្រើននៅក្នុងរយៈពេលខ្លី ដូច្នេះកំណត់ delay ក្នុង function loop ទៅ ១០ នាទី៖

    delay(10 * 60 * 1000);
    

    💁 Function delay ទទួលអំឡុងពេលជាឯកតាមីលីវិនាទី ដូច្នេះដើម្បី​ធ្វើ​ឲ្យ​វា​ងាយស្រួលក្នុងការអាន តម្លៃត្រូវបានផ្ដល់បង្ហាញជាលទ្ធផលនៃសមីការមួយ។ 1,000ms ក្នុងមួយវិនាទី, 60s ក្នុងមួយនាទី ដូច្នេះ 10 x (60s ក្នុងមួយនាទី) x (1000ms ក្នុងមួយវិនាទី) ផ្ដល់អំឡុងពេល ១០ នាទី។

  6. អាប់ឡូដនេះទៅ Wio Terminal របស់អ្នក ហើយប្រើម៉ូនីទ័រដាសុីជាលឯកសារដើម្បីមើលសីតុណ្ហភាពកំពុងត្រូវផ្ញើទៅ MQTT broker។

    --- Available filters and text transformations: colorize, debug, default, direct, hexlify, log2file, nocontrol, printable, send_on_enter, time
    --- More details at http://bit.ly/pio-monitor-filters
    --- Miniterm on /dev/cu.usbmodem1201  9600,8,N,1 ---
    --- Quit: Ctrl+C | Menu: Ctrl+T | Help: Ctrl+T followed by Ctrl+H ---
    Connecting to WiFi..
    Connected!
    Attempting MQTT connection...connected
    Sending telemetry {"temperature":25}
    Sending telemetry {"temperature":25}
    

💁 អ្នកអាចស្វែងរកកូដនេះនៅក្នុងថត code-publish-temperature/wio-terminal

😀 អ្នកបានបោះពុម្ពចេញសីតុណ្ហភាពជាប telemetry ពីឧបករណ៍របស់អ្នកដោយជោគជ័យ។


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