Protocol MQTT กับโรงงานอุตสาหกรรม

โรงงานอุตสาหกรรมในปัจจุบันยังทำงานแบบกึ่งอัตโนมัติ อย่างเครื่องจักรกลที่ใช้งานในปัจจุบันมีหน้าที่ ผลิตสิ่งชิ้นงาน ประกอบ และทำการตรวจเช็ค (QC) เครื่องจักรบางรุ่นยังไม่มีการเก็บข้อมูลการทำงาน การเชื่อมต่อผ่านเครือข่าย กิจกรรมที่เกิดขึ้น (event log) และการแจ้งเตือน เป็นต้น ทำให้พนังงานต้องเก็บข้อมูด้วยการจดบันทึกลงในกระดาษ หรือคอมพิวเตอร์ และยังทำให้ต้องเสียพนักงานไป 1 คนในการจดบันทึกข้อมูล บางโรงงานมีการเก็บข้อมูลที่สามารถนำมาวิเคราะห์ต่อได้อย่างระบบที่เรียกว่า ERP หรือ SAP หรือ Lotus notes หรือ Microsoft office เป็นต้น ทำให้การบันทึกข้อมูลไม่ Realtime หรือเป็นปัจจุบัน ข้อมูลที่จดไม่ได้ยืนยันได้ว่าถูกต้องเพราะการทำงานด้วยคนนั้นจะต้องมีความผิดพลาดบ้างเป็นบางครั้ง จะดีกว่าไหมถ้าเรามีระบบที่สามารถรับ-ส่งข้อมูลได้ทีละ หลายๆอย่างพร้อมกันได้ในเวลาเดียวกัน ถูกต้อง และพนักงานไม่สามารถแก้ไขข้อมูลได้ โดยการใช้งานอุปกรณ์ที่เรียกว่า I-IoTs เข้ามาช่วยจัดการระบบต่างๆ ในโรงงานอุตสาหกรรมนี้

MQTT คืออะไร

MQTT (Message Queue Telemetry Transport) เป็นโปรโตคอลสำหรับ รับ-ส่งข้อมูล ที่มีขนาดช่องสัญญาณจำกัดผ่านอุปกรณ์อย่าง LoRa ,NB-IOT ,Sigfox หรือช่องสัญญาณที่เป็น SMS หรือ GSM มีความเร็วประมาณ 115 kbps นั้นเอง ปัจจุบันความเร็วมากกว่า 4 Mbps แต่ทำไมถึงไม่นำมาใช้งาน เพราะว่าตัวรับส่งสัญญาณ 3G – 5G ต้องใช้พลังงานสูง ระยะห่างของเสาสัญญาณ กับอุปกรณ์ IoTs จะสั้นกว่าคลืน GSM รวมทั้งการส่งข้อมูลที่ขนาด bit นั้นไม่จำเป็นต้องใช้ความเร็วที่สูง และต้องแลกด้วยการกินพลังงานสูงเกินไป ถ้าใช้โปรโตคอล HTTP ทำให้ข้อมูลมีเข้ารหัสแล้วจะมีขนาดใหญ่ และทำให้การรับ-ส่งข้อมูลอาจสูญหายได้ โปรโตคอล MQTT สามารถส่งข้อมูลได้ครบถ้วน และใช้งานในช่องสัญญาณต่ำได้ดี โปรโตคอล MQTT จึงเหมาะกับการใช้งานกับ IoTs อย่างมาก

การทำงานของ MQTT ประกอบด้วย Client กับ Broker หรือ Server

Broker หรือ Server จากรูปจะอยู่ตรงกลางทำหน้าที่เป็นตัวกลางประสานงานรับข้อมูลจาก Publisher และส่งข้อมูลไปยัง Subscriber

Client  เป็นส่วนที่ รับ-ส่งข้อมูล ได้โดยคำสั่งที่ส่งเรียกว่า Publisher และรับข้อมูลเรียกว่า Subscriber และต้องมีหัวข้อในการรับ-ส่งข้อมูล ที่เรียกว่า Topic

Topic เป็นการตั้งหัวข้อในการรับ-ส่งข้อมูล ระหว่าง Publisher กับ Subscriber

วิธีการทำงานของ MQTT การรับส่งข้อมูลระหว่าง Broker (Server) และ Clients จะต้องทำการประกาศหัวข้อการรับส่งข้อมูล Topic ไว้ใน Broker จากนั้น Publisher จะส่งข้อมูลไปยังหัวข้อ (Topic) ที่ประกาศไว้และ Subscriber จะได้รับข้อมูลทั้งหมดในหัวข้อ (Topic) ที่ประกาศไว้

ยกตัวอย่างการนำไปใช้งาน เหมือนการใช้งานใน Facebook

Broker = Facebook Server
Topic = คนโพส
Publisher = คนคอมเม้น
Subscriber = คนกด like

Broker – โพสในเฟสบุค 
Topic -โพสหัวข้อว่า “วันนี้มี Clubhouse” — สร้างหัวข้อว่า “วันนี้มี Clubhouse”
Publisher – นาย A มาคอมเม้นว่า “ห้องชื่อว่าอะไร”  — ส่ง “ห้องชื่อว่าอะไร”
Subscriber  – นาย B มากด like ทำให้เห็นข้อความของคุณ A ที่คอมเม้นว่า “ห้องชื่อว่าอะไร” — รับ “ห้องชื่อว่าอะไร”

Publisher  – นาย B มาคอมเม้นต่อว่า “MQTT กับโรงงานอุตสาหกรรม”  — ส่งข้อมูลว่า “MQTT กับโรงงานอุตสาหกรรม”

Subscriber  – นาย A มากด like ทำให้เห็นข้อความของคุณ A ที่คอมเม้นว่า “MQTT กับโรงงานอุตสาหกรรม” — รับข้อมูล “MQTT กับโรงงานอุตสาหกรรม”

สรุป
Broker = Facebook
Topic = วันนี้มี Clubhouse
Publisher = นาย A ส่ง Data = ห้องชื่อว่าอะไร
Subscriber = นาย B รับ Data = ห้องชื่อว่าอะไร

Publisher = นาย B ส่ง Data = MQTT กับโรงงานอุตสาหกรรม
Subscriber = นาย A รับ Data = MQTT กับโรงงานอุตสาหกรรม

การนำไปใช้งานจริงในภาคอุตสหกรรม

อุตสาหกรรมนำ MQTT ไปใช้งานมีอุตสาหกรรมอย่าง Automotive, Logistics, Manufacturing, Smart Home, Consumer product, Transportation เป็นต้น อุตสาหกรรมที่กล่าวมานี้ใช้ MQTT เป็นแกนหลักในการสือสารข้อมูลระหว่างอุปกรณ์กับเครื่องแม่ข่าย (server) เนื่องจากการส่งข้อมูลได้ในระยะทางที่ไกล ข้อมูลมีความถูกต้อง ง่ายต่อการใช้งาน รองรับหัวข้อได้มากถึง 10 ล้านหัวข้อ สามารถติดตั้งได้ทั้ง Private Cloud และ Public Cloud แล้วยังมีแพตฟอร์มที่หลากหลาย ง่ายต่อการดูแลรักษา และมีความปลอดภัยอีกด้วย

ด้านความปลอดภัย ควรมีการติดตั้ง MQTT Security Mechanisms เพื่อความปลอดภัยในการใช้งานจริง และต้องดูเรื่องของ Network ที่ใช้งานว่ามีความปลอดภัยเพียงพอหรือไม่

ที่มาของข้อมูล

mqtt.org/

en.wikipedia.org/wiki/MQTT

www.bot.or.th/Thai/ResearchAndPublications/articles/Pages/Article_06Dec2019.aspx

www.thaibusinesssearch.com/