收藏官网首页
查看: 7007|回复: 0

【GOKIT详解篇】自动生成MCU代码

5

主题

7

帖子

248

积分

中级会员

Rank: 3Rank: 3

积分
248
QQ
发表于 2017-7-14 10:59:07 | 显示全部楼层 |阅读模式
注册成为机智云开发者,手机加虚拟设备快速开发
本帖最后由 银尔达电子 于 2017-7-14 15:25 编辑

gokit自动生成MCU代码】 :以下制作教程只供学习和DIY制作,不能用于商业用途。
作者:银尔达电子-Eric
介绍:银尔达电子专注于物联网开发套件研发和销售,提供物联网产品定制化服务!
官方淘宝:https://yinerda.taobao.com

硬件环境.gif

一:创建新产品

1,在机智云后台(http://dev.gizwits.com)新建一个产品【微信宠物屋】,可自定义,APP上显示的名称。

                              
二:自定义数据点

1,在数据点下的管理选择产品数据点模板
1.2自定义数据点.png

2,选择GoKit Demo 点击应用此模板
1.3选择模板.png
三:机智云后台生成MCU代码

1,点击新建项目【微信宠物屋】——服务——MCU开发,选择独立MCU代码,硬件平台选择STM32F103C8X,复制基本信息里的ProductKey填入,点击生成代码包。
1.5MCU开发.png
2,MCU代码生成后,点击下载,并用Keil MDK打开工程文件,设置下工程(不会的话可以参考工程设置),然后把代码下载到开发板上,按照出厂例程步骤配置,看下演示效果。
1.6自动生成源代码.png 1.7代码下载.png
3,按照配置步骤配置,发现配置成功,并能成功进入控制界面,但不管按哪个控制按键设备都没有反应。
4,普及下自动工具只是把云端与信协议的解析与封包、传感器数据与通信数据的转换逻辑,并封装成了简单的API。
5,我们需要写好底层驱动代码,然后调用API接口就可以实现控制了。


三: 移植驱动代码

1,我们现在写的是微信宠物屋,那我们直接拷贝官方提供的外设驱动到工程就好
     方式一:直接下载官方的微信宠物屋源码,把驱动文件复制到我们自动生成代码目录下;
     方式二:直接在我们云盘下载驱动程序,路径(物联网开发板>STM32版本Gokit>rogram>出厂程序>HalDriver)然后复制到自动生成代码目录下。
2,机智云链接:http://dev.gizwits.com/zh-cn/developer/resource/hardware?type=GoKit
     银尔达云盘链接:http://www.yinerda.com/newsdetail.aspx?id=1
3,默认自动生成代码的Hal文档下只有三个驱动

1.8驱动文件.png    
4,复制以下驱动到Hal目录下
1.9驱动文件2.png
5,打开Keli MDK工程,在Hal目录下右键选择Add Existing Files to Group Hal添加。
1.10添加驱动文件.png

四:只读数据点API接口调用

1,添加只读数据点,像传感器数据采集,在新建的个人项目>数据点那里可以看到有“环境温度,环境湿度,红外探测”,这三个数据点是可读的,那这里我们先来添加这三个数据点。
2,添加驱动头文件。并且定义2个全局变量来保存读取的温湿度数据。
1.11添加驱动头文件.png
3,用户初始化函数,把用户驱动的初始化添加到这里。
1.12添加驱动初始化.png
4,用户数据处理接口,把温湿度的读取放到这里,并且填充数据结构以达到上报目的。这里注意加了一个延时函数,目的是不让温湿度传感器读取过快。
1.13添加用户处理函数.png
5,我们在按键处理这里添加两个指示,因为生成的测试手机APP在配置入网时会有提示,这个不是必须的。如何触发配置入网模式?采用什么模式完全由用户代码决定,这里是为了配合测试对APP的提示。
1.14添加RGB指示函数.png
6,下面是主函数,完全不需要用户修改。
1.15主函数.png
7,MCU工程弄好后,编译并下载,这里不再赘述。
8,然后我们插上USB线连接电脑,打开串口调试助手可以看到调试信息;
9,一切就绪后,长按KEY2 2S进行配置连接路由器,我们使用的触发配置入网方式为长按KEY2,AirLink方式,当然用户可以自定义触发方式和配置方式。
1.16串口工具.png
10,烧录进去配置后发现温湿度值在APP上可以显示出来,并且红外感应也正常上报,证明可读数据点MCU程序修改成功,没成功的小伙伴可重复看下上面步骤,好了,我们接下来讲解可写数据点是怎么处理的。

五:可写数据点API接口调用

1,添加驱动头文件
1.17添加驱动头文件3.png       
2,打开gizwits_product.c文件,在这里面添加数据点事件处理逻辑,调用外设API接口
1.18添加事件处理函数.png
3,功能实现
1.19添加处理函数1.png
1.20添加处理函数2.png
4,Main.c函数中添加电机初始化
1.21添加初始化.png
5,这里你们可能发现这里添加了一个电机状态初始化,这里是把电机状态置为0,上电电机不会转。
     在gizwits_protocol.h添加一个define定义。
1.22添加电机.png
6,MCU工程弄好后,编译并下载,这里不再赘述。
7, WIFI模块上一步有配置入网,接下来我们可以省下这步,直接打开APP进行控制。原因是我们只更新了MCU程序,WIFI固件      没有作任何更改。
8,这里可以发现微信宠物屋功能全部都已实现。
     至此自动生成MCU代码讲解完毕。

演示动态图.gif

六:配套程序下载
MCU_STM32F103C8x_source.rar (5.78 MB, 下载次数: 139)
1.4基本信息.png
1.1创建新产品.png
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

加入Q群 返回顶部

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

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