- 实现MQTT控制功能,处理水泵和灯光控制指令 - 新增土壤湿度和光照强度自动告警系统,阈值可配置 - 新建MQTT控制、自动告警和阈值管理相关文件 - 更新主应用,集成MQTT和自动控制功能 - 新增传感器数据与控制状态遥测上报 - 引入NVS和应用存储分区配置
34 lines
954 B
C
34 lines
954 B
C
#pragma once
|
|
|
|
#include "esp_err.h"
|
|
|
|
#ifdef __cplusplus
|
|
extern "C" {
|
|
#endif
|
|
|
|
typedef struct {
|
|
float pump_on_soil_below_pct;
|
|
float pump_off_soil_above_pct;
|
|
float light_on_lux_below;
|
|
float light_off_lux_above;
|
|
} auto_ctrl_thresholds_t;
|
|
|
|
// Initializes default thresholds once at boot.
|
|
void auto_ctrl_thresholds_init_defaults(void);
|
|
|
|
// Thread-safe snapshot read, intended for control loop usage.
|
|
void auto_ctrl_thresholds_get(auto_ctrl_thresholds_t *out);
|
|
|
|
// Thread-safe full update with range/order validation.
|
|
esp_err_t auto_ctrl_thresholds_set(const auto_ctrl_thresholds_t *cfg);
|
|
|
|
// Convenience API for MQTT callback usage.
|
|
esp_err_t auto_ctrl_thresholds_set_values(float pump_on_soil_below_pct,
|
|
float pump_off_soil_above_pct,
|
|
float light_on_lux_below,
|
|
float light_off_lux_above);
|
|
|
|
#ifdef __cplusplus
|
|
}
|
|
#endif
|