查看: 188|回复: 1

[教程] STM32MCU请求网络时间例程

[复制链接]

163

主题

2

好友

1656

积分

版主

Rank: 7Rank: 7Rank: 7

  • TA的每日心情
    慵懒
    2016-10-24 09:55
  • 签到天数: 1 天

    连续签到: 1 天

    [LV.1]初来乍到

    发表于 2016-12-7 10:27:21 |显示全部楼层
    本期为大家带来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
    回复

    使用道具 举报

    5

    主题

    1

    好友

    1283

    积分

    进士

    Rank: 5Rank: 5

  • TA的每日心情
    擦汗
    昨天 09:44
  • 签到天数: 176 天

    连续签到: 4 天

    [LV.7]常住居民III

    发表于 2016-12-7 10:40:40 |显示全部楼层
    谢谢分享                           
    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    关闭

    站长推荐上一条 /4 下一条

    手机版|爱板网 |网站地图  

    GMT+8, 2017-6-24 01:05 , Processed in 0.091431 second(s), 9 queries , Memcache On.

    苏公网安备 32059002001056号

    Powered by Discuz!

    回顶部