如何订阅 MQTT 代理的所有主题
How do I subscribe to all topics of a MQTT broker
我想连接一个客户端,当我不知道主题名称是什么时,它将监视代理的所有主题以响应事件。
订阅 #
即可订阅所有内容,但以 $
开头的主题除外(这些通常都是控制主题)。
当然,最好先知道您要订阅什么,并注意某些代理配置可能不允许明确订阅 #
。
您可以使用 mosquitto_sub
(mosquitto-clients
包的一部分)并订阅通配符主题 #
:
mosquitto_sub -v -h broker_ip -p 1883 -t '#'
使用通配符“#”,但请注意,在某些时候您将不得不以某种方式理解通过总线的数据!
具体例子
mosquitto.org 非常活跃(在发帖时)。这是针对 MQTT 订户 linux 设备的不错的冒烟测试:
mosquitto_sub -h test.mosquitto.org -t "#" -v
“#”是主题和returns所有消息(主题)的通配符:服务器流量很大,因此返回了'firehose'条消息。
如果您的 MQTT 设备向测试 MQTT 代理发布 irisys/V4D-19230005/
主题,则您可以过滤消息:
mosquitto_sub -h test.mosquitto.org -t "irisys/V4D-19230005/#" -v
选项:
- -h 主机名(默认 MQTT 端口 = 1883)
- -t在主题前面
我想连接一个客户端,当我不知道主题名称是什么时,它将监视代理的所有主题以响应事件。
订阅 #
即可订阅所有内容,但以 $
开头的主题除外(这些通常都是控制主题)。
当然,最好先知道您要订阅什么,并注意某些代理配置可能不允许明确订阅 #
。
您可以使用 mosquitto_sub
(mosquitto-clients
包的一部分)并订阅通配符主题 #
:
mosquitto_sub -v -h broker_ip -p 1883 -t '#'
使用通配符“#”,但请注意,在某些时候您将不得不以某种方式理解通过总线的数据!
具体例子
mosquitto.org 非常活跃(在发帖时)。这是针对 MQTT 订户 linux 设备的不错的冒烟测试:
mosquitto_sub -h test.mosquitto.org -t "#" -v
“#”是主题和returns所有消息(主题)的通配符:服务器流量很大,因此返回了'firehose'条消息。
如果您的 MQTT 设备向测试 MQTT 代理发布 irisys/V4D-19230005/
主题,则您可以过滤消息:
mosquitto_sub -h test.mosquitto.org -t "irisys/V4D-19230005/#" -v
选项:
- -h 主机名(默认 MQTT 端口 = 1883)
- -t在主题前面