MqttAccess/README.md
2025-07-14 16:40:07 +08:00

66 lines
2.3 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# MQTT在线测试平台
## 项目简介
本项目基于 PySide6Qt 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