MQTT主题测试器
验证MQTT订阅模式,测试主题匹配规则
使用 + 表示单层通配符,# 表示多层通配符
每行输入一个主题,用于测试是否匹配订阅模式
快捷示例
测试结果
请输入订阅模式和测试主题
通配符参考
+
单层通配符
精确匹配其位置的一个主题层级。
#
多层通配符
匹配任意数量的层级。必须作为模式的最后一个字符。
MQTT主题模式指南
什么是MQTT主题?
MQTT主题是用于过滤消息的UTF-8字符串。它们具有层级结构,以斜杠(/)分隔各层级。主题区分大小写,可以包含几乎任何字符。
主题结构
典型的MQTT主题遵循层级结构,如'building/floor/room/sensor/type'。这允许使用通配符进行灵活的订阅模式匹配。
最佳实践
- 使用有意义的、描述性的主题名称,反映数据层级结构
- 避免使用前导斜杠,因为它会创建空的首层
- 保持主题名称简短合理,以减少带宽使用
- 使用小写字母和连字符保持命名一致性
常见问题
+ 和 # 通配符有什么区别?
+ 通配符精确匹配一个主题层级(例如 'sensor/+/temp' 匹配 'sensor/kitchen/temp'),而 # 可以匹配任意数量的层级,且必须是最后一个字符(例如 'home/#' 匹配 'home'、'home/living'、'home/living/light')。
发布消息时可以使用通配符吗?
不可以,通配符(+ 和 #)只能用于订阅主题过滤器。发布消息时必须指定不包含任何通配符的确切主题名称。
MQTT 主题区分大小写吗?
是的,MQTT 主题区分大小写。'Home/Temperature' 和 'home/temperature' 被视为完全不同的主题。请在主题命名规范中始终保持大小写一致。