feat: 添加独立状态网页服务,提供设备状态实时监控和API接口

This commit is contained in:
Wang Beihong
2026-03-07 14:14:23 +08:00
parent 981dc2b47c
commit 81da463124
5 changed files with 361 additions and 2 deletions

View File

@@ -15,6 +15,7 @@
- 告警推送:超阈值边沿事件上报
- 状态上报:周期性遥测(含模式与执行器状态)
- Wi-Fi 配网SoftAP + Captive Portal
- 状态网页:独立 HTTP 状态看板与 JSON API端口 8080
## 系统架构
@@ -28,6 +29,32 @@
- `components/mqtt_control/`MQTT 连接、发布、控制指令解析
- `main/auto_ctrl_thresholds.*`:阈值存取与校验
- `main/auto_alerts.*`:告警判定与回调分发
- `main/status_web.*`独立状态网页服务HTTP 8080
## 状态网页(独立于配网页)
- 配网页面:`http://192.168.4.1`(仅 SoftAP 配网阶段)
- 状态页面:`http://<设备STA_IP>:8080/`
- 状态 API`http://<设备STA_IP>:8080/api/status`
说明:
- 两个网页服务独立运行,端口不同、职责不同。
- 状态页用于运行态观测,不承载 Wi-Fi 配网流程。
`/api/status` 当前主要字段:
- `temp``hum``soil``lux`:传感器字符串值
- `pump``light`:执行器状态(`on/off`
- `mode`:控制模式(`auto/manual`
- `soil_on``soil_off``light_on``light_off`:自动控制阈值
- `wifi_status`Wi-Fi 状态(`idle/provisioning/connecting/connected/failed/timeout`
- `sta_ip`STA 当前 IP
- `mqtt_connected`MQTT 连接状态(布尔)
- `i2c_ready``soil_sensor_ready`:关键外设初始化状态(布尔)
- `loop_counter`:主循环计数
- `uptime_ms`:设备运行时长(毫秒)
- `free_heap``min_free_heap``largest_block`:堆内存指标
- `app_version`:固件版本字符串
- `snapshot_update_ms``snapshot_update_count``snapshot_age_ms`:状态快照时间与更新统计
## 运行逻辑