สร้าง MQTT Broker ด้วย CloudMQTT แบบฟรีๆ ไม่เขียนโค้ดสักตัว

Mr.P L
mmp-li
Published in
3 min readFeb 25, 2019

MQTT คือ Protocol ที่โครตฮิตในปัจจุบันแต่ทุกๆวันก็จะมีคนถามว่า “สร้าง MQTT Broker ยังไง ?”

MQTT คืออะไร?

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

ซึ่ง MQTT เป็นชื่อเรียกสำหรับโปรโตคอลนี้เท่านั้น โดยหลักการทำงานของ MQTT จริง ๆนั้นมีส่วนประกอบ 3 อย่างคือ ผู้ส่ง (publish) , ผู้รับ (subscribe) และ ตัวกลาง (MQTT broker) โดยผู้รับหรือผู้ส่งจะใช้อุปกรณ์ชนิดไหนก็ได้ ขอเพียงมีแอพพลิเคชั่นหรือโปรแกรมที่รองรับโปรโตคอล MQTT ก็เพียงพอแล้ว

มีเทคโนโลยีอะไรบ้างที่เราคุ้นเคยและใช้ MQTT ?

แอพ Messenger ของ Facebook ในเวอร์ชั่นปี 2016–17 ก็ได้มีการนำเอา MQTT มาประยุกต์ใช้กับแอพพลิเคชั่นตัวเองนั้นเอง

องค์ประกอบของ MQTT

1. ผู้ส่ง (publish) มีหน้าที่ในการส่งข้อมูล/ข้อความไปยังตัวกลาง (MQTT Broker) โดยสิ่งที่ส่งจะประกอบด้วย หัวข้อ (Topic) และข้อความ (Message)

2. ผู้รับ (subscribe) มีหน้าที่คือจะต้องเชื่อมต่อกับตัวกลาง และติดตาม topic ให้ตรงกับผู้ส่ง โดยเมื่อตรงกันเรียบร้อย เมื่อผู้ส่ง ส่งข้อความมาผู้รับก็จะสามารถรับข้อความนั้นได้ หากมีอย่างใดอย่างหนึ่งที่ไม่ตรงกันก็จะไม่สามารถรับข้อความได้นั้นเอง

3. ตัวกลาง (MQTT Broker) มีหน้าที่รับข้อความจากผู้ส่งและกระจาย (Broadcast) ให้กับผู้ติดตามที่มี topic ตรงกับผู้ส่งเท่านั้น

MQTT BROKER

ในการใช้งาน Protocol MQTT นั้นจะต้องมี MQTT Broker เสียก่อน โดยตัว Broker นั้นสามารถหามาใช้งานได้อยู่ 3 วิธีด้วยกันคือ

1. เช่า Broker ของผู้ให้บริการ โดยจะมีค่าใช้จ่ายและมีข้อจำกัดแล้วแต่ผู้ให้บริการ บางรายก็มีให้ทดลองฟรีเช่นกัน

2. สร้าง Broker ขึ้นมาด้วยตนเอง โดยการเช่าเซิร์ฟเวอร์และทำการติดตั้งโปรแกรม MQTT Broker ด้วยตนเอง วิธีนี้เป็นที่นิยมแต่จะต้องมีเซิร์ฟเวอร์เป็นของตัวเองและจะต้องวางระบบรักษาความปลอดภัยด้วยตนเอง

3. ใช้งาน Broker ฟรีที่ทาง MQTT มีไว้ให้ แต่ข้อเสียคือเป็น Broker สาธารณะทุกคนสามารถดูข้อมูลที่เราส่งได้

เริ่ม !

โดยในครั้งนี้จะเป็นการเช่า Broker จากผู้ให้บริการโดยเลือกเป็นแบบฟรี โดยมีข้อจำกัดคือสามารถ เชื่อมต่อได้แค่ 5 อุปกรณ์พร้อมกันและถูกจำกัดความเร็วในการรับส่งนั้นเอง เริ่มต้นให้เข้าไปที่เว็บไซต์ https://www.cloudmqtt.com/

เลื่อนลงมาข้างล่างคลิกที่ Get a managed IoT broker today

จากนั้นให้เลื่อนลงมาข้างล่างแล้วเลือก Cute Cat (ฟรี ไม่เสียค่าใช้จ่าย)

มีข้อจำนิดหน่อย แต่ก็พอใช้งานได้ในระดับหนึ่ง

จากนั้นก็จะขึ้นหน้าให้ล็อคอิน หากใครต้องการผูกไอดีไว้กับ google หรือ github ก็สามารถทำได้ที่หน้านี้เลย หากใครไม่มี ID ทั้ง 2 อย่างนี้ให้คลิกที่ Sign Up แล้วสมัครสมาชิกให้เรียบร้อย

โดยให้ทำการกรอกข้อมูลลงไปทั้งหมด 2 ช่องคือ ชื่อของ Broker ของเราและ Tags เพื่อบ่งบอกว่า Broker ของเราจะใช้กับงานประเภทอะไร (ไม่ส่งผลกระทบใดๆต่องาน) จากนั้นให้กดปุ่มสีเขียว (Select Region) ที่ด้านล่างมุมขวา

สร้าง Tags เผื่อไว้เวลามี Broker เยอะๆจะได้ใช้งานสดวกๆ

เป็นหน้าต่างเลือกที่ตำแหน่งที่ตั้งของ Broker ในหน้านี้ให้กด Review ได้เลยเพราะไม่มี Broker อยู่ในโซนเอเชีย จึงไม่จำเป็นต้องเลือก

เสียดายยังไม่มีโซนไทย

จากนั้นจะปรากฏหน้าต่างให้เราตรวจดูอีกครั้งว่าข้อมูลต่างๆถูกต้องหรือไม่ หากถูกต้องให้กด Create Instance ได้เลยหากไม่ให้กด Back เพื่อกลับไปแก้ไขอีกครั้ง

เมื่อทำการสร้างสำเร็จ Broker ก็จะปรากฏขึ้นบนหน้าเว็บของเรา โดยให้เราคลิกที่ Broker ที่เราพึ่งทำการสร้างเมื่อสักครู่เพื่อเริ่มต้นใช้งาน

โดยจะปรากฏข้อมูลต่างๆของ Broker ของเรานั้นเอง

โดยหน้าหลักๆที่เราจะใช้มีอยู่ด้วยกัน 3 หน้าคือ

1.Details จะเป็นส่วนที่บอกถึงข้อมูลของ Broker ของเราซึ่งจะมี username และ password ในการเข้าใช้งาน Broker เพื่อความปลอดภัยของเราด้วย โดย Port ที่จะใช้งานทั่วๆไปคือ Port และ SSL Port

2. Websocket UI เป็นส่วนของการดูว่ามีข้อมูล (Message) และหัวข้อ (Topic) ใดบ้างที่กำหนดรับ-ส่งอยู่บน Broker ของเราและเรายังสามารถส่งข้อความจากบนเว็บไปยัง Broker ได้อีกด้วย

3. Connections คือ ส่วนของเช็คว่ามีอุปกรณ์อะไรกำลังเชื่อมต่อกับ Broker ของเราเพราะแบบฟรีมันจำกัดแค่ 5 อุปกรณ์ ถ้าเกินกว่านี้อุปกรณ์ที่เข้ามาทีหลังจะเข้าไม่ได้

ทีนี้ MQTT Broker ของเราก็พร้อมใช้งานแล้วเราสามารถเอาไปใช้งานกับ

Node-RED

UI FLOW

หรือจะเป็น tool อื่นๆก็ได้เพียงแค่จะต้องระบุ Username และ Password เข้าไปด้วยซึ่งทั้ง 2 ที่ได้กล่าวมาก็รองรับด้วย จะทำให้ mqtt ของเรามีความปลอดภัยมากยิ่งขึ้นนั้นเอง

--

--

Mr.P L
mmp-li
Editor for

Lifestyle of Programmer & IoT (Node-RED|Blynk) & Data Science (ML,DL,NLP) and Whatever I want to do | cat can coding too | Ph.D. -> VISTEC -> IST