首页云计算 正文

MQTT教程--服务器使用EMQX和客户端使用MQTTX

2024-12-09 4 0条评论

MQTT教程:服务器使用EMQX和客户端使用MQTTX

MQTT(Message Queuing Telemetry Transport)是一种轻量级的消息传输协议,广泛应用于物联网(IoT)设备之间的数据传输。本文将介绍如何使用EMQX作为MQTT服务器,以及使用MQTTX作为MQTT客户端进行通信。

1. 安装EMQX

EMQX是一款高性能、开源的MQTT消息服务器,支持大规模的并发连接。以下步骤介绍如何在CentOS 8上安装和配置EMQX。

1.1 下载并安装EMQX

首先,从EMQX官方网站下载最新版本的EMQX,并进行安装:

wget https://www.emqx.io/downloads/broker/v4.3.11/emqx-4.3.11-centos8.x86_64.rpm
sudo rpm -ivh emqx-4.3.11-centos8.x86_64.rpm

1.2 启动EMQX

安装完成后,启动EMQX服务:

sudo systemctl start emqx
sudo systemctl enable emqx

1.3 验证安装

检查EMQX服务是否正常运行:

sudo systemctl status emqx

打开浏览器,访问 http://<your_server_ip>:18083,使用默认的用户名和密码(admin/public)登录EMQX管理控制台。登录后可以查看服务器状态和配置。

2. 配置EMQX

2.1 创建用户

在EMQX控制台,导航到“访问控制” -> “用户”,点击“新建用户”,创建一个新用户,设置用户名和密码,用于客户端连接。

2.2 配置认证机制

确保EMQX的认证机制启用。在“访问控制” -> “认证”中,确认“内置数据库认证”启用。

2.3 创建ACL规则

在“访问控制” -> “ACL”中,可以根据需求创建ACL规则,控制客户端对Topic的发布和订阅权限。

3. 安装和使用MQTTX

MQTTX是一个跨平台的MQTT 5.0客户端工具,提供了图形化界面,方便用户进行MQTT通信测试。

3.1 下载并安装MQTTX

从MQTTX官网(https://mqttx.app/)下载适用于操作系统的安装包并安装。

3.2 配置MQTTX客户端

打开MQTTX,点击“新建连接”,按照以下步骤配置:

  1. 连接名称:任意填写,例如“EMQX Test Connection”
  2. 客户端ID:默认生成,也可以自定义
  3. 协议:选择“MQTT/TCP”
  4. 连接地址:输入EMQX服务器的IP地址或域名
  5. 连接端口:默认是1883
  6. 用户名:输入在EMQX中创建的用户名
  7. 密码:输入对应的密码

配置完成后,点击“连接”按钮,连接到EMQX服务器。

3.3 发布和订阅消息

订阅消息

  1. 在MQTTX的左侧菜单中,点击“订阅”
  2. 输入要订阅的Topic,例如“test/topic”
  3. 点击“确认”

发布消息

  1. 在MQTTX的左侧菜单中,点击“发布”
  2. 输入要发布的Topic,例如“test/topic”
  3. 输入消息内容,例如“Hello, MQTT!”
  4. 点击“发送”

在订阅窗口中,可以看到刚刚发布的消息。

4. 实例操作

4.1 使用命令行客户端进行测试

在Linux服务器上,可以使用 mosquitto-clients进行MQTT消息的发布和订阅测试:

sudo dnf install mosquitto-clients -y

发布消息

mosquitto_pub -h <your_server_ip> -t "test/topic" -m "Hello from mosquitto_pub" -u <username> -P <password>

订阅消息

mosquitto_sub -h <your_server_ip> -t "test/topic" -u <username> -P <password>

4.2 配置SSL/TLS

为了提高安全性,可以为EMQX配置SSL/TLS。以下是基本的配置步骤:

  1. 生成SSL证书和密钥:

    openssl req -new -x509 -days 365 -nodes -out emqx.pem -keyout emqx.key
  2. 配置EMQX使用SSL/TLS:
    编辑 /etc/emqx/emqx.conf文件,添加以下配置:

    listener.ssl.external.keyfile = /etc/emqx/certs/emqx.key
    listener.ssl.external.certfile = /etc/emqx/certs/emqx.pem
    listener.ssl.external.require_certificate = false
  3. 重启EMQX服务:

    sudo systemctl restart emqx
  4. 在MQTTX中配置SSL连接:
    在“新建连接”中选择“MQTT/SSL”,并填写对应的SSL端口和证书信息。

分析说明表

步骤 详细说明
安装EMQX 下载并安装EMQX,启动并验证服务状态
配置EMQX 创建用户、配置认证机制、创建ACL规则
安装和使用MQTTX 下载并安装MQTTX,配置客户端并连接EMQX服务器
发布和订阅消息 在MQTTX中进行消息的发布和订阅测试
使用命令行客户端 使用 mosquitto-clients进行MQTT消息的发布和订阅测试
配置SSL/TLS 生成SSL证书和密钥,配置EMQX使用SSL/TLS,提高通信安全性

思维导图

# MQTT教程:服务器使用EMQX和客户端使用MQTTX
## 安装EMQX
### 下载并安装EMQX
### 启动EMQX
### 验证安装
## 配置EMQX
### 创建用户
### 配置认证机制
### 创建ACL规则
## 安装和使用MQTTX
### 下载并安装MQTTX
### 配置MQTTX客户端
### 发布和订阅消息
#### 订阅消息
#### 发布消息
## 实例操作
### 使用命令行客户端进行测试
#### 发布消息
#### 订阅消息
### 配置SSL/TLS
#### 生成SSL证书和密钥
#### 配置EMQX使用SSL/TLS
#### 重启EMQX服务
#### 配置MQTTX使用SSL连接

总结

通过本文的详细步骤,您可以在CentOS Stream 9平台上成功搭建EMQX作为MQTT服务器,并使用MQTTX客户端进行消息发布和订阅。本文涵盖了从安装、配置到实际操作的完整流程,并提供了安全配置的建议。希望本文能够帮助您快速上手MQTT通信,并应用于实际项目中。

文章版权及转载声明

本文作者:admin 网址:http://news.edns.com/post/183267.html 发布于 2024-12-09
文章转载或复制请以超链接形式并注明出处。

取消
微信二维码
微信二维码
支付宝二维码