本次搭建的MQTT服务器是emqx提供的服务器
1、下载
https://www.emqx.com/en/downloads/broker
从官网下载5.2.0版本emqx-5.2.0-windows-amd64.zip
下载完成直接安装
2、配置,修改端口号
mqtt默认端口号
常规的用法,我们一般使用和开放这两个端口:
1883,设备连接的端口
18083,后端API对接端口
因为开放,所以风险。
默认的端口号往往会引来很频繁的扫描攻击。
于是,我们要这么做:
1883端口改成8600端口(或者其他)
18083端口改成28083端口(或者其他)
如果是使用云服务器ECS,则别忘了在安全组中添加访问规则
3、1883端口修改
emqx-5.2.0-windows-amd64\etc\emqx.conf
listeners.tcp.default {
bind = "0.0.0.0:8600"
max_connections = 1024000
}
dashboard {
listeners.http {
bind = 28083
}
default_username = "admin"
default_password = "public"
}
在etc目录下修改白名单,打开etc目录,找到acl.conf文件。
将deny修改为allow
{allow, all, subscribe, ["$SYS/#", {eq, "#"}]}.
修改完成保存文件
4、启动mqtt服务器
启动命令窗口,进入mqtt的bin目录
C:\Users\dahua>
pushd D:\workspace\software\emqx-5.2.0-windows-amd64\bin
D:\workspace\software\emqx-5.2.0-windows-amd64\bin>
启动服务器
emqx start
浏览器登陆mqtt后台:
http://127.0.0.1:28083
输入用户名,密码
查看客户端连接数量
5、客户端连接mqtt服务器
安装MQTT客户端,使用了两种MQTT客户端,分别是mqttfx和MQTTX-Setup-1.9.6-x64.exe。
mqttfx下载地址在这里
https://download.csdn.net/download/u010584870/88358940
MQTTX-Setup-1.9.6可以从官网获取
https://www.emqx.com/zh/downloads-and-install?product=MQTTX&version=1.9.6&os=Windows&oslabel=Windows
安装省略
使用mqttfx客户端连接服务器
点击设置
单击连接
订阅一个主题(由于未设置acl白名单,这里订阅的主题可以随意填写)
订阅完成后,需要publish一条消息看本机能不能接收到。
在subscribe会收到publish的消息
使用MQTTX客服端连接服务器,与mqttfx客户端订阅相同的主题通信
单击connect连接服务器
单击“New subscribe”新建订阅
发布消息
参考资料:https://blog.csdn.net/qq_19294353/article/details/123290346
参考资料:https://blog.51cto.com/u_16081772/6214939