效果

Html通过WebSockets进行MQTT通信nbzchWs-mqtt.zip
QQ截图20230728232311.jpg

原因

群晖Mqtt服务Mosquitto默认只开起了TCP的1883端口,没有开启WebSockets的8083端口。

而在网页端编写Mqtt服务时只支持WebSockets的8083端口。所以需要开启
参考了mosquitto 开启webSockets群晖NAS使用套件安装MQTT服务器(mosquitto)MQTT服务器搭建--Mosquitto用户名密码这3篇博文后做了如下修改。

具体方法

如果要开启webSockets,它是支持的。但是要显式的加入mqtt协议及端口,在mosquitto.conf里面添加:

#原有的port 1883这一行替换成一下内容

#MQTT协议
port 1883
protocol mqtt

#websockets协议
listener 8083 
protocol websockets

#允许匿名访问
allow_anonymous true

工具与命令

1.首先打开群晖的ssh连接功能

2.进入putty工具页面连接群晖并登录

3.进入目录命令

cd /volume1/@appstore/mosquitto/var

4.输入命令

sudo vi mosquitto.conf

5.找到port 1883,按i后按照上面方法修改

6.按 :w 保存 按 :q 退出。

发表评论