[英]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.