添加 MQTT 命令处理功能,支持远程控制模式与阈值配置
This commit is contained in:
@@ -28,6 +28,12 @@ typedef struct {
|
||||
} agri_env_ctx_t;
|
||||
|
||||
static agri_env_ctx_t s_ctx;
|
||||
static agri_env_mqtt_cmd_cb_t s_mqtt_cmd_cb = NULL;
|
||||
|
||||
void agri_env_set_mqtt_cmd_cb(agri_env_mqtt_cmd_cb_t cb)
|
||||
{
|
||||
s_mqtt_cmd_cb = cb;
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief 规范化 MQTT 代理 URI
|
||||
@@ -132,6 +138,9 @@ static void agri_env_mqtt_event_handler(void *handler_args, esp_event_base_t bas
|
||||
event->topic,
|
||||
event->data_len,
|
||||
event->data);
|
||||
if (s_mqtt_cmd_cb != NULL) {
|
||||
s_mqtt_cmd_cb(event->topic, event->data, event->data_len);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -20,6 +20,9 @@ esp_err_t agri_env_mqtt_publish(const char *topic, const char *payload, int qos,
|
||||
/* 发布固定 MQTT-only 心跳载荷到指定主题。 */
|
||||
esp_err_t agri_env_mqtt_publish_latest(const char *topic, int qos, int retain);
|
||||
|
||||
typedef void (*agri_env_mqtt_cmd_cb_t)(const char *topic, const char *payload, int len);
|
||||
void agri_env_set_mqtt_cmd_cb(agri_env_mqtt_cmd_cb_t cb);
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
Reference in New Issue
Block a user