第一次提交:完成了网关的单路485数据采集,还有以太网链接和MQTT配置,实现数据上报和命令下发,差一个断网储存
This commit is contained in:
72
components/SNTP_ESP/include/SNTP_ESP.h
Normal file
72
components/SNTP_ESP/include/SNTP_ESP.h
Normal file
@@ -0,0 +1,72 @@
|
||||
#ifndef SNTP_ESP_H
|
||||
#define SNTP_ESP_H
|
||||
|
||||
#include <stdbool.h>
|
||||
#include <time.h>
|
||||
#include "esp_err.h"
|
||||
|
||||
/**
|
||||
* @brief 初始化SNTP服务
|
||||
*
|
||||
* 初始化SNTP客户端,配置NTP服务器和时区
|
||||
* 必须在获得网络连接后调用
|
||||
*
|
||||
* @return ESP_OK 成功
|
||||
* ESP_FAIL 失败
|
||||
*/
|
||||
esp_err_t sntp_esp_init(void);
|
||||
|
||||
/**
|
||||
* @brief 设置时区
|
||||
*
|
||||
* 设置本地时区,默认为北京时间(CST-8)
|
||||
*
|
||||
* @return ESP_OK 成功
|
||||
*/
|
||||
esp_err_t sntp_esp_set_timezone(void);
|
||||
|
||||
/**
|
||||
* @brief 获取当前时间
|
||||
*
|
||||
* @return time_t 当前时间戳
|
||||
*/
|
||||
time_t sntp_esp_get_current_time(void);
|
||||
|
||||
/**
|
||||
* @brief 打印当前时间
|
||||
*
|
||||
* 以格式化的方式打印当前时间到日志
|
||||
*/
|
||||
void sntp_esp_print_current_time(void);
|
||||
|
||||
/**
|
||||
* @brief 获取格式化的时间字符串
|
||||
*
|
||||
* @param buffer 存储时间字符串的缓冲区
|
||||
* @param size 缓冲区大小
|
||||
* @param format 时间格式(如 "%Y-%m-%d %H:%M:%S")
|
||||
* @return ESP_OK 成功
|
||||
* ESP_FAIL 失败
|
||||
*/
|
||||
esp_err_t sntp_esp_get_formatted_time(char *buffer, size_t size, const char *format);
|
||||
|
||||
/**
|
||||
* @brief 等待时间同步完成
|
||||
*
|
||||
* 等待SNTP时间同步完成
|
||||
*
|
||||
* @param max_wait_ms 最大等待时间(毫秒)
|
||||
* @return true 同步成功
|
||||
* false 超时
|
||||
*/
|
||||
bool sntp_esp_wait_sync(uint32_t max_wait_ms);
|
||||
|
||||
/**
|
||||
* @brief 检查时间是否已同步
|
||||
*
|
||||
* @return true 已同步
|
||||
* false 未同步
|
||||
*/
|
||||
bool sntp_esp_is_synced(void);
|
||||
|
||||
#endif // SNTP_ESP_H
|
||||
Reference in New Issue
Block a user