หน้าแรกคู่มือIoTMQTT Protocol กับ HMI: สร้างระบบ IoT สื่อสารไร้สาย
IOT
เริ่มต้น
22 นาที

MQTT Protocol กับ HMI: สร้างระบบ IoT สื่อสารไร้สาย

เรียนรู้การใช้ MQTT Protocol กับ HMI สำหรับระบบ IoT แบบไร้สาย ตั้งค่า Publisher/Subscriber ควบคุมอุปกรณ์อัตโนมัติผ่าน Wi-Fi

อัพเดทล่าสุด: 7/3/2569

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

฿16,220

MQTT Protocol กับ HMI: การสื่อสารระหว่างอุปกรณ์ IoT

การใช้งาน MQTT Protocol กับ HMI เป็นวิธีที่มีประสิทธิภาพในการสร้างระบบสื่อสารระหว่างอุปกรณ์ IoT โดยไม่ต้องใช้สายเชื่อมต่อโดยตรง ในบทความนี้จะสอนวิธีการตั้งค่าและใช้งาน MQTT กับหน้าจอ HMI แบบครบวงจร

ตัวอย่างการใช้งานจริง

ระบบ Demo ประกอบด้วย:

  • HMI ตัวที่ 1: ต่อกับเซนเซอร์อุณหภูมิและความชื้น (Publisher)
  • HMI ตัวที่ 2: ต่อกับ PLC ที่ควบคุมหลอดไฟ (Subscriber)

เมื่ออุณหภูมิเกิน 30 องศา หลอดไฟจะติดอัตโนมัติ โดยข้อมูลถูกส่งผ่าน Wi-Fi และ MQTT Protocol

อุปกรณ์ที่ใช้

  • HMI: SK070-QS-QG-WiFi Module
  • PLC: FAS-32MT-AC-E
  • เซนเซอร์: Temperature & Humidity Sensor (Modbus RS485)

พื้นฐาน MQTT Protocol

MQTT คืออะไร

MQTT (Message Queuing Telemetry Transport) เป็น Protocol ที่ได้รับความนิยมในงาน IoT เนื่องจาก:

  • สร้างบนพื้นฐาน TCP
  • ใช้แบนด์วิดท์น้อย
  • เหมาะสำหรับเครือข่ายที่ไม่เสถียร
  • รองรับการเชื่อมต่อแบบติดๆ ดับๆ ได้ดี

โครงสร้างของ MQTT

มีองค์ประกอบหลัก 2 ส่วน:

  1. MQTT Broker: ตัวกลางที่รับและส่งข้อความ
  2. MQTT Client: ผู้ใช้งานที่แบ่งเป็น
    • Publisher: ผู้ส่งข้อมูล
    • Subscriber: ผู้รับข้อมูล

ขั้นตอนการดำเนินงาน

1. เลือก MQTT Broker

ตัวเลือกที่ 1: Public MQTT Broker

  • HiveMQ Public Broker
    • Host: broker.hivemq.com
    • Port: 1883
    • ฟรีใช้งาน (เหมาะสำหรับทดลอง)

ตัวเลือกที่ 2: Private MQTT Server

  • ติดตั้งเซิร์ฟเวอร์เอง (Raspberry Pi หรือ Computer)
  • Software: Mosquitto, EMQX
  • ความปลอดภัยสูงกว่า

2. การตั้งค่า HMI Publisher

การเชื่อมต่อเซนเซอร์

Communication: COM3 (RS485)
Protocol: Modbus RTU Master
Slave ID: 1
Temperature: 3X1
Humidity: 3X2

การตั้งค่า MQTT

  1. เปิดใช้งาน MQTT ในหน้าจอ

  2. ตั้งค่า Server:

    Server Address: broker.hivemq.com
    Port: 1883
    Client ID: %0 (Serial Number)
  3. สร้าง Publish Topic:

    Topic Name: YourName/HMI/Data
    Publish Type: Automatic
    Interval: 10 seconds
  4. เพิ่มข้อมูลที่จะส่ง:

    • Temperature: Key = "Temp", Address = 3X1
    • Humidity: Key = "Humi", Address = 3X2

3. การตั้งค่า HMI Subscriber

การตั้งค่า MQTT

  1. ใช้การตั้งค่า Server เหมือนกับ Publisher

  2. สร้าง Subscribe Topic:

    Topic Name: YourName/HMI/Data (เหมือนกับ Publisher)
    Format: JSON Advanced
  3. การรับข้อมูล:

    Temperature -> Name: Temp, Address: LW1
    Humidity -> Name: Humi, Address: LW2

4. การเขียน Logic Control

Script สำหรับควบคุมหลอดไฟ

if (LW1 > 300) {  // 30.0 องศา
    Y0 = 1;       // เปิดหลอดไฟ
} else {
    Y0 = 0;       // ปิดหลอดไฟ
}

การตั้งค่า Script

  1. สร้าง Variable Setting สำหรับ Y0
  2. ตั้งค่า Global Script ให้ทำงานทุก 50ms
  3. Compile และทดสอบ

5. การทดสอบระบบ

  1. เชื่อมต่อ HMI ทั้งสองเครื่องกับ Wi-Fi
  2. ตรวจสอบสถานะการเชื่อมต่อ:
    • Signal Strength: LW61250
    • MQTT State: LW0 (ค่า 2 = เชื่อมต่อปกติ)
  3. ทดสอบการส่งข้อมูลด้วยการเปลี่ยนอุณหภูมิ

การแก้ปัญหาที่พบบ่อย

ปัญหาการเชื่อมต่อ

  • ตรวจสอบ Client ID ให้ไม่ซ้ำกัน
  • ใช้ Serial Number (%0) เพื่อความปลอดภัย
  • ตรวจสอบ Topic Name ให้ตรงกันทุกฝั่ง

ปัญหาข้อมูลไม่อัพเดต

  • ตรวจสอบ Publish Interval
  • ยืนยัน Data Type และ Address ที่ถูกต้อง
  • ตรวจสอบ MQTT State ว่าเป็น 2

เคล็ดลับการใช้งาน

  • ใช้ชื่อ Topic ที่ไม่ซ้ำกับผู้อื่น
  • เก็บ MQTT State ไว้ใน LW0 เพื่อติดตามสถานะ
  • ใช้ JSON Advanced สำหรับข้อมูลที่ซับซ้อน
  • ตั้งค่า Script ให้ทำงานด้วยความถี่ที่เหมาะสม

สรุป

การใช้งาน MQTT Protocol กับ HMI ช่วยให้สามารถสร้างระบบ IoT ที่มีประสิทธิภาพโดยไม่ต้องใช้สายเชื่อมต่อโดยตรง ระบบนี้เหมาะสำหรับ:

  • Remote Monitoring: ติดตามข้อมูลจากระยะไกล
  • Distributed Control: ควบคุมอุปกรณ์หลายจุด
  • Data Integration: รวบรวมข้อมูลจากหลายแหล่ง

ด้วยการตั้งค่าที่ถูกต้องและการใช้ Public MQTT Broker สำหรับทดลอง ผู้ใช้งานสามารถเริ่มต้นพัฒนาระบบ IoT ได้อย่างง่ายดายและมีประสิทธิภาพ