标签:include 概要 NTPClient NTP void 时间 时钟 timeClient ESP8266
WIFI获取时间:
NTP 服务 简介
NTP是网络时间协议(Network Time Protocol),它是用来同步网络中各个计算机的时间的协议。esp8266也可以通过建立与NTP服务的连接,来获取实时时间。
在计算机的世界里,时间非常地重要,例如对于火箭发射这种科研活动,对时间的统一性和准确性要求就非常地高,是按照A这台计算机的时间,还是按照B这台计算机的时间?NTP就是用来解决这个问题的,NTP(Network Time Protocol,网络时间协议)是用来使网络中的各个计算机时间同步的一种协议。它的用途是把计算机的时钟同步到世界协调时UTC,其精度在局域网内可达0.1ms,在互联网上绝大多数的地方其精度可以达到1-50ms。
NTPClient 库的安装
使用NTP服务需要先安装 NTPClient 库,按组合件 Crtrl + Shift + I 调出库管理 具体操作如下所示:
实现获取时间的代码段
#include <Wire.h>
#include <ESP8266WiFi.h>
#include <NTPClient.h>
#include <WiFiUdp.h>WiFiUDP ntpUDP;
const char *ssid = "SSID"; //这里填写需要连接WIFI的SSID
const char *password = "Password"; //这里填写WIFI的密码//NTPClient timeClient(ntpUDP, "europe.pool.ntp.org", 3600*8, 60000); //乘以8是因为北京时间时东八区的时间
NTPClient timeClient(ntpUDP, "ntp1.aliyun.com", 3600*8, 60000); //乘以8是因为北京时间时东八区的时间
void setup() //初始化
{
Serial.begin(9600);
Wire.begin(2,14);
delay(500);
//初始化网络
while ( WiFi.status() != WL_CONNECTED )
{
delay ( 500 );
Serial.print ( "." );
}timeClient.begin();
}
void loop()
{
Time_InitDis();
delay ( 500 );
}void Time_InitDis(void) //
{
timeClient.update();
Serial.println(timeClient.getFormattedTime());
timeClient.getDay(); //换算星期
timeClient.getHours(); //换算小时
timeClient.getMinutes(); //换算分钟
timeClient.getSeconds(); //换算}
实现效果:通过串口上送获取到的网络时间
对应的代码已经放到下载页 需要的可以下载。
标签:include,概要,NTPClient,NTP,void,时间,时钟,timeClient,ESP8266
来源: https://blog.csdn.net/libinglin2011/article/details/120629692
本站声明:
1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。