6-4-自动对时的电子时钟

章节目录
第一章百度AI智能识别技术
第二章人脸识别技术
第三章Arduino基础学习
第四章Arduino进阶学习
第五章IOT物联网
第六章WIFI与Arduino的结合
第七章阿里云IOT服务
第八章百度天工物联网
第九章APPInventor制作手机APP
第十章自己做的七七八八
独角架第十一章制作APPInventor自定义插件
第十二章手机实现局域网连接
第十三章项目应用——小学生百度天工
第十四章项目应用——ESP32-cam摄像头模块第十五章项目应用——ESP32-cam摄像头模块二第十六章项目应用——WIFI模块手动配网
第十七章项目应用——红纳里斯的跨阵M1
第十八章项目应用——OLED液晶屏插件
6-4-自动对时的电子时钟
我们还记得之前用1602液晶屏和DS1302时钟模块,做过一个电子时钟吗?
我们在每次开始时,都要先给时钟调整时间
今天我们如果用WeMos D1 UNO模块来做电子时钟,就不用调整时间了,就像现在的手机都有的功能一样,只要我们通过WiFi连接上网,就可以从网上得到一
个标准时间,有了这个标准时间,我们就不用手动去调整时钟的时间啦。这个就是自动网络调时的功能。pvc文件
一.  利用NTP库文件自动对时
要获得网络时间,最简单的办法是利用NTP库文件。我们需要在Arduino IDE
中添加NTP的库文件。
中子嬗变如图“项目——加载库——管理库”打开库管理器,输入NTP稍等一会儿,就会出现NTPClient的库,点击信息,会出现版本号和安装按钮。直接点击安装。
安装完成后,我们可以打开“文件——示例——NTPClient——bask”的示例文件,把这个文件编译,烧写到WiFi模块中,会在串口监视器中看到有时间打印出来了。这个时间是世界标准时间(0时区,格林威治时间),如果是北京时间还要加上8小时。
程序代码非常简单,就短短几行而已:
#include <NTPClient.h>
#include <ESP8266WiFi.h>
#include <WiFiUdp.h>
const char *ssid  = "<SSID>";
const char *password = "<PASSWORD>";
WiFiUDP ntpUDP;
NTPClient timeClient(ntpUDP);
void setup(){
Serial.begin(115200);
WiFi.begin(ssid, password);
while ( WiFi.status() != WL_CONNECTED ) {
delay ( 500 );
10.8.0.254
Serial.print ( "." );
}
timeClient.begin();
}
void loop() {
timeClient.update();
Serial.FormattedTime());
delay(1000);
}
二.  自己编写NTP协议自动对时
上面那个程序很简单,那我们如果日期也需要打印怎么办。我们不用加载NTP 的库文件,也可以自己根据NTP的连接协议,自己写一个程序来获取日期。
NTP(Network Time Protocol)网络时间协议基于UDP。ESP8266也可以通过建立与NTP服务的连接,来获取实时时间。先看效果图把,把程序烧写到WiFi模块中,可以在串口监视器中看到网络标准时间:
程序每隔10秒,会连接一次NTP服务器;
会获得一个数字3794882565,这个是从1900年1月1日到现在经过的时间,以秒为单位。
经过换算得到时间是  6 :02 : 45。这个是世界标准时间,如果是北京时间还要加上8小时。
我们这次只有换算时间,没有换算日期,如果需要也可以从上面的数字中算出日期来。简单说一下换算的方法:
一天有24小时,就是24 * 3600 = 86400 秒;
3794882565 / 86400 = 43922天 ... ... 21765秒。
计算时间方法:立体绣花
21765秒=  6小时2分钟45秒。
计算日期方法:
t恤制作从1900-01-01到2019-12-31一共是43829天(这期间有29个闰年)。43922 - 42829 = 93天,也就是2020年已经过了93天。
这样1月31天、2月29天、3月31天,又2天。
所以从1900-01-01再过了43922天,又6小时2分钟45秒。
正好是2020-04-03的14时2分45秒(北京时间要加8小时)。
编写程序就是这样,一丝一毫都不能放过,都要计算得清清楚楚的。

本文发布于:2024-09-21 22:54:40,感谢您对本站的认可!

本文链接:https://www.17tex.com/tex/4/99637.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:时间   文件   模块   连接   项目
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议