#ifndef __ESP8266_H #define __ESP8266_H #include "stm32f10x.h" // 定义布尔类型,方便返回状态 #define ESP8266_SUCCESS 1 #define ESP8266_FAIL 0 // 时间结构体 typedef struct { uint16_t year; uint8_t month; uint8_t day; uint8_t hour; uint8_t minute; uint8_t second; } ESP8266_DateTime; /* --- 公共函数接口 --- */ /** * @brief 对ESP8266模块进行基础设置 * @retval 1 表示成功, 0 表示失败 */ uint8_t ESP8266_Setup(void); /** * @brief 命令ESP8266连接到指定的WiFi网络 * @param ssid 要连接的WiFi名称 (SSID) * @param password WiFi的密码 * @retval 1 表示成功, 0 表示失败 */ uint8_t ESP8266_ConnectWiFi(const char* ssid, const char* password); /** * @brief 命令ESP8266连接到HTTP服务器(新增) * @param ip 服务器的IP地址 * @param port 服务器的端口号 * @retval 1 表示成功, 0 表示失败 */ uint8_t ESP8266_ConnectHTTPServer(const char* ip, const char* port); /** * @brief 通过ESP8266发送HTTP POST请求(新增 - 加密版本) * @param encrypted_data 加密后的Base64数据 * @retval 1 表示成功, 0 表示失败 */ uint8_t ESP8266_SendEncryptedData(const char* encrypted_data); /** * @brief 检查TCP连接是否正常 * @retval 1 表示已连接, 0 表示未连接 */ uint8_t ESP8266_CheckConnection(void); /** * @brief 从网络获取当前时间(NTP/SNTP) * @param datetime 时间结构体指针,用于存储获取的时间 * @retval 1 表示成功, 0 表示失败 */ uint8_t ESP8266_GetNetworkTime(ESP8266_DateTime* datetime); // 兼容旧版本(已废弃,建议使用HTTP版本) uint8_t ESP8266_ConnectTCPServer(const char* ip, const char* port); uint8_t ESP8266_SendData(char* Data); #endif