MQTT Sparkplug B: มาตรฐาน Industrial Messaging ที่แปลง IoT Protocol ทั่วไปให้กลายเป็น IIoT-Grade
ในโลกของ Industrial IoT ที่มีเซ็นเซอร์และอุปกรณ์หลายพันตัวส่งข้อมูลกลับไปยังศูนย์กลางทุกวินาที MQTT ได้กลายเป็นโปรโตคอลยอดนิยมเพราะตัวมันเองเบา ใช้พลังงานต่ำ และรองรับสถาปัตยกรรม Publish/Subscribe แต่ MQTT เวอร์ชันพื้นฐานมีจุดอ่อนสำคัญเมื่อนำมาใช้ในโรงงานจริง นั่นคือ "ไม่มีการจัดการสถานะของอุปกรณ์" ทำให้ระบบ SCADA ไม่ทราบว่าข้อมูลที่ได้รับยังสดอยู่หรือไม่ บทความนี้จะเจาะลึก Sparkplug B สเปกที่เติมเต็ม MQTT ให้กลายเป็นมาตรฐาน IIoT อย่างแท้จริง MQTT คืออะไร? ทบทวนพื้นฐานกันก่อน MQTT (Message Queuing Telemetry Transport) เป็นโปรโตคอลสื่อสารแบบ Publish/Subscribe ที่ออกแบบมาสำหรับอุปกรณ์ที่มีทรัพยากรจำกัด ถูกพัฒนาขึ้นในปี 1999 เพื่อใช้ติดตามท่อส่งน้ำมันผ่านดาวเทียม โดยมี Broker ทำหน้าที่เป็นตัวกลางกระจายข้อความ ส่วนหัวของ MQTT เล็กเพียง 2 ไบต์ ทำให้เหมาะกับเครือข่ายแบนด์วิดท์ต่ำ QoS Levels ทั้ง 3 ระดับของ MQTT QoS Level ชื่อ การรับประกัน การสลับแพ็กเก็ต 0At most onceFire and forget ส่งครั้งเดียว ไม่มีการยืนยัน1 ข้อความ 1At least onceรับประกันว่าส่งถึง อาจซ้ำ (PUBACK)2 ข้อความ 2Exactly onceรับประกันส่งถึง 1 ครั้ง ไม่ซ้ำ (4-step)4 ข้อความ ทำไม MQTT ธรรมดาไม่พอสำหรับ IIoT? แม้ MQTT จะมีคุณสมบัติที่ดี แต่เมื่อนำไปใช้ในโรงงานจริงก็เจอปัญหาใหญ่ 3 ข้อ ดังนี้ ไม่มี Topic Namespace มาตรฐาน — แต่ละทีมพัฒนาออกแบบ topic structure ของตัวเอง ทำให้ระบบต่างผู้ผลิตสื่อสารกันไม่ได้ ปัญหา Stale Data — เมื่อ Edge Node หยุดส่งข้อมูล SCADA ไม่ทราบว่าอุปกรณ์นั้นยังออนไลน์อยู่หรือไม่ อาจแสดงค่าเดิมซ้ำๆ ทำให้ผู้ควบคุมตัดสินใจผิด ไม่มี Device Lifecycle Management — เมื่ออุปกรณ์เชื่อมต่อใหม่ SCADA ไม่ทราบว่าต้องดึงค่าอะไรบ้าง เพราะ MQTT ไม่ได้บังคับให้ส่งรายการ metric ทั้งหมดตอนเริ่มต้น Sparkplug B แก้ปัญหาอย่างไร? Sparkplug…








