Chat with us, powered by LiveChat What is MQTT ? โปรโตคอลเพื่อการสื่อสารของ IOT โดยเฉพาะ - IIoT
What is MQTT ? โปรโตคอลเพื่อการสื่อสารของ IOT โดยเฉพาะ

What is MQTT ? โปรโตคอลเพื่อการสื่อสารของ IOT โดยเฉพาะ

   MQTT (Message Queue Telemetry Transport) คือโปรโตคอลในการส่งข้อมูลที่พัฒนามาเพื่อใช้ในระบบ IOT มันทำงานแบบ Broker and Clients Network มันถูกออกแบบให้สามารถส่งข้อมูลแบบ Real-Time ในปริมาณข้อมูลที่น้อย ทำให้ใช้พลังงานต่ำมันถูกพัฒนามาจาก TCP/IP ที่มีการส่งข้อมูลแบบ One-To-One ทำให้สิ้นเปลืองทรัพยากรณ์มากซึ่งไม่เหมาะกับระบบ IOT เนื่องจากในระบบ IOT มีการส่งข้อมูลตลอดเวลา และ 1 อุปกรณ์อาจรับหรือส่งข้อมูลไปยังหลายอุปกรณ์ หรือการส่งข้อมูลแบบ One-To-All โดยอุปกรณ์ทุกตัวที่ทำการ Subscriber ไปยัง Topic ใดๆ บน Broker จะได้รับข้อมูลที่ Publisher ส่งให้ Topic นั้นๆบน Broker ทั้งหมด โดยมันถูกคิดค้นขึ้นมาในปี 1999 โดย Andy Stanford-Clark จาก IBM และ Arlen Nipper จาก Cirrus Link โดยมันถูกใช้เพื่อตรวจสอบท่อส่งน้ำมันในทะเลทรายโดยเป้าหมายคือ เป็นโปรโตคอลที่มีประสิทธภาพสูง ส่งข้อมูลขนาดไม่มาก ใช้พลังงานต่ำ เนื่องจากมันต้องเชื่อมต่อผ่านดาวเทียมซึ่งมีราคาการส่งข้อมูลสูงมากในขณะนั้น 

   MQTT ประกอบไปด้วย
   Broker(Server) คือตัวกลางในการรับข้อมูลจาก Publisher และส่งข้อมูลให้กับ Subscriber
   Clients(Subscriber / Publisher)
      Publisher คือตัวส่งข้อมูลให้กับ Topic ที่อยู่ใน Broker เรียกว่าการ Publish
      Subscriber คือตัวรับข้อมูลจาก Topic ที่อยู่ใน Broker เรียกว่าการ Subscribe 
   Topic คือหัวเรื่องที่เราต้องการรับส่งข้อมูล ระหว่าง Publisher กับ Subscriber

หลักการทำงานของ MQTT คือการการรับส่งข้อมูลระหว่าง Server (Broker) และ Clients (Publisher/Subscriber) โดยการประกาศหัวข้อการรับส่งข้อมูลเรียกว่า Topic ไว้ใน Broker จากนั้น Publisher จะส่งข้อมูลไปยัง Topic นั้นๆ และ Subscriber ก็จะได้รับข้อมูลทั้งหมดใน Topic นั้นๆ เช่นกัน


ปรียบ MQTT เป็น Facebook
Broker = Facebook Server
Topic = โพส
Publisher = คนคอมเม้น
Subscriber = คนกด Like


ตัวอย่าง1
โพสในเฟสบุค <<<< Broker
โพสข้อว่า “วันนี้อากาศร้อน” <<<< Topic ที่ถูกสรา้งขึ้นว่า “วันนี้อากาศร้อน”
คุณ A มาคอมเม้นว่า “ร้อนมาก” <<<< Publisher ส่งข้อมูลว่า “ร้อนมาก”
คุณ B มากด Like ทำให้เห็นข้อความของคุณ A ที่คอมเม้นว่า “ร้อนมาก” <<<< Subscriber รับข้อมูล “ร้อนมาก”

สรุป
Broker = Facebook
Topic = วันนี้อากาศร้อน
Publisher = คุณ A ส่ง Data = ร้อนมาก
Subscriber = คุณ B รับ Data = ร้อนมาก

MQTT Facebook

   จากภาพที่ 1 เราจะเห็นถึงหลักการทำงานของ MQTT แล้ว แต่เราสามารถเชื่อมต่อได้หลากหลายรูปแบบ ไม่จำเป็นต้องมี Publisher หรือ Subscriber เพียงตัวเดียว เราสามารถนำหลายตัวมาเชื่อมต่อเพื่อรับส่งข้อมูลกับ Broker ได้ และ Clients สามารถเป็นทั้ง Publisher และ Subscriber ไปพร้อมๆ กันได้ตาม Diagram ด้านล่าง

MQTT_Diagram2

   MQTT นั้นได้กลายเป็นหัวใจในการรับส่งข้อมูลของ IOT แทน TCP/IP, HTTP เนื่องด้วยการสื่อสารของ HTTP นั้นเป็นแบบ Request and response มีข้อจำกัดในการรับส่งข้อมูลโดยฝั่ง Client ต้องทำการ request ไปยัง server ทุกครั้งที่ต้องการข้อมูลโดยในระบบ iot บางกรณีเราต้องการรับข้อมูลตลอดเวลาแบบ Real-Time จึงทำให้เกิดข้อจำกัดในการรับข้อมูล และนอกจาก HTTP และ TCP/IP ยังเป็นการรับส่งข้อมูลแบบ One-To-One มันเป็นการยากที่จะส่งข้อมูลทั้งหมดไปยังทุกอุปกรณ์ มันกินทรัพยากรณ์ และพลังงานอย่างมากซึ่งใน IOT นั้นเป็นเรื่องปรกติที่จะส่งข้อมูลแบบ One-To-All 


   มาถึงตอนนี้เราได้ทราบถึงการทำงานของ MQTT กันแล้วจะเห็นได้ว่ามันถูกพัฒนาเพื่อ IOT อย่างไม่มีข้อสงสัย มันสามารถพัฒนาแอปพลิเคชั่นเพื่อเข้าถึงการทำงานได้ง่าย ประหยัดพลังงาน รับส่งข้อมูลได้แบบ Real-Time และหลากหลายอุปกรณ์พร้อมๆ กัน

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.

Close Menu
×

Cart