树莓派搭建MQTT服务器(基于EMQ)「建议收藏」

2022-09-02 13:58:21 浏览数 (1)

大家好,又见面了,我是你们的朋友全栈君。

文章目录
  • 1.准备工作
    • 1.1知识储备
  • 2.安装EMQ
  • 3.测试MQTT服务器
    • 3.1 新建服务器管理员
    • 3.2 登录到服务器后台
    • 3.3 MQTT客户端测试

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

  1. 选择合适的系统版本进行下载安装

https://www.emqx.cn/downloads#broker

树莓派安装参考:

关于系统说明:我的树莓派安装的官方的Ubuntu系统,树莓派原装的Raspbian是基于Debian改进的,因此,如果是官方的系统,请选择Debian一栏。另,无论是ubuntu系统,还是Raspbian系统,其CPU架构均是arm64,注意别选错哦!

查看系统版本信息:

代码语言:javascript复制
uname -a

参考官方指示,安装代码如下:

代码语言:javascript复制
wget https://www.emqx.cn/downloads/broker/v4.3.5/emqx-ubuntu20.04-4.3.5-arm64.deb
  1. 安装EMQ服务器
代码语言:javascript复制
sudo apt install ./emqx-ubuntu20.04-4.3.5-arm64.deb    
  1. 启动MQ服务器
代码语言:javascript复制
sudo emqx start
  1. 查看MQ服务器状态
代码语言:javascript复制
sudo emqx_ctl status

综上,恭喜你,你的服务器就算安装好了!

3.测试MQTT服务器

3.1 新建服务器管理员

示例:

代码语言:javascript复制
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 管理控制台端口

注:若访问网址失败,可通过以下排错

  1. 查看服务器是否正常启动
  2. 查看IP是否正确
  3. 查看树莓派相关端口是否开放(开放端口相关的知识自行百度哈)

3.3 MQTT客户端测试

这里用到了MQTTbox客户端,这是mqtt可视化非常好用的一款软件。 官方下载网址:

http://workswithweb.com/html/mqttbox/downloads.html

网页打不开?怀疑是网络问题?no,no,no,事实证明就是打不开的,即使是在科学上网的状态下,这是我在网上找的网址,我也试到怀疑人生了,但最后我在微软的应用商店中找到了同款,如果无法访问的同学,可在应用商店中下载。

  1. 创建MQTT客户端
  1. 配置如下

保存并返回,这里标绿则说明连接成功

  1. 订阅一个主题并测试

在右测观察到发送的内容即说明服务器的功能一切正常!

发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/140389.html原文链接:https://javaforall.cn

0 人点赞