7.1 mqtt接收第三方数据
由HAI平台链接第三方提供的MQTT Broker地址,连接后HAI平台订阅固定主题接收数据, 对接方需要在此主题下推送HAI平台要求的数据格式
2.1.1 第三方实现
1.第三方需提供MQTT Broker地址, 端口号, 用户名, 密码等信息给现场调试人员
MQTT Broker要求如下:
- 现场HAI平台服务器与此MQTT Broker之间的网络是通的
- HAI平台暂不支持证书认证 MQTT Broker 需要取消证书认证
- 消息级别均为QOS0
2.向现场调试人员索要网关编码也就是MQTT的主题
- 现场调试人员会提供给你一个MQTT主题, 例如/hai/mqtt/5c4b6968e2fcf78d, 以下都会使用此主题举例请调试时注意不要使用此主题
- 需要设置提供给HAI平台的MQTT用户拥有此主题的发布与订阅权限例如主题是/hai/mqtt/5c4b6968e2fcf78d
那么提供的mqtt用户需要拥有/hai/mqtt/5c4b6968e2fcf78d与/hai/mqtt/5c4b6968e2fcf78d/_dnbody的发布与订阅权限
- HAI平台会订阅此主题,对接方在此主题下推送HAI平台要求的数据格式, HAI平台发起的控制会发布在/hai/mqtt/5c4b6968e2fcf78d/_
dnbody需要第三方订阅接收到HAI平台的控制数据
- 主题消息请严格遵循HAI平台要求的格式
3.数据推送主题消息格式
{"frmt":2,"data":[{"is_enable":1,"identifying":"C1B1","EPE":1,"I":100,"U":100}]}
消息字段说明
| key |
类型 |
必选 |
说明 |
| frmt |
int |
是 |
消息格式版本号, 目前只支持2 |
| data |
array |
是 |
数据数组, 数组中每个元素为一个设备的状态数据 |
| is_enable |
int |
是 |
设备是否启用, 1启用, 0禁用 |
| identifying |
string |
是 |
设备唯一标识, 由HAI平台分配, 例如C1B1 |