Hướng dẫn kết nối ESP32 với Cloud MQTT để gửi và nhận dữ liệu IoT
Trung cấp5/3/2024

Hướng dẫn kết nối ESP32 với Cloud MQTT để gửi và nhận dữ liệu IoT

Gửi và nhận dữ liệu qua giao thức MQTT với broker Mosquitto

MQTTIoTESP32Mosquitto
567 lượt thích834 người đã làm5 phút5 bước3 linh kiện
← Quay lại dự án
Hướng dẫn chi tiết

Phần 2: Cài đặt broker Mosquitto trên Cloud

1. Giới thiệu về Mosquitto - Tại sao chọn Mosquitto làm broker, 2. Chọn nền tảng Cloud - So sánh và hướng dẫn cài đặt trên các nền tảng như AWS, Azure hoặc DigitalOcean, 3. Hướng dẫn cài đặt Mosquitto - Bước từng bước để cài đặt Mosquitto trên nền tảng đã chọn, 4. Cấu hình Mosquitto - Cách cấu hình các tập tin cấu hình cho Mosquitto, 5. Kiểm tra kết nối - Hướng dẫn kiểm tra broker hoạt động và có thể nhận dữ liệu.

Cập nhật 31/05/2026

1. Giới thiệu về Mosquitto

Mosquitto là một broker MQTT mã nguồn mở rất phổ biến, được thiết kế để cung cấp giải pháp giao tiếp nhẹ giữa các thiết bị IoT. Nó hỗ trợ giao thức MQTT 3.1 và 3.1.1, cho phép gửi và nhận dữ liệu hiệu quả trên các mạng không ổn định.

Tại sao chọn Mosquitto làm broker? Dưới đây là một số lý do:

  • Nhẹ và hiệu quả: Mosquitto tiêu tốn ít tài nguyên, phù hợp cho các thiết bị IoT có cấu hình thấp.
  • Đơn giản để cài đặt: Mosquitto dễ dàng cài đặt trên nhiều nền tảng khác nhau.
  • Hỗ trợ nhiều tính năng: Bao gồm bảo mật TLS/SSL, xác thực người dùng, và khả năng mở rộng tốt.

2. Chọn nền tảng Cloud

Khi cài đặt Mosquitto, bạn có thể chọn nhiều nền tảng Cloud như AWS, Azure hoặc DigitalOcean. Dưới đây là so sánh giữa các nền tảng này:

  • AWS: Cung cấp tính năng linh hoạt và khả năng mở rộng tốt, nhưng có thể phức tạp cho người mới bắt đầu.
  • Azure: Dễ dàng tích hợp với các dịch vụ khác của Microsoft, nhưng có thể có chi phí cao hơn.
  • DigitalOcean: Đơn giản và tiết kiệm chi phí, phù hợp cho các dự án nhỏ và vừa.

Trong bài viết này, chúng ta sẽ cài đặt Mosquitto trên DigitalOcean vì tính đơn giản và chi phí hợp lý.

3. Hướng dẫn cài đặt Mosquitto

Để cài đặt Mosquitto trên DigitalOcean, bạn cần thực hiện các bước sau:

  1. Tạo tài khoản DigitalOcean: Nếu bạn chưa có tài khoản, hãy truy cập DigitalOcean và đăng ký.
  2. Tạo Droplet: Sau khi đăng nhập, chọn "Create" > "Droplets". Chọn hệ điều hành Ubuntu (phiên bản mới nhất) và cấu hình Droplet theo nhu cầu của bạn.
  3. SSH vào Droplet: Sử dụng terminal (hoặc PuTTY trên Windows) để SSH vào Droplet của bạn:
  4. ssh root@your_droplet_ip

4. Cấu hình Mosquitto

Sau khi đăng nhập vào Droplet, bạn cần cài đặt Mosquitto:

sudo apt update
sudo apt install mosquitto mosquitto-clients

Để Mosquitto tự động khởi động cùng hệ thống, chạy lệnh sau:

sudo systemctl enable mosquitto

Tiếp theo, bạn cần cấu hình Mosquitto. Mở tập tin cấu hình:

sudo nano /etc/mosquitto/mosquitto.conf

Thêm vào các dòng sau để cho phép kết nối từ xa:

listener 1883
allow_anonymous true

Lưu và thoát bằng cách nhấn CTRL + X, sau đó nhấn YEnter.

Khởi động lại dịch vụ Mosquitto để áp dụng các thay đổi:

sudo systemctl restart mosquitto

5. Kiểm tra kết nối

Để kiểm tra xem Mosquitto đã hoạt động hay chưa, bạn có thể sử dụng các lệnh sau:

  1. Mở một terminal mới và kết nối đến broker:
  2. mosquitto_sub -h your_droplet_ip -t test/topic
  3. Trong terminal khác, gửi một thông điệp đến topic:
  4. mosquitto_pub -h your_droplet_ip -t test/topic -m "Hello MQTT!"

Nếu mọi thứ hoạt động tốt, bạn sẽ thấy thông điệp "Hello MQTT!" xuất hiện trong terminal đầu tiên.

Lưu ý: Đảm bảo rằng firewall của bạn cho phép kết nối đến cổng 1883 (cổng mặc định của MQTT). Bạn có thể sử dụng ufw để quản lý firewall trên Ubuntu.

Với các bước này, bạn đã hoàn tất việc cài đặt và cấu hình Mosquitto trên nền tảng Cloud. Bạn có thể bắt đầu gửi và nhận dữ liệu IoT từ ESP32 của mình qua giao thức MQTT. Trong phần tiếp theo, chúng ta sẽ tìm hiểu cách kết nối ESP32 với broker Mosquitto.