本项目内容是阿里云服务器搭建EMQX充当MQTT broker(公网代理服务器),实现不同局域网MQTT客户端的通信
1.获取自己的阿里云windows云服务器
阿里云ECS服务器[免费试用]
推荐支付宝扫码登录
点击试用(一般是体验3个月),根据步骤选择自己的服务器配置(建议操作系统为windows server 2022)
重置实例密码(你的服务器登录密码)
根据步骤进行修改密码(要记住)即可
2.使用本地电脑远程登录自己的云服务器
目的是在云服务器上下载并安装EMQ(在云服务器上的MQTT broker),将其作为公网媒介,以便跨网段进行mqtt通信
首先打开自己本地电脑的远程桌面连接
之后输入密码,勾不勾选记住凭证都可以,意思就是下次用不用输密码
进入后就可以进行云服务器的使用了,可以对其窗口放大缩小,同本机同时使用
3.EMQ工具下载并安装到个人阿里云服务器中
建议在本地的浏览器中下载并解压,之后复制解压后的文件到云服务器中
Directory listing for EMQX: / | EMQ
在这里本人下载的是emqx-5.3.2-windows-amd64
复制进来后
进入其中的bin文件夹,然后点地址栏,输入cmd并回车
进入命令终端,输入emqx start后回车,结果和我一样即为成功
这里错误情况可能有很多
错误1:如果发现提示说找不到msvcr120.dll文件,可以网上下载或者在我上传资源里面下载,成功下载后,需要放在云端电脑的C\Windows\System32对应的目录下面后,再按照上述步骤输入指令启动EMQ服务
错误2:报错Unable to load emulator DLL、node.db_role = EMQX_NODE__DB_ROLE = core参考下面连接可以解决
【解决】win10下emqx启动报错Unable to load emulator DLL、node.db_role = EMQX_NODE__DB_ROLE = core-CSDN博客
其中的Erlang/OTP版本建议下载新一点的版本,我下载的是
之后按步骤操作,安装后一定要重启云服务器,然后再次进行之前的操作重新启动emqx
4.配置阿里云
点击安全组
然后点击你的实例
手动添加如图红框内的内容
5.配置EMQ_Dashboard
本地电脑浏览器搜索:xxx.xxx.xxx.xxx:18083(xxx.xxx.xxx.xxx为云服务器的公网ip)
用户名为admin,密码默认为public,建议修改密码
在这里可以进行对连接到你云服务器的mqtt客户端进行查看以及管理,不需要其他的配置
6.下载mqttfx并连接测试通信
MQTT.Fx 1.7.1 | MQTTFx MQTT Client
mqttfx连接EMQ服务器应用示例
点击连接后,就可以设置自己发布和订阅的主题了
在这里发布和订阅的话题相同,可以自己发,自己收
发布111,收到111
可以开启两个MQTTFX,连接好之后,相互订阅发布,就可以实现MQTT客户端通信
(即使两个客户端不在同一局域网下也可实现通信,因为其mqtt broker是公网的云服务器)
另外mqtt服务器也可以手写,自己写了一个linux下的c语言版本,如有需要,请加我qq:2698308987
如果本文章对您有所帮助,还请点赞收藏