Industrial IoT Communication

ทำไมต้องสนใจเรื่องโปรโตคอลการสื่อสาร?

ถ้าคุณเป็นเจ้าของโรงงานหรือวิศวกรที่กำลังจะเอา IoT เข้ามาใช้ในการผลิต สิ่งที่ต้องตัดสินใจตั้งแต่แรกๆ เลยก็คือ “จะให้เครื่องมันคุยกันยังไง” — คำตอบนี้ส่งผลต่อทุกอย่างตั้งแต่ความเร็วในการรับส่งข้อมูล ไปจนถึงค่าใช้จ่ายในการดูแลระบบ

วันนี้เล่าให้ฟังเรื่อง MQTT กับ REST API สองตัวเลือกที่ใช้กันมากในโลก IIoT ว่าแต่ละตัวมันต่างกันยังไง และทำไมเดี๋ยวนี้หลายโรงงานถึงเลือกใช้ MQTT

MQTT คืออะไร?

MQTT (Message Queuing Telemetry Transport) เป็นโปรโตคอลที่ออกแบบมาสำหรับเชื่อมต่ออุปกรณ์ IoT โดยเฉพาะ ถูกพัฒนาขึ้นโดยวิศวกรของ IBM ตั้งแต่ปี 1999 และกลายเป็นมาตรฐานสากลตั้งแต่ปี 2013 จนถึงตอนนี้ MQTT เป็นหนึ่งในโปรโตคอลที่ได้รับความนิยมมากที่สุดในโลก IIoT

หลักการทำงานของ MQTT

MQTT ใช้หลักการที่เรียกว่า Publish/Subscribe (Pub/Sub) — พูดง่ายๆ ก็คือ อุปกรณ์ที่ส่งข้อมูล (Publisher) จะไม่ส่งตรงไปหาใคร แต่ส่งไปที่ Broker ซึ่งเป็นตัวกลาง แล้ว Broker กระจายข้อมูลไปให้อุปกรณ์ที่สนใจ (Subscriber) เอง

องค์ประกอบหลักๆ มีแค่ 4 ตัว:

  • Broker — ตัวกลางที่คอยรับข้อมูลแล้วกระจายต่อ
  • Publisher — อุปกรณ์ที่ส่งข้อมูล เช่น เซ็นเซอร์วัดอุณหภูมิ
  • Subscriber — อุปกรณ์หรือแอปที่รับข้อมูล เช่น Dashboard, SCADA
  • Topic — ช่องทางสำหรับส่งข้อมูล เช่น factory1/sensors/temperature

ทำไม MQTT ถึงเหมาะกับงาน IIoT มากกว่า REST API?

1. ขนาดเล็ก กินแบนด์น้อยมาก

MQTT มี overhead แค่ 2 bytes ต่อ message เทียบกับ REST API ที่ใช้ HTTP Header หลายร้อย bytes ขึ้นไป สำหรับอุปกรณ์ IoT ที่ใช้พลังงานต่ำและเครือข่ายจำกัด ตรงนี้สำคัญมาก

2. Push-based — ข้อมูลมาถึงทันที ไม่ต้องคอยถาม

REST API ทำงานแบบ “ถาม-ตอบ” คือต้องไปขอข้อมูลเรื่อยๆ (polling) ซึ่งเปลืองแบนด์และช้า MQTT จะส่งข้อมูลไปให้ทันทีเมื่อมีการเปลี่ยนแปลง ไม่ต้องคอยถาม

3. ปรับ QoS ได้ตามความต้องการ

MQTT มี 3 ระดับความน่าเชื่อถือในการส่งข้อมูล:

  • QoS 0: ส่งแล้วลืม (เหมาะกับข้อมูลที่มากๆ ก็ได้)
  • QoS 1: ส่งแน่นอน อาจซ้ำได้ (เหมาะกับงานส่วนใหญ่)
  • QoS 2: ส่งแม่นยำที่สุด ไม่ซ้ำ (เหมาะกับงาน critical)

4. รู้ได้ทันทีเมื่ออุปกรณ์หลุด

ถ้าเซ็นเซอร์ตัวไหนดับหรือหลุดออกจากระบบ Broker จะรู้ได้เลย ซึ่งในโรงงานที่ต้องมอนิเตอร์สถานะเครื่องจักรตลอดเวลา ฟีเจอร์นี้ช่วยป้องกันปัญหาได้เยอะ

5. Subscriber ใหม่ก็รู้สถานะปัจจุบันได้ทันที

ข้อมูลล่าสุดจะถูกเก็บไว้ใน Broker พอมี Subscriber ใหม่เข้ามา ก็จะได้รับสถานะปัจจุบันทันที ไม่ต้องรอให้ข้อมูลมาส่งใหม่

เปรียบเทียบตรงๆ กันเลย

หัวข้อ MQTT REST API
รูปแบบการสื่อสาร Pub/Sub (Async) Request/Response (Sync)
ขนาด Protocol Overhead ~2 bytes 200-1000+ bytes
การใช้แบนด์วิดท์ ต่ำมาก ปานกลาง-สูง
Latency ต่ำ (milliseconds) ปานกลาง
Real-time capability ดีมาก (Push-based) ต้อง Polling
ความซับซ้อนในการ implement ปานกลาง ต่ำ
Scalability (หลาย subscribers) ดีมาก ต้องจัดการหลาย connections
Battery consumption ต่ำ สูงกว่า

ใช้งานจริงในโรงงานยังไง?

Factory Floor Monitoring

สายการผลิตที่มีเซ็นเซอร์หลายร้อยตัว ถ้าใช้ REST API แบบ polling ซีเซิร์ฟเวอร์จะถูกระเบิดด้วย request จำนวนมาก MQTT รองรับเซ็นเซอร์นับพันตัวบน Broker เดียว โดยแต่ละตัวส่งข้อมูลเมื่อมีการเปลี่ยนแปลงเท่านั้น

ตัวอย่าง Topic ที่ใช้ในโรงงาน:

factory/floor1/lineA/sensors/temperature
factory/floor1/lineA/sensors/vibration
factory/floor1/lineA/actuators/valve01/status
factory/alerts/lineA/overtemperature

SCADA to IIoT Gateway

ระบบ SCADA แบบดั้งเดิมที่ใช้ Modbus หรือ OPC-UA อยู่ สามารถเพิ่ม MQTT Gateway เพื่อ bridge ข้อมูลไปยัง cloud dashboard หรือ analytics platform ได้เลย โดยไม่ต้องแก้ไขระบบ SCADA เดิม

Multi-site Monitoring

องค์กรที่มีหลายโรงงาน MQTT รองรับการ bridging ระหว่าง Broker หลายตัว ดึงข้อมูลจากทุก site มาดูที่ dashboard กลางได้อย่างมีประสิทธิภาพ

เรื่องความปลอดภัย

  • TLS/SSL — เข้ารหัสข้อมูลระหว่างส่ง
  • Username/Password — ผ่าน Broker
  • OAuth 2.0 / JWT — สำหรับระบบที่ต้องการความปลอดภัยสูง
  • ACL — ควบคุมว่า client ใดสามารถ publish หรือ subscribe topic ใดได้บ้าง

สรุป: สำหรับโรงงานอัจฉริยะที่ต้องการ real-time monitoring, SCADA integration และ IIoT infrastructure ที่ scale ได้ MQTT ชนะ REST API ในแทบทุกมิติ — ขนาดเล็ก กินแบนด์น้อย ส่งข้อมูลทันที และมีระบบนิเวศใหญ่มากในโลก IIoT ตั้งแต่ Broker อย่าง Mosquitto, HiveMQ, EMQX ไปจนถึง cloud services อย่าง AWS IoT Core, Azure IoT Hub และ Google Cloud IoT Core ที่รองรับ MQTT เป็นมาตรฐานหลัก

Leave a Reply

Your email address will not be published. Required fields are marked *