IoT Protocol MQTT, CoAP, HTTP และภาษาที่อุปกรณ์ใช้แลกเปลี่ยนข้อมูล
อินเทอร์เน็ตของทุกสรรพสิ่ง (Internet Of Things: IoT)
IoT Protocol MQTT, CoAP, HTTP และภาษาที่อุปกรณ์ใช้แลกเปลี่ยนข้อมูล
การเชื่อมต่อ Network ได้ไม่ได้หมายความว่า Application จะเข้าใจข้อมูลของกันและกันโดยอัตโนมัติNetwork ช่วยให้ข้อมูลเดินทาง แต่ระบบยังต้องมี Protocol หรือกติกาที่กำหนดวิธีการแลกเปลี่ยนข้อมูลในโลก IoT มี Protocol หลายประเภทและทำงานคนละ Layer ดังนั้นไม่ควรนำ Wi-Fi, MQTT และ HTTP มาเปรียบเทียบเสมือนเป็นเทคโนโลยีระดับเดียวกันWi-Fi เกี่ยวข้องกับการเชื่อมต่อเครือข่าย ขณะที่ MQTT และ HTTP เป็น Protocol สำหรับการสื่อสารในระดับ Application
MQTT คืออะไร
MQTT (Message Queuing Telemetry Transport) เป็น Client-Server Publish/Subscribe Messaging Transport ProtocolOASIS ระบุว่า MQTT มีลักษณะ Lightweight, Open, Simple และออกแบบให้นำไป Implement ได้ง่าย จึงเหมาะกับสภาพแวดล้อมที่มีข้อจำกัด เช่น M2M และ IoT ซึ่ง Code Footprint หรือ Network Bandwidth อาจมีจำกัด MQTT Version 5.0 ได้รับอนุมัติเป็น OASIS Standard เมื่อ 7 มีนาคม 2019 OASIS
Publish/Subscribe
แนวคิดสำคัญของ MQTT คือผู้ส่งไม่จำเป็นต้องรู้จักผู้รับโดยตรงPublisher → Broker → SubscriberPublisher ส่ง Message ไปยัง Topic ที่ Broker ส่วน Subscriber สมัครรับ Topic ที่สนใจตัวอย่างสมมุติ:Sensor ส่งค่าไปยังfarm/zone1/temperatureDashboard ที่ Subscribe Topic นี้สามารถรับข้อมูลได้ ขณะที่ระบบแจ้งเตือนก็สามารถ Subscribe Topic เดียวกันโดยไม่ต้องให้ Sensor ส่งข้อมูลแยกไปยังทุก Applicationข้อดีคือช่วยลดการผูกติดกันโดยตรงระหว่าง Producer และ ConsumerMQTT 5.0 รองรับ Quality of Service สามระดับ ได้แก่ At most once, At least once และ Exactly once ซึ่งมี Trade-off ด้าน Delivery Guarantee และ Overhead แตกต่างกัน OASIS Open
CoAP
Constrained Application Protocol (CoAP) ถูกออกแบบสำหรับ Node และ Network ที่มีข้อจำกัด และใช้แนวทาง Request/Response ที่มีความคล้ายคลึงกับแนวคิด Web บางส่วนCoAP และ MQTT จึงไม่ใช่สิ่งที่ต้องเลือกตามกระแส แต่ต้องดู Communication Pattern และ Requirement ของระบบ
HTTP/HTTPS
HTTP เป็นพื้นฐานสำคัญของ Web และ API จำนวนมาก จึงพบได้ใน IoT โดยเฉพาะการเชื่อม Device, Gateway, Backend และ Application เข้ากับ Web Serviceข้อดีคือ Ecosystem กว้างและนักพัฒนาคุ้นเคย แต่ใน Device ที่มีข้อจำกัดมาก การใช้ Protocol ที่มี Overhead ต่ำกว่าอาจเหมาะสมกว่าในบางกรณี
Protocol ไม่เท่ากับ Data Format
อีกเรื่องที่มักสับสนคือ Protocol กับ Data FormatMQTT สามารถขนส่ง Payload หลายรูปแบบได้ ตัว Protocol ไม่ได้บังคับให้ข้อมูล Application ต้องเป็น JSON เสมอไป โดย OASIS ระบุว่า MQTT Transport ไม่ขึ้นกับเนื้อหาของ Payload OASIS Openดังนั้นระบบต้องออกแบบ Data Model เพิ่มเติม เช่น Field Name, Unit, Timestamp, Device ID และ Versionตัวอย่าง:temperature = 30ยังไม่ชัดว่าเป็น 30°C หรือ 30°F วัดเมื่อใด และมาจาก Sensor ใดData Contract ที่ดีจึงสำคัญพอ ๆ กับการเลือก Protocol
Security ของ Protocol
MQTT ไม่ควรถูกนำไปใช้งานโดยไม่คิดเรื่อง Securityข้อกำหนด MQTT 5.0 ระบุว่า Client และ Server Implementation ควรมีทางเลือกสำหรับ Authentication, Authorization และ Secure Communication โดยเฉพาะ Application ที่เกี่ยวข้องกับ Critical Infrastructure หรือข้อมูลอ่อนไหว OASIS Openจึงไม่ควรเข้าใจว่า “ใช้ MQTT แล้วปลอดภัย” หรือ “MQTT ไม่ปลอดภัย” แบบเหมารวม เพราะ Security ขึ้นอยู่กับ Architecture, Configuration, Transport Security, Identity, Credential Management และ Operation ด้วย
สรุป
Connectivity ทำให้ Device เชื่อมถึงกัน ส่วน Protocol ทำให้ระบบมีหลักเกณฑ์ในการแลกเปลี่ยน MessageMQTT เด่นที่ Publish/Subscribe และเหมาะกับ IoT หลายรูปแบบ CoAP ถูกออกแบบสำหรับ Constrained Environment ขณะที่ HTTP มี Ecosystem กว้างและเหมาะกับ Web/API Integration หลายกรณีการเลือกจึงต้องดู Communication Pattern, Resource Constraint, Reliability, Latency, Interoperability และ Securityตอนต่อไปจะติดตามข้อมูลหลังจากผ่าน Network และ Protocol ไปแล้วว่า ควรประมวลผลที่ Device, Edge หรือ Cloud อย่างไร
#IoT #MQTT #CoAP #HTTP #IoTProtocol #PublishSubscribe #MQTTBroker #IoTData #MessagingProtocol #DataCommunication #IoTArchitecture #IoTSecurity #Interoperability #IndustrialIoT #iok2u

.
------------------------
ที่มา
-
รวบรวมข้อมูลและภาพ



