Phần 5: Dashboard giám sát và điều khiển qua MQTT
Thiết kế dashboard hiển thị điện áp, dòng điện, công suất, điện áp pin, trạng thái tải và nút điều khiển ON OFF AUTO qua MQTT.
Phần 5: Dashboard giám sát và điều khiển
Dashboard giúp quan sát dữ liệu từ ESP32 theo thời gian thực và gửi lệnh điều khiển tải. Với dự án này, dashboard nên đi theo MQTT thay vì tạo web server trực tiếp trên ESP32, vì MQTT phù hợp với mô hình thiết bị IoT gửi telemetry và nhận lệnh điều khiển.
Các thẻ thông tin cần có
| Thẻ | Dữ liệu hiển thị | Mục đích |
|---|---|---|
| Solar Input | pv_voltage, pv_current_ma, pv_power_mw | Theo dõi năng lượng từ tấm pin. |
| Battery | battery_voltage | Theo dõi trạng thái pin lưu trữ. |
| Load Control | load, mode, nút ON OFF AUTO | Điều khiển tải DC và chuyển chế độ. |
| Alert | Thông báo pin yếu, mất kết nối, không cho bật tải | Giúp phát hiện lỗi sớm. |
Luồng điều khiển qua MQTT
Khi người dùng nhấn ON, OFF hoặc AUTO trên dashboard, dashboard publish payload tương ứng vào topic điều khiển.
Topic: iotlabs/solar01/cmd/load
Payload: ON
Payload: OFF
Payload: AUTOESP32 subscribe topic này, kiểm tra payload và thực hiện hành động tương ứng. Nếu payload là ON nhưng pin đang yếu, ESP32 không bật tải và gửi cảnh báo lên topic alert.
Nguyên tắc thiết kế dashboard
| Nguyên tắc | Cách áp dụng |
|---|---|
| Ưu tiên số đo quan trọng | Đặt điện áp pin, công suất PV và trạng thái tải ở vị trí dễ nhìn. |
| Không điều khiển mù | Nút ON chỉ nên hoạt động khi hệ thống báo pin đủ điện. |
| Hiển thị đơn vị rõ ràng | V, mA, mW hoặc W phải hiển thị cạnh số đo. |
| Có trạng thái mất kết nối | Nếu quá thời gian không nhận telemetry, dashboard cần báo OFFLINE. |
| Có cảnh báo | Pin yếu, dòng bất thường và mất kết nối cần hiển thị riêng. |
⚠️ Không dùng dashboard để điều khiển tải nguy hiểm hoặc tải AC. Dự án chỉ điều khiển tải DC nhỏ trong phạm vi mô hình học tập.
