OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 5916|回复: 1

基于UCOSIII+机智云的远程空调遥控器

[复制链接]

25

主题

281

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
2503
金钱
2503
注册时间
2015-8-17
在线时间
383 小时
发表于 2016-10-8 15:59:10 | 显示全部楼层 |阅读模式
本帖最后由 wszdxmh 于 2016-10-8 16:01 编辑

一年前,我通过师兄的介绍知道了机智云这家创业公司,后来,他们的经理来我们学校开了一次宣讲会,然后我就以个人开发者的名义申请了他们家的GoKit发板,开始对这家公司有一定的关注。他提供的物联网云端的服务还是很不错的,最近听说拿好了B轮3亿的投资,服务应该还是做得不错的。你打东西放在上面,机智云也不会管你,关键还免费,我不是打广告的,只是想给大家推荐一个减少开发工作量的平台。
言归正传,我下面看始讲解一下怎么样接入机智云的云端服务和移植和使用方法。这里要先说明一点,不是只有机智云的开发板才可以接入机智云的服务,只要是跟机智云有合作的WIFI模组,烧录了机智云的GAgent固件之后,注册一个开发者账号,创建项目之后,都可以使用机智云的服务。下面,我开始祥细的讲解一下怎么接入和移植和使用。
第一步:注册开发者账号,这个很简单,这里就不做讲解。
第二步:把相对应的GAgent的固件烧录进WIFI模组,图1是机智云支持的WIFI模组;烧录方法可以参考厂家的相关资料进行烧录,跟更新厂家的固件是一个方法,下在我提供两个我所用过的WIFI模组的烧录方法的教程。
ESP8266模块:
http://club.gizwits.com/forum.php?mod=viewthread&tid=3551&highlight=ESP8266
汉枫LBP-100模块:
http://club.gizwits.com/forum.php?mod=viewthread&tid=2719&highlight=LPB100
1.png
                            图1
第二步:创建产品,在开发者中心中点击创建产品,如图2图3所示;创建成功后如图4所示;
2.png 3.png 4.png
                      图2                                                               图3                                                     图4
第三步:创建数据点,数据点一定要设置好,为下一步自动生成MCU代码包作准备。我平时只用到了两个功能,一个是开关,一个设置温度,而且为了教程的简单方便,我只创建了这两个数据点,如图5所示;
5.png 6.png
                 图5                                                              图6
第五步:移植到自己的项目工程中去。本次要移植的文件有:gizwits_product.c和gizwits_protocol.c还有usart.c以及他们的.h头文件,usart.c可以选择自己写,就是开了两个串口:串口1和串口2,串口1用于打印LOG调试信息,串口2用于控制WIFI模组。打开下载好的MCU代码包,把里面所需要的文件复制到自己的工程,如图7所示;
7.png

        图7

第六步:修改成自己需要的功能。开发者进行移植后,只需要关注gizwits_product.c里面的[backcolor=rgba(128, 128, 128, 0.0470588)]int8_t[backcolor=rgba(128, 128, 128, 0.0470588)] gizwitsEventProcess(eventInfo_t *info, uint8_t *[backcolor=rgba(128, 128, 128, 0.0470588)]data, uint32_t len);函数即可,在里面调用自己所需要的功能函数就完成了,如图8所示;
8.png

图8

到这里就全部完成了,UCOSIII的移植可以看原子哥的视频,这里不作讲解。下面只要去机智云官网的下载中心下载一个Demo APP就可以实现远程控制啦!如图9所示。

9.jpg

图9


[backcolor=rgba(128, 128, 128, 0.0470588)]这里再说一下一个要注意的地方:就是在UCOSIII下面跑的时候,在任务中执行gizwitsHandle((dataPoint_t *)¤tDataPoint);任务堆栈我设置为256,我之前开128一跑就挂了,至于最小是多小,我也没测试过。
[backcolor=rgba(128, 128, 128, 0.0470588)]下面是我的工程文件: STM32F103C8T6Model-UCOSIII.zip (1.62 MB, 下载次数: 3809)
做事的原则:
1.每个问题重复三遍、研究三遍后再提问,直接得到答案的人什么都没学会。
2.做事要有始有终,感谢那些帮助自己解决问题的人,把解决的方法总结起来。
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

72

主题

2719

帖子

2

精华

论坛大神

Rank: 7Rank: 7Rank: 7

积分
3505
金钱
3505
注册时间
2014-8-4
在线时间
696 小时
发表于 2016-10-9 08:29:34 | 显示全部楼层
回复 支持 反对

使用道具 举报

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

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2024-5-29 11:05

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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