1、EMQ开源版本介绍
官网网址:https://www.emqx.com/zh
EMQX 是一款大规模可弹性伸缩的云原生分布式物联网 MQTT 消息服务器。
作为全球最具扩展性的 MQTT 消息服务器,EMQX 提供了高效可靠海量物联网设备连接,能够高性能实时移动与处理消息和事件流数据,帮助您快速构建关键业务的物联网平台与应用。
产品优势:
- 开放源码:基于 Apache 2.0 许可证完全开源,自 2013 年起 200+ 开源版本迭代。
- MQTT 5.0:100% 支持 MQTT 5.0 和 3.x 协议标准,更好的伸缩性、安全性和可靠性。
- 海量连接:单节点支持 500 万 MQTT 设备连接,集群可扩展至 1 亿并发 MQTT 连接。
- 高性能:单节点支持每秒实时接收、移动、处理与分发数百万条的 MQTT 消息。
- 低时延:基于 Erlang/OTP 软实时的运行时系统设计,消息分发与投递时延低于 1 毫秒。
- 高可用:采用 Masterless 的大规模分布式集群架构,实现系统高可用和水平扩展。
2、安装EMQ开源版本
按照EMQ官网的安装步骤进行安装即可。官网的说明如下所示。
(1)使用SSH工具登录阿里云服务器。本教程使用Xshell,创立连接即可,详细参考第一节内容,此处不再赘述。
(2)下载EMQ开源版本的安装包(deb)。此处根据阿里云服务器所构建的系统进行选择,本教程的阿里云服务器系统使用的是Ubuntu 18.04版本。
执行如下命令,将EMQ的包下载在服务器的opt目录下。
cd /opt
wget https://www.emqx.com/zh/downloads/broker/5.0.8/emqx-5.0.8-ubuntu18.04-amd64.deb
(3)安装EMQ
执行如下命令进行安装
sudo apt-get install ./emqx-5.0.8-ubuntu18.04-amd64.deb
(4)启动EMQ
执行如下命令启动
sudo systemctl start emqx
(5)验证EMQ
执行如下命令验证EMQ是否启动成功。
emqx_ctl status
若出现如下所示则EMQ启动成功。到此EMQ的环境已经搭建完成。
3、主题发布和订阅测试
使用官方提供的MQTTX客户端工具测试主题的发布和订阅。
下载地址:https://www.emqx.com/zh/products/mqttx
测试策略:
- 首先定义一个主题(主题名称:环境参数,sensorData)
- 然后使用MQTTX工具模拟一个客户端device1发布sensorData主题,主题的数据为json数据(value:23)
- 接下来再使用MQTTX工具模拟一个客户端server订阅sensorData主题
- 当device1发布了数据,server会接收到数据。
因为EMQ默认的MQTT代理服务器的TCP端口为1883以及EMQ的dashboard的端口是18083,所以在进行下面的测试之前需要在服务器实例的安全组进行端口的配置。配置参数如下所示,编辑完保存即生效。
(1)新建MQTT客户端device1
按照如下图配置参数:
- 客户端名称:device1,可任意设置
- clientID:系统随机生成,也可进行自定义指定
- 服务器地址:使用TCP协议,选择mqtt://,服务器地址填写阿里云服务器的公网地址
- 用户名:暂不指定,系统默认是匿名登录,不需要校验用户名,后面章节进行认证鉴权
- 密码:暂不指定,系统默认是不校验密码
- 其他参数:系统默认配置即可
点击“连接”按钮,连接成功如下图所示。到此客户端device1已经创建完成。
(2)device1客户端发布sensorData主题
按照如下图配置参数:
- 数据格式:选择json格式
- 主题名称:待发布的主题名称,sensorData
- 主题内容:value:23
- 发送图标按钮:点击后即发布主题和主题内容,发布的主题在消息对话框中显示发送成功
(3)新建MQTT客户端server
按照如下图配置参数:
- 客户端名称:server,可任意设置
- clientID:系统随机生成,也可进行自定义指定
- 服务器地址:使用TCP协议,选择mqtt://,服务器地址填写阿里云服务器的公网地址
- 用户名:暂不指定,系统默认是匿名登录,不需要校验用户名,后面章节进行认证鉴权
- 密码:暂不指定,系统默认是不校验密码
- 其他参数:系统默认配置即可
点击“连接”按钮,连接成功如下图所示。到此客户端server已经创建完成。
(4)server客户端订阅sensorData主题
点击”添加订阅“按钮,在添加订阅弹框中,按如下图进行参数配置
- Topic:主题设置成device1发布的主题sensorData
点击”确定“后,server已经成功订阅主题sensorDta
(5)联调测试
切换到device1客户端,点击发布图标按钮进行主题和内容发布操作
显示发布成功,且此时在server客户端上有个消息1的提示,说明server端已经接收到一条消息了,此时切换到server客户端查看详情。
此时server客户端已经成功接收到一条主题sensorData的数据了。联调测试成功,此时EMQ的主题的发布和订阅功能正常。
4、客户端认证
EMQ提供dashboard,提供了仪表盘、连接管理、访问控制、数据集成等功能,更方便的管控EMQ。
直接浏览器打开网址http://IP:18083
首次登录会要求修改密码,按照步骤设置新密码即可。默认语言为英文,可在设置中进行中英文的切换,这里就不再赘述。截图如下图所示。
(1)左侧菜单栏选择”访问控制“->”认证“进入认证页面。点击新建进入创建认证的表单页面。
(2)按步骤填写表单
- 认证方式:选择用户名和密码进行认证方式,也可以选择其他提供的方式进行认证
- 数据源:选择存储认证数据的数据库的服务器,这里选择EMQ内置的数据库,也可选择MySQL等
- 配置参数:账号类型选择username,密码加密方式、加盐方式根据各自需求设置即可
(3)创建完成后,点击”用户管理“按照步骤添加和管理用户。
(3)用户创建完成后,再次连接device1客户端,这时会报认证错误,如下图。
重新编辑连接参数,将用户名和密码加上,再次进行连接。
文章来源:https://www.toymoban.com/news/detail-850378.html
客户端登录成功,认证通过。
文章来源地址https://www.toymoban.com/news/detail-850378.html
到了这里,关于02-EMQ开源版本安装和使用的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!