# 云平台推送设备消息格式
主题:
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:遥测编码集合