目录
- 1、什么是EMQX?
- 1.1 EMQX介绍
- 1.2 EMQX特点
- 1.3 与物联网之间的关系以及主要的产品
- 主要的产品
- 2、安装启动
- 2.1 基本命令
- 2.2 目录结构
- 3、MQTTX客户端
- 3.1 连接配置
- 总结
- PS:
1、什么是EMQX?
首先你得有MQTT
的知识,不认识MQTT的小伙伴可以先看看这篇:MQTT–快速入门
1.1 EMQX介绍
MQTT属于是物联网的通信协议,在MQTT协议中有两大角色:客户端(发布者/订阅者),服务端(Mqtt broker);针对客户端和服务端需要有遵循该协议的的具体实现,EMQ/EMQ X就是MQTT Broker
的一种实现。
EMQ X 基于 Erlang/OTP 平台开发的MQTT 消息服务器
,是开源社区中最流行的 MQTT 消息服务器。 EMQ X 是开源百万级分布式
MQTT 消息服务器(MQTT Messaging Broker),用于支持各种接入标准 MQTT 协议的设备,实现从设备端到服务器端的消息传递,以及从服务器端到设备端的设备控制消息转发。从而实现物联网设备的数据采集,和对设备的操作和控制。
1.2 EMQX特点
- 易于安装和使用;
- 灵活的扩展性,支持企业的一些定制场景;
- 中国本地的技术支持服务,通过微信、QQ等线上渠道快速响应客户需求;
- 基于 Apache 2.0 协议许可,完全开源。EMQ X 的代码都放在 Github 中,用户可以查看所有源代码。
- EMQ X 3.0 支持
MQTT 5.0 协议
,是开源社区中第一个支持 5.0协议规范的消息服务器,并且完全兼容
MQTT V3.1 和 V3.1.1 协议。除了 MQTT 协议之外,EMQ X 还支持别的一些物联网协议 - 单机支持百万连接,集群支持千万级连接;毫秒级消息转发。EMQ X 中应用了多种技术以实现上述功 能,
- 利用 Erlang/OTP 平台的软实时、高并发和容错(电信领域久经考验的语言)
- 全异步架构
- 连接、会话、路由、集群的分层设计
- 消息平面和控制平面的分离等
- 扩展模块和插件,EMQ X 提供了灵活的扩展机制,可以实现私有协议、认证鉴权、数据持久化、桥接转 发和管理控制台等的扩展
- 桥接:EMQ X 可以跟别的消息系统进行对接,比如 EMQ X Enterprise 版本中可以支持将消息转发到 Kafka、RabbitMQ 或者别的 EMQ 节点等
- 共享订阅:共享订阅支持通过负载均衡的方式在多个订阅者之间来分发 MQTT 消息。比如针对物联网等 数据采集场景,会有比较多的设备在发送数据,通过共享订阅的方式可以在订阅端设置多个订阅者来实现这 几个订阅者之间的工作负载均衡
1.3 与物联网之间的关系以及主要的产品
典型的物联网平台包括设备硬件、数据采集、数据存储、分析、Web / 移动应用等。EMQ X 位于数据采集这 一层,分别与硬件和数据存储、分析进行交互,是物联网平台的核心:前端的硬件通过 MQTT 协议与位于数据采 集层的 EMQ X 交互,通过 EMQ X 将数据采集后,通过 EMQ X 提供的数据接口,将数据保存到后台的持久化平台 中(各种关系型数据库和 NOSQL 数据库),或者流式数据处理框架等,上层应用通过这些数据分析后得到的结果 呈现给最终用户。
主要的产品
EMQ X 公司主要提供 三个产品,可在官网首页产品导航查看每一种产品;主要体现在支持的连接数量、产品 功能和商业服务等方面的区别:(功能递增的)
● EMQ X Broker:EMQ X 开源版,完整支持 MQTT V3.1.1/V5.0 协议规范,完整支持 TCP、TLS、 WebSocket 连接,支持百万级连接和分布式集群架构;LDAP, MySQL, Redis, MongoDB 等扩展插件集成,支 持插件模式扩展服务器功能;支持跨 Linux、Windows、macOS 平台安装,支持公有云、私有云、K8S/容器 部署
● EMQ X Enterprise:EMQ X 企业版,在开源版基础上,支持物联网主流协议 MQTT、MQTT-SN、 CoAP/LwM2M、HTTP、WebSocket 一站式设备接入;JT-808/GBT-32960 等行业协议支持,基于 TCP/UDP 私有协议的旧网设备接入兼容,多重安全机制与认证鉴权;高并发软实时消息路由;强大灵活的内置规则引 擎;企业服务与应用集成;多种数据库持久化支持;消息变换桥接转发 Kafka;管理监控中心
● EMQ X Platform:EMQ X 平台版,EMQ X Platform 是面向千万级超大型 IoT 网络和应用,全球首选电 信级物联网终端接入解决方案。千万级大容量;多物联网协议;电信级高可靠;卓越 5G 网络支持;跨云跨 IDC 部署;兼容历史系统;完善的咨询服务(从咨询到运维)
2、安装启动
详细可以看官网的安装步骤:EMQX文档 里面有各个系统的安装步骤,很全面
我这里安装的是EMQ X 开源版
安装成功后输入命令sudo systemctl start emqx
启动
访问http://ip:18083/
初始账号密码:admin public
出现这个界面就是成功了,你们刚开始登录没有客户端连接(后面会和大家讲如何连接到EMQX),连接数都为0的
2.1 基本命令
如果采用的是非docker部署的,那么EMQ X提供了一些常用的命令行工具,方便用户对EMQ X进行启动、关 闭、进入控制台等操作。
emqx start 后台启动 EMQ X Broker
emqx stop 关闭 EMQ X Broker
emqx restart 重启 EMQ X Broker
emqx console 使用控制台启动 EMQ X Broker
emqx foreground 使用控制台启动 EMQ X Broker,与 emqx console 不同, emqx foreground 不支持输入 Erlang 命令
emqx ping Ping EMQ X Broke
2.2 目录结构
版本不一致,可能不同
3、MQTTX客户端
MQTTX就是一个基于MQTT收发消息的客户端 MQTTX官网下载
在官网下载系统需要的版本
3.1 连接配置
名称随意
ClientID随意
服务器地址前缀要为mqtt://
服务器地址为你的ip地址
EMQX连接端口默认是1883
用户名和密码是你客户端登录的用户名密码,和登录EMQX后台的那个不是一个概念,这里可以随便填或者不填
点击连接后,你在EMQX后台就可以看见连接数为1了
然后可以添加订阅(相当于添加主题),用来监听消息
然后发送消息
要查看test
主题收到的消息,要点击那个test
可以看见右边是我发送
的消息,左边是我接收
的消息
并且EMQX后台可以看见主题数和订阅数等
总结
PS:
感谢您的阅读!如果您觉得本篇文章对您有所帮助,请给予博主一个赞喔~