本接口主要针对采用Mqtt协议接入本IOT中继平台的设备,用于通过http API向本IOT中继平台Mqtt消息服务器订阅、发布物模型Topic,用于获取设备向IOT中继平台Mqtt消息服务器订阅、发布的Topic物模型数据,例如:通过操作http API 接口获取接入设备上报到本IOT中继平台Mqtt消息服务器的的设备工作温度。
MQTT消息服务器Topic组成: 在本IOT中继平台中订阅、发布物模型Topic由 标识符 “/iotboxProperties”、“/iotboxEvent”、“/iotboxFunction” +“/”+“设备ID”+“/”+“物模型属性ID”、“物模型事件ID”、“物模型功能ID”组成,
例如:物模型属性Topic “/iotboxProperties/44080000001111000016/P_1697771488743” ---- 格式: “/iotboxProperties/设备ID/物模型属性ID”;
物模型事件Topic “/iotboxEvent/44080000001111000016/E_1697248913306” ---- 格式:“/iotboxEvent/设备ID/物模型事件ID”;
物模型功能Topic “/iotboxFunction/44080000001111000016/F_1697771488743” ---- 格式:“/iotboxFunction/设备ID/物模型功能ID”。
MQTT协议中有三种消息发布服务质量:
1、 “QOS0” : “至多一次”,消息发布完全依赖底层 TCP/IP 网络。会发生消息丢失或重复。这一级别可用于如下情况,环境传感器数据,丢失一次读记录无所谓,因为不久后还会有第二次发送。
2、 “QOS1” :“至少一次”,确保消息到达,但消息重复可能会发生。
3、 “QOS2” :“只有一次”,确保消息到达一次。这一级别可用于如下情况,在计费系统中,消息重复或丢失会导致不正确的结果,资源开销大.
在订阅、发布Topic时根据需要设置MQTT消息发布服务质量。
接口功能 本接口主要针对采用Mqtt协议接入本IOT中继平台的设备,用于通过http API向本IOT中继平台Mqtt消息服务器订阅物模型属性Topic,用于获取设备向IOT中继平台Mqtt消息服务器发布的Topic物模型属性数据,例如:接入设备上报的设备工作温度,把工作温度数据发布到本IOT中继平台Mqtt消息服务器的Topic。
MQTT消息服务器Topic组成: 在本接口中订阅物模型属性Topic由 “/iotboxProperties”+“/”+“设备ID”+“/”+“物模型属性ID” 组成,
例如: “/iotboxProperties/44080000001111000016/P_1697771488743”。
Request URL: http://192.168.0.105:18080/openApi/subscribeModelProperties
域名访问URL: http://iotbox.iotrelay.cn:8080/api/openApi/subscribeModelProperties
Request Method:GET
数据提交格式 Query String Parameters
请求头参数 Authorization
请求头参数说明:
参数名 | 类型 | 必须 | 描述 |
---|---|---|---|
Authorization | Header | 是 | 固定值:字符串“Bearer” +“token”组成, "token"为上述登录接口获取的属性值,如:请求头中 “Authorization” : “Bearer eyJhbGciOiJIUzI1NiJ9.eyJqdGkiOiJiNjE3OGVlN2ZhNWM0OWU2ODlmMGEzNjIxNzkxYzk2OCIsInN1YiI6IntcInVzZXJJZFwiOlwiNDlcIixcInVzZXJOYW1lXCI6XCIxMzQzNzE1NjU2OVwiLFwibmlja05hbWVcIjpcIjQ0MDgwMDAwMDAxMTExMDAwMDE3XCJ9IiwiaXNzIjoic2oiLCJpYXQiOjE2OTcxNTk2NjgsImV4cCI6MTY5NzE2MTQ2OH0.4C3GJIF5ejmySHy9l_LmheoCs5jknq17h9tPsZB3dIM” |
请求体参数说明:
参数名 | 类型 | 必须 | 描述 |
---|---|---|---|
deviceId | string | 是 | 接入设备ID标识,黄色 "44080000001111000016"为接入设备ID标识值 |
propertiesId | string | 是 | IOT接入设备物模型属性ID标识,黄色 "P_1697771488743"为物模型属性ID标识值 |
qos | string | 是 | Mqtt消息服务质量, 此处根据需要在三个值 “QOS0”、“QOS1”、“QOS2” 选择一个 |
正确响应结果示例:
{ "code": "0", "msg": "订阅物模型属性成功,订阅topic为:/iotboxProperties/44080000001111000016/P_1697771488743 消息服务质量为QOS1", "data": "true", }
错误响应结果示例:
{ "code": "-1", "msg": "fail:物模型属性订阅失败" }
接口功能 本接口主要取消通过本IOT中继平台向Mqtt消息服务器订阅的物模型属性Topic,例如取消上一章节接口《 1) 订阅物模型属性 》中订阅的Topic
“/iotboxProperties/44080000001111000016/P_1697771488743”。
MQTT消息服务器Topic组成: 在本接口中订阅物模型属性Topic由 “/iotboxProperties”+“/”+“设备ID”+“/”+“物模型属性ID” 组成,
例如: “/iotboxProperties/44080000001111000016/P_1697771488743”。
Request URL: http://192.168.0.105:18080/openApi/unSubscribeModelProperties
域名访问URL: http://iotbox.iotrelay.cn:8080/api/openApi/unSubscribeModelProperties
Request Method: GET
数据提交格式 Query String Parameters
请求头参数 Authorization
请求头参数说明:
参数名 | 类型 | 必须 | 描述 |
---|---|---|---|
Authorization | Header | 是 | 固定值:字符串“Bearer” +“token”组成, "token"为上述登录接口获取的属性值,如:请求头中 “Authorization” : “Bearer eyJhbGciOiJIUzI1NiJ9.eyJqdGkiOiJiNjE3OGVlN2ZhNWM0OWU2ODlmMGEzNjIxNzkxYzk2OCIsInN1YiI6IntcInVzZXJJZFwiOlwiNDlcIixcInVzZXJOYW1lXCI6XCIxMzQzNzE1NjU2OVwiLFwibmlja05hbWVcIjpcIjQ0MDgwMDAwMDAxMTExMDAwMDE3XCJ9IiwiaXNzIjoic2oiLCJpYXQiOjE2OTcxNTk2NjgsImV4cCI6MTY5NzE2MTQ2OH0.4C3GJIF5ejmySHy9l_LmheoCs5jknq17h9tPsZB3dIM” |
请求体参数说明:
参数名 | 类型 | 必须 | 描述 |
---|---|---|---|
deviceId | string | 是 | 接入设备ID标识,黄色 "44080000001111000016"为接入设备ID标识值 |
propertiesId | string | 是 | IOT接入设备物模型属性ID标识,黄色 "P_1697771488743"为物模型属性ID标识值 |
正确响应结果示例:
{ "code": "0", "msg": "取消订阅物模型属性成功,取消订阅topic为:/iotboxProperties/44080000001111000016/P_1697771488743", "data": "true", }
错误响应结果示例:
{ "code": "-1", "msg": "fail:取消订阅Mqtt物模型属性失败" }
接口功能 本接口主要针对采用Mqtt协议接入本IOT中继平台的设备,用于通过http API向本IOT中继平台Mqtt消息服务器订阅物模型事件Topic,用于获取设备向IOT中继平台Mqtt消息服务器发布的Topic物模型事件数据,例如:接入设备运行故障时,把工作温度数据发布到本IOT中继平台Mqtt消息服务器的Topic。
MQTT消息服务器Topic组成: 在本接口中订阅物模型事件Topic由 “/iotboxEvent”+“/”+“设备ID”+“/”+“物模型事件ID” 组成,
例如: “/iotboxEvent/44080000001111000017/E_1697771992900”。
Request URL: http://192.168.0.105:18080/openApi/subscribeModelEvent
域名访问URL: http://iotbox.iotrelay.cn:8080/api/openApi/subscribeModelEvent
Request Method:GET
数据提交格式 Query String Parameters
请求头参数 Authorization
请求头参数说明:
参数名 | 类型 | 必须 | 描述 |
---|---|---|---|
Authorization | Header | 是 | 固定值:字符串“Bearer” +“token”组成, "token"为上述登录接口获取的属性值,如:请求头中 “Authorization” : “Bearer eyJhbGciOiJIUzI1NiJ9.eyJqdGkiOiJiNjE3OGVlN2ZhNWM0OWU2ODlmMGEzNjIxNzkxYzk2OCIsInN1YiI6IntcInVzZXJJZFwiOlwiNDlcIixcInVzZXJOYW1lXCI6XCIxMzQzNzE1NjU2OVwiLFwibmlja05hbWVcIjpcIjQ0MDgwMDAwMDAxMTExMDAwMDE3XCJ9IiwiaXNzIjoic2oiLCJpYXQiOjE2OTcxNTk2NjgsImV4cCI6MTY5NzE2MTQ2OH0.4C3GJIF5ejmySHy9l_LmheoCs5jknq17h9tPsZB3dIM” |
请求体参数说明:
参数名 | 类型 | 必须 | 描述 |
---|---|---|---|
deviceId | string | 是 | 接入设备ID标识,黄色 "44080000001111000017"为接入设备ID标识值 |
eventId | string | 是 | IOT接入设备物模型事件ID标识,黄色 "E_1697771992900"为物模型事件ID标识值 |
qos | string | 是 | Mqtt消息服务质量, 此处根据需要在三个值 “QOS0”、“QOS1”、“QOS2” 选择一个 |
正确响应结果示例:
{ "code": "0", "msg": "订阅物模型事件成功,订阅topic为:/iotboxEvent/44080000001111000016/E_1697771992900 消息服务质量为QOS1", "data": "true", }
错误响应结果示例:
{ "code": "-1", "msg": "fail:物模型事件订阅失败" }
接口功能 本接口主要取消通过本IOT中继平台向Mqtt消息服务器订阅的物模型事件Topic,例如取消上一章节接口《 3) 订阅物模型事件 》中订阅的Topic
“/iotboxEvent/44080000001111000016/E_1697771992900”。
MQTT消息服务器Topic组成: 在本接口中订阅物模型事件Topic由 “/iotboxEvent”+“/”+“设备ID”+“/”+“物模型事件ID” 组成,
例如: “/iotboxEvent/44080000001111000016/E_1697771992900”。
Request URL: http://192.168.0.105:18080/openApi/unSubscribeModelEvent
域名访问URL: http://iotbox.iotrelay.cn:8080/api/openApi/unSubscribeModelEvent
Request Method: GET
数据提交格式 Query String Parameters
请求头参数 Authorization
请求头参数说明:
参数名 | 类型 | 必须 | 描述 |
---|---|---|---|
Authorization | Header | 是 | 固定值:字符串“Bearer” +“token”组成, "token"为上述登录接口获取的属性值,如:请求头中 “Authorization” : “Bearer eyJhbGciOiJIUzI1NiJ9.eyJqdGkiOiJiNjE3OGVlN2ZhNWM0OWU2ODlmMGEzNjIxNzkxYzk2OCIsInN1YiI6IntcInVzZXJJZFwiOlwiNDlcIixcInVzZXJOYW1lXCI6XCIxMzQzNzE1NjU2OVwiLFwibmlja05hbWVcIjpcIjQ0MDgwMDAwMDAxMTExMDAwMDE3XCJ9IiwiaXNzIjoic2oiLCJpYXQiOjE2OTcxNTk2NjgsImV4cCI6MTY5NzE2MTQ2OH0.4C3GJIF5ejmySHy9l_LmheoCs5jknq17h9tPsZB3dIM” |
请求体参数说明:
参数名 | 类型 | 必须 | 描述 |
---|---|---|---|
deviceId | string | 是 | 接入设备ID标识,黄色 "44080000001111000016"为接入设备ID标识值 |
eventId | string | 是 | IOT接入设备物模型事件ID标识,黄色 "E_1697771992900"为物模型事件ID标识值 |
正确响应结果示例:
{ "code": "0", "msg": "取消订阅物模型事件成功,取消订阅topic为:/iotboxEvent/44080000001111000016/E_1697771992900", "data": "true", }
错误响应结果示例:
{ "code": "-1", "msg": "fail:取消订阅Mqtt物模型事件失败" }
接口功能 本接口主要针对采用Mqtt协议接入本IOT中继平台的设备,用于通过http API向本IOT中继平台Mqtt消息服务器发布物模型功能Topic,用于向IOT中继平台Mqtt消息服务器发布的Topic物模型功能数据,实现向接入设备下发指令。例如:需要向接入设备下发设备重启、关机指令时,把下发的指令消息发布到本IOT中继平台Mqtt消息服务器的Topic。
MQTT消息服务器Topic组成: 在本接口中发布物模型功能Topic由 “/iotboxFunction”+“/”+“设备ID”+“/”+“物模型功能ID” 组成,
例如: “/iotboxFunction/44080000001111000016/F_1697774598222”。
Request URL: http://192.168.0.105:18080/openApi/pushModelFunction
域名访问URL: http://iotbox.iotrelay.cn:8080/api/openApi/pushModelFunction
Request Method: GET
数据提交格式 Query String Parameters
请求头参数 Authorization
请求头参数说明:
参数名 | 类型 | 必须 | 描述 |
---|---|---|---|
Authorization | Header | 是 | 固定值:字符串“Bearer” +“token”组成, "token"为上述登录接口获取的属性值,如:请求头中 “Authorization” : “Bearer eyJhbGciOiJIUzI1NiJ9.eyJqdGkiOiJiNjE3OGVlN2ZhNWM0OWU2ODlmMGEzNjIxNzkxYzk2OCIsInN1YiI6IntcInVzZXJJZFwiOlwiNDlcIixcInVzZXJOYW1lXCI6XCIxMzQzNzE1NjU2OVwiLFwibmlja05hbWVcIjpcIjQ0MDgwMDAwMDAxMTExMDAwMDE3XCJ9IiwiaXNzIjoic2oiLCJpYXQiOjE2OTcxNTk2NjgsImV4cCI6MTY5NzE2MTQ2OH0.4C3GJIF5ejmySHy9l_LmheoCs5jknq17h9tPsZB3dIM” |
请求体参数说明:
参数名 | 类型 | 必须 | 描述 |
---|---|---|---|
deviceId | string | 是 | 接入设备ID标识,黄色 "44080000001111000016"为接入设备ID标识值 |
functionId | string | 是 | IOT接入设备物模型功能ID标识,黄色 "F_1697774598222"为物模型功能ID标识值 |
sendMsg | string | 是 | 向MQTT服务器发布消息体格式采用json字符串BASE64加密传输。 加密前消息体内容加密后消息体内容消息体数据为json数值格式,由物模型功能中的输入参数组成。加密前格式如:{“deviceId”: “44080000001111000016”,“functionId”: “F_1697774598222”,“functionName”: “远程关机”,“inputParamsList”: [{“paramsId”: “aaaaaa”, “paramsName”: “小车归位”, “dataValue”: “true” },…]}ewogICAgICJkZXZpY2VJZCI6ICI0NDA4MDAwMDAwMTExMTAwMDAxNiIsCiAgICAgImZ1bmN0aW9uSWQiOiAiRl8xNjk3Nzc0NTk4MjIyIiwKICAgICAiZnVuY3Rpb25OYW1lIjogIui/nOeoi+WFs+acuiIsCiAgICAgWwogICAgIHsicGFyYW1zSWQiOiAiYWFhYWFhIiwgInBhcmFtc05hbWUiOiAi5bCP6L2m5b2S5L2NIiwgImRhdGFWYWx1ZSI6ICJ0cnVlIiB9LAogICAgIF0KIH0=json字符串内容说明deviceId定义的设备ID标识 如上例黄色 “44080000001111000016” 为需要处理下发的功能指令设备标识functionId设备物模型功能定义中的功能ID标识 如上例黄色 “F_1697774598222” 为设备物模型功能定义中的功能ID标识functionName设备物模型功能定义中的功能名称 如上例黄色 “远程关机” 为设备物模型功能定义中的功能名称paramsId输入参数ID标识,为设备物模型功能定义中的输入参数ID标识 如上例黄色 “aaaaaa” 为输入参数标识paramsName输入参数名称,为设备物模型功能定义中的输入参数名称 如上例黄色 “小车归位” 为设备物模型功能定义中的输入参数名称dataValue输入参数数据值,dataValue 为设备物模型功能定义中的输入参数数值标识 上例黄色 “true” 设备物模型功能定义中的输入参数数值,为输入参数“小车归位”数据值 |
qos | string | 是 | Mqtt消息服务质量, 此处根据需要在三个值 “QOS0”、“QOS1”、“QOS2” 选择一个 |
正确响应结果示例:
{ "code": "0", "msg": "发布物模型功能成功,发布topic为:/iotboxFunction/44080000001111000016/F_1697774598222 消息服务质量为QOS2", "data": "true", }
错误响应结果示例:
{ "code": "-1", "msg": "fail:发布物模型功能失败" }