首页 > 解决方案 > 如何在 mqtt mosquitto 中发布从订阅经纪人获取的数据?

问题描述

我在不同的两个设备中有 MQTT Broker (Mosquitto)。他们在工作。我在他们之间架起了一座桥梁。我可以使用 pub_mosquitto 将数据从一个发布到另一个。我想从互联网代理(broker.hivemq.com)中的任何主题获取数据,例如http://www.mqtt-dashboard.com/
我可以从该网站代理中的任何主题获取数据,但我无法将获取的数据发布到另一个我的经纪人同时。我想使用我的经纪人 pub/sub。我的经纪人将从任何经纪人那里获取数据并将其发布到我的桥接经纪人。我怎样才能做到这一点 ?

我在下面画并写道:

在此处输入图像描述

标签: mqttpublish-subscribemosquitto

解决方案


MQTT 网桥可以配置为以多种方式工作

  • 获取本地消息并将它们转发到远程代理
  • 获取远程消息并将它们转发到本地代理
  • 做前面的两个语句

例如蚊子

topic # out // local to remote

topic # in // remote to local

topic # both // bridge in both directions

有关如何配置 mosquitto 网桥的完整详细信息,请参见此处的手册页

可以桥接哪些主题的唯一限制是基于本地代理用来向远程代理进行身份验证的用户的正常 ACL。

要实现您想要的,您需要创建 2 个桥,一个位于 Broker 1 和 Broker 2 之间的桥,其方向应为both. 这可以在 Broker 1 或 Broker 2 的配置中设置(但不能同时在两者上)。

其次,在代理 1 上,您可以创建到 HiveMQ 代理的桥接。这可能应该有一个主题映射行,如:

topic temperature in

这将获取发布到 HiveMQ 代理的任何消息并将它们桥接到代理 1,然后将它们桥接到代理 2


推荐阅读