feat: 集成 MQTT 高频上报与远程控制功能,并标准化协议文档
1. 核心功能增强: - 实现 1s/次的传感器数据主动上报,温湿度精度提升至小数点后两位。 - 新增基于 cJSON 的 MQTT 控制指令解析逻辑,支持对双路继电器的远程开关控制。 - 引入即时回执 (ACK) 机制:设备在执行控制指令后立即通过 `agri/env/ack` 主题反馈执行状态。 2. 系统架构优化: - 引入 `sntp_time` 组件实现自动对时,确保上报数据携带准确的 `YYYY-MM-DD HH:MM:SS` 时间戳。 - 增加基于 eFuse 的芯片 UID 获取逻辑,结合 MAC 地址实现设备唯一标识。 - 为传感器采集任务引入 Mutex 互斥锁,确保多任务环境下 `env_sample_data_t` 的线程安全。 - 将所有传感器任务堆栈提升至 3072 字节,解决 cJSON 操作导致的 Stack Overflow 风险。 3. 文档与规范: - 新增 `README_MQTT.md` (V1.2),定义了环境报文、控制指令及 ACK 回执的完整 JSON Schema。 - 同步更新主工程 `README.md`,明确硬件接线说明及系统功能列表。
This commit is contained in:
16
README.md
16
README.md
@@ -1,5 +1,9 @@
|
||||
# AgriEnv_Monitor
|
||||
|
||||
## MQTT 协议文档
|
||||
|
||||
MQTT 上报与双继电器控制格式请参考:`README_MQTT.md`
|
||||
|
||||
本项目基于 ESP-IDF,新增了一个统一环境采集与控制组件 `agri_env`,实现以下功能:
|
||||
|
||||
1. DHT11 温湿度采集(DATA -> GPIO10)
|
||||
@@ -7,10 +11,14 @@
|
||||
3. MQ135 数据采集(AO -> GPIO1)
|
||||
4. 双路继电器控制
|
||||
5. 统一数据结构与获取接口
|
||||
6. MQTT 连接(MQTT 3.1 + 用户名密码)
|
||||
7. MQTT 订阅主题与发布主题
|
||||
8. 定时任务采样、打印和上报
|
||||
9. cJSON 数据包构建用于上报
|
||||
6. MQTT 连接(MQTT 3.1.1,自动获取 UID/MAC/时间)
|
||||
7. MQTT 集成控制指令及即时回执(ACK)
|
||||
8. 高频环境上报(1 秒一次,2 位精度)
|
||||
9. cJSON 数据包序列化与上报
|
||||
|
||||
## 协议文档
|
||||
|
||||
详细的 MQTT 报文格式及指令说明请参考:[README_MQTT.md](README_MQTT.md)
|
||||
|
||||
## 目录说明
|
||||
|
||||
|
||||
Reference in New Issue
Block a user