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