GIAO THỨC MQTT TRONG IOT LÀ GÌ? NHỮNG ỨNG DỤNG CỦA MQTT NHƯ THẾ NÀO?

     

Home » Digital Transformation » Giao thức MQTT là gì? Các khái niệm liên quan đến giao thức MQTT trong IoT


*

Sở hữu những tính năng mạnh mẽ, MQTT đã trở thành giao thức được người dùng sử dụng phổ biến hiện nay. Vậy giao thức MQTT là gì? Tính năng giao thức MQTT như thế nào? Hãy cùng thanhphodong.vn Group tìm hiểu qua bài viết dưới đây nhé!

Giao thức MQTT là gì?

Định nghĩa

MQTT là từ viết tắt của cụm Message Queuing Telemetry Transport (tạm dịch: giao thức truyền thông điệp. Đây là một trong những giải pháp tiêu chuẩn của IoT (Internet of Things) vì quá trình truyền tải của MQTT rất nhẹ, độ chính xác cao và khả năng kết nối băng thông hiệu quả. MQTT còn được hiểu là một giao thức nhắn tin thông minh và đơn giản, được tạo ra nhằm phục vụ cho các thiết bị hạn chế về băng thông.


*

Nhiệm vụ của giao thức MQTT là hỗ trợ người dùng đọc, xuất bản dữ liệu. Bên cạnh đó, giao thức này còn giúp bạn gửi lệnh để điều khiển từ xa. Những hoạt động này đều thông qua nút cảm biến và một số tính năng khác. Nhiều người cho rằng MQTT là phương tiện để các thiết bị giao tiếp với nhau dễ dàng hơn.

Lịch sử hình thành

MQTT chính thức ra đời vào cuối những năm 1990. Giao thức này được phát minh bởi hai kỹ sư tài năng – Andy Stanford-Clark và Arlen Nipper. Nhiệm vụ của MQTT là “phương tiện” giao tiếp giữa hai thiết bị. Điển hình là đường ống dầu khí và SCADA (hệ thống giám sát và thu thập dữ liệu).

Trước khi MQTT xuất hiện, các thiết bị này không thể giao tiếp với nhau. Bởi vì chúng chỉ sử dụng các giao thức độc quyền, riêng biệt. Nhờ MQTT, vấn đề này đã được khắc phục nhanh chóng. Ngoài ra, điểm mạnh của giao thức này là: nhẹ, băng thông tối thiểu, dễ triển khai, cung cấp dữ liệu chất lượng,… Do đó, MQTT đã được ứng dụng mạnh mẽ hơn.

Bạn đang xem: Giao thức mqtt trong iot là gì? những ứng dụng của mqtt như thế nào?


*

Thành phần và cách thức hoạt động của MQTT

Thành phần
MQTT broker: Là thành phần được tạo ra dưới dạng mã nguồn mở. Một số MQTT broker có hỗ trợ dịch vụ điện toán đám mây. Chức năng của thành phần này là sàng lọc tin nhắn theo kênh. Kế đó, chúng đưa các tin nhắn này đến thiết bị hoặc ứng dụng đã đăng ký kênh ấy. MQTT client: Thành phần này được nối kết với broker để truyền và nhận dữ liệu. Trong đó, client gửi dữ liệu được gọi là publisher, client đăng ký nhận dữ liệu là subscriber Topic: Là chủ đề hay kênh được quản lý bởi broker và được trao đổi bởi các client với nhau
Cách thức hoạt động
Broker: Được xem là tâm điểm giữa của mọi kết nối đến tất cả client. Broker đảm nhiệm vai trò nhận tin nhắn, thông điệp được truyền tải từ publisher. Sau đó, thành phần này sẽ sắp xếp lại chúng và chuyển đến các subscriber nhất định. Client: Công việc của client là xuất bản hoặc đăng ký nhiều kênh khác nhau Publisher: Có chức năng truyền tải thông điệp, tin nhắn đến bất kỳ kênh nào Subscriber: Có chức năng nhận thông điệp, tin nhắn từ những kênh đã đăng ký. Tuy nhiên, thành phần này chỉ có thể nhận dữ liệu từ publisher khi đã đăng ký chính xác kênh tương ứng.
*

Một số khái niệm liên quan đến MQTT

MQTT – Publish/Subscribe (Xuất bản/Đăng ký)

Khi giao thức MQTT hoạt động, những MQTT client (hay còn được gọi là node trạm) sẽ kết nối với một broker (MQTT server). Các node trạm sẽ đăng ký với một vài kênh (Topic). Chẳng hạn như: “/client1/channel1”, “/client2/channel2”. Hoạt động này được gọi là Subscribe (Đăng ký). Bạn có thể hình dung quá trình này tương tự như việc bạn đăng ký một kênh trên Youtube.

Khi ấy, những dữ liệu và kênh đã Subscribe sẽ được gửi đến mỗi client thông qua các note trạm. Quá trình client gửi dữ liệu đến một kênh gọi là Publish (Xuất bản).

Xem thêm: Cách Chia Đôi Màn Hình Samsung J2 Prime, Tính Năng Đa Cửa Sổ Trên Điện Thoại Samsung Là Gì

MQTT – Message (Tin nhắn)

Tin nhắn trong giao thức MQTT được định dạng theo kiểu plain-text. Tuy nhiên, người dùng có thể tùy chỉnh tin nhắn thành các định dạng khác. Message là những thông tin trao đổi giữa các thiết bị của bạn. Chúng có thể là lệnh hoặc dữ liệu.

MQTT – Topic (Kênh)

Chủ đề là một trong những khái niệm quan trọng trong giao thức MQTT. Cúng được xem là “sợi dây nối kết” giữa Publish (xuất bản) và Subscribe (đăng ký). Nếu một tin nhắn được xuất bản trong một kênh, những người đăng ký kênh ấy sẽ nhận được tin nhắn này.

Xem thêm: Bật Mí Ý Nghĩa Số 66 Có Ý Nghĩa Gì ? Nằm Mơ Thấy Con Gì Đánh

Những kênh này trình bày theo dạng chuỗi và phân tách với nhau bởi dấu gạch chéo (/). Trong đó, mỗi dấu gạch chéo biểu thị một cấp độ của kênh. Điển hình như việc bạn tạo kênh cho tivi trong văn phòng tại nhà của mình: home/office/tivi.


*

Bạn cần lưu ý, những kênh này có sự phân biệt giữa chữ hoa và chữ thường. Chẳng hạn như: home/office/tivi sẽ khác với home/office/Tivi. Bên cạnh đó, thông qua giao thức MQTT, bạn có thể khai báo các kênh cấp bách.

Ví dụ bạn sử dụng hệ thống cảm biến đo thông tin môi trường trong nhà. Tùy theo số lượng căn phòng trong ngôi nhà của bạn sẽ có bộ cảm biến môi trường riêng. Vậy, kênh truyền tải thông tin môi trường trong nhà bạn sẽ được khai báo như sau:


home/bedroom/temperature: kênh thông tin về độ ẩm trong phòng ngủ

home/living-room/humidity: kênh thông tin về độ ẩm trong phòng khách


MQTT – QoS

QoS là từ viết của cụm Qualities of Service (tạm dịch: chất lượng dịch vụ). Người dùng có 3 lựa chọn khi Publish và Subscribe:


QoS0: Broker và client sẽ gửi dữ liệu duy nhất 1 lần dựa trên giao thức TCP/IP. QoS1: Broker và client được phép gửi dữ liệu tối thiểu 1 lần và nhận xác nhận từ đầu kia QoS2: Broker và client gửi dữ liệu và đầu bên kia chỉ nhận đúng 1 lần. Hoạt động này thông qua 4 bước bắt tay.

MQTT – Retain

Trong giao thức MQTT, retain đóng vai trò là flag (lá cờ) gắn cho một tin nhắn. Bên cạnh đó, retain chỉ nhận những giá trị là 0 hoặc 1 (tương tự như giá trị false hoặc true). Trong đó, nếu retain là 1, broker sẽ giữ lại tin nhắn cuối cùng của 1 kênh kèm theo QoS tương ứng. Client sẽ nhận được tin nhắn ấy khi đăng ký vào kênh chứa tin nhắn được lưu lại.


MQTT – Bridge

Đây là một tính năng quan trọng của MQTT broker. Chúng có vai trò giúp MQTT broker kết nối và trao đổi dữ liệu với nhau. Tính năng này chỉ được thực hiện khi có ít nhất 2 broker. Trong đó, có một broker sẽ biến đổi thành bridge với những thông số sau:


Address: Tên địa chỉ broker cần kết nối Bridge_protocol_version: Phiên bản mới của MQTT được sử dụng cho 2 broker Topic: Bao gồm: tên topic được trao đổi giữa 2 broker, chiều trao đổi và topic mapping giữa 2 broker