71 lines
1.8 KiB
C
71 lines
1.8 KiB
C
#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
|