时间服务使用指南
固件使用指南
概述
对于 IoT 设备而言,时间是一个重要概念,对于日程等功能十分关键。有两个相关的时间概念:
- 网络时间:即当前的协调世界时 (Universal Time Coordinated,简称 UTC)
- 时区:表示相对于 UTC 的偏移量
- 夏令时(根据配置的时区自动调整夏令时)
要了解更多关于时间服务的信息,请参阅此文档。
ESP RainMaker 时间工具 API 概述
ESP RainMaker 提供的时间工具 API 具有以下功能:
- 使用 SNTP(Simple Network Time Protocol,简单网络时间协议)同步网络时间,确保时间准确。
- 检查并等待时间更新,确保设备的系统时间准确。
- 使用 POSIX 格式或位置字符串配置和获取时区设置。
- 根据配置的时区自动调整夏令时(DST)。
- 获取包含时区和夏令时信息的格式化本地时间字符串,用于日志记录和日程功能。
- 提供准确的时间同步和时区信息,支持日程和自动化功能。
如需了解详细的实现和 API 参考,请参阅 ESP RainMaker 文档:Utilities。这些 API 简化了开发人员的时间处理,确保 IoT 设备在不同的时区和地区可靠运行。
使用指南
网络时间
网络时间通常通过 SNTP 获取。ESP RainMaker 在 ESP-IDF 中对 SNTP 组件进行了封装,并提供了接口。
提供的 API 如下:
| 函数 | 描述 |
|---|---|
esp_err_t esp_rmaker_time_sync_init(esp_rmaker_time_config_t *config) | 初始化时间同步 |
bool esp_rmaker_time_check(void) | 检查时间是否已同步 |
esp_err_t esp_rmaker_time_wait_for_sync(uint32_t ticks_to_wait) |