Giao thức MQTT là gì? Cách hoạt động trong IoT công nghiệp

   

Trong các hệ thống IoT công nghiệp, việc truyền dữ liệu từ PLC, HMI, cảm biến và các thiết bị điều khiển lên hệ thống giám sát đóng vai trò quan trọng trong quá trình vận hành và quản lý sản xuất. Để thực hiện việc này, giao thức MQTT là một trong những giao thức truyền thông được sử dụng phổ biến nhờ khả năng truyền dữ liệu nhanh, tiết kiệm băng thông và kết nối nhiều thiết bị.

Giao thức MQTT là gì? Cách hoạt động trong IoT công nghiệp

Vậy giao thức MQTT là gì? MQTT truyền dữ liệu như thế nào trong IoT công nghiệp? Bài viết dưới đây sẽ giúp bạn hiểu rõ nguyên lý hoạt động, các thành phần chính của giao thức MQTT cũng như cách ứng dụng trong giám sát và thu thập dữ liệu từ thiết bị công nghiệp.

1. MQTT là gì?

MQTT (Message Queuing Telemetry Transport) là giao thức truyền thông được thiết kế để trao đổi dữ liệu giữa các thiết bị thông qua mạng TCP/IP. Giao thức MQTT có cấu trúc nhẹ, dễ triển khai vận hành, sử dụng ít tài nguyên nên đặc biệt phù hợp với các hệ thống IoT (Internet of Things) và IoT công nghiệp (Industrial Internet of Things).

Giao thức này hoạt động dựa trên mô hình Publish/Subscribe (Gửi và đăng ký nhận dữ liệu). Trong đó, dữ liệu từ thiết bị gửi (Publisher) được chuyển đến máy chủ trung gian (MQTT Broker), sau đó phân phối đến các thiết bị nhận (Subscriber).

Trong công nghiệp, giao thức MQTT được ứng dụng để truyền dữ liệu từ PLC, HMI, cảm biến và biến tần lên hệ thống SCADA hoặc MQTT Cloud, giúp giám sát thiết bị, thu thập dữ liệu sản xuất và quản lý máy móc từ xa.

Giao thức MQTT
Minh họa một hệ thống MQTT đơn giản

2. Cách MQTT truyền dữ liệu trong IoT công nghiệp

Giao thức MQTT hoạt động dựa trên mô hình Publish/Subscribe, bao gồm 4 thành phần chính cần chú ý: Broker, Publisher, Subscriber và Topic.

  • Broker: Máy chủ trung gian có nhiệm vụ tiếp nhận, xử lý và phân phối các gói tin dữ liệu đến của các thiết bị gửi và nhận. Tất cả các thiết bị gửi và nhận không thể trực tiếp giao tiếp với nhau mà đều phải thông qua Broker. Ngoài chức năng truyền dữ liệu, Broker còn có thể quản lý kết nối, xác thực thiết bị, phân quyền truy cập và hỗ trợ các mức đảm bảo chuyển giao thông điệp (QoS).
  • Publisher (Thiết bị gửi): Publisher là thiết bị hoặc ứng dụng có nhiệm vụ gửi dữ liệu lên Broker thông qua một Topic xác định. Trong công nghiệp, Publisher có thể là PLC hỗ trợ MQTT, IoT Gateway, HMI hoặc bộ điều khiển thu thập dữ liệu từ cảm biến.
  • Subscriber (Thiết bị nhận): Subscriber là thiết bị hoặc ứng dụng đăng ký một hoặc nhiều Topic để nhận dữ liệu từ Broker. Khi Publisher gửi thông điệp lên Topic phù hợp, Broker sẽ tự động chuyển dữ liệu đến các Subscriber đang đăng ký nhận.
  • Topic (Chủ đề truyền dữ liệu): Topic là tên chủ đề được sử dụng để phân loại và định tuyến thông điệp trong giao thức MQTT. Mỗi thông điệp do Publisher gửi đi đều gắn với một Topic cụ thể. Các Topic thường được tổ chức theo cấu trúc phân cấp, sử dụng dấu “/” để phân chia từng cấp (ví dụ: factory/motor1/temperature). Nhờ đó, người quản lý có thể dễ dàng phân loại dữ liệu theo nhà máy, dây chuyền, thiết bị hoặc thông số cần giám sát.

Tuy nhiên, một thiết bị có thể vừa đóng vai trò là Publisher vừa là Subscriber tùy theo trường hợp thiết bị đó đang gửi hay nhận dữ liệu. Giao thức MQTT không yêu cầu các thiết bị gửi và nhận phải kết nối trực tiếp với nhau mà đều phải thông qua Broker. Publisher chỉ cần gửi thông điệp lên Broker, còn Subscriber đăng ký Topic tương ứng để nhận dữ liệu. Cụ thể từng bước lần lượt như sau:

  • Bước 1 – Kết nối Broker: tất cả các thiết bị Publisher và Subscriber thiết lập kết nối với MQTT Broker thông qua mạng chẳng hạn Ethernet, Wi-Fi hoặc mạng di động. Lưu ý nếu thiết bị không kết nối với Broker thì không thể gửi hay nhận dữ liệu. 
  • Bước 2 – Đăng ký Topic: Sau khi kết nối thành công, Subscriber gửi yêu cầu Subscribe đến Broker để đăng ký những Topic mà thiết bị muốn theo dõi. Khi Topic có thông điệp mới, Broker sẽ chuyển dữ liệu đến Subscriber theo các quy tắc đăng ký và mức QoS tương ứng.
  • Bước 3 – Gửi dữ liệu: Publisher (Thiết bị gửi) đóng gói và gửi bản tin chứa dữ liệu lên Broker. Mỗi thông điệp thường có hai nội dung quan trọng: Topic (xác định chủ đề của thông điệp) và Payload (Chứa dữ liệu cần truyền, có thể là số, văn bản hoặc dữ liệu được mã hóa theo định dạng như JSON). 
  • Bước 4 – Phân phối dữ liệu: Sau khi nhận thông điệp, Broker kiểm tra Topic và xác định những Subscriber có đăng ký phù hợp. Broker sau đó chuyển thông điệp đến tất cả các Subscriber theo mức QoS và trạng thái kết nối. Publisher không cần biết có bao nhiêu thiết bị đang nhận dữ liệu hoặc địa chỉ cụ thể của từng thiết bị.
  • Bước 5 – Nhận và xử lý dữ liệu: Subscriber tiếp nhận dữ liệu để hiển thị, lưu trữ hoặc xử lý theo yêu cầu. Khi Publisher gửi giá trị mới, các Subscriber đang kết nối và đăng ký Topic phù hợp có thể tiếp tục nhận dữ liệu cập nhật mà không cần liên tục gửi yêu cầu đọc như trong mô hình truyền thông hỏi-đáp truyền thống.

Nhờ cơ chế Publish/Subscribe, giao thức MQTT cho phép nhiều thiết bị trao đổi dữ liệu linh hoạt, giảm sự phụ thuộc giữa thiết bị gửi và thiết bị nhận, đồng thời thuận tiện khi mở rộng hệ thống IoT công nghiệp.

Minh họa cơ chế hoạt động của giao thức MQTT QoS0
Minh họa cơ chế hoạt động của giao thức MQTT QoS0

3. Các thông số và cơ chế quan trọng trong giao thức MQTT

Để truyền dữ liệu ổn định và hiệu quả, MQTT sử dụng nhiều thông số và cơ chế nhằm quản lý thông điệp, kiểm soát kết nối và đảm bảo dữ liệu được chuyển đến đúng thiết bị. Trong đó, Payload, QoS, Retained Message và Last Will Message là những khái niệm quan trọng cần nắm rõ khi triển khai MQTT trong IoT công nghiệp. 

  • Payload: là phần nội dung dữ liệu được truyền trong thông điệp. Payload có thể chứa số, văn bản hoặc dữ liệu được biểu diễn dưới dạng JSON.
  • QoS (Quality of Service): là cơ chế xác định mức độ đảm bảo chuyển giao thông điệp giữa các thành phần trong hệ thống MQTT. Tùy theo yêu cầu về độ tin cậy và hiệu suất truyền dữ liệu, người dùng có thể lựa chọn một trong ba mức QoS.
Mức QoS

Đặc điểm

Ứng dụng

QoS 0 Gửi tối đa một lần, không yêu cầu xác nhận. Thông điệp có thể bị mất. Truyền nhiệt độ, độ ẩm hoặc dữ liệu cập nhật liên tục.
QoS 1 Đảm bảo gửi ít nhất một lần, có cơ chế xác nhận nhưng thông điệp có thể bị trùng. Truyền trạng thái máy, thông số vận hành và cảnh báo.
QoS 2 Đảm bảo chuyển giao thông điệp đúng một lần bằng cơ chế xác nhận nhiều bước. Trao đổi thông điệp cần hạn chế trùng lặp.

Trong công nghiệp, QoS 0 thường phù hợp với dữ liệu được cập nhật liên tục, trong khi QoS 1 được sử dụng khi cần tăng độ tin cậy của việc truyền thông điệp. QoS 2 có cơ chế xử lý phức tạp hơn nên cần cân nhắc khi sử dụng. Lưu ý, QoS chỉ đảm bảo việc chuyển giao thông điệp theo đúng cơ chế giao thức, không đồng nghĩa với việc PLC hoặc thiết bị đã thực hiện thành công lệnh điều khiển.

  • Retained Message – Lưu thông điệp mới nhất: Retained Message cho phép Broker lưu giữ thông điệp mới nhất được gửi với cờ Retain trên mỗi Topic. Khi một Subscriber mới đăng ký Topic phù hợp, Broker có thể gửi ngay thông điệp đã lưu mà không cần chờ Publisher gửi dữ liệu mới. Ví dụ, PLC gửi trạng thái động cơ RUN lên Topic factory/motor1/status với chế độ Retain. Khi hệ thống giám sát vừa kết nối và đăng ký Topic, Broker có thể gửi lại trạng thái RUN đã lưu. Cơ chế này giúp hệ thống nhanh chóng hiển thị trạng thái gần nhất của thiết bị. Tuy nhiên, dữ liệu Retained có thể đã cũ, vì vậy cần kết hợp thời gian cập nhật hoặc cơ chế kiểm tra trạng thái thực tế.
  • Last Will Message – Thông báo mất kết nối bất thường: Last Will and Testament (LWT) là cơ chế cho phép Client thiết lập trước một thông điệp để Broker gửi khi phát hiện Client mất kết nối bất thường. Ví dụ, một IoT Gateway đăng ký thông điệp LWT với nội dung OFFLINE tại Topic factory/gateway1/status. Nếu Gateway mất mạng hoặc ngừng hoạt động đột ngột và Broker phát hiện kết nối bị gián đoạn, Broker sẽ phát thông điệp OFFLINE theo cấu hình. Nhờ đó, hệ thống SCADA hoặc Cloud có thể nhận biết sự cố kết nối để cảnh báo cho người vận hành.

Bên cạnh đó, để tăng cường bảo mật trong hệ thống IoT công nghiệp, người dùng nên áp dụng các biện pháp như: xác thực thiết bị, mã hóa TLS, phân quyền Topic, kiểm soát truy cập mạng,… Việc cấu hình đúng các thông số và cơ chế trên giúp hệ thống hoạt động ổn định, giảm nguy cơ mất dữ liệu và tăng cường an toàn khi truyền thông tin giữa các thiết bị công nghiệp.

4. Ứng dụng MQTT trong công nghiệp

Giao thức MQTT được ứng dụng rộng rãi trong các hệ thống IoT công nghiệp (IIoT), giúp kết nối thiết bị sản xuất với hệ thống giám sát và quản lý từ xa. Một số ứng dụng phổ biến gồm:

Kết nối PLC và thiết bị công nghiệp với Cloud

Giao thức MQTT cho phép truyền dữ liệu từ PLC, HMI, cảm biến và biến tần lên nền tảng Cloud thông qua Broker. Với những thiết bị không hỗ trợ trực tiếp, có thể sử dụng IoT Gateway để chuyển đổi dữ liệu từ Modbus RTU hoặc Modbus TCP sang MQTT.

Giám sát máy móc và dây chuyền sản xuất

Giao thức này hỗ trợ truyền các thông số như nhiệt độ, dòng điện, tần số biến tần, trạng thái chạy/dừng và cảnh báo lỗi đến hệ thống SCADA hoặc Dashboard. Điều này giúp người vận hành giám sát nhiều thiết bị cùng lúc, nhanh chóng phát hiện bất thường và xử lý sự cố.

Quản lý sản xuất và giám sát OEE

MQTT được sử dụng để thu thập dữ liệu sản lượng, thời gian vận hành, thời gian dừng máy và số lượng sản phẩm lỗi từ các dây chuyền sản xuất. Dữ liệu được gửi đến hệ thống quản lý để tính toán OEE, đánh giá hiệu suất thiết bị và hỗ trợ tối ưu quy trình sản xuất.

Giám sát năng lượng và cảnh báo sự cố từ xa

Bên cạnh đó, giao thức MQTT giúp truyền dữ liệu điện áp, dòng điện, công suất và điện năng tiêu thụ từ thiết bị đo đến hệ thống giám sát. Khi phát hiện nhiệt độ vượt ngưỡng, áp suất bất thường hoặc lỗi thiết bị, hệ thống có thể gửi cảnh báo qua MQTT để người vận hành kịp thời kiểm tra và xử lý.

Ứng dụng của hệ thống MQTT

 

 

CLOSE
Đóng