目录
MQTT服务器配置
EMQ服务器简介
为什么选用EMQ
下载EMQ服务器
配置阿里云服务器ECS
选择配置并购买
安全策略配置
Java环境变量配置
部署并测试EMQ服务器
部署EMQ服务器
浏览器测试
MQTT客户端测试
本文主要讲述如何构建一个MQTT服务器,以供设备端与控制端进行数据交互。
官网:EMQ https://www.emqx.io/cn/
介绍:EMQ X (Erlang/Enterprise/Elastic MQTT Broker) 是基于 Erlang/OTP 语言平台开发,支持大规模连接和分布式集群,发布订阅模式的开源 MQTT 消息服务器。
1、开源,免费使用。
2、国产,一方面不用担心被外国卡脖子,另一方面相比国外的开源服务器多了一些本土化的功能,更加接地气。如果说缺点的话,就是服务端的统计数据更新比较慢。有时候为了验证某一个终端是否连接,不得不手动在服务器上刷新浏览器。
EMQ X 消息服务器每个版本会发布 CentOS、Ubuntu、Debian、FreeBSD、macOS、Windows 、openSUSE 平台程序包与 Docker 镜像。下载地址: https://www.emqx.io/downloads,使用者可以根据自己需求及服务器系统选择对应的版本。笔者下载的版本是windows 4.0版本。
需要指出的是,官方提供了详尽的技术支持文档,读者也可以参考官方的帮助文档完成EMQ服务器的配置。
本段主要讲解阿里云服务器ECS的购买,配置,EMQ的安装。
阿里云服务器有众多配置可供用户选择,如果是企业用户,使用要求高,可以选则费用高的配置;而笔者选择的是入门级别的配置,价格亲民,能够满足常用的测试功能。
阿里云服务器为了服务器自身安全,会使用安全策略控制服务器端口的数据出入。只有被使用者确认打开的端口,才能进行数据的出入。具体配置方法参考以下的链接:https://help.aliyun.com/document_detail/25387.html?spm=a2c4g.11186623.6.832.66a53f1b7Lsv8p。
例如,如果读者使用EMQ默认的端口1883,则需要将1883端口是进出控制设为允许。
JAVA环境变量配置,是指在服务器部署安装JDK/JRE,这样EMQ服务器才能正常运行。具体的配置方法,请参考此链接:MQTT服务器配置1——JAVA环境变量配置及JAVAC报错_Java_REALIOT'S BLOG-CSDN博客
至此,EMQ服务器的安装准备工作已经全部完成,接下来我们需要将EMQ服务器部署完成,并完成相关测试,以确认EMQ服务器已经正常运行。
1、将dos界面定位到emqx.cmd的文件夹:C:\User\MQTT\emqx-windows-v4.0.0\emqx\bin
2、输入emqx start命令后,回车运行,几秒种后,界面换行,意味着安装完成了。
我们接下来可以测试该MQTT服务器是否可用,在测试之前,请注意一下默认参数:
端口:1883
用户名:admin
密码:public
在服务器本地浏览器访问http://127.0.0.1:18083/#/,可查看服务器当前运行状态。
使用MQTT服务器客户端,测试能否正常连接到我们新建立的服务器,注意,IP地址是阿里云ECS的公网IP,端口默认是1883。笔者使用的测试软件是mqtt fx。