如何制作NTP时钟

电子说

1.2w人已加入

描述

第1步:如何工作

NTP

NTP

NTP代表网络时间协议,它是用于将计算机时钟与协调世界时(UTC)参考同步的Internet协议。自1985年以前运营以来,NTP最初由特拉华大学的David L. Mills设计。 NTP旨在将所有参与计算机同步到UTC的几毫秒内。在这个项目中,我们将使用NTP将我们的4Duino与UTC同步,并在4Duino屏幕上显示。在骨架代码中,有一个部分用于初始化ESP8266 Wi-Fi模块。您需要做的就是取消注释这些代码行,并为您完成初始化。现在可以使用AT命令控制Wi-Fi模块了。

步骤2:工作原理的第1部分

NTP

默认波特率设置为115200 bps,但软件序列实际工作的最大波特率为19200 bps。所以在代码中它需要改变波特率,这是在骨架代码中完成的。

步骤3:工作原理的第2部分(SSID和密码)

NTP

ESP8266设置为站点模式并加入AP,AP可以是您的家庭路由器。 SSID和PASSWORD分别在代码中定义。此外,程序将模块设置为单连接模式。在单连接模式下,只能创建一个TCP或UDP通信。 (如第一张图所示)

第4步:工作原理的第3部分(更改SSID和密码)

NTP

只需更改SSID和PASSWORD以适合您的路由器。

步骤5:工作原理的第4部分

NTP

代码上面用于绘制4Duino显示屏上的时钟面。

步骤6:函数

此处显示的函数在本文档稍后的流程图。最好先提出每个功能的用途。这将使流程图的理解更容易,显示程序如何作为一个整体工作。

第7步:函数:无符号长GetTime()

NTP

输入:无

返回:UNIX时间(自1970年1月1日起的秒数)

4Duino通过UDP启动与NTP网络服务器的通信,并将服务绑定到端口123.

步骤8:功能:无符号长GetTime()(第1部分)

NTP

4Duino通过UDP向服务器发送NTP请求。

步骤9:功能:无符号长GetTime()(第2部分)

NTP

响应中的服务器将发送数据包,其中字节40到43包含时间戳。

步骤10:功能:无符号长GetTime ()(第3部分)

NTP

提取并合并此数据以计算NTP时间(自1900年1月1日起的秒数)。

步骤11:功能:无符号长GetTime()(第4部分)

NTP

这进一步转换为UNIX时间(自1970年1月1日起的秒数)函数返回该值。

步骤12:函数:字符串GMTTime(int GMT)

NTP

输入:时差来自GMT

返回:格式为String的位置时间HH:MM:SS

此函数将UNIX时间转换为小时,分钟和秒,并返回包含此信息的字符串,格式为(HH:MM:SS)。

此外,它接收GMT位置的时差作为输入,允许函数考虑GMT的差异并计算特定位置的时间。

步骤13:功能:无效DrawHand(int Length,Int Angle,Int Color,Int Size)

NTP

输入:手的长度,角度,手的颜色,实心圆的半径手的结尾

此功能允许绘制与计算时间对应的时钟指针(小时,分钟,秒)。

步骤14:流程图

NTP

步骤15:C OMPONENTS

此项目仅使用4Duino的内部电路。因此,您不需要此项目的任何组件。但是,需要微型USB电缆来编程4Duino。

步骤16:实施

1.构建

4Duino有一个内置的ESP8266 Wi-Fi模块。因此,该项目不需要外部电路。

步骤17:实施

NTP NTP

2。程序

Workshop 4 - 4Duino Basic Graphics环境用于编程此项目。 (同样可以在最新的Arduino IDE中实现)

这个项目需要安装Arduino IDE,因为Workshop调用Arduino IDE来编译Arduino草图。但是,不需要打开或修改Arduino IDE来编程4Duino。 (如第一个图所示。)

使用Workshop 4打开此文件。

在程序中更改SSID和PASSWORD以适合您的路由器。 (如下图所示)

注意:在此处下载项目。

步骤18:实施

NTP

3。通信端口

使用μUSB电缆将4Duino连接到PC。然后导航到Comms选项卡并选择4Duino连接的Comms端口。

步骤19:实现

NTP

4。编译和上传

最后,返回“主页”标签,然后点击“Comp‘nLoad”按钮。

第20步:演示

上传4Duino后,通过UDP与NTP服务器通信,并在4Duino屏幕上显示同步时间。

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分