
Choose Your Desired Option(s)
Code C ESP32 MQTT Broker
Dự án này được viết nhằm mục đích tạo MQTT Broker bằng ESP-idf để làm gateway để điều khiển Client MQTT
Dự án này dùng Mongoose networking library.
Yêu cầu hệ thống
Phiên bản ESP-IDF từ 4.4(Thì ESP32-C3 mới dùng đc) trở lên
Trong file components của dự án, phải clone Mongoose version 7.7:
- Trong thư mục Mongoose mới, Tạo a CMakeLists.txt file chưa nội dung sau:
Các bước cài đặt
git clone -b 7.7 https://github.com/cesanta/mongoose.git
cd mongoose/
echo “idf_component_register(SRCS \”mongoose.c\” PRIV_REQUIRES esp_timer INCLUDE_DIRS \”.\”)” > CMakeLists.txt
cd ../..
idf.py set-target {esp32/esp32s2/esp32s3/esp32c3}
idf.py menuconfig
idf.py flash monitor
Network Config

Địa chỉ Static IP Address phải có dạng 0.0.0.0. Chọn MQTT SUBCRIBER VÀ MQTT PUBLISHER nếu muốn Gateway sử dụng cả hai.Địa chỉ Host của Broker sẽ dựa theo IP của ESP-32. Ví dụ trong hình bên trên sẽ là mqtt://192.168.1.22:8000

I2C Config

Tuỳ chọn chân và tần số cho I2C
Partitions Config

Giao diện Web
Cài đặt wifi ban đầu
Khi chưa khởi tạo lần đầu cho ESP-32 thì nó sẽ chạy ở chế độ Access Point và Thiết bị đầu tiên kết nối sẽ có địa chỉ IP:192.168.4.2.Sau đó gửi request đến AP bằng cách truy cập 192.168.4.1/hello

SSID:SSID of Router
Password:Mật khẩu of Router
=>Sau khi kết nối thành công ESP-32 sẽ lưu lại SSID và Password cho lần đăng nhập sau.
Điều khiển Local
Nếu ESP-32 mất mạng nó sẽ tự động chạy chế độ điều khiển Local.Thiết bị đầu tiên kết nối sẽ có IP: 192.168.4.2.Người dùng gửi request đến AP bằng cách truy cập 192.168.4.1/local.Sự truyền nhận dữ liệu giữa gateway và device dựa trên giao thức TCP/IP với Gateway có IP:192.168.4.1(ESP-32 Gateway)

Các tính năng của web Local
- Bật tắt Led device
- Thay đổi mật khẩu wifi cho cả gateway và Device
- Chuyển trạng thái từ Local sang Online Mode
Điều khiển Local
Khi Gateway nhận được dữ liệu từ Device nó sẽ Publish và Browser Subcriber và nhận được dữ liệu và Render ra đồ thị nhiệt độ.Dữ liệu được hiển thị trên Dashboard gồm: Nhiệt độ, Cường độ ánh sáng.

Các tính năng của Dashboard
- Bật tắt Led device
- Giám sát nhiệt độ và ánh sáng
- Đặt ngưỡng cảnh báo nhiệt độ cho phép, nếu quá ngưỡng cho phép sẽ gửi gmail cảnh báo đến người dùng.
- Đặt chế độ tự động bật tắt đèn dựa vào cường độ ánh sáng
- Phát hiện gateway chưa kết nối mạng trên giao diện, bằng cách phủ màu đỏ toàn giao diện.
Cảnh báo mất kết nối với gateway.

Cảnh báo trên giao diện.

| Download Category | C & C++, Scripts & Code |
| Product Homepage URL→ | |
| Product Version | |
| File Type | C |
| File Size | 2.47 MB |
| Developer | |
| Documentation |





