查看: 2007|回复: 0

氦氪云入门教程07-来玩新版氦氪通用演示产品

[复制链接]
  • TA的每日心情
    开心
    2016-11-11 12:32
  • 签到天数: 2 天

    [LV.1]初来乍到

    发表于 2017-8-11 16:20 | 显示全部楼层 |阅读模式
    现在我们官方淘宝店发货的氦氪模块,其中烧录的都是新版的氦氪通用演示产品的prodKey,今天我们来体验下这个新的演示产品。在看本贴之前,你可以先看一遍新版氦氪通用演示产品使用说明书
    模块配网之后,进入设备控制页面,可以看到功能页面是空白的,我需要在设置页面添加状态和命令。
    191034eiktjf6btgl46pz0.png
    给设备起个名字叫演示设备,添加两个状态,温度和湿度,其中温度是开氏温度(摄氏温度+273),所以用到了两个字节。
    191422zv6hmglb66djthsj.png
    添加命令,注意这里的命令取值是从2开始的,因为命令0和1有默认的功能,其中,命令0代表APP查询设备状态,命令1代表设备上报状态。指令位是从6开始的,因为一帧数据中,帧头是4个字节,命令又占了1个字节,所以指令位可取的最小值是6。 命令类型:
    回弹开关:01:打开开关,00:保持不变
    非回弹开关:01:打开开关,02:关闭开关,00:保持不变
    档位调节值:01:档位1,02:档位2,03:档位3,FF:关闭该项设定,00:保持不变
    滑条调节值:[01,65]表示 0%-100%百分比,FF:关闭该项设定,00:保持不变
    关闭该项设定是指该命令对应的控件变成不可用状态,无法操作。

    191606rbb5vj4b7g75navq.png
    设置完毕之后,点击右上角的发布按钮,页面会跳到功能页面,但是页面底部的三个按钮(功能,设置,调试)消失了,可以点击页面上方的设备名称5次再次调出底部的三个按钮,每次从设备列表页进入设备控制页面的时候,底部的这三个按钮都会消失,需要手动调出来。
    192836miis33cm9qs2ssse.png
    经过以上步骤我们就完成了一个演示产品的设置,其形成的通信协议如下图所示:
    185835lj0l0kppjuflvrul.png

    实际操作示例:
    进入设备控制页面
    设备收到:48 06 02 01 00 51
    设备应答:48 06 02 01 00 51
    设备上报当前状态(见备注1示例)

    每隔30秒钟
    设备收到:48 06 02 01 00 51
    设备应答:48 06 02 01 00 51
    设备上报当前状态(见备注1示例)

    点击回弹按钮
    设备收到:48 0D 02 02 02 01 00 00 00 00 00 00 5C
    设备应答:48 0D 02 02 02 01 00 00 00 00 00 00 5C
    设备上报当前状态(见备注1示例)

    点击非回弹按钮
    设备收到:48 0D 02 03 03 00 01 00 00 00 00 00 5E
    设备应答:48 0D 02 03 03 00 01 00 00 00 00 00 5E
    设备上报当前状态(见备注1示例)

    调节档位到“中”档
    设备收到:48 0D 02 05 04 00 00 02 00 00 00 00 62
    设备应答:48 0D 02 05 04 00 00 02 00 00 00 00 62
    设备上报当前状态(见备注1示例)

    将滑动条拖到50%的位置
    设备收到:48 0D 02 08 05 00 00 00 33 00 00 00 97
    设备应答:48 0D 02 08 05 00 00 00 33 00 00 00 97
    设备上报当前状态(见备注1示例)

    备注1:
    设备上报当前状态示例:
    非回弹开关开,中档,滑动条59%,温度299,湿度50
    设备发送:48 0D 01 01 01 00 01 02 3C 01 2B 32 F5
    模块应答:48 0D 01 01 01 00 01 02 3C 01 2B 32 F5
    202227m8b2ak5pcs3sknc5.png

    非回弹开关关,高档,滑动条64%,温度305,湿度80
    设备发送:48 0D 01 01 01 00 02 03 41 01 31 50 20
    模块应答:48 0D 01 01 01 00 02 03 41 01 31 50 20
    202404t6doz6uc619ccdoi.png

    在调试页面,可以下发数据给设备:
    直接填写业务数据就可以了,不用添加帧头和校验码。
    202923atky1aakiuw3135t.png
    串口助手收到数据
    203123dqltsteafealdld9.png
    你会发现在调试页面下发的帧和串口助手收到的帧的内容并不是完全相同的,但是业务数据是相同的,这个原因我在教程氦氪云入门教程01-拿到氦氪WiFi模块之后应该怎样开始玩?里讲过,这里再提一遍:
    MCU和WiFi模块之间维护一套自增的帧序号,WiFi模块和APP之间维护另外一套自增的帧序号,所以从APP下发的一帧数据,在MCU上看到的帧序号和APP下发的可能是不一致的,但是有效数据是一致的,因为MCU和WiFi模块之间是一上电就开始有数据收发了,APP每次打开,没法知道MCU当前的帧序号,所以就从帧序号0开始发,这时WiFi模块如果直接转发数据给MCU,MCU就会疑惑,帧序号为何又从0开始了。

    在调试页面,可以模拟设备上报数据:
    这里也是直接填写业务数据,我们填的业务数据为01 00 01 02 3C 01 28 32,其代表的意思是设备上报当前的状态为:非回弹开关开,中档,滑动条59%,温度299,湿度50
    204006ih2uwh2ql2clelwc.png
    切换到功能页面,可以看到页面显示了我们刚才在调试页面模拟设备上报的数据。
    204037fz6joh5kzi2c3icq.png

    备注:
    如果你模块里的PK已经被写成其他值了,但是想再次使用这个氦氪通用演示产品,请透过串口发送如下的PK设置帧给模块:
    48 16 FE 01 21 01 AE 49 85 53 B1 D1 2E 5A D4 45 00 BD 79 36 86 63
    重写PK之后,请在丛云APP里将PK为旧值的设备删掉,然后使设备进入配网模式,重新在丛云APP里添加设备。
    您需要登录后才可以回帖 登录 | 立即注册  

    本版积分规则

    热门推荐

    【原创】 drawbot平面关节scara机械臂写字机 画画机器人直播...
    【原创】 drawbot平面关节
    这个项目上个月就在做了,结构和代码反反复复改了多次,加上自己又太忙,一直没来得及
    【干货分享】国产mega2560改进板原理图PCB图纸altium designer18
    【干货分享】国产mega2560
    暂时付费分享,基于某宝上 mega2560 R3 改进版抄的,算是最便宜的mega2560了,自己也
    micro:bit编程机器人小车-麦昆,快来免费领!!!
    micro:bit编程机器人小车-
    【亲子试用大作战】micro:bit编程机器人小车-麦昆,快来免费领! DFRobot的免费试用好
    OLED 128*64自制可达10000000个选项的菜单(已更新)
    OLED 128*64自制可达10000
    OLED 128*64自制可达10000000个选项的菜单 温馨提示: 建议占个楼再食用本帖子
    求助,arduino nano发热严重
    求助,arduino nano发热严
    我有一块arduino nano板,装在一个扩展板上(如下图),用扩展板上的外接电源接口(资
    Copyright   ©2015-2016  Arduino中文社区  Powered by©Discuz!   ( 蜀ICP备14017632号-3 )
    快速回复 返回顶部 返回列表