查看: 3757|回复: 2

【体验】机智云在线开发流程及虚拟设备调试体验

[复制链接]
  • TA的每日心情
    开心
    昨天 00:01
  • 签到天数: 3934 天

    连续签到: 5 天

    [LV.Master]伴坛终老

    发表于 2018-3-15 23:40:40 | 显示全部楼层 |阅读模式
    分享到:
    本帖最后由 toofree 于 2018-3-16 02:46 编辑

    【体验】机智云在线开发流程及虚拟设备调试体验

      很早就报名参加活动了,过年期间注册了机智云账号,简单体验过在线虚拟设备调试,一直没提交开发板申请。今天发个体验过程的体会,也算是对活动有个交待。

      打开机智去开发中心,并登陆账号。(注册步骤略过,电子工程师都会)
      https://dev.gizwits.com/zh-cn/developer/product/

      刚登陆开发中心,将显示之前创建的设备,如果没有设备,此页空空如也。
    傲游截图20180315235337.jpg

      为了再现原始状态,将已创建的设备删除。点击“在线调试设备”按键,进入调试界面,点右上的“选项”下拉菜单,选择“删除产品”,将放入“回收站”,还可以从回收站恢复。
    傲游截图20180315235826.jpg


      把已有设备全部删除后,恢复到原始状态。选择或上的“创建新产品”按钮,将开始创建产品向导。
    傲游截图20180315235308.jpg

      选择产品分类“智能家具”-->“空气电器”-->“空调”;产品名称自己填入“wifi开空调”;技术方案选择第一项“wifi/移动网络方案”;通讯方式“Wifi”;数据传输方式“定长”。最后点“保存”按键,保存新产品。
    傲游截图20180315215959.jpg

      自动跳转到“开发向导”页。开发向导显示有开发流程:1定义产品功能、2MCU开发 App/微信开发、3功能调试、4发布产品。下面是各分项的向导。我们在“定义产品功能说明”部分,点击右侧的“去添加数据点”按钮。
    傲游截图20180315220627.jpg

      来到“数据点”创建界面,选择“新建数据点”项。
    傲游截图20180315220650.jpg

      这时将弹出“添加数据点”对话框窗口。
      添加第一个数据点“电源开关”,标识名必须是英文,不能是中文,否则将报错不能成功添加数据点,填好相应的标识名“power”。读写类型“可写”,因为将来调试的时候需要设备、App、云之间相互调用数据,如果设置成只读,那么将不能交互,不能知道目前设备的状态,相当于盲操作。数据类型选择“布尔值”,开关就是开和关的状态,即1、0状态,因此选“布尔值”。备注“电源开关按钮”。最后点“添加”,确认添加数据点,添加成功后将在数据点列表中显示。
    傲游截图20180315220747.jpg

      添加第二个数据点“温度”。填写如图相应标识名、读取类型。数据类型选择数值,即16进制数据,数据范围选择“12到35”,空调温度控制范围。分辨率设置“1”,表示数据调整每次步进值为1。备注“温度设定”。确认添加数据点。
    傲游截图20180315220902.jpg

      添加第三个数据点“风扇速度等级”。填写如图相应标识名、读取类型。数据类型选择“枚举”,即每次是特定档位,如果数据变化不是线性的话,就得用枚举类型,当然本设备先按线性设置,设置数据的时候每个枚举元素之间用半角的逗号分隔,填写“0,1,2,3,4,5,6”,一共7个档位。备注“风扇速度等级”。确认添加数据点。
    傲游截图20180315221035.jpg

      最终生成的三个数据点为下表所示,点击“应用”最终完成数据点的创建。
    傲游截图20180315221054.jpg

      下图为最终数据点创建完成后的状态,可见上方的红色字体已经消失。完成数据点的创建后,设备所用的基本变量已经确定。
    傲游截图20180315221113.jpg

      这时我们来到开发者中心首页,将看到“产品”已经创建。点击“在线调试设备”,再次进入产品信息及调试页。
    傲游截图20180315221603.jpg

      产品信息及调试页,选择进入“基本信息”界面,我们将看到如下图中的设备信息。“Product Secret”项信息比较有用,先留意一下,要显示信息,需要点“显示完整密钥”后,在弹出对话框中填入用户的在机智云中心账号的登陆密码。
    傲游截图20180315221622.jpg

      刚才开了点小差,言归正传,再次点选“虚拟设备”界面,在右面点击“启动虚拟设备”按钮。
    傲游截图20180315221649.jpg

      来到“在线调试 / 虚拟设备”页面,点中间的“显示二维码”按钮,将弹出手机端机智云绑定设备所需的二维码。
    傲游截图20180315221716.jpg

      弹出绑定虚拟设备二维码,打开“机智云”手机客户端,扫描二维码,绑定虚拟设备。
    傲游截图20180315221729.jpg

      在手机打开“机智云”App,登陆App。不登陆的话点“跳过”也可,但登陆的好处是绑定的设备信息可以在线保存。(这里的登陆注册不同于开发中心的注册用户,好像跟那个没关系。需要重新注册一下)。进入后,点左上的二维码扫描图标,扫描上一步中弹出的二维码,将绑定设备。
    1.png

      设备绑定成功。显示“wifi开空调”,黄色表示在线状态。灰色表示已离线。点选设备“wifi开空调”。
    2.jpg

      进入“wifi开空调”虚拟控制界面,可看有三项power、speed、temperture,正是我们在创建数据点时填写的数据点标识名称,也在相应的控制按键、下拉列表框、拖动条。我们分别尝试着控制一下相应功能。
    3.png

      这时在网页的“在线调试 / 虚拟设备”页面,显示已经连接,并且可显示详细的控制动作,见下图红框中内容。
    傲游截图20180315221849.jpg


    傲游截图20180315221933.jpg

      在“模拟设备上报数据”部分设置相应的控制参考,点击下方“推送”按键。将在左侧“通信日志”中显示动作,同时在手机App上的参数也将同步更新。
    傲游截图20180315222642.jpg

      “通信日志”显示有两种方式:JSON和16进制。我们试一下“16进制”是怎么回事,点下拉菜单,选择“16进制”,下方日志将切换到16进制显示方式。
    傲游截图20180315222743.jpg

      再次回到手机App端.在“设置”界面下有四项内容:编辑设备名称、设备信息、数据透传、查检固件升级。“编辑设备名称”和“检查固件升级”先不管,看看另外两项。
    微信图片_20180315234401.png

      App端“设备信息”页面显示内容,与网页端“在线调试 / 虚拟设备”中一致。
    微信图片_20180315234356.png

      “数据透传”页面,可以发送控制字上传到“机智云”,如果控制字正确,可以控制相应设备。
    4.png

      观察一下“通信日志”中16进制显示的规律,似乎后6位在变化。
    傲游截图20180315223126.jpg

      手机App端多次发送控制字,分析“通信日志”数据规律。似乎有点明白,但又不太明白,先跳过,或许下一步会有解释。到下一步。
    傲游截图20180315224153.jpg

      切换到“设备日志界面”,设备列表中出现虚拟设备,点击右侧的“查看”,进一步查看详情。
    傲游截图20180315224512.jpg

      分析数据,手机App发送的如下红框中的“02”时,表示App控制端与虚拟设备成功建立连接。
    紧接着,网页端虚拟设备回复“03 000b”,表示当前设备状态是“电源开关”为0,“速度”为第一档0,“温度"为0b(十进制的11),根据换算关系得知温度为12度。
      App端发送的数据中“90”之后的一个字节为命令字。相应虚拟设备端发送的数据中“91”之后的一个字节为命令字。
      App端发送的后6位为“010100”表示电源开关命令。第1个01表示数据点是“电源开关”,第二个01中的最低位为1表示电源开,为0表示电源关。
      App端发送的后6位为“020200”表示速度命令。第1个02表示数据点是“速度”,第二个02表示速度为1档,即此字节的最低位0给开关使用,高7位分别表示7个速度等级。那么猜想,如果要控制速度调到第6档的话,应该发送的数据为“028000”。
    傲游截图20180315225120.jpg

      通过数据来验证,以上协议分析。发送“01 01 00”,虚拟设备端日志显示后6位为“01 01 00”,同时“电源开关”成功打开。
    4.png

      发送“02 04 00”,虚拟设备端成功让速度等级变为2。
    5.png

      发送“04 00 16”,成功使用温度设置为23度。
    6.png
      至此,虚拟设备调试完成,同时也得知了命令发送格式,机智云基于wifi透传方式,只不过加进去了一定的协议。


      接下来,进行应用配置。进入“应用配置”界面,点“添加新应用”。
    傲游截图20180315225857.jpg

      应用名称定为“我的wifi开空调”,平台选择“Android”,点“添加”确认添加。
    傲游截图20180315225946.jpg

      添加应用成功后,“应用配置”界面中就多出了一个配置“
    我的wifi开空调”。
    傲游截图20180316015250.jpg

      接下来,来到“应用开发”界面,进行App端应用开发基础代码生成。选择开发平台为“Android”;选择应用只有一项,就是上一步建好的应用;“Product Secret”项的值,在前面划过重点,到“基本信息”中找到复制进来。点击“生成代码包”进行代码包生成。
    傲游截图20180315230044.jpg

      生成代码包后,下载到本地硬盘,以备App开发用。
    傲游截图20180315230122.jpg

      下面配置生成MCU开发包。在“MCU开发包”界面选择“MCU独立方案”,硬件平台选STM32,“Product Secret”还是前面划过的重点,复制进来。这个“Product Secret”值这么重要,猜想应该是标记产品唯一性的系列号。
    傲游截图20180315230219.jpg

      生成MCU代码包后,下载到本地硬盘,以备开发。
    傲游截图20180315230245.jpg

      App开发包和MCU开发包已下载到本地。
    傲游截图20180315234013.jpg

      解压开MCU开发包,是用“STM32CubeMX”工具建立的Keil5工程。编译无错,有待进一步学习移植产品实现代码。
    傲游截图20180315232839.jpg


      在“产测工具”界面生成产品测试配置文件。点选右侧“添加配置文件”。
    傲游截图20180315230425.jpg

      配置名暂定“空调测试”,点选右侧“添加步骤”。
    傲游截图20180315230452.jpg

      可以看到步骤1中的待添加数据点,为之前创建的三个数据点,选择“power”数据点,点选“保存”完成步骤1。
    傲游截图20180315230622.jpg

      相同的方法,完成步骤1、2的另外两个数据点添加。点选“保存”完成配置。
    傲游截图20180315230705.jpg

      产测工具生成,可以看到配置信息,以及右下角有“产测App下载”和“配置文件下载”,这在将来的产品调测时需要。
    傲游截图20180315230729.jpg

      再次进入“产测工具”界面,可以看到刚才生成的配置文件“空调测试”。
    傲游截图20180315230351.jpg
      “产测工具”配置部分到此结束。

      最后一项,“固件升级OTA”为远程无线升级,按规则填写相应信息,浏览找到最新的MCU开发包生成的bin固件文件。(升级是基于对发布后的产品升级,需要烧有原始固件,可正常连接机智云的云端的正常设备。)
    傲游截图20180315231251.jpg

      添加的固件bin文件,必须是经过验证成功后,方可进行OTA升级。需要验证的话,点选“验证固件”,这里先不验证。
    傲游截图20180315231311.jpg

      再次进入“固件升级(OTA)”,可以看到,刚才添加的固件未被验证,版本名称显示红色。

      引用一句提示:蓝色 :已验证固件。 红色 :未验证固件,可能存在风险。

      “统计”部分是对设备活动情况的分类汇总和统计,没有可设置荐,有兴趣的话可以浏览一下。

      至此,体验机智云在线开发完成。虚拟设备调试效果很好,使用方便,对控制原理及过程理解非常有帮助。App开发代码包和MCU开发代码包直接生成,产品开发更快捷。


    回复

    使用道具 举报

  • TA的每日心情
    开心
    昨天 00:01
  • 签到天数: 3934 天

    连续签到: 5 天

    [LV.Master]伴坛终老

     楼主| 发表于 2018-3-16 09:30:21 | 显示全部楼层
    折腾一个帖子,累够呛!
    复制到word里面统计了一下字数。

    傲游截图20180316093009.png
    回复 支持 反对

    使用道具 举报

  • TA的每日心情

    2020-10-27 09:22
  • 签到天数: 1 天

    连续签到: 1 天

    [LV.1]初来乍到

    发表于 2020-9-3 13:43:37 | 显示全部楼层
    楼主 “STM32CubeMX”工具建立的Keil5工程  是怎么建立的呀 或者在哪里学呀
    回复 支持 反对

    使用道具 举报

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

    本版积分规则

    关闭

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



    手机版|小黑屋|与非网

    GMT+8, 2024-11-15 00:09 , Processed in 0.134470 second(s), 20 queries , MemCache On.

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

    苏公网安备 32059002001037号

    Powered by Discuz! X3.4

    Copyright © 2001-2024, Tencent Cloud.