ESP8266 的 SNTP (簡單網路時間協定)時鐘程式製作,主要是通過路由器發出 NTP 要求,然後接收SNTP 時間戳記(Timestamp),用程式轉換 UTC 時間戳記為本地時間,並顯示時間在 SSD1306 OLED 屏上。
ESP8266 ESP-12F SNTP 簡單網路時間協定程式製作顯示 SNTP 時間 |
void ICACHE_FLASH_ATTR
user_init(void)
{
// Setup Station Mode
wifi_set_opmode(STATION_MODE);
sntp_setservername(0,"0.cn.pool.ntp.org");
sntp_setservername(1,"1.cn.pool.ntp.org");
sntp_setservername(2,"2.cn.pool.ntp.org");
sntp_init();
}
|
簡單網路時間協定(SNTP)Callback 時間顯示程式:
void timer_callback() {
uint32_t timestamp =
sntp_get_current_timestamp();
struct tm *t;
if (timestamp > 0) {
t = localtime(×tamp);
os_sprintf(dsp_buffer, "NTP=%d %s",
timestamp, weekday[t->tm_wday]);
OLED_Print(0, 3, dsp_buffer, 1);
os_sprintf(dsp_buffer, "%02d:%02d:%02d
%02d/%02d/%04d",
t->tm_hour,
t->tm_min,
t->tm_sec,
t->tm_mday,
t->tm_mon + 1,
t->tm_year + 1900);
OLED_Print(0, 4, dsp_buffer, 1);
} // Timestamp
}
|
2018年 2月 6日 天氣報告
氣溫:12.2度 @ 20:20
相對濕度:百分之 58%
天氣:大致多雲
沒有留言:
張貼留言