搭建自己的IOT服务器平台——EMQ

最近单位项目需要将数据上传到甲方的MQTT服务器中,为了测试方便,今天我们自己来搭建一个MQTT服务器。

EMQ简介

我们今天选择搭建的MQTT服务器是EMQ,EMQ的源代码完全开源,支持百万级并发连接,支持完整的MQTT协议,可以简单方便地部署在Linux、Mac OS X或Windows等平台上,支持MySQL、Redis等扩展插件,总的来说,EMQ满足物联网应用中的各种数据需求。

EMQ安装

我就是搭建一个测试平台,所以为了方便,还是选择Windows平台搭建吧,正好我手里有阿里云,我们来一个EMQ服务器搭建的从0到1。

搭建环境

  • emqx-windows-4.3.11
  • 阿里云轻量应用服务器
  • Windows Server 2019 Datacenter

EMQ下载安装

下载网址:https://www.emqx.com/zh/try?product=broker

下载后,解压到任意路径:

命令行下进入解压路径,启动 emqx:

emqx start

如果启动过程中,提示错误:找不到 MSVCR120.dll

这样的话,可以下载 DirectX修复工具,然后执行“检查并修复”即可解决此问题。

启动命令执行成功以后,控制台输入命令:emqx_ctl status,可以查看当前状态。

如上图所示,代表EMQ服务器已经正常运行了。

没有阿里云的话,也可以把EMQ服务器安装到本机,一样可以体验EMQ。

常用TCP端口

EMQ Web 管理控制台(Dashboard)

EMQ 消息服务器启动后,会默认加载 Dashboard 插件,启动 Web 管理控制台。

用户可通过 Web 控制台,查看服务器运行状态、统计数据、客户端(Client)、会话(Session)、主题(Topic)、订阅(Subscription)、插件(Plugin)。

EMQ启动,本机用浏览器访问地址:http://127.0.0.1:18083,默认用户:admin,密码:public

EMQ管理控制台也可以使用如下URL打开:http:://localhost:18083/ 。

进入管理界面之后,可以在下图位置将页面修改为中文显示。

如果用公网IP访问这个网址,链接可能无法访问,那是因为阿里云服务器默认18083 端口是关闭状态。要想外网能够正常访问这个EMQ管理控制台,我们需要在阿里云服务器管理控制台——防火墙中添加规则如下:

这样就开通了 18083 和 1883 端口,再用外网的IP打开链接,EMQ的管理页面就可以正常打开了。

订阅与发布测试

MQTT.fx连接EMQ

MQTT.fx 是目前主流的 MQTT 桌面客户端,之前我们用这个软件连接过OneNET服务器,今天我们用这个客户端进行一下测试。

首先要创建一个连接,因为我们创建的EMQ服务器默认没有开启任何认证,所以我们只需要填写 Broker Address Broker Port两个信息即可,其他信息,比如 Client ID User Name等信息任意即可,具体填写内容可以参考下图所示:

参数配置完毕之后,我们连接服务器,当MQTT.fx软件显示连接成功之后,我们查看EMQ 管理后台,发现设备已经成功在线了。

Websocket连接EMQ

只有一个设备不方便测试,我们再增加一个设备连接EMQ服务器。

在EMQ管理后台的工具中有一个Websocket,跟MQTT.fx填写内容类似,填写完毕点击 连接即可连接上EMQ服务器。

通信测试

两个设备订阅的主题如下:

利用MQTT.fx 和 EMQ的Websocket工具进行数据通讯,结果展示如下:

由上我们可以看到,实现了客户端之间的数据透传,至此,属于我们自己的IoT服务器搭建完毕。

总结

好了,已经实现了MQTT服务器的搭建,并进行了客户端之间的数据通信,至此完成了EMQ服务器的初体验。

声明:本内容为作者独立观点,不代表电子星球立场。未经允许不得转载。授权事宜与稿件投诉,请联系:editor@netbroad.com
觉得内容不错的朋友,别忘了一键三连哦!
赞 1
收藏 3
关注 58
成为作者 赚取收益
全部留言
0/200
成为第一个和作者交流的人吧