1.准备工作
1.1知识储备
关于MQTT协议
能点进来的基本都知道MQTT协议是啥了吧,不知道的自行百度吧,这里就默认各位都知道了。
关于EMQ
EMQ X 是一款完全开源,高度可伸缩,高可用的分布式 MQTT 消息服务器,适用于 IoT、M2M和移动应用程序,可处理千万级别的并发客户端。 EMQ X 是跨平台的,支持 Linux、Unix、macOS 以及 Windows。这意味着EMQ X 可以部署在 x86_64 架构的服务器上,也可以部署在 Raspberry Pi 这样的 ARM 设备上。
--摘抄自官方GitHub介绍
其他:
MQTT官方网站:【入口】 EMQ官方文档:【入口】 EMQ开源代码:【GitHub】
2.安装EMQ
- 选择合适的系统版本进行下载安装
https://www.emqx.cn/downloads#broker
树莓派安装参考: 
关于系统说明:我的树莓派安装的官方的Ubuntu系统,树莓派原装的Raspbian是基于Debian改进的,因此,如果是官方的系统,请选择Debian一栏。另,无论是ubuntu系统,还是Raspbian系统,其CPU架构均是arm64,注意别选错哦!
查看系统版本信息:
uname -a
 参考官方指示,安装代码如下:
wget https://www.emqx.cn/downloads/broker/v4.3.5/emqx-ubuntu20.04-4.3.5-arm64.deb
- 安装EMQ服务器
sudo apt install ./emqx-ubuntu20.04-4.3.5-arm64.deb
- 启动MQ服务器
sudo emqx start

- 查看MQ服务器状态
sudo emqx_ctl status
 综上,恭喜你,你的服务器就算安装好了!
3.测试MQTT服务器
3.1 新建服务器管理员
 示例:
sudo emqx_ctl admins add root mgodmonkey admin
账号:root 密码:mgodmonkey 分组:admin
3.2 登录到服务器后台
连接到与树莓派同一局域网,浏览器访问: http://{你树莓派的内网ip}:18083/ 如:http://10.34.171.27:18083/ 或在树莓派中的浏览器访问: http://localhost:18083/ 输入之前创建好的管理员账号
  关于服务器的一些端口说明: 1883:MQTT 协议端口 8883:MQTT/SSL 端口 8083:MQTT/WebSocket 端口 8080:HTTP API 端口 18083:Dashboard 管理控制台端口
注:若访问网址失败,可通过以下排错
- 查看服务器是否正常启动
- 查看IP是否正确
- 查看树莓派相关端口是否开放(开放端口相关的知识自行百度哈)
3.3 MQTT客户端测试
这里用到了MQTTbox客户端,这是mqtt可视化非常好用的一款软件。 官方下载网址:
http://workswithweb.com/html/mqttbox/downloads.html
网页打不开?怀疑是网络问题?no,no,no,事实证明就是打不开的,即使是在科学上网的状态下,这是我在网上找的网址,我也试到怀疑人生了,但最后我在微软的应用商店中找到了同款,如果无法访问的同学,可在应用商店中下载。
- 创建MQTT客户端
 - 配置如下
 保存并返回,这里标绿则说明连接成功

- 订阅一个主题并测试
  在右测观察到发送的内容即说明服务器的功能一切正常! 
|