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/th/1-getting-started/lessons/4-connect-internet/wio-terminal-telemetry.md

5.5 KiB

ควบคุมไฟกลางคืนของคุณผ่านอินเทอร์เน็ต - Wio Terminal

ในส่วนนี้ของบทเรียน คุณจะส่งข้อมูลเทเลเมทรีเกี่ยวกับระดับแสงจาก Wio Terminal ของคุณไปยัง MQTT broker

ติดตั้งไลบรารี JSON สำหรับ Arduino

วิธีที่นิยมในการส่งข้อความผ่าน MQTT คือการใช้ JSON มีไลบรารีสำหรับ Arduino ที่ช่วยให้อ่านและเขียนเอกสาร JSON ได้ง่ายขึ้น

งานที่ต้องทำ

ติดตั้งไลบรารี JSON สำหรับ Arduino

  1. เปิดโปรเจกต์ไฟกลางคืนใน VS Code

  2. เพิ่มบรรทัดต่อไปนี้เป็นบรรทัดเพิ่มเติมในรายการ lib_deps ในไฟล์ platformio.ini:

    bblanchon/ArduinoJson @ 6.17.3
    

    สิ่งนี้จะนำเข้า ArduinoJson ซึ่งเป็นไลบรารี JSON สำหรับ Arduino

ส่งข้อมูลเทเลเมทรี

ขั้นตอนต่อไปคือการสร้างเอกสาร JSON ที่มีข้อมูลเทเลเมทรีและส่งไปยัง MQTT broker

งานที่ต้องทำ - ส่งข้อมูลเทเลเมทรี

ส่งข้อมูลเทเลเมทรีไปยัง MQTT broker

  1. เพิ่มโค้ดต่อไปนี้ที่ด้านล่างของไฟล์ config.h เพื่อกำหนดชื่อหัวข้อเทเลเมทรีสำหรับ MQTT broker:

    const string CLIENT_TELEMETRY_TOPIC = ID + "/telemetry";
    

    CLIENT_TELEMETRY_TOPIC คือหัวข้อที่อุปกรณ์จะใช้ในการส่งระดับแสง

  2. เปิดไฟล์ main.cpp

  3. เพิ่มคำสั่ง #include ต่อไปนี้ที่ด้านบนของไฟล์:

    #include <ArduinoJSON.h>
    
  4. เพิ่มโค้ดต่อไปนี้ภายในฟังก์ชัน loop ก่อนคำสั่ง delay:

    int light = analogRead(WIO_LIGHT);
    
    DynamicJsonDocument doc(1024);
    doc["light"] = light;
    
    string telemetry;
    serializeJson(doc, telemetry);
    
    Serial.print("Sending telemetry ");
    Serial.println(telemetry.c_str());
    
    client.publish(CLIENT_TELEMETRY_TOPIC.c_str(), telemetry.c_str());
    

    โค้ดนี้จะอ่านระดับแสงและสร้างเอกสาร JSON โดยใช้ ArduinoJson ซึ่งมีข้อมูลระดับแสงนี้ จากนั้นจะถูกแปลงเป็นสตริงและส่งไปยังหัวข้อเทเลเมทรี MQTT โดย MQTT client

  5. อัปโหลดโค้ดไปยัง Wio Terminal ของคุณ และใช้ Serial Monitor เพื่อดูระดับแสงที่ถูกส่งไปยัง MQTT broker

    Connecting to WiFi..
    Connected!
    Attempting MQTT connection...connected
    Sending telemetry {"light":652}
    Sending telemetry {"light":612}
    Sending telemetry {"light":583}
    

💁 คุณสามารถค้นหาโค้ดนี้ได้ในโฟลเดอร์ code-telemetry/wio-terminal

😀 คุณได้ส่งข้อมูลเทเลเมทรีจากอุปกรณ์ของคุณสำเร็จแล้ว


ข้อจำกัดความรับผิดชอบ:
เอกสารนี้ได้รับการแปลโดยใช้บริการแปลภาษา AI Co-op Translator แม้ว่าเราจะพยายามให้การแปลมีความถูกต้อง แต่โปรดทราบว่าการแปลโดยอัตโนมัติอาจมีข้อผิดพลาดหรือความไม่ถูกต้อง เอกสารต้นฉบับในภาษาดั้งเดิมควรถือเป็นแหล่งข้อมูลที่เชื่อถือได้ สำหรับข้อมูลที่สำคัญ ขอแนะนำให้ใช้บริการแปลภาษามืออาชีพ เราไม่รับผิดชอบต่อความเข้าใจผิดหรือการตีความผิดที่เกิดจากการใช้การแปลนี้