步骤1:您需要做的事情
对于此项目,您需要做的事情很少:
esp8266/nodemcu
使用usb电缆对其进行编程。
步骤2:什么是ntp及其工作原理?
什么是ntp:ntp代表网络时间协议。这是一个标准的internet协议(ip),用于通过网络将计算机时钟同步到某些参考。
该协议可用于将所有联网设备同步到协调世界时(utc)。
ntp设置计算机时钟。对于utc,客户端可以应用任何本地时区偏移量或夏令时偏移量。这样,无论位置和时区如何,客户端都可以同步到服务器。
它将如何工作:
客户端设备(例如esp8266)使用端口123上的用户数据报协议(udp)连接到服务器。然后,客户端将请求包发送到ntp服务器。
响应此请求,ntp服务器发送时间戳包。
时间戳包包含多个信息,例如unix时间戳,准确性,延迟
然后客户端可以解析出当前日期和时间值。
步骤3:在arduino ide上安装库
在您的arduino ide中,转到库管理器并搜索ntp,然后按照我下载的方式下载ntp客户端库,请参考图像以获取更多帮助。
步骤4:编码部分
请复制以下代码并将网络凭据放入代码中,然后
您需要为我设置偏移时间为19800
因为我的时区是utc + 5: 30这样
utc +5:30 = 5.5 * 60 * 60 = 19800 utc + 1 = 1 * 60 * 60 = 3600
计算时区并进行编辑,然后上传代码。
#include“ ntpclient.h”
#include“ esp8266wifi.h”
#include“ wifiudp.h”
const char * ssid =“ ***********”;
const char * password =“ ***********”;
const long utcoffsetinseconds = 19800;
char daysoftheweek [7] [12] = {“ sunday”,“ monday” ,“星期二”,“星期三”,“星期四”,“星期五”,“星期六”}};
//定义ntp客户端以获取时间
wifiudp ntpudp;
ntpclient timeclient(ntpudp,“池。 ntp.org”,utcoffsetinseconds);
void setup(){ wifi.begin(ssid,password);
while(wifi.status()!= wl_connected){
延迟(500);
serial.print(“。”);
}
timeclient.begin();
}
void循环(){
timeclient.update();
serial.print(daysoftheweek [timeclient.getday()]);
serial.print(“,”);
serial.print(timeclient.gethours());结果serial.print( “:”);结果,serial.print(timeclient.getminutes());结果,serial.print( “:”);结果,斯里al.println(timeclient.getseconds());结果,//serial.println(timeclient.getformattedtime());结果,延迟(1000);结果,},点击
第5步:获取时间
将代码上传到esp8266之后,您可以打开串行监视器,如果一切正常,则可以开始计时串行监视器,因为我可以在串行监视器中获取时间。
因此,通过此项目,您可以连接任何显示器,并使其成为适当的网络时钟。因此,尽享网络时钟的乐趣。
探讨国内IC设计行业发展新模式
Silicon Labs优化LifeSmart云起全新推出的智能家居面板,助其轻松实现全屋控制与连接
高通与中国众多行业开展合作将助力中国5G时代早日到来
MAX2170 VHF和L波段输入端口的S11参数
通信技术智能混合助千兆家庭在2013年成为现实
如何通过ESP8266/nodemcu和Arduino IDE来获取时间
华为AI芯片强大到难以想象
高速PCB设计布线技巧
可控硅触发电路原理 可控硅触发电路的触发方式
锂电行业万亿级市场的机会在哪里?
当苹果推出可折叠的 iPhone 时,iPad mini可能停售
发光二极管的正负极如何判断?
管壳式换热器中管与壳程的分析
冬季LED显示屏也“矫情”,冬季必修课,LED屏如果防静电
桃源县人机交互智能显示屏产业集群获评湖南省省级产业集群
如何布置无人值守变电站?
关于GD32创新解决方案对即时配送行业的智能化变革的影响
大众布局电动汽车 成特斯拉的竞争对手
如何选择合适的红外线温度传感器
随着人工智能的发展,电话机器人将成为电销行业的标配