MQTT là gì? Vai trò của MQTT trong IoT

Chúng tôi vui mừng chia sẻ kiến thức về từ khóa Mqtt la gi để tối ưu hóa nội dung trang web và chiến dịch tiếp thị trực tuyến. Bài viết cung cấp phương pháp tìm kiếm, phân tích và lựa chọn từ khóa phù hợp, cùng với chiến lược và công cụ hữu ích. Hy vọng thông tin này sẽ giúp bạn xây dựng chiến lược thành công và thu hút lưu lượng người dùng. Cảm ơn sự quan tâm và hãy tiếp tục theo dõi blog để cập nhật kiến thức mới nhất.

Internet of Things (viết tắt là IoT) là một kịch bản của thế giới, khi mà mỗi đồ vật, con người được qua một mạng duy nhất mà không cần tới việc tương tác trực tiếp giữa người với những người, hay người với máy tính. IoT đã phát triển từ sự quy tụ của công nghệ không dây, công nghệ vi cơ điện tử và Internet. Nói đơn giản là một tập hợp các thiết bị có khả năng kết nối với nhau, với Internet và với thế giới bên phía ngoài để thực hiện một công việc nào đó.

Bạn Đang Xem: MQTT là gì? Vai trò của MQTT trong IoT

Thời đại IoT yêu cầu một giao thức kết nối mới để đảm bảo tương trợ đầy đủ cho những thiết bị vật lý thực tế. Để giải quyết và xử lý vấn đề này, Message Queuing Telemetry Transport (MQTT) đang dần trở thành phổ thông.

Khái niệm

  • MQTT (Message Queuing Telemetry Transport) là giao thức truyền thông điệp (message) theo mô hình publish/subscribe (cung cấp / thuê bao), được sử dụng cho những thiết bị IoT với băng thông thấp, độ tin cậy cao và khả năng được sử dụng trong mạng lưới không ổn định. Nó dựa trên một Broker (tạm dịch là “Sever môi giới”) “nhẹ” (khá ít xử lý) và được thiết kế có tính mở (tức là không đặc trưng cho ứng dụng cụ thể nào), đơn giản và dễ cấu hình thiết lập.

  • MQTT là lựa chọn lý tưởng trong các môi trường tự nhiên như:

    • Những nơi mà giá mạng viễn thông đắt đỏ hoặc băng thông thấp hay thiếu tin cậy.

    • Xem Thêm : Mã bưu chính – Postal code – Mã thư tín là gì, dùng để làm gì?

      Khi chạy trên thiết bị nhúng bị giới hạn về tài nguyên tốc độ và bộ nhớ.

    • Bởi vì giao thức này sử dụng băng thông thấp trong môi trường tự nhiên có độ trễ cao nên nó là một giao thức lý tưởng cho những ứng dụng M2M (Machine to Machine).

      MQTT cũng là giao thức được sử dụng trong Facebook Messenger

Lịch sử hào hùng hình thành

  • MQTT được phát minh bởi Andy Stanford – Clark (IBM) và Arlen Nipper (EUROTECH) trong thời gian cuối năm 1999 khi mà nhiệm vụ của họ là tạo ra một giao thức sao cho việc tổn hao năng lượng và băng thông là thấp nhất để kết nối đến đường ống dẫn dầu thông qua sự kết nối của vệ tinh.
  • Năm 2011, IBM và Eurotech đã trao lại MQTT cho một dự án của Eclipse mang tên là Paho.
  • Năm 2013 MQTT đã được đệ trình lên OASIS (Organization for the Advancement of Structured Information Standards) để chuẩn hóa.

H1

Vị trí của MQTT trong mô hình IoT

Một số ưu điểm nổi trội của MQTT như: băng thông thấp, độ tin cậy cao và có thể sử dụng ngay cả những lúc mạng lưới hệ thống mạng không ổn định, tốn rất ít byte cho việc kết nối với server và connection có thể giữ trạng thái open xuyên thấu, có thể kết nối nhiều thiết bị (MQTT client) thông qua một MQTT server (broker). Bởi vì giao thức này sử dụng băng thông thấp trong môi trường tự nhiên có độ trễ cao nên nó là một giao thức lý tưởng cho những ứng dụng IoT.

Tính năng, đặc điểm nổi trội

  • Dạng truyền thông điệp theo mô hình Pub/Sub cung cấp việc truyền tin phân tán một chiều, tách biệt với phần ứng dụng.
  • Việc truyền thông điệp là ngay tức tốc, không quan tâm đến nội dung được truyền.
  • Sử dụng TCP/IP là giao thức nền.
  • Tồn tại ba mức độ tin cậy cho việc truyền tài liệu (QoS: Quality of service)
    • QoS 0: Broker/client sẽ gửi tài liệu đúng một lần, quá trình gửi được xác nhận bởi chỉ giao thức TCP/IP.
    • QoS 1: Broker/client sẽ gửi tài liệu với ít nhất một lần xác nhận từ trên đầu kia, tức thị có thể có nhiều hơn 1 lần xác nhận đã nhận được được tài liệu.
    • QoS 2: Broker/client đảm bảo khi gửi tài liệu thì phía nhận chỉ nhận được đúng một lần, quá trình này phải trải qua 4 bước bắt tay.
  • Phần phủ quanh tài liệu truyền nhỏ và được giảm đến mức tối thiểu để giảm tải cho đường truyền.

Ưu điểm của MQTT

Với những tính năng, đặc điểm nổi trội trên, MQTT mang lại nhiều lợi ích nhất là trong mạng lưới hệ thống SCADA (Supervisory Control And Data Acquisition) khi truy cập tài liệu IoT.

  • Truyền thông tin hiệu quả hơn.
  • Tăng khả năng mở rộng.
  • Giảm đáng kể tiêu thụ băng thông mạng.
  • Rất phù hợp cho tinh chỉnh và trinh sát.
  • Tối đa hóa băng thông có sẵn.
  • túi tiền thấp.
  • Rất an toàn, bảo mật thông tin.
  • Được sử dụng trong các ngành công nghiệp dầu khí, các tập đoàn lớn như Amazon, Facebook, ….
  • Tiết kiệm ngân sách và chi phí thời kì phát triển.
  • Giao thức publish/subscribe thu thập nhiều tài liệu hơn và tốn ít băng thông hơn so với giao thức cũ.

Mô hình Pub/Sub

1. Thành phần

  • Client
    • Publisher – Nơi gửi thông điệp
    • Subscriber – Nơi nhận thông điệp
  • Broker – Sever môi giới

Trong số đó Broker được xem như như trung tâm, nó là điều giao của tất cả những kết nối tới từ Client (Publisher/Subscriber). Nhiệm vụ chính của Broker là nhận thông điệp (message) từ Publisher, xếp vào hàng đợi rồi chuyển đến một địa điểm cụ thể. Nhiệm vụ phụ của Broker là nó có thể đảm nhận thêm một vài tính năng liên quan tới quá trình truyền thông như: bảo mật thông tin message, lưu trữ message, logs, ….

Xem Thêm : Lí thuyết trật tự phân hạng (Pecking Order Theory) là gì?

Client thì được chia thành hai nhóm là Publisher và Subscriber. Client chỉ làm ít nhất một trong 2 việc là publish các thông điệp (message) lên một/nhiều topic cụ thể hoặc subscribe một/nhiều topic nào đó để nhận message từ topic này.

H3

MQTT Clients tương thích với hồ hết các nền tảng hệ điều hành hiện có: MAC OS, Windows, Linux, Android, iOS, ….

2. Ưu điểm

  • Kết nối riêng rẽ, độc lập.
  • Khả năng mở rộng.
  • Thời kì tách biệt (Time decoupling).
  • Đồng bộ riêng rẽ (Synchronization decoupling).

3. Nhược điểm

  • Sever môi giới (Broker) không cần thông tin về trạng thái gửi thông điệp. Do đó không có cách nào để phát hiện xem thông điệp đã gửi đúng hay chưa.
  • Publisher không hề biết gì về trạng thái của subscribe và trái lại. Vậy làm thế nào tất cả chúng ta có thể đảm bảo mọi thứ đều ổn.
  • Những kẻ xấu (Malicious Publisher) có thể gửi những thông điệp xấu, và các Subscriber sẽ truy cập vào những thứ mà người ta không nên nhận.

Cơ chế hoạt động của MQTT theo mô hình Pub/Sub

1. Tính chất và những đặc điểm riêng

  • Tính chất:
    • Space decoupling (Không gian tách biệt)
    • Time decoupling (Thời kì tách biệt)
    • Synchronization decoupling (Sự đồng bộ riêng rẽ)
  • Đặc điểm riêng:
    • MQTT sử dụng cơ chế lọc thông điệp dựa vào tiêu đề (subject-based)
    • MQTT có một tầng gọi là chất lượng sản phẩm dịch vụ (Quality of Services – QoS). Nó hỗ trợ cho dễ dàng nhận mặt được là message đã chiếm hữu truyền thành công hay là không.

2. Cơ chế tổng quan

H4

  • MQTT hoạt động theo cơ chế client/server, nơi mà mỗi cảm ứng là một khách hàng (client) và kết nối đến một sever, có thể hiểu như một Sever môi giới (broker), thông qua giao thức TCP (Transmission Control Protocol). Broker chịu trách nhiệm điều phối tất cả những thông điệp giữa phía gửi đến đúng phía nhận.
  • MQTT là giao thức định hướng bản tin. Mỗi bản tin là một đoạn rời rạc của tín hiệu và broker không thể nhìn thấy. Mỗi bản tin được publish một địa chỉ, có thể hiểu như một kênh (Topic). Client đăng kí vào trong 1 vài kênh để nhận/gửi tài liệu, gọi là subscribe. Client có thể subscribe vào nhiều kênh. Mỗi client sẽ nhận được tài liệu khi bất kỳ trạm nào khác gửi tài liệu vào kênh đã đăng ký. Khi một client gửi một bản tin đến một kênh nào đó gọi là publish.

3. Kiến trúc thành phần

H5

  • Thành phần chính của MQTT là Client (Publisher/Subscriber), Server (Broker), Sessions (tạm dịch là Phiên thao tác), Subscriptions và Topics.
  • MQTT Client (Publisher/Subscriber): Clients sẽ subscribe một hoặc nhiều topics để gửi và nhận thông điệp từ những topic tương ứng.
  • MQTT Server (Broker): Broker nhận những thông tin subscribe (Subscriptions) từ client, nhận thông điệp, chuyển những thông điệp tới những Subscriber tương ứng dựa trên Subscriptions từ client.
  • Topic: Có thể coi Topic là một hàng đợi các thông điệp, và có sẵn khuôn mẫu giành cho Subscriber hoặc Publisher. Một cách logic thì những topic được cho phép Client trao đổi thông tin với những ngữ nghĩa đã được khái niệm sẵn. Ví dụ: Tài liệu cảm ứng nhiệt độ của một tòa nhà.
  • Session: Một session được khái niệm là kết nối từ client đến server. Tất cả những giao tiếp giữa client và server đều là một phần của session.
  • Subscription: Không phải như session, subscription về mặt logic là kết nối từ client đến topic. Khi đã subscribe một topic, Client có thể nhận/gửi thông điệp (message) với topic đó.

MQTT là giao thức gọn nhẹ được thiết kế chủ yếu để kết nối các thiết bị bị hạn chế nguồn trên các mạng băng thông thấp. Mặc dù nó đã tồn tại trong hơn một thập kỷ nhưng chỉ khi có sự ra đời của M2M (máy để truyền thông máy) và Internet of Things (IoT) mới làm cho nó trở thành một giao thức phổ thông.

Cảm ơn các bạn đã theo dõi nội dung bài viết của mình, ở nội dung bài viết tiếp theo, mình sẽ hướng dẫn các bạn Tìm hiểu và cấu hình thiết lập MQTT broker Mosquitto – một MQTT broker nhỏ, nhẹ thường được sử dụng, các bạn cùng đón xem nhé ))

You May Also Like

About the Author: v1000