MQTT là gì?

13/07/2023 Đăng bởi: Aucontech HMS Network VN

Giao thức MQTT - Message Queuing Telemetry Transport

MQTT là một giao thức tin nhắn dành cho các mạng bị hạn chế (băng thông thấp) và các thiết bị IoT có độ trễ cực cao. Bởi do giao thức MQTT chuyên về các môi trường băng thông thấp, độ trễ cao, nên đây là một giao thức lý tưởng cho việc giao tiếp giữa máy và máy (M2M). MQTT được sử dụng trong IoT và IIoT cho đến khi kết nối môi trường đám mây.

MQTT - Broker là gì?

MQTT-Broker là trung tâm của mọi giao thức Publish / Subscribe (Xuất bản / Đăng ký). Tùy thuộc vào việc triển khai, một broker có thể quản lý hàng nghìn MQTT clients (máy MQTT khách) được kết nối đồng thời. Broker chịu trách nhiệm nhận tất cả tin nhắn, lọc tin nhắn, xác định ai đã subcribed từng tin nhắn và gửi tin nhắn đến những khách hàng đã subcribed đó.

Broker cũng nắm giữ các phiên của tất cả các khách hàng lâu dài, bao gồm cả các lượt đăng ký và tin nhắn bị bỏ lỡ. Một nhiệm vụ khác của Broker là xác thực và ủy quyền cho khách hàng. Thông thường Broker có thể mở rộng, điều này tạo điều kiện thuận lợi cho việc xác thực tùy chỉnh, ủy quyền và tích hợp với các hệ thống phụ trợ.

Tóm lại, Broker là Hub trung tâm mà thông qua đó mọi thông điệp phải được định tuyến. 

Ứng dụng của MQTT trong IoT (Internet of Things) và IIoT (Industrial Internet of Things)

Với MQTT, các thiết bị IoT với tài nguyên hạn chế có thể gửi hoặc publish thông tin về một Topic (chủ đề) cụ thể tới MQTT Broket, trong trường hợp này chính là máy chủ server. Sau đó, Broker sẽ truyền thông tin đến những MQTT clients mà trước đó đã đăng ký chủ đề của khách hàng. Với chúng ta, một Topic trông giống như một đường dẫn tệp phân cấp. Clients có thể đăng ký một cấp phân cấp cụ thể của một chủ đề hoặc sử dụng ký tự đại diện để đăng ký nhiều cấp.
Giao thức MQTT là một lựa chọn tốt cho các mạng không dây có độ trễ thay đổi do giới hạn băng thông không thường xuyên hoặc kết nối không đáng tin cậy. Nếu kết nối từ một Client đến một Broker bị gián đoạn, Broker sẽ đệm các tin nhắn và gửi chúng đến người đăng ký khi người đăng ký online trở lại. Nếu kết nối từ Publishing Client đến Broker bị ngắt kết nối mà không có thông báo, Broker có thể ngắt kết nối và gửi cho Subcriber một tin nhắn đã lưu trong bộ nhớ cache kèm theo hướng dẫn từ Publisher.

Khi nào thì chúng ta nên  dùng MQTT?

Với MQTT, dữ liệu được gửi từ một số lượng lớn máy đến một đích duy nhất - dự liệu đám mây - nơi dữ liệu có thể được phân tích, diễn giải và chuyển tiếp.

Đám mây sẽ làm chủ một MQTT Broker - một trung gian giữa máy với các máy khác và / hoặc con người. Và đây là một điểm khác biệt quan trọng, vì các máy không giao tiếp trực tiếp với nhau mà phải thông qua Broker.
MQTT sử dụng khái niệm “Topic” (chủ đề) để tổ chức dữ liệu của mình và mô hình Publish / Subcribe (xuất bản / đăng ký) để truyền đạt chủ đề cho các bên khác thông qua đám mây.
Ví dụ: một hệ thống điều hòa không khí gửi (hoặc xuất bản) dữ liệu về "sức khỏe" của máy nén lên đám mây. Tất cả các bên quan tâm với thông tin xác thực đã được phê duyệt - máy hoặc con người - có thể đăng ký chủ đề này để nhận thông tin.
Người đăng ký có thể là kỹ sư bảo trì (con người), hệ thống mua sắm bộ phận (phần mềm / máy móc) hoặc hệ thống lập kế hoạch bảo trì (phần mềm / máy móc).

zalo