02-EMQ开源版本安装和使用

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客户端,这时会报认证错误,如下图。
在这里插入图片描述

重新编辑连接参数,将用户名和密码加上,再次进行连接。
在这里插入图片描述

客户端登录成功,认证通过。
在这里插入图片描述

  • 7
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
EMQX 开源版本是一个高性能、可扩展的开源 MQTT 消息代理服务器,可以解决以下问题: 1. MQTT 消息传输:EMQX 提供了完整的 MQTT 协议支持,可以实现可靠的消息传输和通信,使设备和应用程序能够通过 MQTT 协议进行连接、发布和订阅消息。 2. 物联网(IoT)应用:EMQX 的设计目标之一是支持大规模的物联网应用场景。它提供了高性能和可扩展性,可以同时处理大量设备的连接和消息传输,满足物联网应用的要求。 3. 实时数据传输:EMQX 具有低延迟和高吞吐量的特性,适用于需要实时数据传输的应用场景,如实时监控、数据采集等。 4. 可靠性和高可用性:EMQX 支持集群部署,可以通过水平扩展来提高系统的可靠性和可用性。它还提供了故障转移和自动容错机制,保证系统在出现故障时仍然能够正常工作。 5. 数据持久化和存储:EMQX 支持将消息数据持久化到数据库中,以便后续查询和分析。它提供了多种数据库插件,如 MySQL、PostgreSQL、MongoDB 等,方便将消息数据存储到不同类型的数据库中。 6. 安全性:EMQX 支持 SSL/TLS 加密传输和基于用户名/密码的身份验证,保证消息的安全传输和访问控制。它还提供了访问控制列表(ACL)和插件机制,可以根据需求进行更细粒度的安全配置。 总而言之,EMQX 开源版本提供了一个稳定、可靠和高性能的 MQTT 消息代理服务器,适用于各种 IoT 和实时数据传输应用场景,解决了消息传输、可靠性、高可用性、数据持久化和安全性等问题。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值