Mosquitto - 订阅本地桥上的主题
Mosquitto - subscribe to topics on a local bridge
我是 MQTT 新手,所以这可能很明显,但我不明白。
我有将数据发布到云 MQTT 代理的物联网设备。我无法改变这一点。我希望能够从云代理获取消息并将它们传递到 Azure 中的 IoT 中心。这是我到目前为止所做的:
- 配置了一个 VM 运行 CentOS 来托管我的 Mosquitto 服务器
- 已安装 Mosquitto 并配置为 IoT 中心 (IoTHubBridge) 的网桥
- 创建了一个单独的 Mosquitto 配置以桥接到云 MQTT 代理 (CloudBridge)
请注意,两个 Mosquitto 网桥实例 运行 在同一个虚拟机上。
到目前为止,还不错。 IoT Hub 可以接收通过 IoTHubBridge 传递的测试消息,CloudBridge 接收来自云代理的消息。这就是我遇到的问题 - 如何让消息从 CloudBridge 传递到 IoTHubBridge?
谢谢!
如评论中所述。
这里不需要2个MQTT代理。您应该在单个代理中配置两个网桥,这样使用正确的 topic
网桥声明,消息应该只在 IoT 中心和云代理之间流动。
这确实假定云代理的 topic/message 结构与您需要发送到 IoT 中心的内容兼容。该桥将允许您 add/remove 来自主题的前缀,但不能完全重新映射它。并且无法更改有效负载格式。
如果您需要更改有效负载格式或对主题结构进行重大更改,那么网桥不是正确的解决方案。您将需要创建一个订阅云代理的应用程序,然后将转换后的消息重新发布到 IoT 中心代理。有很多方法可以用多种语言实现这一点,但如果您对现有的 language/MQTT 客户端组合还不满意,我可能建议您看看像 Node-RED 这样的东西。
我是 MQTT 新手,所以这可能很明显,但我不明白。
我有将数据发布到云 MQTT 代理的物联网设备。我无法改变这一点。我希望能够从云代理获取消息并将它们传递到 Azure 中的 IoT 中心。这是我到目前为止所做的:
- 配置了一个 VM 运行 CentOS 来托管我的 Mosquitto 服务器
- 已安装 Mosquitto 并配置为 IoT 中心 (IoTHubBridge) 的网桥
- 创建了一个单独的 Mosquitto 配置以桥接到云 MQTT 代理 (CloudBridge)
请注意,两个 Mosquitto 网桥实例 运行 在同一个虚拟机上。
到目前为止,还不错。 IoT Hub 可以接收通过 IoTHubBridge 传递的测试消息,CloudBridge 接收来自云代理的消息。这就是我遇到的问题 - 如何让消息从 CloudBridge 传递到 IoTHubBridge?
谢谢!
如评论中所述。
这里不需要2个MQTT代理。您应该在单个代理中配置两个网桥,这样使用正确的 topic
网桥声明,消息应该只在 IoT 中心和云代理之间流动。
这确实假定云代理的 topic/message 结构与您需要发送到 IoT 中心的内容兼容。该桥将允许您 add/remove 来自主题的前缀,但不能完全重新映射它。并且无法更改有效负载格式。
如果您需要更改有效负载格式或对主题结构进行重大更改,那么网桥不是正确的解决方案。您将需要创建一个订阅云代理的应用程序,然后将转换后的消息重新发布到 IoT 中心代理。有很多方法可以用多种语言实现这一点,但如果您对现有的 language/MQTT 客户端组合还不满意,我可能建议您看看像 Node-RED 这样的东西。