
1、什么是NTP3 i1 @+ p7 I7 X, y; k; ?5 g NTP 是网络时间协议(Network Time Protocol),他用来同步网络中各个计算机时间的协议。在机智云串口协议中,支持获取 NTP 网络同步时间的功能。2 c! C* P0 w8 j0 q3 U( | # [0 ?5 n$ E7 \8 t/ L/ v! i) B 2、查找gizwitsGetNTP函数! j$ l& w) M! U- Z& u( a NTP 网络时间请求 API 函数位置在 gizwits_protocol.c 文件中,如图所示: , i. I7 P4 M# N9 p3 X& E8 B ![]() 3、代码修改, y0 R) @! e* x! D- Y+ ?# Y$ C 我们直接拷贝《第四步》移植协议时创建的点亮LED的代码工程,在这基础上进行修改即可。 当模组在成功接入网络后,它会返回 wifi 状态事件,我们利用 wifi 状态事件去启动 NTP网络时间的请求,获取具体事件位置在 gizwits_procuct.c 文件 gizwitsEventProcess()函数,如下图所示: " Y9 o( \( _3 b, O ![]() 首先在 main.c文件中,定义一个 wifi_sta 变量,用来记录 wifi 连接状态,当模组连上机智云的服务器时,会返回WIFI_CON_M2M 的事件,断开时返回WIFI_DISCON_M2M,所以我们就在这两个地方添加标志位并且要引入外部变量,否则会报错,如下图所示:# f1 e9 T8 l2 T. { 1 C% G' E8 h* {# X( X+ P ![]() 连接成功后,wifi_sta变量标志就会为1,接着我们就要在userHandle 函数内数据采集逻辑(我的userHandle 函数保留在main.c内),代码如下:! N0 h! ^3 w0 I/ U+ @9 [# e# i ![]() 验证结果如图2 L! _/ M6 Z0 W ![]() 2 x7 p, q1 V+ ^6 C$ S' l5 _ 6 b$ a/ w0 I1 g+ r) y' g 3 S& K$ m, {- L$ Y1 H; ~& I |