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.
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:
- 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ý.
- 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.
- SSH vào Droplet: Sử dụng terminal (hoặc PuTTY trên Windows) để SSH vào Droplet của bạn:
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 Y và Enter.
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:
- Mở một terminal mới và kết nối đến broker:
- Trong terminal khác, gửi một thông điệp đến topic:
mosquitto_sub -h your_droplet_ip -t test/topic
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.
