MQTT

จาก Morange Wiki

MQTT คืออะไร

เป็น Protocol TCP เป็นรากฐาน ออกแบบมาสำหรับงานที่ต้องการสื่อสารแบบเรียลไทม์แบบไม่จำกัดแพลตฟอร์ม หมายถึงอุปกรณ์ทุกชิ้นสามารถสื่อสารกันได้ผ่าน MQTT ที่ออกแบบมาเพื่อการเชื่อมต่อแบบ M2M (Machine to Machine) คืออุปกรณ์กับอุปกรณ์ สนับสนุนเทคโนโลยี iot (Internet of Things) คือเทคโนโลยีที่อินเทอร์เน็ตเชื่อมต่อกับอุปกรณ์ต่าง ๆ เช่น โทรศัพท์มือถือ รถยนต์ โทรทัศน์ ตู้เย็น เข้ากับอินเทอร์เน็ตทำให้สามารถเชื่อมโยงสื่อสารกับอุปกรณ์ต่าง ๆ ได้ โดยผ่านเครือข่ายอินเทอร์เน็ต ซึ่งจะทำให้มนุษย์สามารถ ควบคุมอุปกรณ์ต่าง ๆ จากที่อื่นได้ เช่นการสั่งปิดเปิดไฟในบ้านจากที่อื่น ๆ
ก่อนที่จะใช้งานได้ เราจำเป็นต้องมารู้ศัพท์ที่ใช้ และหลักการใช้งานกันก่อนครับ ก่อนอื่นเลย Username Password ที่ใช้ล็อกอินเข้าใช้งานโปรโตคอลจะมีอยู่ด้วยกัน 2 ระดับ คือ ระดับหัวหน้า และระดับผู้ดูแลห้อง (เป็นชื่อระดับที่ผมตั้งขึ้นเองเพื่อให้เข้าใจได้ง่าย) ข้อแตกต่างของ 2 ระดับนี้คือ

  • ระดับหัวหน้า

    เปรียบได้กับผู้บริหาร หรือเจ้าของบริษัท มีสิทธิ์ที่จะฟัง และประกาศ ไปยังห้อง (Topic) ไหนก็ได้ที่มีการสร้างขึ้น ซึ่ง Username Password จะถูกกำหนดมาแล้ว หลังจากสมัครสมาชิกในระบบของ CloudMQTT จะมีประกาศในหน้าแรก
  • ระดับผู้ดูแลห้อง

    ระดับนี้มีสิทธิ์ที่จะฟังอย่างเดียว ประกาศอย่างเดียว หรือทั้งฟังและประกาศ ได้ในห้อง (Topic) ที่กำหนดไว้แล้วเท่านั้น ซึ่ง Username Password สามารถกำหนดได้เองโดยการสร้าง

รูปแบบการเชื่อมต่อ

จะแบ่งเป็น 2 ฝั่ง คือฝั่งเซิร์ฟเวอร์มักจะเรียกว่า MQTT Broker ส่วนฝั่งผู้ใช้งานจะเรียกว่า MQTT Client ในการใช้งานด้าน IoT จะเกี่ยวข้องกับ MQTT Client เป็นหลัก โดยจะมี MQTT Broker ทั้งแบบฟรี และเสียเงินไว้รองรับอยู่แล้ว ทำให้การสื่อสารข้อมูลผ่าน MQTT จะใช้เซิร์ฟเวอร์ฟรี หรือ MQTT Broker ฟรี เหล่านั้นเป็นตัวกลาง

ลักษณะการใช้งาน MQTT อาจะเปรียบเสมือนได้กับการใช้งานห้องแชท Line สำหรับอุปกรณ์ โดยอุปกรณ์แต่ละตัวจะมีชื่อเป็นของตนเอง มี Username Password เป็นของตัวเอง และอาจจะมีห้องลับเฉพาะของตนเอง

publish/subscribe

publish(ผู้ส่ง)

 Publisher จะทำหน้าที่คอยส่งข้อมูลไปยังหัวข้อนั้น ๆ

subscribe(ผู้รับ)

 Subscriber ทำหน้าที่คอยดูการเปลี่ยนแปลงของ message ที่อ้างอิงด้วย Topic เช่นถ้ามีหัวข้อหน้าสนใจและมีการเปลี่ยนแปลงก็จะทากรดึงข้อมูลนั้น ๆ มาใช้งาน Topic

ความจ่างระหว่าง MQTT กับ HTTP

Mqtt จะรับส่งหรือเชื่อมในระบบของบอดร์ แต่ http เป็น โปรโตรคอล ที่ใช้งานสำหรับเผยแพร่ข้อมูล และ เป็นสื่อการสำหรับการสือสาร ในรูปแบบที่เป็นลิงค์ หรือ Text

อ้างอิง

  1. https://medium.com/@tanakornpiamsin/%E0%B8%95%E0%B8%B4%E0%B8%94%E0%B8%95%E0%B8%B1%E0%B9%89%E0%B8%87-mqtt-server-d31bcae85d0d
  2. https://blog.sogoodweb.com/Article/Detail/59554
  3. ioxhop
  4. https://saixiii.com/http-https/
ดึงข้อมูลจาก "https://wiki.morange.co.th/index.php?title=MQTT&oldid=1103"