我是靠谱客的博主 俏皮乐曲,最近开发中收集的这篇文章主要介绍搭建自己的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

image.png
https://www.emqx.io/zh/downloads#broker.
image.png
下载后,解压到任意路径:
image.png

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

emqx start


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

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

启动命令执行成功以后,控制台输入命令:emqx_ctl status,可以查看当前状态。
image.png
如上图所示,代表EMQ服务器已经正常运行了。

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

常用TCP端口

端口用途
1883MQTT 协议端口
8883MQTT/SSL 端口
8083MQTT/WebSocket 端口
8084MQTT/WebSocket/SSL Port
8080HTTP Management API 端口
18083Web Dashboard Port / Dashboard 管理控制台端口

EMQ Web 管理控制台(Dashboard)

EMQ 消息服务器启动后,会默认加载 Dashboard 插件,启动 Web 管理控制台。用户可通过 Web 控制台,查看服务器运行状态、统计数据、客户端(Client)、会话(Session)、主题(Topic)、订阅(Subscription)、插件(Plugin)。

EMQ启动,本机用浏览器访问地址:http://127.0.0.1:18083,默认用户:admin,密码:public
控制台也可以使用如下URL打开: http:????/localhost:18083/ 。

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

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

image.png

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

订阅与发布测试

MQTT.fx连接EMQ

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

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

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

image.png

Websocket连接EMQ

只有一个设备不方便测试,我们再增加一个设备连接EMQ服务器。
在EMQ管理后台的工具中有一个Websocket,跟MQTT.fx填写内容类似,填写完毕点击 连接即可连接上EMQ服务器。

image.png

通信测试

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

设备订阅的主题服务质量
Websockettesttopic_ws0
MQTT.fxtesttopic_fx0

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

总结

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

EMQ很强大,今天只是简单的应用一下,像身份认证、规则引擎、数据持久化等高级功能,日后还会有进一步的深入介绍,感兴趣的小伙伴可以持续关注一下。

好了,今天的文章内容到这里就结束了,希望对你有帮助,我们下一期见。

推荐阅读

与OneNET服务器连接初体验
嵌入式工程师实战手册,正式出炉

扫码加入我的星球,获取更多资料,另有「嵌入式工程师实战手册」PDF电子书赠送。

最后

以上就是俏皮乐曲为你收集整理的搭建自己的IOT平台——EMQ的全部内容,希望文章能够帮你解决搭建自己的IOT平台——EMQ所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(61)

评论列表共有 0 条评论

立即
投稿
返回
顶部