设备信息

下发命令控制设备

通过对URL的访问来对已经开放的设备进行控制,比如下发命令控制设备,或者设置设备配置等。用户传参数subid表明对子设备控制,不传参数subid表明对主设备控制。支持下发二进制命令。

请求URL:

cur "https://HOST/open/v3/set/api"

-d "mac=5c:cf:7f:c1:0b:fd&subid=xxxxxx&uid=x&sign=xxxxxx&tt=xx&key=xxx&value=xxx"

返回的 JSON 数据:

{

"code": 0,

"msg":"xxxxxxxxxxx"

}

请求参数:

参数名 类型 说明 备注 必需
mac String 设备的Mac 如:5c:cf:7f:c1:0b:fd或者IMEI,
主设备的mac或者IMEI
是
subid String 子设备id 户传参数subid表明对子设备控制,
不传参数subid表明对主设备控制
否
key String 功能点的变量名 功能点参数名 是
value Sting 数据点的值 功能点对应的值。如果数据点是二进制属性,
接口会将数据转成byte数组,然后再base64编码。
数据要求必须是偶数位且十六进制格式,
数据前面不能带0x,
传入数据格式如:01020f3f。
是
uid Int 用户id 参考相关参数章节 是
tt Int 时间戳 参考相关参数章节 是
sign String 用户签名 参考相关参数章节 是

返回参数:

参数名 类型 说明 备注 必需
code Int 返回码 查看Api返回码 是
msg String 返回信息 如果code为0,则msg为空;
如果code不为0,则msg返回的为相关错误信息
是

查询设备是否在线

通过Http Post请求查询指定设备是否在线。Post请求方式,参数以x-www-form-urlencoded方式放在body里。用户传参数subid表明查询子设备在线状态,不传参数subid表明查询主设备在线状态。

请求URL:

curl "https://HOST/open/v1/api/mac/online"

-d "mac=5c:cf:7f:c1:0b:fd&subid=xxxxxx&uid=x&sign=xxxxxx&tt=xx"

返回的 JSON 数据:

{

"code": 0,

"msg":"xxxxxxxxxxx",

"data": "true"

}

请求参数:

参数名 类型 说明 备注 必需
mac String 设备的Mac 如: 5c:cf:7f:c1:0b:fd或者IMEI,
主设备的mac或者IMEI
是
subid String 子设备id 用户传参数subid表明查询子设备在线状态,
不传参数subid表明查询主设备在线状态
否
uid Int 用户id 参考相关参数章节 是
tt Int 时间戳 参考相关参数章节 是
sign String 用户签名 参考相关参数章节 是

返回参数:

参数名 类型 说明 备注 必需
code Int 返回码 查看Api返回码 是
data String 返回值 在线返回true,不在线返回false,出错返回空 是
msg String 返回信息 如果code为0,则msg为空;如果code不为0,
则msg返回的为相关错误信息
是

查询设备是否OTA升级

通过Http Post请求查询指定设备是否需要ota升级。Post请求方式,参数以x-www-form-urlencoded方式放在body里。该版本不支持子设备。

请求URL:

curl "https://HOST/open/api/check/otaupdate"

-d "mac=xx:xx:xx:xx:xx:xx&uid=x&sign=xxxxxx&tt=xx"

返回的 JSON 数据:

{

"code": 0,

"msg":"xxxxxxxxxxx",

"data": "{\"description\":\"xxxxxx\",\"mcuVersion\":\"1.0.0\"}"

}

请求参数:

参数名 类型 说明 备注 必需
mac String 设备的Mac 如: 5c:cf:7f:c1:0b:fd 是
uid Int 用户id 参考相关参数章节 是
tt Int 时间戳 参考相关参数章节 是
sign String 用户签名 参考相关参数章节 是

返回参数:

参数名 类型 说明 备注 必需
code Int 返回码 查看Api返回码 是
data String 返回值 需要升级返回最新版本以及描述,
不需要升级返回空,出错返回空。Json格式的字符串
是
msg String 返回信息 如果code为0,则msg为空;
如果code不为0,则msg返回的为相关错误信息
是

设备初始化

通过Http Post请求对指定设备进行初始化注册。Post请求方式,参数以x-www-form-urlencoded方式放在body里。用户传参数subid表明对子设备初始化,不传参数subid表明对主设备初始化。20190425新增逻辑,设备初始化的时候需要检查设备ota升级的情况,如果有升级就去数据库修改升级状态。

请求URL:

curl "https://HOST/open/v1/api/initdevice"

-d "mac=5c:cf:7f:c1:0b:fd&subid=xxxxxx&uid=x&sign=xxxxxx&tt=xx&productId=xxxxxx& otaOwner=xxxxx&otaVersion=xxxxx"

返回的 JSON 数据:

{

"code": 0,

"msg":"xxxxxxxxxxx"

}

请求参数:

参数名 类型 说明 备注 必需
mac String 设备的Mac 如: 5c:cf:7f:c1:0b:fd或者IMEI,主设备的mac或者IMEI 是
subid String 子设备id 用户传参数subid表明对子设备初始化,
不传参数subid表明对主设备初始化
否
uid Int 用户id 参考相关参数章节 是
tt Int 时间戳 参考相关参数章节 是
sign String 用户签名 参考相关参数章节 是
productId String 该设备的产品id 初始化设备的产品id 是
otaOwner int Ota升级类型 1:mcu升级,2:wifi升级3,蓝牙升级 否
otaVersion String Ota版本 否

返回参数:

参数名 类型 说明 备注 必需
code Int 返回码 查看Api返回码 是
msg String 返回信息 如果code为0,则msg为空;
如果code不为0,则msg返回的为相关错误信息
是
iotId String 设备iotid 是
iotToken String 设备iottoken 是
subIotId String 子设备iotid 否

批量下发命令控制设备

通过Http Post请求对批量设备进行控制。Post请求方式,参数以x-www-form-urlencoded方式放在body里。可以对同一个设备下发不同的命令也可以对不同的设备批量下发命令。每次只下发data数组里一条指令,轮询发送。设备一次只能接收一条指令。最多20组指令限制。该版本不支持子设备。

请求URL:

curl "https://HOST/open/batch/set/api"

-d "uid=x&sign=xxxxxx&tt=xx&data=[{\"mac\":\"xxx\",\"key\":\"xxx\",\"value\":\"xxx\"},{\"mac\":\"xxx\",\"key\":\"xxx\",\"value\":\"xxx\"}]"

返回的 JSON 数据:

{

"code": 0,

"msg":"xxxxxxxxxxx"

}

请求参数:

参数名 类型 说明 备注 必需
uid Int 用户id 参考相关参数章节 是
tt Int 时间戳 参考相关参数章节 是
sign String 用户签名 参考相关参数章节 是
data json 设置的数据 消息目前支持字符串格式,最多20组指令 是
mac String 设备的Mac 如: 5c:cf:7f:c1:0b:fd 是
key String 数据点的变量名 设备所属产品的数据点属性 是
value Sting 数据点的值 设备所属产品的数据点的值 是

返回参数:

参数名 类型 说明 备注 必需
code Int 返回码 查看Api返回码 是
msg String 返回信息 如果code为0,则msg为空;
如果code不为0,则msg返回的为相关错误信息
是

获取设备列表

通过对URL的访问实现获取用户的设备列表包括被分享的设备。该版本支持子设备,返回列表增加子设备相关数据。

请求URL:

curl "https://HOST/open/v2/device/listinfo"

-d "uid=x&sign=xxxxxx&tt=xx&userId=xxx&userToken=xxx"

返回的 JSON 数据:

{

"code": 0,

"msg":"xxxxxxxxxxx",

"data": "{\"listinfo\":[

{\"flag\":xxx,\"deviceMac\":\"xxx\",\"displayName\":\"xxx\",\"iotId\":\"xxx\",\"iotToken\":\"xxx\",\"location\":\"xxx\",\"isOnline\":xxx,\"productId\":xxx,\"shared\":\"xxx\",\"fUserId\":x,\"moduleVersion\":\"xxx\",\"gid\":x,\"groupName\":\"xxx\",\"subsetId\":\"xxx\",\"subsetType\":\"xxx\",\"subsetName\":\"xxx\",\"subsetTradeName\":\"xxx\",\"rId\":x,\"roomName\":\"xxx\",\"thirdId\":\"xxx\",\"thirdType\":x,\"thirdTradeName\":\"xxx\",\"subIotId\":\"xxx\",\"imgUrl\":\"xxx\" },

{\"flag\":xxx,\"deviceMac\":\"xxx\",\"displayName\":\"xxx\",\"iotId\":\"xxx\",\"iotToken\":\"xxx\",\"location\":\"xxx\",\"isOnline\":xxx,\"productId\":xxx,\"shared\":\"xxx\",\"fUserId\":x,\"moduleVersion\":\"xxx\",\"gid\":x,\"groupName\":\"xxx\",\"subsetId\":\"xxx\",\"subsetType\":\"xxx\",\"subsetName\":\"xxx\",\"subsetTradeName\":\"xxx\",\"rId\":x,\"roomName\":\"xxx\",\"thirdId\":\"xxx\",\"thirdType\":x,\"thirdTradeName\":\"xxx\",\"subIotId\":\"xxx\",\"imgUrl\":\"xxx\" }

]}"

}

请求参数:

参数名 类型 说明 备注 必需
uid Int 用户id 参考相关参数章节 是
tt Int 时间戳 参考相关参数章节 是
sign String 用户签名 参考相关参数章节 是
userId String 用户手机号 是
userToken String 用户密码 是

返回参数:

参数名 类型 说明 备注 必需
code Int 返回码 查看Api返回码 是
msg String 返回信息 如果code为0,则msg为空;
如果code不为0,则msg返
回的为相关错误信息
是
data String 返回listinfo的
ArrayJson字符串
数据格式如下,Json格式的字符串 是
flag Int 区分是分享设备还
是自己绑定的
设备
0 绑定设备 1 分享设备 是
deviceMac String 主设备的mac 是
displayName String 主设备的显示
名称
移动端SDK可以修改名称 是
iotId String 主设备的iotId 是
iotToken String 主设备的token 是
location String 设备的地理
位置
是
isOnline Boolean 设备是否在线 主设备就表示主设备的在线
状态,若是子设备就表示子
设备在线状态
是
productId Int 产品的id 是
shared String 分享者的名字
或者电话
被分享的设备该字段为分享
者的姓名或者电话;绑定的
设备该字段为空串
是
fUserId Int 分享者的id 被分享的设备该字段为分享
者的id;绑定的设备该字段
为0
是
module
Version
String 模组版本 子设备就是子设备版本号、
主设备就是主设备版本号
是
gid Int 分组id 设备分组的id 是
groupName String 分组名称 是
subsetId String 子设备的id 厂商自身定义子设备的id 是
subsetType String 子设备类型 厂商自身定义子设备的类型 是
subsetName String 子设备名称 厂商自身定义子设备的默认
名称,通过移动端SDK也可
以修改名称
是
subsetTrade
Name
Boolean 子设备厂商
名称
拓展字段,默认为空 是
rId Int 设备房间id 是
roomName String 设备房间
名字
是
thirdId String 第三方id 拓展字段,默认为空 是
thirdType Int 第三方类型 拓展字段,默认为0 是
thirdTrade
Name
String 第三方厂商
名称
拓展字段,默认为空 是
subIotId String 子设备的iotid 是
imgUrl String 设备的图片 子设备就是子设备图片,
主设备就是主设备图片
是

获取单个设备详细信息

通过对URL的访问实现获取用户单个设备的详细信息。目前获取设备详情只针对主设备,子设备没有相关信息。

请求URL:

curl "https://HOST/open/v2/device/singleinfo"

-d "uid=x&sign=xxxxxx&tt=xx&userId=xxx&userToken=xxx&mac=5c:cf:7f:c1:0b:fd"

返回的 JSON 数据:

{

"code": 0,

"msg":"xxxxxxxxxxx",

"data": "{\"singleinfo\":

{\"dataPointNum\":xxx,\"deviceIp\":\"xxx\",\"deviceMac\":\"xxx\",\"deviceType\":\"xxx\",\"displayName\":\"xxx\",\"iotId\":\"xxx\",\"ipLocation\":xxx,\"isLinkage\":xxx,\"isOnline\":xxx,\"wifiType\":x}

}"

}

请求参数:

参数名 类型 说明 备注 必需
uid Int 用户id 参考相关参数章节 是
tt Int 时间戳 参考相关参数章节 是
sign String 用户签名 参考相关参数章节 是
userId String 用户唯一标识id 通过接口13获取 是
userToken String 用户唯一标识token 通过接口13获取 是
mac String 设备的Mac 如: 5c:cf:7f:c1:0b:fd 是

返回参数:

参数名 类型 说明 备注 必需
code Int 返回码 查看Api返回码 是
msg String 返回信息 如果code为0,则msg为空;
如果code不为0,则msg返回
的为相关错误信息
是
data String 返回singleinfo的
Json字符串
数据格式如下,Json格式的字符串 是
dataPointNum int 设备的数据点数目 是
deviceIp String 设备的ip地址 是
deviceMac String 设备的MAC地址 是
deviceType String 设备类型 是
ipLocation String 设备的经纬度 是
iotId String 设备的id 是
displayName String 设备的显示名称 是
isLinkage Boolean 设备是否联动 是
isOnline Boolean 设备是否在线 是
wifiType String 设备的wifi芯片 是

查询设备的产品id

通过Http Post请求查询指定设备产品id。Post请求方式,参数以x-www-form-urlencoded方式放在body里。查询设备的产品id只针对主设备而言,子设备是跟随主设备的产品。

请求URL:

curl "https://HOST/open/api/mac/product"

-d "mac=xx:xx:xx:xx:xx:xx&uid=x&sign=xxxxxx&tt=xx"

返回的 JSON 数据:

{

"code": 0,

"msg":"xxxxxxxxxxx",

"data": "xxxxxx"

}

请求参数:

参数名 类型 说明 备注 必需
mac String 设备的Mac 如: 5c:cf:7f:c1:0b:fd 是
uid Int 用户id 参考相关参数章节 是
tt Int 时间戳 参考相关参数章节 是
sign String 用户签名 参考相关参数章节 是

返回参数:

参数名 类型 说明 备注 必需
code Int 返回码 查看Api返回码 是
data String 返回值 无产品信息返回空,有产品信息就返回产品id 是
msg String 返回信息 如果code为0,则msg为空;
如果code不为0,则msg返回的为相关错误信息
是

查询产品的授权设备数量

通过Http Post请求查询该公司旗下的产品授权设备数量以及该公司剩余授权数。Post请求方式,参数以x-www-form-urlencoded方式放在body里。

请求URL:

curl "https://HOST/open/license/query"

-d "uid=x&sign=xxxxxx&tt=xx"

返回的 JSON 数据:

{

"code": 0,

"msg":"xxxxxxxxxxx",

"data": "{\"total\":1000,

​ \"granted\":700,

​ \"remain\":200,

​ \"product\":[{\"productId\":xxx,\"deviceCnt\":xxx,\"productName\":\"xxx\"},

{\"productId\":xxx,\"deviceCnt\":xxx,\"productName\":\"xxx\"}]

}"

}

请求参数:

参数名 类型 说明 备注 必需
uid Int 用户id 参考相关参数章节 是
tt Int 时间戳 参考相关参数章节 是
sign String 用户签名 参考相关参数章节 是

返回参数:

参数名 类型 说明 备注 必需
code Int 返回码 查看Api返回码 是
msg String 返回信息 如果code为0,则msg为空;
如果code不为0,则msg返
回的为相关错误信息
是
data String 返回值 Json格式的字符串 是
total Int 公司的总license数 公司在青莲云平台购买的总
授权数
是
granted Int 公司已经授权所有
产品的license数
公司旗下所有产品的已授权数 是
remain Int 公司还剩余的license数 公司剩余可用的授权数 是
product List 公司旗下各个产品
的license数
查询公司旗下各个产品的授权数 是
productId Int 产品id 公司旗下产品id 是
deviceCnt Int 产品授权数 公司旗下该产品的授权数 是
productName String 产品名称 公司旗下产品名称 是

同一设备批量下发命令

通过对URL的访问来对已经开放的设备进行控制,比如下发命令控制设备,或者设置设备配置等。对同一个设备下发不同的命令,每次下发data数组里全部指令。和13接口有区别,设备端一次性接收多条指令而不是一条一条接收。下发指令最多20条限制。用户传参数subid表明对子设备控制,不传参数subid表明对主设备控制。

请求URL:

curl "https://HOST/open/v2/all/set/api"

-d "mac=5c:cf:7f:c1:0b:fd&subid=xxxxxx&uid=x&sign=xxxxxx&tt=xx&data=[{\"key\":\"xxx\",\"value\":\"xxx\"},{\"key\":\"xxx\",\"value\":\"xxx\"}]"

返回的 JSON 数据:

{

"code": 0,

"msg":"xxxxxxxxxxx"

}

请求参数:

参数名 类型 说明 备注 必需
mac String 设备的Mac 如: 5c:cf:7f:c1:0b:fd或者IMEI,主设备的mac或者IMEI 是
subid String 子设备id 户传参数subid表明对子设备控制,
不传参数subid表明对主设备控制
否
data json 设置的数据 消息目前支持字符串格式,最多20组数据 是
key String 功能点的变量名 功能点参数名 是
value Sting 数据点的值 功能点对应的值 是
uid Int 用户id 参考相关参数章节 是
tt Int 时间戳 参考相关参数章节 是
sign String 用户签名 参考相关参数章节 是

返回参数:

参数名 类型 说明 备注 必需
code Int 返回码 查看Api返回码 是
msg String 返回信息 如果code为0,则msg为空;
如果code不为0,则msg返回的为相关错误信息
是

获取设备在线时间

通过Http Post请求对指定设备的数据进行获取。Post请求方式,参数以x-www-form-urlencoded方式放在body里。查询主设备指定某一天的上下线行为,从而计算出设备在线时长。

请求URL:

curl "https://HOST/open/v2/get/device/online/time"

-d "mac=5c:cf:7f:c1:0b:fd&date=2019-06-28&uid=x&sign=xxxxxx&tt=xx"

返回的 JSON 数据:

{

"code": 0,

"msg":"xxxxxxxxxxx",

"data":"{\"data\":[{\"event\":0,\"tt\":\"2019-06-27 00:03:08\"},{\"event\":1,\"tt\":\"2019-06-27 00:06:08\"},{\"event\":0,\"tt\":\"2019-06-27 00:06:37\"},{\"event\":1,\"tt\":\"2019-06-27 00:09:30\"},{\"event\":0,\"tt\":\"2019-06-27 00:10:04\"},{\"event\":1,\"tt\":\"2019-06-27 00:13:05\"}],\"mac\":\"10:10:10:10:10:28\"}"

}

请求参数:

参数名 类型 说明 备注 必需
mac String 设备的Mac 如: 5c:cf:7f:c1:0b:fd或者IMEI,主设备的mac或者IMEI 是
date String 查询具体某一天 格式类型为2019-06-29 是
uid Int 用户id 参考相关参数章节 是
tt Int 时间戳 参考相关参数章节 是
sign String 用户签名 参考相关参数章节 是

返回参数:

参数名 类型 说明 备注 必需
code Int 返回码 查看Api返回码 是
data String 获取的数据 Json格式的字符串 是
msg String 返回信息 如果code为0,则msg为空;如果code不为0,
则msg返回的为相关错误信息
是
data List JSON里面的data 具体的数据,是一个对象的数组,如果没有数据
则为空数组,其中 event表示行为,0表示上线
1表示离线; tt表示具体的时间,
如例子中2019-06-27 00:03:08 设备上线,
2019-06-27 00:06:08 设备离线,
其中在线时长3分钟。
是
mac String JSON里面的mac 回显查询的设备mac 是
Copyright & copy qinglianyun all right reserved,powered by Gitbook该文件修订时间: 2021-04-22 18:53:48

results matching ""

    No results matching ""