簡體   English   中英

如何通過Web套接字連接到Raspberry Pi上的Mosquitto代理?

[英]How to connect to a Mosquitto broker on a Raspberry Pi through web sockets?

我正在嘗試連接到裝有Mosquitto代理的Raspberry Pi。 RPi上的客戶端使用以下方式連接:

client.connect("127.0.0.1", 1883, 60)

我嘗試使用以下規范在我的MQTT JavaScript客戶端上連接到它,但失敗了:

client = new Paho.MQTT.Client("10.101.125.190", 1883,"myclientid_" + parseInt(Math.random() * 100, 10)); 

我還嘗試從JavaScript端將端口更改為8080 ,但仍然失敗。 如果我將RPi上的端口更改為8080 ,則它甚至都不會連接。

這是我目前遇到的錯誤:

WebSocket connection to 'ws://10.101.125.190:1883/mqtt' failed: Error during WebSocket handshake: net::ERR_CONNECTION_RESET

那么,我需要更改什么才能解決此錯誤? RPi和我的JS客戶端都在同一個本地網絡中。

編輯 :我忘了提一下,我已經使用test.mosquitto.org - 8080進行了嘗試,並且可以正常工作,但是一旦更改地址,我就開始收到錯誤消息。

通過websockets的MQTT與本機MQTT不共享相同的端口。

您將需要在mosquitto配置中添加一個新的偵聽器。

您需要在/etc/mosquitto/mosquitto.conf的末尾(或在/etc/mosquitto/mosquitto.d的單獨文件中)添加以下內容。

listener 1884
protocol websockets

然后需要更新您的JavaScript以連接到端口1884而不是1883

您還需要使用高於1.4.x iirc的mosquitto版本,為raspbian打包的默認版本太舊。 請按照此處的說明獲取新版本。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM