esp8266 NTP 时间
esp8266 获取 NTP 实时时间
使用 esp8266 在线获取实时时间
使用NTP服务需要先安装 NTPClient 库,
打开库 Basic 程序
库自带了一个建议的demo程序,方便用户快速开发,具体操作如下所示:
[NTP连接]
由于全球的时间是不同的,所以需要校准时间,以北京时间为例,在创建实例的时候,见校准参数传入即可,具体操作如下:
NTPClient timeClient(ntpUDP, "ntp1.aliyun.com",60*60*8, 30*60*1000);
#include <NTPClient.h>
// change next line to use with another board/shield
#include <ESP8266WiFi.h>
//#include <WiFi.h> // for WiFi shield
//#include <WiFi101.h> // for WiFi 101 shield or MKR1000
#include <WiFiUdp.h>
const char *ssid = "yang1234";
const char *password = "y123456789";
WiFiUDP ntpUDP;
//北京时间
NTPClient timeClient(ntpUDP, "ntp1.aliyun.com",60*60*8, 30*60*1000);
void setup(){
Serial.begin(115200);
WiFi.begin(ssid, password);
while ( WiFi.status() != WL_CONNECTED ) {
delay ( 500 );
Serial.print ( "." );
}
timeClient.begin();
}
void loop() {
timeClient.update();
int weekDay = timeClient.getDay();
Serial.println(weekDay);
Serial.println(timeClient.getFormattedTime());
delay(1000);
}
输出如下
描述:
getDay()函数
描述:获取当前时间星期几。
参数:无。
返回值:数字0 - 6,注意,国外将每周星期天定为一周的第一天。所以星期天的返回值为0。星期六的返回值为6。
getHours()函数
描述:获取小时数。
参数:无。
返回值:0 - 23。
getMinutes()函数
描述:获取分钟数。
参数:无。
返回值:0 - 59。
getSeconds()函数
描述:获取秒数。
参数:无。
返回值:0 - 59。
//获取星期、时、分
int weekDay = timeClient.getDay();
int currentHour = timeClient.getHours();
int currentMinute = timeClient.getMinutes();
Serial.print("星期");
Serial.print(weekDay);
Serial.print(";");
Serial.print(currentHour);
Serial.print("点");
Serial.print(currentMinute);
Serial.println("分;");
获取时间格式 - 字符串
unsigned long epochTime = timeClient.getEpochTime();
获取绝对时间
描述:获取自1970年1月1日到现在的时间秒数(很大一个数字)。
语法:getEpochTime()
参数:无。
返回值:时间秒数。
//获取时间戳
unsigned long epochTime = timeClient.getEpochTime();
Serial.print("Epoch Time:");
Serial.println(epochTime);
//将epochTime换算成年月日
struct tm *ptm = gmtime((time_t *)&epochTime);
int monthDay = ptm->tm_mday;
int currentMonth = ptm->tm_mon + 1;
Serial.print(currentMonth);
Serial.print("月");
Serial.print(monthDay);
Serial.println("日");
本文作者: 永生
本文链接: https://yys.zone/detail/?id=266
版权声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明出处!
发表评论
评论列表 (0 条评论)
暂无评论,快来抢沙发吧!