本期为大家带来MCU请求网络时间的方法,前期例程http://club.gizwits.com/thread-4032-1-1.html是手机APP远程控制STM32底板Gokit2的4个LED,我们在此基础上添加同步网络时间方法。云端数据点:
在开发向导下载串口通信协议,找到4.13,MCU请求获取网络时间:
可以看出MCU发出的命令码是0x17,WIFI模组回复的命令码是0x18.
下面开始增加同步网络时间方法:
step1:在gizwits_protocol.h的PROTOCOL_CMDTYPE结构体添加2个命令码:
step2:在gizwits_protocol.c文件里编写一个获取网络时间的API,即发送命令码0x17;
step3:在gizwits_protocol.h文件**一下定义的获取网络时间API,另外**一个结构体用来保存时间:年、月、日、时、分、秒;
step4:在gizwits_protocol.c里面的int32_t gizwitsHandle(dataPoint_t *currentData)函数里面添加以下代码,即WIFI模组返回时间后,就读取时间;在函数体外面定义一下用来保存时间的结构体mytime;
step5:最后在main.c的userhandle里面添加打印日期的代码,这里1s打印一次便于观察;
最后烧录好用串口调试助手看是酱紫的:
这里只是演示了MCU获取时间的方法,在上电未连接服务器时获取的时间是有误的,具体需要根据实际修改,比如判断连接服务器后才获取时间。
附件:
1.完整keil工程源码:
GokitDemo_MultiLEDs&GetTime.zip
2.本例程的串口通信协议文档:
GokitMultiLEDs-机智云接入串口通信协议文档.pdf
3.测试手机APP:
IOEDemo_Android_20161109.zip
IOEDemo_iOS_20161109.zip
有奖活动 | |
---|---|
【有奖活动】分享技术经验,兑换京东卡 | |
话不多说,快进群! | |
请大声喊出:我要开发板! | |
【有奖活动】EEPW网站征稿正在进行时,欢迎踊跃投稿啦 | |
奖!发布技术笔记,技术评测贴换取您心仪的礼品 | |
打赏了!打赏了!打赏了! |
打赏帖 | |
---|---|
与电子爱好者谈读图四被打赏50分 | |
与电子爱好者谈读图二被打赏50分 | |
【FRDM-MCXN947评测】Core1适配运行FreeRtos被打赏50分 | |
【FRDM-MCXN947评测】双核调试被打赏50分 | |
【CPKCORRA8D1B评测】---移植CoreMark被打赏50分 | |
【CPKCORRA8D1B评测】---打开硬件定时器被打赏50分 | |
【FRDM-MCXA156评测】4、CAN loopback模式测试被打赏50分 | |
【CPKcorRA8D1评测】--搭建初始环境被打赏50分 | |
【FRDM-MCXA156评测】3、使用FlexIO模拟UART被打赏50分 | |
【FRDM-MCXA156评测】2、rt-thread MCXA156 BSP制作被打赏50分 |