Tìm Hiểu Về MQTT Mosquitto Broker Và Cách Cài đặt - Viblo
Có thể bạn quan tâm
Ở bài biết trước, mình đã giới thiếu đến các bạn về giao thức MQTT - một giao thức kết nối có ý nghĩa quan trọng trong môi trường IoT. MQTT có cơ chế hoạt động theo mô hình Pub/Sub, gồm 2 thành phần chính: MQTT client (Publisher/Subscriber) và MQTT broker (máy chủ mô giới). Chi tiết mời các bạn đọc thêm tại đây.
Có rất nhiều loại MQTT broker khác nhau, được viết bằng nhiều loại ngôn ngữ lập trình khác nhau. Trong bài viết này, mình sẽ giới thiệu đến các bạn một MQTT broker khá phổ biến là Mosquitto, cũng như cách cài đặt của nó trên Ubuntu.
Mosquitto và ưu/nhược điểm của nóMosquitto là một MQTT Broker mã nguồn mở cho phép thiết bị truyền nhận dữ liệu theo giao thức MQTT version 5.0, 3.1.1 và 3.1 – Một giao thức nhanh, nhẹ theo mô hình publish/subscribe được sử dụng rất nhiều trong lĩnh vực Internet of Things. Mosquitto cung cấp một thư viện viết bằng ngôn ngữ C để triển khai các MQTT Client và có thể dễ dàng sử dụng bằng dòng lệnh: “mosquitto_pub” và “mosquitto_sub”. Ngoài ra, Mosquitto cũng là một phần của Eclipse Foundation, là dự án iot.eclipse.org và được tài trợ bởi cedalo.com
-
Ưu điểm:
- Ưu điểm nổi bật của Mosquitto là tốc độ truyền nhận và xử lí dữ liệu nhanh, độ ổn định cao, được sử dụng rộng rãi và phù hợp với những ứng dụng embedded.
- Mosquitto rất nhẹ và phù hợp để sử dụng trên tất cả các thiết bị.
- Ngoài ra, Mosquitto cũng được hỗ trợ các giao thức TLS/SSL (các giao thức nhằm xác thực server và client, mã hóa các message để bảo mật dữ liệu).
-
Nhược điểm:
- Một số nhược điểm của mosquitto là khó thiết kế khi làm những ứng dụng lớn và ít phương thức xác thực thiết bị nên khả năng bảo mật vẫn chưa tối ưu.
Để cài đặt một MQTT server sử dụng Mosquiito broker với Ubuntu, trước hết chúng ta sẽ cần một server Ubuntu có quyền truy cập root và một cổng TCP:1883 được mở trên firewall.
Cài đặt Mosquitto broker
- Với Ubuntu 16.04 trở lên, ta thực hiện theo các bước sau:
- Với các phiên bản Ubuntu < 16.04, ta thực hiện:
Service Mosquitto sẽ được start ngay sau khi cài đặt và các message được gửi đến qua port 1883.

Cài đặt Mosquitto client và test Mosquitto broker
- Cài đặt mosquitto client
Mosquitto clients sẽ giúp chúng ta dễ dàng kiểm tra hoạt động của một MQTT broker Mosquito thông qua dòng lệnh. Chúng ta sẽ thực hiện test Publish và Subcribe đến Mosquitto broker vừa được cài đặt. Chúng ta sẽ sử dụng 2 cửa sổ dòng lệnh, một để thực hiện publish message đến broker, một để thực hiện subclribe message từ broker.
Một topic được broker sử dụng như là các nhãn để lọc message cho từng client kết nối đến broker. Một client subcribe một topic nào sẽ chỉ nhận được các message được các client khác publish vào đúng topic đó.
- Ở một cửa sổ dòng lệnh, chúng ta sẽ thực hiện subcribe đến một topic test như sau:
Option -t sẽ theo sau là tên một topic.
- Ở một cửa sổ dòng lệnh khác, chúng ta sẽ thực hiện publish một vài message cho chủ để test
Option -m được thêm vào ở đây sẽ theo sau là 1 message được publish đến broker theo topic.
- Ở phía cửa sổ dòng lệnh thực hiện subcribe topic, chúng ta sẽ thấy được các message:

Như vậy, nếu có kết quả tương tự như trên, chúng ta đã hoàn thành việc cài đặt và kiểm tra một MQTT broker Mossquitto rồi 
Mosquitto còn cung cấp một cơ chế đặt password để bảo mật cho broker server với mosquitto_passwd
sudo mosquitto_passwd -c /etc/mosquitto/passwd mqtt_user_name Password: mqtt_passwordTiếp đó chúng ta sẽ tạo một file config cho mossquitto để trỏ đến file password mà chúng ta vừa tạo với nội dung như sau:
allow_anonymous false password_file /etc/mosquitto/passwdĐể hoàn thành đặt password, chúng ta thực hiện resatrt service mosquitto:
sudo systemctl restart mosquittoSau khi đặt user, password, từ client muốn publish hoặc subcribe đến Mosquitto broker, chúng ta sẽ phải thông qua khai báo user và password như sau:
mosquitto_sub -t "test" -u "mqtt_user_name" -P "mqtt_password" mosquitto_pub -m "Hello! Viblo" -t "test" -u "mqtt_user_name" -P "mqtt_password" Tổng kếtTrên đây là hướng dẫn cài đặt một MQTT broker mosquitto đơn giản với các config mặc định sẵn có. Để biết thêm về các option và co fig của mosquitto, hãy tham khảo thêm tại đây.
Ngoài ra, còn nhiều các MQTT broker khác, khi có nhu cầu sử dụng, chúng ta hãy căn cứ vào yêu cầu ứng dụng để lựa chọn cho phù hợp.
Từ khóa » Cài đặt Mqtt
-
Hướng Dẫn Cài đặt Broker Mosquitto Trên Windows - TAPIT
-
Hướng Dẫn Cài đặt Mosquitto MQTT Broker Trên Hassbian/Raspbian
-
Tải Và Cài đặt MQTT Broker Mosquitto - Automation
-
Cài đặt Local MQTT Broker Trên Windows #1 - YouTube
-
Cài đặt Và Bảo Mật Mosquitto MQTT Broker Trên Linux
-
Cài đặt Mosquitto Broker Cho Hassio - Nhà Thông Minh HASS DIY
-
Cách Cài đặt Và Bảo Mật Message Broker MQTT Mosquitto Trên ...
-
Cách Cài đặt Và Bảo Mật Mosquitto MQTT Messaging ...
-
Hướng Dẫn Cách Setup MQTT-Broker Trên Raspbery-Pi
-
Cài đặt Một MQTT Broker đơn Giản Sử Dụng Mosca Và MQTTnet
-
Hướng Dẫn Cài đặt Mosquitto MQTT Trên CentOS 7 - Tài Liệu 123Host
-
MQTT Broker Và MQTT Client - ESP32 - DevIOT
-
Cách Cài đặt Và Bảo Mật Mosquitto MQTT Messaging Broker Trên ...