第一次提交:完成了网关的单路485数据采集,还有以太网链接和MQTT配置,实现数据上报和命令下发,差一个断网储存

This commit is contained in:
Wang Beihong
2026-02-01 18:31:06 +08:00
commit b284cb4953
35 changed files with 4338 additions and 0 deletions

View 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