MQTT是通过主题对消息进行分类的,本质上就是一个UTF-8的字符串,不过可以通过反斜杠表示多个层级关系。主题并不需要创建,直接使用就是了。
主题还可以通过通配符进行过滤。其中,+
可以过滤一个层级,而*
只能出现在主题最后表示过滤任意级别的层级。举个例子:
-
building-b/floor-5
:代表B楼5层的设备。 -
+/floor-5
:代表任何一个楼的5层的设备。 -
building-b/*
:代表B楼所有的设备。
注意,MQTT允许使用通配符订阅主题,但是并不允许使用通配符广播。