# MQTT在线测试平台 ## 项目简介 本项目基于 PySide6(Qt for Python)、paho-mqtt 和 Poetry,结合 Mosquitto Broker,旨在为远程设备提供一个可视化、可扩展的 MQTT 在线测试平台。支持多协议解析、响应机制扩展、动态配置和消息日志查看。 ## 主要功能 - 支持远程设备通过MQTT协议连接、订阅、发布 - 支持多种协议解析(JSON、XML、自定义协议等) - 支持多种响应机制(报警、自动回复、设备控制等) - UI界面可动态配置MQTT参数、主题、协议类型、响应机制 - 实时显示设备连接状态和消息日志 - 配置可保存和自动加载 ## 安装与运行 1. 安装依赖(建议使用 Poetry): ```bash poetry install ``` 2. 运行主程序: ```bash 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.py` 的 `get_responder` 方法中注册新类型。 ## 依赖环境 - Python >= 3.11 - PySide6 >= 6.5, < 6.6 - paho-mqtt - poetry