简介
SNTP 协议是用来同步本地的时间到 unix 时间戳. 通常嵌入式设备上电, 连接 AP
(access point
), 获取 IP
地址后, 就需要使用 SNTP
协议获取全球时间. 以便于下一步的应用交互和使用.
SNTP
工作原理比较简单, 通俗来说, 就是设备向 SNTP server
发送一包 SNTP
请求, 服务器收到请求后回复一包 SNTP reply
. 其中 SNTP reply
中就含有 unix 时间戳.
参考代码
#include
#include
#include "freertos/FreeRTOS.h"
#include "freertos/task.h"
#include "lwip/apps/sntp.h"
#include "esp_log.h"
static const char *TAG = "sntp";
static void esp_initialize_sntp(void)
{
ESP_LOGI(TAG, "Initializing SNTP");
sntp_setoperatingmode(SNTP_OPMODE_POLL);
sntp_setservername(0, "ntp1.aliyun.com");
sntp_init();
}
<