/{{roleid}}/{{username}}/{{clientid}}/{{payloadtype}}/{{topicType}}/ 由代理服务器做权限控制,终端不需要传递
终端订阅
/{{roleid}}/{{username}}/{{clientid}}/{{payloadtype}}/PUT/+ 写数据,需要返回执行结果 /{{roleid}}/{{username}}/{{clientid}}/{{payloadtype}}/GET_REQ/+ 获取数据的返回结果 /{{roleid}}/{{username}}/{{clientid}}/{{payloadtype}}/READ/+ 读数据,需要返回执行结果
终端发布
/{{roleid}}/{{username}}/{{clientid}}/{{payloadtype}}/ALL_POST/+ 全量上报数据,不需要返回 /{{roleid}}/{{username}}/{{clientid}}/{{payloadtype}}/ADD_POST/+ 增量上报数据,不需要返回 /{{roleid}}/{{username}}/{{clientid}}/{{payloadtype}}//PUT_REQ/+ 写数据的执行结果 /{{roleid}}/{{username}}/{{clientid}}/{{payloadtype}}/GET/+ 获取数据 /{{roleid}}/{{username}}/{{clientid}}/{{payloadtype}}/READ_REQ/+ 读数据的执行结果
##代理通知 /${{roleid}}/${{username}}/${{clientid}}/online 上下线通知
##下位机发布 1、发布设备信息,对应主题:ALL_POST 或者 ADD_POST
描述:设备上电后发布主机信息
rssi 设备强度(信号极好[-55— 0],信号好[-70— -55],信号一般[-85— -70],信号差[-100— -85])
status 设备状态,固定为3,表示在线
userId 用户的ID,1=admin
firmware_version 固件版本
longitude 经度,可选,使用设备定位时需要上传
latitude 纬度,可选,使用设备定位时需要上传
summary 摘要,可选,设备的配置信息等,json格式,对象可自定义
{ "0":{ "rssi": -43, "firmware_version": 1.2, "longitude": 0, "latitude": 0, "summary": { "name": "wumei-smart", "chip": "esp8266", "author": "kerwincui", "version": 1.2, "createTime": "2022-06-06" } } }
2、发布实时监测,对应主题:ALL_POST 或者 ADD_POST
描述:定时提交数据,分全量提交和增量提交,全量提交会替换传输的指标同时删除没有传输的指标,增量提交只会替换传输的指标
id 标识符,物模型中的属性,产品详情中查看标识符,对应id值
value 属性对应的值
{ "1":{ "id1":"value1", "id2":"value2", "id3":"value3" }, "3":{ "id1":"value1", "id2":"value2", "id3":"value3" }, "4":{ "id1":"value1", "id2":"value2", "id3":"value3" } }
3、发布获取设备信息,对应主题: GET/+
描述: 0表示主机,1 其它接入设备(开关"10_XXX"或者传感器(1_XXX))的编号,id1 指定属性或者配置
{ "1":"id1,id2,id3", "0":"id1,id2,id3" }
4、发布主题PUT/+的回复主题PUT_REQ/+
描述:上位机发布PUT/+主题远程操作下位机,下位机要应答回复,+ 代表messageid必须唯一,推荐使用时间戳单位s,下位机回复messageid和PUT/+主题里的messageid一致不用改变
code 操作结果(1成功,0失败)
mgs 失败原因
{ "code":1, "mgs":"DEVICE_NOT_FIND" }
5、发布主题 READ/+ 的回复主题 READ_REQ/+
描述:上位机发布 READ/+ 主题远程读取下位机,下位机要应答回复,+ 代表messageid必须唯一,推荐使用时间戳单位s,下位机回复 messageid 和 READ/+ 主题里的 messageid 一致不用改变
code 操作结果(1成功,0失败)
mgs 失败原因
data 如果需要返回设备数据,data不为空,数据格式遵循ALL_POST和ADD_POST主题payload的规则
{ "code":1, "mgs":"DEVICE_NOT_FIND" "data":{{POST_PAYLOAD}} }
##下位机订阅
描述:firmwareVersion版本号如果不一致表示升级
restart 1重启,2复位,3恢复出厂值
longitude,latitude 经纬度
summary 自定义内容
第一层"0"代表主机值固定,"1"代表其它接入设备(开关"10_XXX"或者传感器(1_XXX)),编号可以自定义
1、订阅主题 PUT/+,上位机写操作 { "0":{ "restart": 1, "firmwareVersion": 1.2, "longitude": 0, "latitude": 0, "summary": { "name": "wumei-smart", "chip": "esp8266", "author": "kerwincui", "version": 1.2, "createTime": "2022-06-06" } }, "1":{ "id1":"value1", "id2":"value2", "id3":"value3" }, "3":{ "id1":"value1", "id2":"value2", "id3":"value3" }, "4":{ "id1":"value1", "id2":"value2", "id3":"value3" } }
2、订阅主题 GET_REQ/+,下位机读取上位机信息时候,上位机返回的消息
描述:规则和 PUT/+ 主题一致,返回的数据根据 GET/+ 主题请求的 sensor_number 来生成
{ "0":{ "restart": 1, "firmware_version": 1.2, "longitude": 0, "latitude": 0, "summary": { "name": "wumei-smart", "chip": "esp8266", "author": "kerwincui", "version": 1.2, "createTime": "2022-06-06" } }, "1":{ "id1":"value1", "id2":"value2", "id3":"value3" }, "3":{ "id1":"value1", "id2":"value2", "id3":"value3" }, "4":{ "id1":"value1", "id2":"value2", "id3":"value3" } }
3、订阅主题 READ/+,上位机读操作
描述: 0表示主机,1 其它接入设备(开关"10_XXX"或者传感器(1_XXX))的编号,id1 指定属性或者配置
{ "1":"id1,id2,id3", "0":"id1,id2,id3" }
3、订阅主题 POST_REQ/+,下位机定时提交数据时,上位机返回数据解析情况 payload返回一个int数据:0 topic解析为空,不做消息解析;1 设备不存在,不做解析;2 消息正常解析;3 消息异常