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/single-board-computer-telem...

5.2 KiB

ควบคุมไฟกลางคืนของคุณผ่านอินเทอร์เน็ต - ฮาร์ดแวร์ IoT เสมือนและ Raspberry Pi

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

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

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

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

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

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

  2. หากคุณใช้อุปกรณ์ IoT เสมือน ให้ตรวจสอบว่าเทอร์มินัลกำลังรันสภาพแวดล้อมเสมือนอยู่ หากคุณใช้ Raspberry Pi คุณจะไม่ต้องใช้สภาพแวดล้อมเสมือน

  3. เพิ่มการนำเข้า (import) ต่อไปนี้ที่ด้านบนของไฟล์ app.py:

    import json
    

    ไลบรารี json ใช้สำหรับเข้ารหัสข้อมูลเทเลเมทรีให้อยู่ในรูปแบบเอกสาร JSON

  4. เพิ่มโค้ดต่อไปนี้หลังจากการประกาศ client_name:

    client_telemetry_topic = id + '/telemetry'
    

    client_telemetry_topic คือ MQTT topic ที่อุปกรณ์จะใช้ในการส่งข้อมูลระดับแสง

  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 แม้ว่าเราจะพยายามให้การแปลมีความถูกต้อง แต่โปรดทราบว่าการแปลอัตโนมัติอาจมีข้อผิดพลาดหรือความไม่ถูกต้อง เอกสารต้นฉบับในภาษาดั้งเดิมควรถือเป็นแหล่งข้อมูลที่เชื่อถือได้ สำหรับข้อมูลที่สำคัญ ขอแนะนำให้ใช้บริการแปลภาษามืออาชีพ เราไม่รับผิดชอบต่อความเข้าใจผิดหรือการตีความผิดที่เกิดจากการใช้การแปลนี้