在 wifi-connect.c 中实现了新的 Wi-Fi 连接管理模块,负责配网、连接及状态上报。 添加了用于 Wi-Fi 配置和状态显示的 HTML 界面。 集成了 NVS 用于存储 Wi-Fi 凭证。 更新了 CMakeLists.txt 以包含新模块的依赖项。 修改了 main.c 以初始化 Wi-Fi 连接管理并等待连接成功。
64 lines
1.5 KiB
C
64 lines
1.5 KiB
C
#pragma once
|
||
|
||
#include <stdbool.h>
|
||
|
||
#include "driver/gpio.h"
|
||
#include "esp_err.h"
|
||
|
||
#ifdef __cplusplus
|
||
extern "C" {
|
||
#endif
|
||
|
||
typedef enum {
|
||
RELAY_CTRL_ID_1 = 0,
|
||
RELAY_CTRL_ID_2 = 1,
|
||
RELAY_CTRL_ID_3 = 2,
|
||
RELAY_CTRL_ID_4 = 3,
|
||
RELAY_CTRL_ID_MAX,
|
||
} relay_ctrl_id_t;
|
||
|
||
/**
|
||
* @brief 初始化四路继电器控制模块。
|
||
*
|
||
* @param relay1_gpio 继电器1控制引脚
|
||
* @param relay2_gpio 继电器2控制引脚
|
||
* @param relay3_gpio 继电器3控制引脚
|
||
* @param relay4_gpio 继电器4控制引脚
|
||
* @param active_high 继电器有效电平,true=高电平吸合,false=低电平吸合
|
||
*/
|
||
esp_err_t relay_ctrl_init(gpio_num_t relay1_gpio,
|
||
gpio_num_t relay2_gpio,
|
||
gpio_num_t relay3_gpio,
|
||
gpio_num_t relay4_gpio,
|
||
bool active_high);
|
||
|
||
/**
|
||
* @brief 设置指定继电器状态。
|
||
*
|
||
* @param relay_id 继电器编号
|
||
* @param on true=吸合,false=断开
|
||
*/
|
||
esp_err_t relay_ctrl_set(relay_ctrl_id_t relay_id, bool on);
|
||
|
||
/**
|
||
* @brief 翻转指定继电器状态。
|
||
*/
|
||
esp_err_t relay_ctrl_toggle(relay_ctrl_id_t relay_id);
|
||
|
||
/**
|
||
* @brief 获取指定继电器状态。
|
||
*
|
||
* @param relay_id 继电器编号
|
||
* @param on_out [out] 当前逻辑状态,true=吸合,false=断开
|
||
*/
|
||
esp_err_t relay_ctrl_get(relay_ctrl_id_t relay_id, bool *on_out);
|
||
|
||
/**
|
||
* @brief 一次性设置四个继电器状态。
|
||
*/
|
||
esp_err_t relay_ctrl_set_all(bool relay1_on, bool relay2_on, bool relay3_on, bool relay4_on);
|
||
|
||
#ifdef __cplusplus
|
||
}
|
||
#endif
|