主题
主题基本形式
主题基本形式就是一个字符串,比如:currentTime,carSpeed
注意:主题区分大小写、可以用空格(但尽量不要用)、尽量使用英文字符
主题分级
MQTT主题各个级别之间可以使用/
来分隔。如:Tyler-1/motor/1/speed
示例中一共有四级主题,分别是第1级 Tyler-1、第2级motor、第三级1、第4级speed。
主题通配符
当客户端订阅主题时,可以使用通配符同时订阅多个主题。通配符只能在订阅主题时使用
-
单级通配符:
+
示例:1
2
3
4
5
6home/sensor/+/temperature
# 可以表示:
# home/sensor/aaa/temperature
# home/sensor/bbb/temperature
# ...... -
多级通配符 :
#
示例:1
2
3
4
5
6home/sensor/#
# 可以表示:
# home/sensor/aaa
# home/sensor/bbb/ccc
# home/sensor/aaa/ccc
注意事项
-
以$开始的主题
以$开始的主题是MQTT服务端系统保留的特殊主题,不能随意订阅或者向其发布信息。如:
1
2
3
4
5
6SYS/broker/clients/connected
SYS/broker/clients/disconnected
SYS/broker/clients/total
SYS/broker/messages/sent
SYS/broker/uptime
... -
避免使用
/
作为主题的开头 -
主题中尽量不要使用空格
-
主题中尽量使用ASCII字符
-
建议在主题中嵌入客户端ID
【通过主题中的客户端ID内容,可以很容易的了解该主题信息是由哪一台设备所发布的】