繁体   English   中英

使用 NodeJS 在 mosquitto MQTT 和 EMQX 之间建立桥梁

[英]Creating a bridge between mosquitto MQTT and EMQX using NodeJS

我已经在 2 个不同的应用程序中使用 NodeJs 和 EMQX 设置了 mosquitto。 我想在我的 MQTT 客户端之间建立一座桥梁,并从两端发送和接收值。

尝试在我的 MQTT npm 包中使用 WebSocket 选项创建桥接。

var client = mqtt.connect('mqtt://test.mosquitto.org', {
  clientId: 'mqttjs_6fa3a7ee3d',
  wsOptions: {
  host: '100.84.81.28',
  port: 8083,
  path: '/mqtt'
}
});  

我与 NodeJs 的 EMQ 连接。

var client = mqtt.connect('ws://100.84.81.28:8083/mqtt');

正如评论中所说,网桥是您必须在代理中配置的东西,而不是客户端。

以下将不起作用,您已告诉客户端库使用带有mqtt:// url 前缀的本机 MQTT 连接到代理。 这意味着它将完全忽略设置对象中的wsOptions块。

var client = mqtt.connect('mqtt://test.mosquitto.org', {
  clientId: 'mqttjs_6fa3a7ee3d',
  wsOptions: {
  host: '100.84.81.28',
  port: 8083,
  path: '/mqtt'
}
}); 

此外,您不能让客户端尝试一次连接到 2 个单独的代理(您可以有 2 个单独的客户端实例)。

要配置网桥,您需要查看mosquitto.conf文档,您需要运行自己的 mosquitto 实例,您不能使用 test.mosquitto.org,因为您无法更改它的配置。 需要使用本机 MQTT 构建桥接,而不是通过 websockets 的 MQTT。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM