หน้าแรกคู่มือIoTใช้ MQTT ในหน้าจอ HMI แบบรวบรัด: Publish ข้อมูลเป็น JSON
IOTเริ่มต้น · Beginner2 นาที

ใช้ MQTT ในหน้าจอ HMI แบบรวบรัด: Publish ข้อมูลเป็น JSON

ตั้งค่า MQTT ใน SKTool ให้หน้าจอ Samkoon รุ่น -G Publish ค่า LB100 และ LW100 เป็น JSON ไปที่ Broker ทุก 1 วินาที ดูสถานะการเชื่อมต่อที่ LW0 แล้วทดสอบรับข้อมูลด้วย MQTTX

ใช้หน้าจอรุ่นที่ชื่อลงท้ายด้วย -G เปิด MQTT ใน SKTool ติ๊ก Use ใส่ Broker แล้วสร้าง Publish Topic แบบ Json (Advance) ส่งอัตโนมัติทุก 1 วินาที โดยกำหนด Key ใน Payload ให้อ่านค่าจาก Address เช่น LB100 และ LW100 จากนั้นทดสอบรับด้วย MQTTX

อัพเดทล่าสุด: 26 ตุลาคม 2569

ชุดอุปกรณ์สำหรับบทความนี้

ราคาชุดอุปกรณ์

฿6,990

เลือกหน้าจอที่รองรับ MQTT

หน้าจอ Samkoon ที่รองรับ MQTT คือรุ่นที่ ชื่อ Model ลงท้ายด้วย -G (เช่น SK-070QS-G + WiFi Module หรือ SK-102QS-G + WiFi Module ที่มีป้าย IoT บนเว็บไซต์) ตอนสร้างโปรเจกต์ใหม่ใน SKTool ให้เลือกรุ่นแบบนี้ (โปรเจกต์ในคลิปเป็น SK-070QS-G)

ขั้นตอนใน SKTool

1. เปิด MQTT และตั้ง Broker

  1. สร้าง New Project โดยเลือกรุ่นหน้าจอ -G
  2. ไปที่ MQTT ในหน้าต่างโปรเจกต์ แล้วติ๊ก Use
  3. แท็บ General ใส่ IP หรือชื่อโดเมนของ Broker ที่จะใช้ ในคลิปใช้ Free Broker
IP/Domain name: broker.emqx.io
Port:           1883

2. Address สถานะการเชื่อมต่อ

แท็บ Address ช่อง State คือ Address ที่บอกสถานะการเชื่อมต่อไปที่ MQTT Broker ในคลิปใช้ค่า Default LW0

  • LW0 = 0 แปลว่ายังเชื่อมต่อไม่ติด
  • LW0 = 2 แปลว่าเชื่อมต่อติดแล้ว

3. สร้าง Topic สำหรับ Publish

ที่หัวข้อ Topical แท็บ Publish กด New เพื่อสร้าง Topic ใหม่ แล้วตั้งค่าในแท็บ General

Name / Topical:  quick-mqtt-hmi/test
Format:          Json (Advance)
Send mode:       Automatic
Period:          1 second
Qos:             0 (at most once)

4. กำหนดหน้าตา Payload

ไปที่แท็บ Address ของ Topic แล้วเพิ่มค่าใต้ Payload ในคลิปส่งข้อมูล 2 ตัว คือ Bit หนึ่งตัวกับ Word หนึ่งตัว

Name (Key ใน JSON)Data typeDataAddress
lb100boolAddressLB100
lw10016-Bit Unsigned IntAddressLW100

ชื่อ Key ใน Payload ตัวพิมพ์เล็กตัวพิมพ์ใหญ่มีผล ให้จำไว้ใช้ฝั่งที่รับข้อมูล

5. สร้าง Control บนหน้าจอ

สร้าง Control ที่เปลี่ยนค่าใน Payload เพื่อทดสอบ

  • Bit Switch ที่ LB100 (ในคลิปให้กดสลับค่าแบบ Invert)
  • Numeric Input ที่ LW100
  • Numeric Display ที่ LW0 ไว้เช็กสถานะการเชื่อมต่อ Broker

จากนั้น Download ลงหน้าจอ

ทดสอบด้วย MQTTX

  1. เปิดโปรแกรม MQTT Client ในคลิปใช้ MQTTX
  2. Connect ไปที่ Broker เดียวกับหน้าจอ (broker.emqx.io Port 1883)
  3. สร้าง Subscription ใหม่ด้วยชื่อ Topic ที่ตั้งไว้ใน SKTool คือ quick-mqtt-hmi/test
  4. จะเห็น Payload ถูกส่งมาทุก 1 วินาที เช่น
{
  "lb100": true,
  "lw100": 40
}

ลองกดปุ่มหรือเปลี่ยนค่าบนหน้าจอ แล้วดูค่าที่เปลี่ยนไปจากคอมพิวเตอร์ได้ทันที (ในคลิปหน้าจอแสดง LW0 = 2 คือเชื่อมต่อ Broker ติดแล้ว)

บทถัดไป

ส่งข้อมูลจากคอมพิวเตอร์ไปที่ HMI ผ่าน MQTT (Subscribe)

2 นาทีเริ่มต้น · Beginner