|
【HarmonyOS HiSpark Wi-Fi IoT 套件试用连载】六、同步网络时间,
本帖最后由 self1 于 2020-12-31 21:52 编辑
今天的帖子我写的是关于网络时间同步,主要功能为按下按键,进入网络NTP时间获取功能,最后完成网络时间的同步。
一、NTP时间获取
首先说说怎么获取网络时钟。现在很多NTP时间服务器,从服务器中就能获取网络时间。我所使用的时间服务器为time.windows.com,IP地址为52.231.114.183,端口号为123,采用UDP协议。需要先采用UDP方式,连接到该服务器。之后再发送48个字节的十六进制数(不用回车加换行):0b 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 d6 6d d9 00 00 00 00 00然后就可以看到时间服务器返回来的数据,下图是我使用调试组手获得的数据,正常情况下一共会收到48个字节数据,第41-44字节的数据是我们所需要的时间数据。如下获得的NTP数据为0xE398556A。
- 注意:该NTP数据是从1900年开始算的,而时间戳是从1970年开始算的
ntp.JPG (102.49 KB, 下载次数: 0)
下载附件 保存到相册
前天 21:51 上传
二、软件设计
首先需要移植许思维老师例程的部分代码。其中包括:net_common.h、net_demo.h、net_params.h、wifi_connecter.c、wifi_connecter.h。 其中net_params.h需要注意 PARAM_HOTSPOT_SSID改为你的路由器或者wifi热点名字,PARAM_HOTSPOT_PSK更改为路由器获取热点密码。
- #ifndef PARAM_HOTSPOT_SSID
- #define PARAM_HOTSPOT_SSID “YYYYY“ // your AP SSID
- #endif
|
|