วันศุกร์ที่ 30 มิถุนายน พ.ศ. 2560

MQTT คืออะไร?

MQTT คืออะไร? 
Message Queuing Telemetry Transport (MQTT) เป็นProtocol ที่ออกแบบมาเพื่อการเชื่อมต่อแบบ M2M (machine-to-machine)คืออุปกรณ์กับอุปกรณ์ สนับสนุนเทคโนโลยี iot (Internet of Things) คือเทคโนโลยีที่อินเทอร์เน็ตเชื่อมต่อกับอุปกรณ์ต่าง ๆ เช่น โทรศัพท์มือถือ รถยนต์ โทรทัศน์ ตู้เย็น เข้ากับอินเทอร์เน็ตทำให้สามารถเชื่อมโยงสื่อสารกับอุปกรณ์ต่าง ๆ ได้ โดยผ่านเครือข่ายอินเทอร์เน็ต ซึ่งจะทำให้มนุษย์สามารถ ควบคุมอุปกรณ์ต่าง ๆ จากที่อื่นได้ เช่นการสั่งปิดเปิดไฟในบ้านจากที่อื่น ๆ
เนื่องจากโปรโตคอลตัวนี้มีน้ำหนักเบา  ออกแบบมาเพื่อใช้งานกับอุปกรณ์อิเล็กทรอนิกส์ขนาดเล็ก การรับส่งข้อมูลในเครื่อข่ายที่มีขนาดเล็ก แบนร์วิธต่ำ ใช้หลักการแบบ publisher / subscriber คล้ายกับหลักการที่ใช้ใน Web Service ที่ต้องใช้ Web Serverเป็นตัวกลางระหว่างคอมพิวเตอร์ของผู้ใช้ แต่ MQTT จะใช้ตัวกลางที่เรียกว่า Broker เพื่อทำหน้าที่ จัดการคิว รับ - ส่ง ข้อมูลระหว่างอุปกรณ์ และทั้งในส่วนที่เป็น Publisher และ Subscriber ดังภาพ

จากภาพจะเห็นได้ว่า Topic จะเป็นตัวอ้างอิงหลัก ข้อมูลทีจะ Publisher ออกไปยัง Broker จะต้องมี topic กำกับไว้เสมอ ทางฝ่าย  subscriber ก็จะอ้างถึง topic เพื่อเรียกข้อมูลที่ต้องการ  เหมือนกับการสมัครเป็นสมาชิกของหนังสือพิมพ์ฉบับหนึ่ง ชื่อของหนังสือก็เปรียบเหมือน topic และผู้ผลิตก็คือ publisher เมือถึงเวลาที่หนังสือเสร็จ ผู้ส่ง Broker ก็จะนำหนังสือพิมพ์มาส่งให้เรา
ตัวอย่าง แอพพลิเคชั่นที่ใช้งานคือ  Facebook Mesenger
สรุปองค์ประกอบของ MQTT Protocol
จะประกอบไปด้วย Broker , Publisher และ Subscriber แต่ล่ะอย่างก็จะทำหน้าที่แต่กต่างกันออกไปโดย
Broker ทำหน้าที่เป็นตัวกลางคอยจัดการกับ ข้อความโดย อ้างอิงจาก Topic
Publisher จะทำหน้าที่คอยส่งข้อมูลไปยังหัวข้อนั้น ๆ
Subscriber จำทำหน้าที่คอยดูการเปลี่ยนแปลงของ message ที่อ้างอิงด้วย Topic เช่นถ้ามีหัวข้อหน้าสนใจและมีการเปลี่ยนแปลงก็จะทากรดึงข้อมูลนั้น ๆ มาใช้งาน

MQTT คิดค้นโดย  ดร.แอนดี้สแตนฟอร์ด คลาค ของ ไอบีเอ็ม และ อเลน นิพเพอร์ ของ Arcom (now Eurotech), ใน คศ 1999. อ่านเพิ่มเติม mqtt.org

ไม่มีความคิดเห็น:

แสดงความคิดเห็น

Set MongoDB in the windows path environment

  Let’s set MongoDB in the windows environment in just a few steps. Step 1: First download a suitable MongoDB version according to your mach...