【发布时间】:2021-12-16 21:19:44
【问题描述】:
我正在开发一个连接到本地代理 (dyson) 的 web 应用程序,问题是我无法直接从浏览器直接连接到 MQTT 协议,并且我无法编辑戴森代理配置以打开 websockets 端口。所以我创建了一个新的代理,开放的 websockets 桥接到了戴森代理。我已经测试了通过服务器 MQTT 直接访问戴森并且运行良好,我可以从中检索数据。但是当我尝试从我的代理连接时,它会连接然后抛出连接被拒绝。
这是我的代理配置:
listener 9001
protocol websockets
allow_anonymous true
listener 1883
protocol mqtt
allow_anonymous true
connection paho33095379815290
address 10.0.0.248:1883
remote_clientid paho33095379815290
remote_username VS9-EU-233232A
remote_password ******
bridge_protocol_version mqttv311
cleansession true
try_private false
topic # both 0
log_type all
这是我得到的日志:
135848336: Bridge local.paho33095379815290 doing local SUBSCRIBE on topic #
135848336: Connecting bridge (step 1) paho33095379815290 (10.0.0.248:1883)
135848336: Connecting bridge (step 2) paho33095379815290 (10.0.0.248:1883)
135848336: Bridge paho33095379815290 sending CONNECT
135848336: Received CONNACK on connection local.paho33095379815290.
135848336: Connection Refused: broker unavailable
【问题讨论】:
-
我已经有一段时间没有使用 Dyson 套件(和源代码...)了,但尝试切换到
bridge_protocol_version mqttv31以尝试 v3.1 而不是 v3.1.1。 -
另一个Broker上的日志说什么?该代理的日志中应该有连接被拒绝的原因。
-
@jdallen 经纪人正在戴森风扇/机器人吸尘器上运行,无法访问日志
-
@hardillb 用
bridge_protocol_version mqttv31对其进行了测试,同样的问题。正确没有访问日志 -
这很奇怪,因为我通过 NodeJS + MQTTjs 测试了连接,它可以工作,但是直接从代理连接,不。