效果
Html通过WebSockets进行MQTT通信nbzchWs-mqtt.zip
原因
群晖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 退出。