MQTT文档

TOPIC 规则

阅读以下MQTT接入文档前,请务必先了解MQTT协议的相关概念,特别是该协议topic以及+#两个通配符的使用方法

MQTT通配符规则

在MQTT中,订阅者可以使用通配符来订阅多个主题,而不需要一个一个地指定。MQTT支持两种通配符,分别是“+”和“#”:

+通配符只能匹配一个层级,可以出现在除了主题的最后一个层级之外的任意层级位置,代表一个单词。例如,主题home/livingroom/temperature可以使用home/+/temperature来订阅,匹配的主题包括home/kitchen/temperaturehome/bedroom/temperature等。

#通配符可以匹配多个层级,但必须出现在主题的最后一个层级,代表零个或多个单词。例如,主题home/livingroom/temperature可以使用home/livingroom/#来订阅,匹配的主题包括home/livingroom/temperaturehome/livingroom/humidityhome/livingroom/temperature/setting等。

需要注意的是,使用通配符会增加网络传输的负担和处理开销,因此在设计MQTT主题结构时需要慎重考虑实际数据需求来使用通配符。

表哥平台topic说明

本平台的设备将数据上传到服务端后,经过解密和处理的实时数据通过MQTT协议的方式推送到MQTT服务器,用户可根据自己的需要通过topic规则接收数据。

表哥平台mqtt topic规则 : manage-iot-hub/{companyId}/{applicationId}/{productKey}/{eventId}/{dataTypeId}/{deviceName}

companyId代表公司ID,applicationId代表应用ID,productKey代表产品KEY,eventId代表数据类型,dataTypeId代表数据类型,deviceName代表设备名。这些参数可从HTTP接口中获取到,详见API文档

举例:

  1. manage-iot-hub/1/2/+/1/160/# 这个topic代表订阅公司id为1,应用id为2下所有设备的160数据事件。
  2. manage-iot-hub/1/# 这个topic代表订阅公司id为1下所有数据。
  3. manage-iot-hub/1/2/hwhRwn5ICvA/1/160/# 这个topic代表订阅公司id为1,应用id为2,产品密钥为hwhRwn5ICvA下所有设备的160数据事件。
  4. manage-iot-hub/1/2/hwhRwn5ICvA/1/160/869915047668958 这个topic代表订阅公司id为1,应用id为2,产品密钥为hwhRwn5ICvA, 设备名为869915047668958的160数据事件。
  5. manage-iot-hub/1/2/hwhRwn5ICvA/2/# 这个topic代表订阅公司id为1,应用id为2,产品密钥为hwhRwn5ICvA下所有设备的状态事件,例如上下线,注册删除等。

表哥平台如何查看应用id,产品key:

  1. 使用表哥系统分配的账号和密码登录系统。

  2. 公司id在通讯管理中类似[manage-iot-hub/1/#]的公司级别topic,这个1代表公司id。

company_mqtt

  1. 点击应用(一级目录)右边[...]图形,然后点击[编辑/查看],弹出页面可以查询整型应用id(一级目录id);MQTT TOPIC代表应用级别topic

app_click app_info

  1. 点击产品(二级目录)右边[...]图形,然后点击[编辑/查看],弹出页面可以查询字符串类型产品key(二级级目录key);MQTT TOPIC代表产品级别topic

product_click product_info