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

Mr.P L
Mr.P L
Feb 25, 2019 · 3 min read

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 ของเรามีความปลอดภัยมากยิ่งขึ้นนั้นเอง

mmp-li

Life style of Programmer, Machine Learning, Deep Learning and new trend of technology

Mr.P L

Written by

Mr.P L

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

mmp-li

mmp-li

Life style of Programmer, Machine Learning, Deep Learning and new trend of technology

Welcome to a place where words matter. On Medium, smart voices and original ideas take center stage - with no ads in sight. Watch
Follow all the topics you care about, and we’ll deliver the best stories for you to your homepage and inbox. Explore
Get unlimited access to the best stories on Medium — and support writers while you’re at it. Just $5/month. Upgrade