收藏官网首页
查看: 173776|回复: 169

[经验分享] MCU请求网络时间例程

 

321

主题

1054

帖子

4503

积分

论坛元老

Rank: 8Rank: 8

积分
4503
QQ
跳转到指定楼层
#
发表于 2016-11-22 19:45:25 | 只看该作者 |只看大图 回帖奖励 |正序浏览 |阅读模式
免费使用STM32、APP自动代码生成工具
本帖最后由 bigfanofloT 于 2016-11-22 19:55 编辑

本期为大家带来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工程源码:
游客,如果您要查看本帖隐藏内容请回复

2.本例程的串口通信协议文档:
GokitMultiLEDs-机智云接入串口通信协议文档.pdf (123.7 KB, 下载次数: 250)
3.测试手机APP:
IOEDemo_Android_20161109.zip (6.34 MB, 下载次数: 221)
IOEDemo_iOS_20161109.zip (6.72 MB, 下载次数: 173)


1、机智云QQ群:G1群:104975951 G2群:491509598 G3群:287087942
机智云爱好者-APP开发群: 599735135
QQ群目前非常活跃,欢迎大家参与进来,交流,讨论,答疑,解惑~~
2、机智云微信公众号: 机智云 gizwits、 机智云智能宠物屋go-iot
关注机智云Gizwits官方公众号随时掌握最新资讯和活动信息

0

主题

7

帖子

160

积分

注册会员

Rank: 2

积分
160
推荐
发表于 2016-11-26 12:58:15 | 只看该作者
本帖最后由 kentleo 于 2016-11-26 13:46 编辑

按教程《3分钟教你使用STM32CubeMX配置工程并移植机智云生成的协议》以及本文指导移植,数据点配置了三个led开关。当不操作app的led开关时,时间获取正常。但一旦操作app控制led亮灭,时间信息就卡死在WiFi2mcu这个节点上,之后不断输出的就是卡死当时的时间内容。
请教可能发生这个问题的原因。(没有使用os)
以下内容是log输出的内容。
其中flag是判断是否连接网络成功的标志。

Get One Packet!
WiFi2MCU[61495:  20]: ff ff 00 10 18 2e 00 00 07 e0 0b 1a 0d 12 25 58 39 1b 2d 7f
MCU2WiFi[62403:   9]: ff ff 00 05 17 2f 00 00 4b

**当前时间为2016 年 11 月 26 日  13 时 18 分 37 秒**

flag [1]
Get One Packet!
WiFi2MCU[62527:  20]: ff ff 00 10 18 2f 00 00 07 e0 0b 1a 0d 12 26 58 39 1b 2e 82
MCU2WiFi[63435:   9]: ff ff 00 05 17 30 00 00 4c

**当前时间为2016 年11 月 26 日  13 时 18 分38 秒**

flag [1]
Get One Packet!
WiFi2MCU[63559:  20]: ff ff 00 10 18 30 00 00 07 e0 0b 1a 0d 12 27 58 39 1b 2f 85
MCU2WiFi[64467:   9]: ff ff 00 05 17 31 00 00 4d

**当前时间为2016 年11 月 26 日  13 时 18 分 39 秒**

flag [1]
Get One Packet!
WiFi2MCU[64591:  20]: ff ff 00 10 18 31 00 00 07 e0 0b 1a 0d 12 28 58 39 1b 30 88
MCU2WiFi[65499:   9]: ff ff 00 05 17 32 00 00 4e

**当前时间为2016 年11 月 26 日  13 时 18 分 40 秒**


flag [1]
Get One Packet!
WiFi2MCU[65523:  12]: ff ff 00 08 03 0a 00 00 01 02 00 18
MCU2WiFi[65529:   9]: ff ff 00 05 04 0a 00 00 13
Evt: EVENT_CH2RELATER 0
valueCH2Relater Changed
changed, report data
MCU2WiFi[65551:  20]: ff ff 00 10 05 33 00 00 04 00 00 00 00 00 00 00 00 00 00 4c
MCU2WiFi[66580:   9]: ff ff 00 05 17 34 00 00 50


**当前时间为2016 年 11 月 26 日  13 时 18 分 40 秒**

flag [1]
MCU2WiFi[67602:   9]: ff ff 00 05 17 35 00 00 51

**当前时间为2016 年11 月 26 日  13 时 18 分 40 秒**

flag [1]
MCU2WiFi[68624:   9]: ff ff 00 05 17 36 00 00 52

**当前时间为2016 年 11 月 26 日  13 时 18 分 40 秒**

点评

卡死很有可能是堆栈不足  详情 回复 发表于 2017-2-9 15:23

2

主题

140

帖子

897

积分

高级会员

Rank: 4

积分
897
推荐
发表于 2017-1-14 17:00:33 | 只看该作者
楼主!从论坛下载最新版的微信宠物屋工程文件(.HEX除外)是不是相当于一个空壳子来的?也就是说用户如果要想控制LED0到LED4、电机正反转、彩色灯、温湿度等,还要用户自己修改代码,是不是这样理解的?因为我烧写宠物屋文件夹里面自带的hex文件给gokit可以用手机控制。但是如果我用keil5软件打开“gokit_mcu_stm32”工程,然后编译生成新的hex,然后把这个新的hex烧写进去后,发现手机可以发现设备,但是手机无法连接上设备。。。什么问题

点评

控制底板LED0~4的话当然需要自己添加mcu底层驱动代码,并且云端数据点也要对应添加,参见我发过的控制gokot上4个LED的例程  详情 回复 发表于 2017-2-9 15:19
微信宠物屋源码包含了gokit扩展板上面的外设的驱动,可以对其进行控制,需要注意的是,如果自己编译,需要先自己创建一个模板产品,拷贝PK码,可参见我发过的使用指南  详情 回复 发表于 2017-2-9 15:16

0

主题

2

帖子

10

积分

新手上路

Rank: 1

积分
10
推荐
发表于 2017-8-15 17:47:04 | 只看该作者
et One Packet!
****my time is:2017:8:15:17:44:53******
Get One Packet!
****my time is:2017:8:15:17:44:53******
Get One Packet!
****my time is:2017:8:15:17:44:53******
Get One Packet!
****my time is:2017:8:15:17:44:53******
Get One Packet!
****my time is:2017:8:15:17:44:53******
Get One Packet!
****my time is:2017:8:15:17:44:53******
Get One Packet!
为什么我的时间一直不变化啊!

0

主题

10

帖子

96

积分

注册会员

Rank: 2

积分
96
166#
发表于 2024-4-17 10:13:12 | 只看该作者
免费使用STM32、APP自动代码生成工具
收藏一下,慢慢研究一下

0

主题

2

帖子

32

积分

新手上路

Rank: 1

积分
32
165#
发表于 2023-8-8 16:55:44 | 只看该作者
看一看参考一下,做一个网络时间

0

主题

1

帖子

18

积分

新手上路

Rank: 1

积分
18
164#
发表于 2023-4-25 15:24:43 | 只看该作者
666666666666666666

0

主题

1

帖子

9

积分

新手上路

Rank: 1

积分
9
163#
发表于 2023-4-17 10:54:33 | 只看该作者
感谢大佬 666666666

0

主题

1

帖子

21

积分

新手上路

Rank: 1

积分
21
162#
发表于 2023-2-12 21:38:37 | 只看该作者
获取网络时间

0

主题

2

帖子

41

积分

新手上路

Rank: 1

积分
41
159#
发表于 2022-4-21 10:57:08 | 只看该作者
111111111111111111

0

主题

1

帖子

9

积分

新手上路

Rank: 1

积分
9
158#
发表于 2022-4-19 13:42:50 | 只看该作者
顶顶顶 学习学习

2

主题

6

帖子

223

积分

中级会员

Rank: 3Rank: 3

积分
223
157#
发表于 2022-4-16 15:23:32 | 只看该作者
666666666666666

0

主题

1

帖子

9

积分

新手上路

Rank: 1

积分
9
156#
发表于 2021-8-5 08:26:24 | 只看该作者
教您5分钟接入机智云,实现傻瓜式开发
你好,请问能看工程代码吗

0

主题

1

帖子

11

积分

新手上路

Rank: 1

积分
11
154#
发表于 2021-5-18 02:26:40 | 只看该作者
可以直接使用gizwitsGetNTP()吗?

0

主题

1

帖子

9

积分

新手上路

Rank: 1

积分
9
150#
发表于 2021-2-9 18:29:12 | 只看该作者
       
参与/回复主题关闭
RE: MCU请求网络时间例程 [修改]

0

主题

2

帖子

35

积分

新手上路

Rank: 1

积分
35
149#
发表于 2021-1-27 19:28:17 | 只看该作者
非常需要,感谢

0

主题

1

帖子

23

积分

新手上路

Rank: 1

积分
23
148#
发表于 2021-1-18 18:14:55 | 只看该作者
好好,学习了,楼主威武!
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

加入Q群 返回顶部

版权与免责声明 © 2006-2024 Gizwits IoT Technology Co., Ltd. ( 粤ICP备11090211号 )

快速回复 返回顶部 返回列表