2回答

0收藏

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

机智云GoKit 机智云GoKit 4442 人阅读 | 2 人回复 | 2018-03-15

本帖最后由 toofree 于 2018-3-16 02:46 编辑

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

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

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

  刚登陆开发中心,将显示之前创建的设备,如果没有设备,此页空空如也。


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



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


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


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


  来到“数据点”创建界面,选择“新建数据点”项。


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


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


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


  最终生成的三个数据点为下表所示,点击“应用”最终完成数据点的创建。


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


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


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


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


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


  弹出绑定虚拟设备二维码,打开“机智云”手机客户端,扫描二维码,绑定虚拟设备。


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


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


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


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




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


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


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


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


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


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


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


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


  分析数据,手机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”。


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


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


  发送“04 00 16”,成功使用温度设置为23度。

  至此,虚拟设备调试完成,同时也得知了命令发送格式,机智云基于wifi透传方式,只不过加进去了一定的协议。


  接下来,进行应用配置。进入“应用配置”界面,点“添加新应用”。


  应用名称定为“我的wifi开空调”,平台选择“Android”,点“添加”确认添加。


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


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


  生成代码包后,下载到本地硬盘,以备App开发用。


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


  生成MCU代码包后,下载到本地硬盘,以备开发。


  App开发包和MCU开发包已下载到本地。


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



  在“产测工具”界面生成产品测试配置文件。点选右侧“添加配置文件”。


  配置名暂定“空调测试”,点选右侧“添加步骤”。


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


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


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


  再次进入“产测工具”界面,可以看到刚才生成的配置文件“空调测试”。

  “产测工具”配置部分到此结束。

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


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


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

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

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

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


分享到:
回复

使用道具 举报

回答|共 2 个

倒序浏览

沙发

toofree

发表于 2018-3-16 09:30:21 | 只看该作者

折腾一个帖子,累够呛!
复制到word里面统计了一下字数。


板凳

decisionmaker

发表于 2020-9-3 13:43:37 | 只看该作者

楼主 “STM32CubeMX”工具建立的Keil5工程  是怎么建立的呀 或者在哪里学呀
回复 支持 反对

使用道具 举报

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

本版积分规则

关闭

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