- 1、本文档共11页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
基于GoKit的产品开发
杰升.北京 2014/9/30
编制人 Sean 审核人 批准人 产品名称 产品型号 文档编号 会签日期 版本 0.9.0
GizWits修订记录
修改时间 修改内容 版本 修改人 备注 2014-09-30 创建 0.9.0 Sean 目录
1. 开发GoKit 1
1.1. 开发过程(思路) 1
1.2. 了解GoKit 1
1.3. 定义新产品 1
1.4. 选择产品模板 1
1.5. 调整产品参数 2
1.6. 生成MCU协议 3
1.7. 生成虚拟设备 3
1.8. GoKit工程与调试 4
1.9. 协议细节 4
1.9.1. WIFI模块获取MCU基本信息 4
1.9.2. WIFI读取MCU属性 5
1.9.3. 设定LED的R值 5
1.9.4. 设定LED的G值 6
1.9.5. 设定电机转速 7
1.9.6. MCU主动上报状态 7
2. 以GoKit为例,开发新产品 8
开发GoKit
开发过程(思路)
了解GoKit - 了解GoKit能够支持的硬件功能
定义新产品 - 基于这些硬件功能设计一个简单产品
选择产品模板 - 选择一个已有的类似产品作为模板快速定义产品
调整产品参数 - 根据自己产品的需要对模板中的各属性字段(数据点)进行添加、删除或修改
生成MCU协议与示例代码 - 产品数据点保存后,立即生成完成的MCU开发协议以及对应的示例代码
生成虚拟设备 - 如果您没有GoKit开发板,不需要再做任何的MCU开发,生成的虚拟设备已经具备你所设计的产品功能
GoKit工程与调试 - 在您创建的GoKit工程中,添加示例代码,即可完成MCU协议数据的解析和组包,您只需完成对IO口的操作即可
协议细节 - 当然,如果您想详细了解MCU协议,我们会给您一一介绍
了解GoKit
GoKit能够提供的硬件功能为:
一颗STM32F103C8T6芯片,LPFQ封装,提供JTAG编程接口;
一个红外探测器,可以探测是否有阻挡;
一个R、G、B可编程全彩LED灯;
一个可编程电机;
一个温湿度传感器;
一个复位按键和四个自定义按键,可以根据需要自行设定,比如按键改变电机转速、按键改变LED颜色等;
此外,GoKit提供USB串口,可以更方便的对MCU进行调试或者升级。
定义新产品
基于GoKit提供的以上功能,我们可以设计一些简单且实用的产品,比如小狗宠物屋,我们设计这款产品功能如下:
当小狗在屋里的时候,LED亮绿色,当小狗不在屋的时候,LED亮红色,当小狗连续一个小时不在屋的时候,上报一条报警给主人;
当温度达到或者超过28度的时候,打开宠物屋的排风扇(电机),当温度降到28以下的时候,关闭宠物屋的排风扇(电机);
以上两个功能就可以很好的完成一个智能产品,当然,你也可以定义很多有趣的产品,比如儿童玩具之类的。 接下来我们可以以一个已有的产品模型为基础进行快速开发;
选择产品模板
我们选择GoKit开发模板,会自动出现已经定义好的数据点,如下图所示:
调整产品参数
小狗宠物屋这个产品中,我们需要关心的属性有:
LED的颜色R值(红色)
LED的颜色G值(绿色)
环境温度
电机转速
红外探测
这五个属性值保留,并使用默认的配置,其余的属性可以删除;
如下图所示:
五个属性分别可以进行更详细的编辑:
LED的R值(红色),用RGB表示发,一共有0-254种红色(数据范围为0-254),所以,我们用一个字节就可以描述(数据类型为uint8),这个属性是可以设定也可以读取的(读写类型为可写),由于没有负数,也没有浮点,MCU可以直接用一个字节描述这个属性,所以不需要做修正,所以分辨率为1,增量为0;
LED的G值定义同上;
环境属性,我们定义温度范围为0-50度,用一个字节可以表示(数据类型是数据,uint8),这个属性仅能读取,不能设置(读写属性是只读),同样不需要修正(k=1,m=0);
红外探测属性,可以探测是否有阻挡(是一个布尔类型),仅能读取(读写类型为只读);
电机转速我们定义范围0-1000,0表示停止,用两个字节描述,不用修正;
生成MCU协议
数据点保存后,会生成如下的MCU协议,协议在下文有详细解释:
FF FF 00 05 01 01 00 00 07
FF FF 00 47 02 01 00 00 30 30 30 30 30 30 30 34 30 30 30 30 30 30 30 32 30 30 30 30 30 30 30 31 30 30 30 30 30 30 30 31 64 36 39 61 66 35 3
文档评论(0)