#include "CONFIG.h" #if ESP32 #ifndef __ESP32_H #define __ESP32_H #include #include "Timer_Module.h" //系统初始的WiFi连接参数 extern char WIFI_ID[50]; extern char WIFI_PASSWORD[30]; enum Result { Result_None, // 未知 Result_Success, // 成功 Result_Failed, // 失败 }; enum STATUS { Status_None, // 空闲 Status_Sending, // 正在发送 Status_Success, // 成功 Status_Failed, // 失败 Status_Overtime, // 超时 }; extern struct ESP32_Struct esp32; // ESP32的AT发送状态机 struct ESP32_Struct { enum STATUS status; // 状态 uint16_t activeID; // 活动的编号。下面的每个活动都有一个唯一的编号 struct TIMER_Struct timer; // 计时器 void (* reset)(void); //1.重置状态 void (* exit_deepsleep)(void); //2.退出深休眠 void (* enter_deepsleep)(void); //3.进入深休眠 void (* exit_lightsleep)(void); //4.退出浅休眠 void (* enter_lightsleep)(void); //5.进入浅休眠 enum Result (* set_lightsleep_wakeup)(uint8_t source, uint8_t gpio, uint8_t mode); //6.设置浅睡眠唤醒源 enum Result (* set_lightsleep_wakeup_sync)(uint8_t source, uint8_t gpio, uint8_t mode); //7.设置浅睡眠唤醒源-同步 enum Result (* set_sleep)(uint8_t mode); //8.设置睡眠模式 enum Result (* set_sleep_sync)(uint8_t mode); //9.设置睡眠模式-同步 enum Result (* connect_ap)(char* id, char* password); //10.连接AP enum Result (* connect_ap_sync)(char* id, char* password); //11.连接AP-同步 enum Result (* set_cipmode)(uint8_t mode); //12.设置传输模式 enum Result (* set_cipmode_sync)(uint8_t mode); //13.设置传输模式-同步 enum Result (* connect_network)(char * service_type, char * IP_address, uint16_t remote_port); //14.连接TCP/UDP服务器 enum Result (* connect_network_sync)(char * service_type, char * IP_address, uint16_t remote_port); //15.连接TCP/UDP服务器-同步 enum Result (* query_id_signal)(char * ID, int * RSSI); //16.查询指定ID的WiFi信号强度 enum Result (* query_id_signal_sync)(char * ID, int * RSSI); //17.查询指定ID的WiFi信号强度-同步 enum Result (* close_network)(void); //18.关闭TCP/UDP连接 enum Result (* close_network_sync)(void); //19.关闭TCP/UDP连接-同步 enum Result (* autoconnect_ap)(uint8_t mode); //20.是否自动连接AP enum Result (* autoconnect_ap_sync)(uint8_t mode); //21.是否自动连接AP-同步 enum Result (* close_ap)(void); //22.关闭AP连接 enum Result (* close_ap_sync)(void); //23.关闭AP连接-同步 enum Result (* query_signal)(int * RSSI); //24.查询已连接WiFi的信号强度 enum Result (* query_signal_sync)(int * RSSI); //25.查询已连接WiFi的信号强度-同步 enum Result (* ready)(void); //26.模块是否异常启动 enum Result (* ready_sync)(void); //27.模块是否启动-同步 enum Result (* handle_data)(uint8_t * data, uint16_t send_data_length, uint16_t *recv_data_length); //28.处理数据(数据发送+等待发送结果) enum Result (* handle_data_sync)(uint8_t * data, uint16_t send_data_length, uint16_t *recv_data_length); //29.处理数据(数据发送+等待发送结果)-同步 enum Result (* recv_ready)(void); //30.判断模块是否正常启动 enum Result (* recv_ready_with_time)(uint32_t time_out); //31.判断模块是否正常启动+等待时间 enum Result (* set_mode)(uint8_t mode); //32.设置WiFi模式 enum Result (* set_mode_sync)(uint8_t mode); //33.设置WiFi模式-同步 enum Result (* query_mac_address)(char * MAC_address); //34.查询WiFi模块的MAC地址 enum Result (* set_ip_address)(char *IP_address); //35.设置WiFi模块的IP地址 enum Result (* set_dhcp)(uint8_t operate,uint8_t mode); //36.设置启用DHCP模式 enum Result (* set_gateway)(char *IP_address, char *Gateway, char *Netmask); //37.设置WiFi模块的IP地址、网关、掩码 enum Result (* rst)(void); //38.重启WiFi模块 }; #endif #endif