第1步:如何工作
NTP代表网络时间协议,它是用于将计算机时钟与协调世界时(UTC)参考同步的Internet协议。自1985年以前运营以来,NTP最初由特拉华大学的David L. Mills设计。 NTP旨在将所有参与计算机同步到UTC的几毫秒内。在这个项目中,我们将使用NTP将我们的4Duino与UTC同步,并在4Duino屏幕上显示。在骨架代码中,有一个部分用于初始化ESP8266 Wi-Fi模块。您需要做的就是取消注释这些代码行,并为您完成初始化。现在可以使用AT命令控制Wi-Fi模块了。
步骤2:工作原理的第1部分
默认波特率设置为115200 bps,但软件序列实际工作的最大波特率为19200 bps。所以在代码中它需要改变波特率,这是在骨架代码中完成的。
步骤3:工作原理的第2部分(SSID和密码)
ESP8266设置为站点模式并加入AP,AP可以是您的家庭路由器。 SSID和PASSWORD分别在代码中定义。此外,程序将模块设置为单连接模式。在单连接模式下,只能创建一个TCP或UDP通信。 (如第一张图所示)
第4步:工作原理的第3部分(更改SSID和密码)
只需更改SSID和PASSWORD以适合您的路由器。
步骤5:工作原理的第4部分
代码上面用于绘制4Duino显示屏上的时钟面。
步骤6:函数
此处显示的函数在本文档稍后的流程图。最好先提出每个功能的用途。这将使流程图的理解更容易,显示程序如何作为一个整体工作。
第7步:函数:无符号长GetTime()
输入:无
返回:UNIX时间(自1970年1月1日起的秒数)
4Duino通过UDP启动与NTP网络服务器的通信,并将服务绑定到端口123.
步骤8:功能:无符号长GetTime()(第1部分)
4Duino通过UDP向服务器发送NTP请求。
步骤9:功能:无符号长GetTime()(第2部分)
响应中的服务器将发送数据包,其中字节40到43包含时间戳。
步骤10:功能:无符号长GetTime ()(第3部分)
提取并合并此数据以计算NTP时间(自1900年1月1日起的秒数)。
步骤11:功能:无符号长GetTime()(第4部分)
这进一步转换为UNIX时间(自1970年1月1日起的秒数)函数返回该值。
步骤12:函数:字符串GMTTime(int GMT)
输入:时差来自GMT
返回:格式为String的位置时间HH:MM:SS
此函数将UNIX时间转换为小时,分钟和秒,并返回包含此信息的字符串,格式为(HH:MM:SS)。
此外,它接收GMT位置的时差作为输入,允许函数考虑GMT的差异并计算特定位置的时间。
步骤13:功能:无效DrawHand(int Length,Int Angle,Int Color,Int Size)
输入:手的长度,角度,手的颜色,实心圆的半径手的结尾
此功能允许绘制与计算时间对应的时钟指针(小时,分钟,秒)。
步骤14:流程图
步骤15:C OMPONENTS
此项目仅使用4Duino的内部电路。因此,您不需要此项目的任何组件。但是,需要微型USB电缆来编程4Duino。
步骤16:实施
1.构建
4Duino有一个内置的ESP8266 Wi-Fi模块。因此,该项目不需要外部电路。
步骤17:实施
2。程序
Workshop 4 - 4Duino Basic Graphics环境用于编程此项目。 (同样可以在最新的Arduino IDE中实现)
这个项目需要安装Arduino IDE,因为Workshop调用Arduino IDE来编译Arduino草图。但是,不需要打开或修改Arduino IDE来编程4Duino。 (如第一个图所示。)
使用Workshop 4打开此文件。
在程序中更改SSID和PASSWORD以适合您的路由器。 (如下图所示)
注意:在此处下载项目。
步骤18:实施
3。通信端口
使用μUSB电缆将4Duino连接到PC。然后导航到Comms选项卡并选择4Duino连接的Comms端口。
步骤19:实现
4。编译和上传
最后,返回“主页”标签,然后点击“Comp‘nLoad”按钮。
第20步:演示
上传4Duino后,通过UDP与NTP服务器通信,并在4Duino屏幕上显示同步时间。
-
时钟
+关注
关注
10文章
1712浏览量
131254 -
NTP
+关注
关注
1文章
155浏览量
13868
发布评论请先 登录
相关推荐
评论