查看: 2764|回复: 3

GOKIT开发

[复制链接]
  • TA的每日心情
    开心
    2015-4-19 11:09
  • 签到天数: 2 天

    连续签到: 1 天

    [LV.1]初来乍到

    发表于 2015-4-25 10:01:23 | 显示全部楼层 |阅读模式
    分享到:

    1. 开发GoKit

    1.1. 开发过程(思路)

    1) 了解GoKit - 了解GoKit能够支持的硬件功能

    2) 定义新产品 - 基于这些硬件功能设计一个简单产品

    3) 选择产品模板 - 选择一个已有的类似产品作为模板快速定义产品

    4) 调整产品参数 -

    5) 生成MCU协议与示例代码 - 产品数据点保存后,立即生成完成的MCU

    6) 生成虚拟设备 - 如果您没有GoKit开发板,不需要再做任何的MCU开发,你所设计的产品功能

    7) GoKit工程与调试 - 在您创建的GoKit工程中,添加示例代码,MCU包,您只需完成对IO口的操作即可

    8) 协议细节 - 当然,如果您想详细了解MCU1.2. 了解GoKit

    GoKit能够提供的硬件功能为:

    1) 一颗STM32F103C8T6芯片,LPFQ封装,提供JTAG

    2) 一个红外探测器,可以探测是否有阻挡;

    3) 一个R、G、B可编程全彩LED灯;

    4) 一个可编程电机;

    5) 一个温湿度传感器;

    6) LED

    颜色等;

    此外,GoKit提供USBMCU

    1.3. 定义新产品

    基于GoKit我们设计这款产品

    1) LED亮红色,当小狗连续一个小时不在屋


    2)当温度达到或者超过度的时候,打开宠物屋的排风扇(电机),当温度降到28以下的时候,关闭

    比如儿童玩具之类的。 功能如下:

    1.4. 选择产品模板


    我们选择GoKit开发模板,会自动出现已经定义好的数据点,如下图所示:


      GizWits文档 技术指导说明书


    1.5. 调整产品参数


    1) LED的颜色R值(红色)

    2) LED的颜色G值(绿色)

    3) 环境温度

    4) 电机转速

    5) 红外探测


    如下图所示:


    GizWits文档 技术指导说明书

    五个属性分别可以进行更详细的编辑:

    1) LED的R值(红色),用RGB表示发,一共有0-254种红色(数据范围为0-254),所以,我们用一个

    字节就可以描述(数据类型为uint8),这个属性是可以设定也可以读取的(读写类型为可写),由

    于没有负数,也没有浮点,MCU可以直接用一个字节描述这个属性,所以不需要做修正,所以分辨

    率为1,增量为0;

    2) LED的G值定义同上;

    3) 环境属性,我们定义温度范围为0-50度,用一个字节可以表示(数据类型是数据,uint8),这个属

    性仅能读取,不能设置(读写属性是只读),同样不需要修正(k=1,m=0);

    4) 红外探测属性,可以探测是否有阻挡(是一个布尔类型);

    5) 电机转速我们定义范围0-1000,0表示停止,用两个字节描述,不用修正;

    1.6. 生成MCU协议

    数据点保存后,会生成如下的MCU协议,协议在下文有详细解释:

    FF FF 00 05 01 01 00 00 07

    30 30 35 32 38 37 36 64 01 2C CA


    FF FF 00 06 03 02 00 00 02 0d


    FF FF 00 05 04 04 00 00 0d


    GoKit开发板,您也可以使用虚拟设


    1.8. GoKit工程与调试
    准的MCU
    通过这些协议,可以方便的管理MCU中对响应IO口进行操作即可。
    1.9. 协议细节
    1.9.1. WIFI基本信息
    完整协议包:拆分:
    01
    01
    00 00
    07

    MCU给WIFI模块返回基本信息:
    完整协议包: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 39 65 33 38 63 37 31 31 65 34 61 32 39 64 35 32 35 34 30 30 35 32 38 37 36 64 01 2C CA
    5个字节 要获取mcu基本信息的命令 标志位,保持0即可 校验值,从长度到校验和前的字节相加值
    第7/11页

    GizWits文档 技术指导说明书 拆分:
    FF FF
    00 47
    01
    01
    00 00 包头 长度,表示后面有71个字节(47为16进制) mcu给wifi返回基本信息的命令 序列号,需要和上述wifi的查询包中的sn相同 标志位,保持0即可
    机智云协议版本号
    P0协议版本号
    MCU硬件版本号
    MCU软件版本号 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

    产品的product_key 绑定超时时间 校验值,从长度到校验和前的字节相加值 01 2C CA
    1.9.2. WIFI读取MCU属性
    完整的协议包:FF FF 00 06 03 02 00 00 02 0d
    拆分:
    FF FF
    00 06
    03
    02
    00 00
    02
    0d

    MCU返回当前属性值
    完整的协议包:拆分:
    FF FF
    00 10
    04
    02
    03 55
    aa
    80 00
    01
    23
    BC mcu向wifi 序列号 0即可 wifi的查询状态命令 的R值 的G值 电机转速 红外探测结果(最低位一位表示红外探测结果,0:探测无,1:探测有) 温度值 校验值,从长度到校验和前的字节相加值 包头 长度,后面有6个字节 wifi向mcu发送数据的命令 序列号 标志位,保持0即可 查询状态命令 1.9.3. 设定LED的R值
    完整的协议包:FF FF 00 0d 03 04 00 00 01 01 CC AA 00 00 00 00 8C
    第8/11页

    GizWits文档 技术指导说明书 拆分:
    FF FF
    00 0d
    03
    04
    00 00
    01
    01
    8C
    说明:
    1) wifi给mcu发送控制指令时,会含有mcu所有的属性信息,这个属性信息和mcu给格式以及顺序完全相同(在定义产品的时候就确定了),wifi用位表示,最右为第01,表示要控制该属性;
    2) 本产品中,可以控制的属性依次有:LED R值、LED G3) 可以单独控制一个属性,比如单独设定LED R值,此时为 ;
    4) 也可以一次控制多个属性,比如同事设定LED R值和G030000 0011;
    5) 或者同时设定LED R值、G值以及电机转速,此时为0x070000 0111;
    6) 3个可写属性,一个字节即可表示,
    若定义9个可写属性,则自动用2

    MCU收到控制命令后的响应
    完整的数据包:拆分:
    FF FF
    00 05
    04
    04
    00 00
    0d 包头 长度 mcu响应序号,与sn相同 即可 包头 长度 wifi向mcu发送数据的命令 序号 标志位,保持0即可 控制类命令 控制属性标志组合,01表示第一个属性值有效 属性数据 校验值,从长度到校验和前的字节相加值 CC AA 00 00 00 00
    设定LEDFF FF
    00 0d
    03
    04
    00 00
    01
    02
    8D wifi向mcu发送数据的命令 序号 标志位,保持0即可 控制类命令 控制属性标志组合,02表示第二个属性值有效 属性数据 校验值,从长度到校验和前的字节相加值
    CC AA 00 00 00 00
    第9/11页

    GizWits文档 技术指导说明书
    MCU收到控制命令后的响应
    同上
    1.9.5. 设定电机转速
    完整的协议包:FF FF 00 0d 03 04 00 00 01 03 00 00 00 10 00 00 28
    拆分:
    FF FF
    00 0d
    03
    04
    00 00
    01
    03
    28

    MCU收到控制命令后的响应
    同上 包头 长度 wifi向mcu发送数据的命令 序号 标志位,保持0即可 控制类命令 控制属性标志组合,03表示第三个属性值有效 属性数据 校验值,从长度到校验和前的字节相加值 00 00 01 00 00 00
    1.9.6. MCU主动上报状态
    完整的协议包:拆分:
    FF FF
    00 0C
    05
    01
    00 00
    04
    A4

    WIFI
    FF FF
    00 05
    06
    01
    00 00
    0c

    wifi响应mcu的数据命令 序号,和mcu发出的数据包中sn相同 标志位,保持0即可 校验码 包头 长度 mcu主动给wifi 序号 即可mcu
    第10/11页

    GizWits文档 技术指导说明书
    2. 以GoKit为例,开发新产品
    如果您想做自己的更复杂的产品,可以仿照小狗宠物屋的方法,先确定产品功能,再依靠某个模板建立数据模型,然后用虚拟设备或者实体设备进行调试,协议和宠物屋类似;只要您定义清楚了设备,就自动生成了虚拟设备和测试APP,并且可以连接M2M平台进行调试;当然如果您有硬件并且试用了我们Gagent模块,马上就可以用SDK以及demo App进行实体设备的配置、发现、大小循环控制。

    2f0ae98fd4d8d15abe234e12 (1).jpg
    2f0ae98fd4d8d15abe234e12.jpg
    2f0ae98fd4d8d15abe234e12 (2).jpg

    评分

    参与人数 1与非币 +2 收起 理由
    tjcfeng + 2 支持,做点东西出来呀

    查看全部评分

    回复

    使用道具 举报

  • TA的每日心情
    开心
    2019-6-24 16:41
  • 签到天数: 709 天

    连续签到: 1 天

    [LV.9]以坛为家II

    发表于 2015-5-1 08:04:39 | 显示全部楼层
    这个是官网的的么
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2015-4-19 11:09
  • 签到天数: 2 天

    连续签到: 1 天

    [LV.1]初来乍到

     楼主| 发表于 2015-5-11 13:26:18 | 显示全部楼层
    光是整理了一点资料,由于时间紧张,还没有做实体出来,马上我将做个实体设备分享上去
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    奋斗
    2022-9-16 05:52
  • 签到天数: 1368 天

    连续签到: 1 天

    [LV.10]以坛为家III

    发表于 2015-5-11 13:57:08 | 显示全部楼层
    sky_刚 发表于 2015-5-11 13:26
    光是整理了一点资料,由于时间紧张,还没有做实体出来,马上我将做个实体设备分享上去 ...

    强烈支持!!!
    回复 支持 反对

    使用道具 举报

    您需要登录后才可以回帖 注册/登录

    本版积分规则

    关闭

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



    手机版|小黑屋|与非网

    GMT+8, 2024-3-28 16:54 , Processed in 0.158888 second(s), 23 queries , MemCache On.

    ICP经营许可证 苏B2-20140176  苏ICP备14012660号-2   苏州灵动帧格网络科技有限公司 版权所有.

    苏公网安备 32059002001037号

    Powered by Discuz! X3.4

    Copyright © 2001-2020, Tencent Cloud.