MQTT 操作-订阅主题
主题订阅
问题背景
主题订阅
解决方案
使用 订阅 MQTT 节点配置订阅主题,并接受发布到该主题的消息
示例
示例JSON
[{"id":"8024cb4.98c5238","type":"mqtt in","z":"09f64d8a7f751be5","name":"","topic":"sensors/#","qos":"2","datatype":"auto-detect","broker":"407a01e4.6b637","nl":false,"rap":false,"inputs":0,"x":220,"y":900,"wires":[["15d727dd.33e808"]]},{"id":"15d727dd.33e808","type":"debug","z":"09f64d8a7f751be5","active":true,"console":"false","complete":"false","x":450,"y":900,"wires":[]},{"id":"407a01e4.6b637","type":"mqtt-broker","name":"数字工厂","broker":"172.16.0.3","port":"1883","clientid":"ocs_controller_sensors_example","autoConnect":true,"usetls":false,"protocolVersion":"5","keepalive":"60","cleansession":true,"birthTopic":"","birthQos":"0","birthPayload":"","birthMsg":{},"closeTopic":"","closePayload":"","closeMsg":{},"willTopic":"","willQos":"0","willPayload":"","willMsg":{},"userProps":"","sessionExpiry":""}]
运行结果
订阅 MQTT 节点必须先配置主题才能使用,无法动态更改。
可以使用 MQTT 通配符,+ 表示单个主题级别,# 表示多个主题级别。这允许使用单个节点接收多个主题。消息将从节点发送,并将 msg.topic 设置为实际收到的主题。
比如本示例设置了 sensors/# 主题,订阅了 sensors 主题下的所有子主题。
比如 sensors/temperature、sensors/humidity 等主题。
