[AI Router] Cài đặt MQTT Broker (Mosquitto)

MQTT (Giao thức truyền thông nhẹ dùng để xếp hàng tin nhắn từ xa) là một giao thức nhắn tin nhẹ thường được sử dụng để giao tiếp giữa các thiết bị IoT. Trong Home Assistant, MQTT thường được sử dụng để tích hợp tự động hóa. Ví dụ, khi bạn sử dụng Frigate để phân tích video (chẳng hạn như phát hiện ai đó đi vào một khu vực cụ thể), Frigate sẽ gửi một tin nhắn đến Home Assistant thông qua MQTT, từ đó có thể kích hoạt các tự động hóa khác (như bật đèn hoặc gửi thông báo).

 

Vai trò của MQTT:

Các vai trò trong giao thức MQTT là gì? Lấy kịch bản tích hợp camera IP Frigate với Home Assistant làm ví dụ:

  • Publisher: Frigate. Khi Frigate phát hiện sự kiện (ví dụ, ai đó đi vào một khu vực cụ thể) từ luồng camera IP, nó sẽ xuất bản sự kiện này dưới dạng một tin nhắn đến máy chủ môi giới MQTT.
  • Subscriber: Home Assistant. Nó đăng ký chủ đề cụ thể được Frigate xuất bản. Khi Home Assistant nhận được tin nhắn, nó có thể kích hoạt các tự động hóa (chẳng hạn như bật đèn hoặc gửi thông báo).
  • Broker: Mosquitto. Đóng vai trò là trung gian, nhận tin nhắn từ Frigate và chuyển tiếp đến các subscriber Home Assistant. Trong ví dụ này, Frigate và Home Assistant không giao tiếp trực tiếp, mà trao đổi tin nhắn thông qua máy chủ môi giới MQTT Mosquitto.

 

 

1. Điều kiện tiên quyết

 

2. Cài đặt Mosquitto

   2-1. Triển khai Mosquitto bằng Portainer:

  • Truy cập trang [Ngăn xếp] trong Portainer và nhấn [Thêm ngăn xếp].
  • Đặt tên cho ngăn xếp này mosquitto.
  • Trong [Trình chỉnh sửa web], dán cấu hình sau:

version: "3.8"

services:

   # --- Máy chủ trung gian MQTT (Eclipse Mosquitto) ---

   mosquitto:

       image: eclipse-mosquitto:2

       container_name: mosquitto

       restart: unless-stopped

       volumes:

       - mosquitto_config:/mosquitto/config

       - mosquitto_data:/mosquitto/data

       - mosquitto_log:/mosquitto/log

          

       ports:

       - "1883:1883"   # [MQTT]

       - "9001:9001"   # [WebSocket]

volumes:

   mosquitto_config:

   mosquitto_data:

   mosquitto_log:

 

   2-2. Nhấn nút [Triển khai stack] để hoàn thành việc triển khai.

 

 

3. Cấu hình Mosquitto

   3-1. Vào trang [Containers] trong Portainer và tìm mosquitto.

 

   3-2. Nhấn vào mosquitto để vào trang chi tiết của container, sau đó nhấn tab [Console].

 

   3-3. Trong trường [Command], nhập /bin/shvà nhấn [Kết nối] để mở giao diện dòng lệnh của container.

 

   3-4. Trong cửa sổ dòng lệnh, nhập lệnh sau để tạo một tệp mật khẩu:

mosquitto_passwd -c -b /mosquitto/config/passwd <tên người dùng> <mật khẩu>

Thay thế <tên người dùng><mật khẩu> bằng tên người dùng và mật khẩu bạn muốn (chỉ sử dụng chữ cái và số, không bắt đầu bằng #). Để xác nhận tệp đã được tạo: chạy ls /mosquitto/config để kiểm tra rằng cả mosquitto.confpasswd đều tồn tại.

 

   3-5. Chỉnh sửa tập tin cấu hình Mosquitto mosquitto.conf bằng cách nhập:

vi /mosquitto/config/mosquitto.conf

 

   3-6. Trong mosquitto.conf, thêm các thiết lập sau để chỉ định đường dẫn tập tin mật khẩu và vô hiệu hóa truy cập ẩn danh: Nhấn i để vào chế độ chèn, sau đó thêm nội dung sau vào đầu hoặc cuối tập tin: Bạn có thể dùng ctrl + shift + v để dán văn bản trong trình chỉnh sửa vi.

allow_anonymous false

password_file /mosquitto/config/passwd

listener 1883 0.0.0.0

socket_domain ipv4

 

   3-7. Nhấn Esc, nhập :wq và nhấn Enter để lưu và thoát khỏi trình chỉnh sửa. (Nếu bạn muốn hủy bỏ các thay đổi, hãy nhập :q!  và nhấn Enter )

 

   3-8. Khởi động lại Mosquitto container để áp dụng các thiết lập:

  • Quay lại trang [Containers] trong Portainer và tìm mosquitto.
  • Nhấp vào mosquitto để vào trang chi tiết container, sau đó nhấn nút [Restart].

 

 

 

4. Thiết lập tích hợp MQTT trong Home Assistant

   4-1. Trong Home Assistant, vào [Settings] > [Devices & Services] và nhấp vào [Add Integration].

 

   4-2. Tìm kiếm và chọn [MQTT].

 

   4-3. Trong hộp thoại bật lên, chọn MQTT và nhập các thông tin sau:

  • Broker: localhost hoặc địa chỉ IP của bo mạch AI của bạn
  • Port: 1883
  • Username: Tên đăng nhập bạn đã đặt cho Mosquitto
  • Password: Mật khẩu bạn đã đặt cho Mosquitto

 

   4-4. Sau khi hoàn tất, bạn có thể sử dụng một ứng dụng khách MQTT để kết nối với Mosquitto.

 

 

 

 

 

 

Làm thế nào để lấy (Tiện ích / Phần mềm hệ thống)?

Bạn có thể tải về driver, phần mềm, firmware và hướng dẫn sử dụng mới nhất tại Trung tâm Tải về ASUS.

Nếu bạn cần thêm thông tin về Trung tâm Tải về ASUS, vui lòng tham khảo liên kết này.