MQTT-SN คืออะไร และการนำไปใช้งาน
MQTT-SN คืออะไร ?
MQTT-SN (MQTT สำหรับเครือข่ายเซ็นเซอร์) เป็นการพัฒนาต่อยอดจากโปรโตคอล MQTT ที่ได้รับความนิยมอย่างแพร่หลาย โดยถูกออกแบบมาเฉพาะสำหรับเครือข่ายเซ็นเซอร์ ช่วยตอบสนองความต้องการเฉพาะของอุปกรณ์ที่มีทรัพยากรจำกัด ทำให้เป็นหัวใจสำคัญในระบบ IoT หลากหลายประเภท
คู่มือนี้จะช่วยให้คุณเข้าใจ MQTT-SN ได้ง่ายขึ้น ทั้งสถาปัตยกรรม การเปรียบเทียบกับ MQTT การใช้งานจริง และเทคนิคการติดตั้งใช้งาน
ทำความเข้าใจ MQTT-SN
MQTT-SN เป็นโปรโตคอลสื่อสารแบบ Publish/Subscribe ที่ออกแบบมาสำหรับเครือข่ายเซ็นเซอร์ไร้สาย (WSN) เพื่อให้มาตรฐานการสื่อสารใน Application Layer สำหรับอุปกรณ์ฝังตัวที่ไม่ใช้ TCP/IP (เช่น Zigbee และ Bluetooth)
ข้อดีของ MQTT-SN
เข้ากันได้กับ MQTT รูปแบบการสื่อสารของ MQTT-SN สอดคล้องกับ MQTT อย่างสมบูรณ์ ทั้ง Publish, Subscribe, การรักษาเซสชัน, Will Message เป็นต้น การใช้รูปแบบเดียวกันนี้ช่วยลดความซับซ้อนในการออกแบบระบบแบบ end-to-end
ประหยัดทรัพยากร
โปรโตคอลถูกออกแบบให้เบาและประหยัดเพื่อรองรับแบนด์วิธที่จำกัดในเครือข่าย WSN ตัวอย่างเช่น ชื่อหัวข้อในข้อความ PUBLISH ถูกแทนที่ด้วย Topic ID ขนาดสั้นเพียง 2 ไบต์
รองรับโหมดพักเครื่อง
MQTT-SN เพิ่มระบบ Sleep สำหรับการใช้พลังงานต่ำ เมื่ออุปกรณ์เข้าสู่โหมด Sleep ข้อความทั้งหมดจะถูกเก็บไว้ในเซิร์ฟเวอร์และส่งให้เมื่ออุปกรณ์ตื่นขึ้นมา
ความแตกต่างระหว่าง MQTT และ MQTT-SN
การค้นหา Gateway MQTT-SN Gateway สามารถส่งสัญญาณข้อมูลของตัวเองไปยังเครือข่ายเป็นระยะ หรือ Client สามารถค้นหาที่อยู่ Gateway ได้เอง ฟีเจอร์นี้ใช้สำหรับการเชื่อมต่อเครือข่ายอัตโนมัติระหว่าง MQTT-SN Client และ Gateway ในพื้นที่เครือข่ายท้องถิ่น
Publish แบบ QoS -1
คุณสมบัตินี้ออกแบบมาสำหรับ Client พื้นฐานที่รองรับเฉพาะการส่งข้อความ PUBLISH ไปยังที่อยู่ Gateway ที่รู้จักโดยไม่ต้องมีการตั้งค่า การลงทะเบียน หรือการสมัครรับข้อมูลเพิ่มเติม เหมาะสำหรับอุปกรณ์ปลายทางที่เบาและเรียบง่าย
การอัปเดต Will Message
MQTT-SN ให้อัปเดตหัวข้อและเนื้อหาของ Will Message ได้ตลอดเวลา ในขณะที่โปรโตคอล MQTT สามารถตั้งค่า Will Message ได้เฉพาะตอนเชื่อมต่อครั้งแรกเท่านั้น
ปัญหาด้านความปลอดภัย
MQTT-SN ไม่มีการรับรองตัวตนแบบ username/password สำหรับการเชื่อมต่อ เมื่อเชื่อมต่อกับ MQTT-SN Gateway จะใช้เฉพาะ Client ID โดยไม่รองรับ username และ password ซึ่งอาจก่อให้เกิดความเสี่ยงด้านความปลอดภัยเมื่อใช้งานในเครือข่ายสาธารณะ บางครั้งแก้ปัญหานี้ด้วยการใช้ DTLS แบบสองทิศทาง แต่มักเพิ่มความซับซ้อนในการออกแบบและการดำเนินงาน
สถาปัตยกรรมการติดตั้งใช้งาน MQTT-SN
มี 3 รูปแบบสถาปัตยกรรมทั่วไปในการติดตั้งใช้งานโปรโตคอล MQTT-SN:
รูปแบบที่ 1: Client และ Gateway ใน LAN เดียวกัน
Client และ Gateway ติดตั้งในเครือข่ายท้องถิ่นเดียวกัน (เช่น Zigbee) สื่อสารผ่านโปรโตคอล MQTT-SN และ Gateway ส่งข้อมูลไปยัง MQTT Broker บนคลาวด์ผ่าน Ethernet และโปรโตคอล MQTT
รูปแบบที่ 2: MQTT Broker และ MQTT-SN Gateway รวมกันบนคลาวด์
MQTT Broker และ MQTT-SN Gateway ถูกรวมเข้าด้วยกันและติดตั้งบนคลาวด์ Client สื่อสารโดยตรงกับ MQTT-SN Gateway บนคลาวด์ผ่าน UDP และ MQTT-SN
รูปแบบที่ 3: ใช้ MQTT-SN ติดต่อกับ Gateway บนคลาวด์
คล้ายกับรูปแบบที่ 1 แต่ใช้โปรโตคอล MQTT-SN สำหรับการติดต่อกับ MQTT-SN Gateway บนคลาวด์
สรุปการใช้งานแต่ละรูปแบบ
รูปแบบที่ 1: เป็นการติดตั้งใช้งาน MQTT-SN ที่ทั่วไปที่สุด เหมาะสำหรับสถานการณ์ที่อุปกรณ์ปลายทางไม่ต้องการการสื่อสารเครือข่ายสาธารณะ และต้องการ Gateway สำหรับการจัดการแบบรวมศูนย์ เช่น สถานการณ์บ้านอัจฉริยะทั่วไป
รูปแบบที่ 2: พบได้ทั่วไปในสถานการณ์ที่อุปกรณ์ปลายทางติดตั้งกลางแจ้งและเชื่อมต่อกับคลาวด์โดยตรงผ่านเครือข่ายมือถือ เช่น NB-IoT และไม่สามารถติดตั้ง Gateway เพื่อจัดการคำขอของอุปกรณ์ได้
รูปแบบที่ 3: หายากและเป็นเพียงการประนีประนอมระหว่างรูปแบบที่ 1 และ 2 ใช้เฉพาะเมื่อเซิร์ฟเวอร์สามารถให้บริการ MQTT-SN เท่านั้น
กรณีการใช้งานจริงของ MQTT-SN
MQTT-SN ถูกออกแบบมาเพื่อเชื่อมต่อเซ็นเซอร์และอุปกรณ์ฝังตัวที่มีทรัพยากรเครือข่ายจำกัด เพื่อตอบสนองความต้องการของ IoT ในด้านการใช้พลังงานต่ำ แบนด์วิธต่ำ และต้นทุนต่ำ ตัวอย่างการใช้งานจริง:
Smart Agritculture
ตรวจวัดความชื้นในดิน อุณหภูมิ และข้อมูลแสงเพื่อการชลประทานที่แม่นยำและการจัดการพืชผล
Smart Factory 4.0
ตรวจสอบและควบคุมสถานะอุปกรณ์ในสายการผลิตแบบเรียลไทม์ เพื่อเพิ่มประสิทธิภาพการผลิตและการใช้ทรัพยากร
ใช้ในระบบตรวจสอบพลังงานเพื่อติดตามการใช้พลังงานของมิเตอร์ไฟฟ้า มิเตอร์น้ำ มิเตอร์แก๊สแบบเรียลไทม์ ช่วยให้ผู้ใช้จัดการและประหยัดพลังงาน
ตัวอย่างเหล่านี้แสดงให้เห็นว่า MQTT-SN ช่วยให้การรวบรวมข้อมูล การสื่อสาร และการควบคุมอัจฉริยะในสาขาต่างๆ เป็นไปได้ โดยมอบกรอบการสื่อสารที่เชื่อถือได้สำหรับแอปพลิเคชัน IoT ที่หลากหลาย
Reference : https://www-emqx-com, https://highvoltages.co,