# 云平台推送设备消息格式

主题:iot/tx/${AppKey}/${ID}/command
tx 表示下发设备数据
${AppKey}表示推送的单位的唯一标识码,为字符串,如: LiuGang20190507
以下的${ID}为设备id,设备唯一标识码,为字符串,如:T0001
最后的command表示不同数据类别;

完整示例主题:iot/tx/LiuGang20190507/T0001/command
内容:以json为解析格式。

# 设备控制

# 命令下发

topic iot/tx/${AppKey}/${ID}/deviceControl

{
 "uuid":"d6919804-bb12-47db-b925-c1185a43971e",
 "deviceAddr":"100000000000001",,
 "slaveDevAddr":"100000000000002",
 "cmdType":"yk",
 "time":1656126642405,
 "cmdItems":[
    {"code":"1","value":"1"},
    {"code":"2","value":"0"},
    ...
 ]
}
1
2
3
4
5
6
7
8
9
10
11
12

参数介绍

uuid: 随机uuid,用以判断控制是否成功。
deviceAddr:设备通讯地址。
slaveDevAddr:从机设备通讯地址,控制网关下级子设备时平台下发。
cmdType:yk=遥信遥控,yc=遥测遥调,setting=参数遥调,allCall=总招实时数据,设备收到后可根据遥信至GPS部分上送遥信遥测等实时数据。
cmdItems:具体下发数据,code=遥信/遥测/参数编码,value=下发值,allCall时cmdItems为空。

平台会根据设备点位下查询周期配置的时间定时下发总招命令(默认180秒

# 命令回复

topic iot/rx/${AppKey}/${ID}/deviceControlResult

{
 "uuid":"d6919804-bb12-47db-b925-c1185a43971e",
 "status": 1,
 "yxList":[
    {"id":1,"value":1},
    {"id":2,"value":0}
 ],
 "ycList":[
    {"id":1,"value":25.15},
    {"id":2,"value":23.15}
 ],
 "settingList":[
    {"id":1,"value":"5"},
    {"id":2,"value":"192.168.0.1"}
 ]
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16

参数介绍

uuid: 随机uuid,命令下发部分下发的uuid。status=设备控制结果,0-失败,1-成功,2-命令已接收(设备收到控制命令就回复该状态,之后再回复执行结果)
当设备只回复平台执行成功(只有uuid和status=1,没有yxList、ycList、settingList信息)时,平台会向设备发送一次总招(allCall)命令获取最新数据,用以确认命令确实执行成功,若设备端可在执行命令后确认命令执行成功,则可上报控制后的实时数据(yxList、ycList、settingList)给平台,平台收到后不再下发总招命令

yxList、ycList、settingList:下发控制对应的遥信、遥测、参数数据集合
code=遥信/遥测/参数编码,value=平台下发值

# 平台回复信息

topic iot/tx/${AppKey}/${ID}/resultMsg

{
 "topic":"xxx",
 "data": "xxx",
 "msg": "xxx",
}
1
2
3
4
5

参数介绍

topic: 设备发送的主题;
data: 设备发送的数据;
msg: 平台回复信息,no_login=设备未登录,在设备未发送登录请求就发送其他主题数据时返回该信息。no_login_confirm=设备未登录确认,在设备发送完登录请求,没有回复登录确认就直接上送数据时返回该信息。 has_logged=设备已登录,设备登录完成后重复发送登录请求时返回该信息login_status_error=登录状态错误,在设备发送登录类型的命令,status是ask,fin和out以外的数据时返回该信息。topic_error=主题错误,在主题格式错误时返回该信息。command_error=命令错误,设备上送了未定义的消息类型时返回该信息。device_offline=设备离线,设备离线时返回该信息。report_msg=平台回复设备数据接收成功,设备上送遥信、遥测、参数或全部实时数据时,如果内容带有id字段,则平台会将该id封装到data字段中下发给设备

# 平台查询设备历史数据

topic iot/tx/${AppKey}/${ID}/queryHistoryData

{
 "beginDt": 1656126642405,
 "endDt": 1656126742405,
 "devParam":[
    {"addr":"xx","yxCodeList":[1,2],"ycCodeList":[2,3]},
    {"addr":"xx","yxCodeList":[1,2],"ycCodeList":[2,3]},
    ...
 ]
}
1
2
3
4
5
6
7
8
9

参数介绍

beginDt:开始时间,毫秒级时间戳
endDt:结束时间,毫秒级时间戳
addr:当前设备或子设备通讯地址
yxCodeList:遥信编码集合
ycCodeList:遥测编码集合

最后更新: 4/28/2024, 4:22:54 PM