WebSocket สำหรับ IIoT: โปรโตคอล Full-Duplex เรียลไทม์สำหรับ Web-Based SCADA Dashboard
เมื่อ Dashboard ของ SCADA หรือ HMI ต้องแสดงค่าเซ็นเซอร์ที่เปลี่ยนแปลงทุกวินาที หรือเมื่อผู้ควบคุมต้องการเห็นสถานะเครื่องจักรแบบเรียลไทม์บนเว็บเบราว์เซอร์ โปรโตคอลแบบเดิมอย่าง HTTP Request-Response ก็เริ่มไม่เพียงพอ WebSocket (RFC 6455) จึงกลายเป็นหัวใจสำคัญของการสร้างระบบติดตามและควบคุมโรงงานผ่านเว็บที่ตอบสนองแบบทันที (Real-Time) WebSocket คืออะไร และทำไม IIoT ถึงต้องการ WebSocket เป็นโปรโตคอลสื่อสารแบบ Full-Duplex (สองทางพร้อมกัน) ที่ทำงานบน TCP Connection เดียว แตกต่างจาก HTTP แบบดั้งเดิมที่เป็น Request-Response (ฝั่ง Client ถามแล้ว Server ตอบ แล้วปิดการเชื่อมต่อ) WebSocket เปิดการเชื่อมต่อครั้งเดียวแล้วคงไว้ตลอดเวลา (Persistent Connection) ทำให้ทั้งสองฝั่งสามารถส่งข้อมูลหากันได้ตลอดเวลาโดยไม่ต้องรอฝั่งใดฝั่งหนึ่งเริ่มก่อน การสร้าง WebSocket Connection เริ่มต้นด้วย HTTP Upgrade Handshake - Client ส่ง HTTP Request พร้อม Header Upgrade: websocket เมื่อ Server ตอบรับ (HTTP 101 Switching Protocols) การเชื่อมต่อก็เปลี่ยนจาก HTTP ไปเป็น WebSocket ทันที จุดนี้สำคัญเพราะทำให้ WebSocket สามารถทะลุผ่าน Firewall และ Reverse Proxy มาตรฐานได้โดยใช้พอร์ต 80 หรือ 443 เหมือนเว็บไซต์ทั่วไป เปรียบเทียบวิธีการสื่อสาร Real-Time ใน IIoT วิธีการ ทิศทาง Overhead/ข้อความ Latency การใช้ทรัพยากร HTTP Polling Request-Response ~500-800 bytes (Header ซ้ำทุกครั้ง) สูง (รอทุก N วินาที) สูงมาก Long Polling ครึ่งสองทาง ~500-800 bytes ปานกลาง สูง SSE (Server-Sent Events) Server > Client เท่านั้น ต่ำ ต่ำ ปานกลาง WebSocket Full-Duplex (สองทาง) 2-10 bytes (Frame Header)…









