属性表是设备与app之间通信的协议载体,设备与app之间按照属性表的约定进行通信,实现设备的控制及设备状态展示。
根据电控说明书、交互文档,按照属性表模板,填写模板中的产品信息,整理出设备的功能属性及值。
(1) 模板:整理属性表时,格式请按照附件中的模板整理。
(2) 属性表存放:属性表文件保存到所属项目的svn上的06_软件\01_软件需求\01_属性表目录。
与设备开发人员确认属性,分两种:
(1) 使用通用模块的设备,与电控开发工程师确认;
(2) 使用定制模块的设备,与模块开发工程师确认。
确认设备的功能属性是否齐全,app需要的值设备是否能够返回。
打开企业开发者平台,输入登录名和密码,点击登录,
登录之后,点击创建新产品;
点击【创建产品】,创建产品基础信息,
在基础信息中可以获取产品的类型和型号信息。同时,产品创建完成后可以定义产品属性,进行产品功能属性的定义,
我们提供适合于多种行业、不同品类产品的属性模板,当属性模板不满足需求时,可以添加自定义属性,
属性类型:
1) 数值类:有取值范围的类型,例:冰箱-冷藏室温度取值范围是1℃~10℃
2) 开关类:默认仅有开、关两种状态,数值0代表“关”,数值1代表“开”
3) 字符类:支持设备属性与云端的字符串传递,例:hellofit心电图数据
4) 枚举类:有固定取值的类型。例:冰箱工作模式key:1,value:速冻;key:2,value:假日;key:3,value:智能;key:4,value:自定义
5) 二进制类:按位设置功能,一个字节可支持多个功能,例:微波炉,上管开关:1~1位,上管温度:2~9位,下管开关:10~10位,下管温度:11~18位
容差范围:针对属性值属性,指数值型数据可上下波动的误差范围,只有超过该范围才会立即上报,如果一直在该范围内,则5S上报一次。
是否可控:定义该功能是否可以被控制,例:空气质量检测值“PM2.5”为10,则为”不可控”;空调的”开关”参数,则为”可控”
是否存储:定义属性的状态变化数据是否需要在云端存储
仅主人权限:该功能的可见范围,是指该功能仅对主人可见,否则对所有绑定该设备的人可见(第一个绑定设备的人被定义为主人,其他则为客人,主人权限可转移)。
权限控制:
1) 不限制:客户端侧在任何环境下都可以控制该属性
2) 不允许访问:客户端侧在任何环境下都不可以控制该属性
3) 仅允许局域网访问:客户端侧只能在局域网下可以控制该属性
4) 仅允许远程访问:只能通过远程控制(广域网)该属性
属性ID和属性类型保存后不能修改,请谨慎操作。
自定义属性提供修改和删除的功能。
配置完属性后,可以继续完善产品的其他配置信息,如故障和告警、配网引导等,也可进行硬件接入开发或产品UI设计。
点击【APP研发-APP产品层级】进入APP层级管理模块,此模块用于添加某个产品型号在APP的层级节点,帮助用户完成此型号下设备的配网绑定,
1、每一个企业有一个默认的企业根节点,如果您的企业可能存在多个APP,建议您在企业根节点下创建子节点作为APP的初始根节点。
2、每一个节点会有一个节点ID,APP研发时需要将作为APP根节点的节点ID写到APP中,那么这个节点下的所有子节点将会在您的APP上显示。
3、只有最底层的层级节点才会实际参与配网,因此创建节点的时候请注意合理配置层级,节点中配置了企业的某个产品型号,则可以在APP端用这个节点给这个型号的设备进行配网。
4、还可以添加其他企业的型号层级,在您的APP上绑定其他企业的设备。
5、产品类型和产品型号两个字段不支持修改,请谨慎操作。
6、对于创建的节点可以修改和删除。
此模块分为左右两个模块,左侧显示层级节点树列表,右侧显示节点的详情。选中一个节点可以对这个节点进行【新增】或者【删除】即添加子节点或者删除这个节点,同时右侧会显示选中节点的详情。
层级节点在APP端的显示效果如下,
H5页面中,卡片页面无法用H5实现,还需要xml配置实现。设备详情页面用h5实现,可以按照下面的步骤来做。
创建一个html页面,名字为index.html,必须为这个名字,其它名字app不识别。
在index.html引入一个js文件:
<scriptsrc=”js/machtalk_ws_sdk.js”>
在index.html中加入下面两个方法:
1 | function handleResp(resp) { |
在页面开始的时候,调用initSDK()方法,如在body的onload方法中,页面加载成功,会回调handleResp(resp)方法,设备的属性信息通过参数resp返回到方法中,在此方法中,根据属性的值处理界面逻辑。
设备状态上报后,同样会回调handleResp(resp)方法,可实现设备状态更新。
需要向设备发送控制命令时,调用client.opt(deviceId,”10”, “0”);方法中的参数根据实际情况调整。
Sdk提供了online()、offline()、lanOnline()、onlyLanOnline()四个回调方法,相应逻辑可以在此方法中处理。
l online() 设备上线时回调
l offline() 设备下线时回
l lanOnline()局域网在线时回调
l onlyLanOnline() 仅局域网在线时回调
功能点需要从设备主界面跳转到另一个界面时,分为真跳转和假跳转。
l 真跳转:打一个新的html。如果功能不涉及长连接通信,即不走协议,可以使用真跳转。
l 假跳转:用div的方式,模模拟打开一个页面。功能需要通过协议才能完成,只能使用假跳转。(如果考虑微信和app用一套html的话,要考虑假跳转)
将写好的所有配置文件,打压成zip压缩包,
选中这些文件,右击,进行压缩,压缩为zip格式,
登录云平台,将开发完的设备UI资源上传至平台,
关联APP:客户端设备绑定时会根据关联的APP下载相应的产品UI包资源,若想在企业所有APP中均获取此产品的UI包资源,请选择“默认通用”。注:关联APP目前只支持“默认通用”,选择其他APP无效。
版本号:版本号需高于当前已发布最高版本。
适配类型:根据APP适配手机类型,选择横屏、竖屏、电视、pad。
产品UI调试,两种方式:推送给指定用户验证调试、虚拟设备调试。
1、推送给指定APP用户验证,前提是这个用户已经绑定了这个型号的设备,
在APP上获取该设备最新的配置文件,在配置页面中控制设备,查看是否能正常使用。
2、虚拟设备验证,首先用企业APP扫码添加虚拟设备,然后进行在线调试,
在APP中点击设备功能,查看设备日志,判断功能是否能正常使用。
验证通过后,和产品一起进行发布,APP端用户获取的设备页面是已发布且版本最高的UI资源。