
1、什么是NTP/ x) c+ N) O7 B l1 x( |: | NTP 是网络时间协议(Network Time Protocol),他用来同步网络中各个计算机时间的协议。在机智云串口协议中,支持获取 NTP 网络同步时间的功能。 2、查找gizwitsGetNTP函数$ P+ C) _1 l; {! R0 x/ z3 q NTP 网络时间请求 API 函数位置在 gizwits_protocol.c 文件中,如图所示: 2 Y# y/ l5 G- T( N, K) l ![]() ! D. [' z3 z# F# Y6 q3 ]2 F/ T* s 3、代码修改. u7 y) n9 l. a* ~) U 我们直接拷贝《第四步》移植协议时创建的点亮LED的代码工程,在这基础上进行修改即可。6 A" Z" X! x: j; O8 G 当模组在成功接入网络后,它会返回 wifi 状态事件,我们利用 wifi 状态事件去启动 NTP网络时间的请求,获取具体事件位置在 gizwits_procuct.c 文件 gizwitsEventProcess()函数,如下图所示:4 o# Q6 G: E% c* ?& q& l6 n0 n $ C( W# l# z( a) ~' m9 J ![]() $ N* k& l3 c- v U 首先在 main.c文件中,定义一个 wifi_sta 变量,用来记录 wifi 连接状态,当模组连上机智云的服务器时,会返回WIFI_CON_M2M 的事件,断开时返回WIFI_DISCON_M2M,所以我们就在这两个地方添加标志位并且要引入外部变量,否则会报错,如下图所示: ![]() % h) P. d( C& l8 Z- { 连接成功后,wifi_sta变量标志就会为1,接着我们就要在userHandle 函数内数据采集逻辑(我的userHandle 函数保留在main.c内),代码如下:2 v# x3 n, l5 C3 N* w 1 |1 w [3 \; a8 _ ![]() 验证结果如图 ![]() " s! m1 N/ |/ ] ( b: h# l5 l! F9 t# c+ e; ~2 X1 w |