Mqtt接入测试平台
Go to file
2025-07-14 16:40:07 +08:00
src/mqtt_acess 完成客户端的基本收发功能 2025-07-14 16:40:07 +08:00
tests 创建项目框架 2025-07-14 16:10:38 +08:00
.gitignore 创建项目框架 2025-07-14 16:10:38 +08:00
poetry.lock 创建项目框架 2025-07-14 16:10:38 +08:00
pyproject.toml 创建项目框架 2025-07-14 16:10:38 +08:00
README.md 完成客户端的基本收发功能 2025-07-14 16:40:07 +08:00

MQTT在线测试平台

项目简介

本项目基于 PySide6Qt for Python、paho-mqtt 和 Poetry结合 Mosquitto Broker旨在为远程设备提供一个可视化、可扩展的 MQTT 在线测试平台。支持多协议解析、响应机制扩展、动态配置和消息日志查看。

主要功能

  • 支持远程设备通过MQTT协议连接、订阅、发布
  • 支持多种协议解析JSON、XML、自定义协议等
  • 支持多种响应机制(报警、自动回复、设备控制等)
  • UI界面可动态配置MQTT参数、主题、协议类型、响应机制
  • 实时显示设备连接状态和消息日志
  • 配置可保存和自动加载

安装与运行

  1. 安装依赖(建议使用 Poetry

    poetry install
    
  2. 运行主程序:

    poetry run python src/mqtt_acess/main.py
    
  3. 启动后可在界面上配置MQTT参数、主题、协议类型、响应机制并进行连接、订阅、发布等操作。

目录结构

mqtt_acess/
├── README.md
├── pyproject.toml
├── poetry.lock
├── src/
│   └── mqtt_acess/
│       ├── main.py                # 程序入口
│       ├── config/                # 配置管理
│       ├── mqtt/                  # MQTT客户端封装
│       ├── parser/                # 协议解析工厂与实现
│       ├── responder/             # 响应机制工厂与实现
│       └── ui/                    # UI界面
└── tests/                         # 单元测试

配置说明

  • 所有配置MQTT服务器、端口、主题、协议类型、响应机制等可在UI界面填写并保存。
  • 配置文件保存在 src/mqtt_acess/config/user_config.json,下次启动自动加载。

协议与响应机制扩展

扩展协议解析

  1. src/mqtt_acess/parser/ 下新增解析器(如 xxx_parser.py),继承 IParser 并实现 parse 方法。
  2. factory.py 中注册新协议类型。

扩展响应机制

  1. src/mqtt_acess/responder/ 下新增响应器(如 xxx.py),继承 IResponder 并实现 respond 方法。
  2. ui/main_window.pyget_responder 方法中注册新类型。

依赖环境

  • Python >= 3.11
  • PySide6 >= 6.5, < 6.6
  • paho-mqtt
  • poetry