设备协议管理说明
版本 | 更改内容 | 更改日期 |
---|---|---|
V1.0.0 | 初版 | 2016-10-20 |
1 背景说明
为统一规范管理设备协议,目前统一使用xml描述设备数据协议,故开发者需要在开放平台配置设备xml协议。
2 设备协议管理与App协议获取流程图
3 协议管理说明
3.1 后台协议管理
3.1.1 登录智能硬件开放平台(http://open.clife.net/app_dev.html)
测试开发者账号:
用户名:bind.debug@clife.cn
密 码:123456
3.1.2 添加协议
常用协议类型:
1.控制数据
2.运行数据
3.故障数据
4.硬件配置
3.1.3 修改协议
点击“编辑”
如上图,根据需求变更编辑协议
*注:每一次的协议添加与更改,都会以当前时间戳作为版本号存储数据库。
3.2 App协议获取
3.2.1 用户登录
3.2.2 根据产品ID获取设备协议
接口调用请求说明
http请求方式: POST
http(s)://api.clife.cn/v1/device/protoManage/getProtocolListByProductId
ps:如果协议时间相同,后台只返回code。
参数说明
参数名称 | 是否必须 | 字段类型 | 参数说明 |
---|---|---|---|
accessToken | 是 | string | 访问凭证 |
appId | 是 | string | 应用标识 |
timestamp | 是 | number | 时间戳 |
productId | 是 | int | 产品ID |
appType | 是 | int | 终端类型 1-安卓 2-IOS |
protocolDate | 否 | long | 协议时间 |
type | 否 | int | 协议类型 0或者不传-完整协议 ,包括以下协议内容 1-设备基本信息 2-控制数据 3-运行数据 4-故障数据 |
返回结果
正确的Json返回结果:
{
"code": 0,
"data": {
"protocolDate": 1452771158000,
"list":
[{
"productId": 58,
"protocolId": 477,
"developerId": 409,
"productVersion": 1,
"protocolFormat": 1,
"deviceTypeId": 11,
"deviceSubtypeId": 3,
"command": "0401",
"mode": 0,
"content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\r\n<protocol>\r\n\t<id>1-11-3-0401-D</ id>\r\n\t<description>香薰机设备信息协议解码</description>\r\n\t<definitions>\r\n\t\t<byteDef length=\"2\" javaType=\"INTEGER\" property=\"wifiVer\" propertyName=\"wifi版本号\" />\r\n\t\t<byteDef length=\"15\" javaType=\"STRING\" property=\"wifiDescription\" propertyName=\"wifi描述信息\" />\r\n\t\t<byteDef length=\"1\" javaType=\"INTEGER\" property=\"ctrVer\" propertyName=\"控制板固件版本号\" order=\"1\"/>\r\n\t\t<byteDef length=\"1\" javaType=\"INTEGER\" property=\"dashboardVer\" propertyName=\"显示板固件版本号\" order=\"2\"/>\r\n\t\t<byteDef length=\"1\" javaType=\"INTEGER\" property=\"driverVer\" ignore=\"false\" propertyName=\"驱动板固件版本号\" order=\"5\"/>\r\n\t\t<byteDef length=\"1\" javaType=\"INTEGER\" ignore=\"true\" />\r\n\t\t<byteDef length=\"1\" javaType=\"INTEGER\" property=\"ctrHardWareVer\" ignore=\"false\" propertyName=\"控制板硬件版本号\" order=\"6\"/>\r\n\t\t<byteDef length=\"1\" javaType=\"INTEGER\" property=\"dashboarHardWareVer\" ignore=\"false\" propertyName=\"显示板硬件版本号\" order=\"7\"/>\r\n\t\t<byteDef length=\"1\" javaType=\"INTEGER\" property=\"driverHardWareVer\" ignore=\"false\" propertyName=\"驱动板硬件版本号\" order=\"8\"/>\r\n\t\t<byteDef length=\"2\" javaType=\"INTEGER\" ignore=\"true\"/>\r\n\t\t<byteDef length=\"1\" javaType=\"INTEGER\" property=\"deviceType\" ignore=\"false\" propertyName=\"设备大类\" order=\"10\"/>\r\n\t\t<byteDef length=\"1\" javaType=\"INTEGER\" property=\"deviceSubType\" ignore=\"false\" propertyName=\"设备子类\" order=\"11\"/>\r\n\t\t<byteDef length=\"15\" javaType=\"STRING\" property=\"identify\" ignore=\"false\" propertyName=\"设备标识\" order=\"14\"/>\r\n\t\t<byteDef length=\"22\" javaType=\"STRING\" ignore=\"true\" />\r\n\t</definitions>\r\n</protocol>",
"protocolType": 1,
"dataTypeId": 1,
"moduleType": 1
}]
}
}
字段名称 | 字段类型 | 字段说明 |
---|---|---|
protocolDate | long | 协议时间 |
productId | int | 产品Id |
protocolId | int | 协议Id |
developerId | int | 开发者Id |
productVersion | int | 产品序号 |
protocolFormat | int | 协议格式:1-字节流 2-JSON格式 |
deviceTypeId | int | 设备大类ID |
deviceSubtypeId | int | 设备小类ID |
command | string | 协议命令字 |
mode | int | 模式(0开发模式 1生产模式) |
protocolType | int | 协议类型(1-第三方协议 2-内部协议) |
dataTypeId | int | 数据类型 |
moduleType | int | 通信模块类型(1-WiFi,2-蓝牙,3-音频,4-GSM,5-红外) |
content | string | 协议内容 |