0x01、EMQ X消息服务器简介
EMQ X(Erlang/Enterprise/Elastic MQTT Broker),是基于Erlang/OTP 平台开发的开源物联网MQTT消息服务器。
Erlang/OTP
:软实时(Soft-Realtime)、低延时(Low-Latency)、分布式(Distributed)的语言平台
MQTT
:轻量的(Lightweight)、发布订阅模式(Pub-Sub)的物联网消息协议
随着5G应用的逐渐普及,物联网+5G是势不可挡,有了5G技术的加持,物联网平台不论是在数据存储、数据传输、数据处理方面都会迎来新的革命,期待真正到来的那一天!
EMQ — 5G时代,万物互联消息引擎
EMQ作为物联网应用并发平台和物联网平台搭建必须用到的基础设施软件,主要在边缘计算和云端实现物联网设备互联于设备上提供 物联网设备接入、协议处理、消息路由、数据存储、数据流转
等核心能力,可以满足独立开发云平台的需求。
- 稳定承载大规模的MQTT客户端连接,单服务器节点支持百万连接
- 分布式节点集群,快速低延时的消息路由,单集群支持千万规模的路由
- 消息服务器内扩展,支持定制多种认证方式,高效存储消息到后端数据库
- 完整的额物联网协议支持,MQTT、MQTT-SN、CoAP、LwM2M、私有TCP/UDP协议支持
介绍摘自:EMQ X 消息服务器简介 更多详细信息移步官网: EMQ
EMQ x Broker — MQTT消息代理
EMQ x Broker,使用Erlang/OTG 编写的可大规模扩展,高度可扩展的分布式MQTT消息代理
几大特征
- 无主集群架构、完全开源、完全符合MQTT
- 高并发低延迟、可扩展插件、全平台部署
更多详情移步至官网介绍:EMQ x Broker
0x02、EMQ x Broker下载与安装
开发环境准备
- 本次实验开发环境为阿里云ECS安装,部署在云服务器上
- 阿里云CentOS 7.7 版本云服务器
服务器控制台 – 需要开启端口
1883
: MQTT协议端口(本次必须)8883
: MQTT/SSL协议端口8083
: MQTT/WebSocket 端口8080
: HTTP API 端口18083
: Dashboard控制台界面端口(必须)
端口的开启方式见上一篇博客:宝塔面板安装
由于我在服务器安装的有宝塔,所以必须也要在宝塔面板 开放相应端口 如果没有安装则忽略即可
下载安装包
1、前往官网的EMQ x Broker下载点,获取下载链接:直达链接
2、选择需要的安装包版本进行下载
- 在图中1处选择需要用的版本,
截止到现在
,最新版本为v4.0.5
- 在图中2处选择操作系统,我就按照我需要的选择.zip版本
- 可以直接下载到本地使用工具上传
- 可以复制图中3处的链接直接下载到云服务器
wget https://www.emqx.io/downloads/broker/v4.0.5/emqx-centos7-v4.0.5.zip
unzip emqx-centos7-v4.0.5.zip
3、下载后解压,解压完成后开始安装
安装目标:能用即可,实现初步使用(不安装依赖和插件,直接运行)
重点关注bin文件夹
下文件
以下指令均在emqx
的bin文件夹
下执行
4、开始安装
启动(会在关闭SSH后常驻后台运行)
./emqx start
返回状态:
EMQ X Broker v4.0.5 is started successfully!
状态查询
./emqx_ctl status
返回状态:
Node ‘[email protected]’ is started
emqx 4.0.5 is running
到此已经完成基础安装!
停止运行
./emqx stop
日志查看
在 log 目录下查看
5、去浏览器登录到Dashboard(如果无法登录在排除其他故障后可以清理浏览器缓存或在无痕模式打开)
初始账号
: admin初始密码
:public
OK 安装成功
安装过程其实挺简单的,更多的指令详见:EMQ x Broker 安装
0x03、MQTT客户端介绍与消息测试
1、说到客户端,我推荐两个,一个是 MQTT.fx,另外一个是 MQTT x,还有 在线WebSokcket测试工具
- MQTT.fx设置订阅Topic:
MQTT_Publish
,发布Topic:MQTT_Subscribe
- MQTT X设置发布Topic:
MQTT_Publish
,订阅Topc:MQTT_Subscribe
2、客户端上线
3、客户端连接演示
4、支持多种语言的客户端
0x04、EMQ 的相关博文
- 通过 NodeMCU (ESP8266) 将传感器数据上传至 MQTT 云服务
- 一小时搭建 EMQ X + InfluxDB + Grafana 物联网数据可视化方案
- EMQ对于MQTT的介绍: What is MQTT?
- EMQ集群搭建
- 扩展插件(在V3版本的文档中详细介绍)
- MQTT协议中文版
0x05、写在最后
对于EMQ的安装,其实官方的文档特别详细,但是感觉就是有的指令猛地整不明白,不过官方的指令有的是为了更好地让EMQ x Broker稳定运行在服务器上。我写这篇文章的缘由一来是熟悉使用MD语法的使用,二来也是把这个流程做一个总结,以后自己在用的时候比较方便使用查看。如果也能够帮助到你,那就太好了,哈哈
最后也感谢杭州映云科技有限公司开发的这个EMQ服务,助力物联网的发展!
下期预告
- 搭建你的第一个网页
- Node-Red组件的安装
- Docker安装EMQ
敬请期待!!!
本文使用MD语法编辑,如有疑问可以留言。