2026-05-08 02:09:22 +00:00
|
|
|
|
# 传感器测试设备软件 (Sensor Test System)
|
2026-05-08 01:28:30 +00:00
|
|
|
|
|
2026-05-08 02:09:22 +00:00
|
|
|
|
一款高安全性、高可靠性的传感器测试设备软件,作为传感器测试系统的核心控制单元,
|
|
|
|
|
|
实现从测试任务配置、自动化执行、实时监控、质量判定到加密报告生成的全流程闭环管理。
|
2026-05-08 01:28:30 +00:00
|
|
|
|
|
2026-05-08 02:09:22 +00:00
|
|
|
|
遵循 GJB 5000B 二级标准,满足军工级安全与可靠性要求。
|
2026-05-08 01:28:30 +00:00
|
|
|
|
|
2026-05-08 02:09:22 +00:00
|
|
|
|
## 功能特性
|
2026-05-08 01:28:30 +00:00
|
|
|
|
|
2026-05-08 02:09:22 +00:00
|
|
|
|
- **用户权限与双因子认证**: 支持操作员、工艺员、管理员三级权限,集成TOTP动态口令认证
|
|
|
|
|
|
- **条码识别与模板匹配**: 通过扫码枪或手动输入传感器条码,自动匹配测试计划
|
|
|
|
|
|
- **自动化测试序列执行**: 自动控制压力加压,DAQ数据采集,支持暂停/继续/跳步
|
|
|
|
|
|
- **实时数据监控与绘图**: 实时显示压力-输出数据,报警状态指示
|
|
|
|
|
|
- **特征参数计算与判定**: 基于最小二乘法计算非线性、迟滞、重复性误差
|
|
|
|
|
|
- **加密报告生成与导出**: 生成PDF/A格式报告和CSV数据文件,嵌入SM3哈希与数字水印
|
|
|
|
|
|
- **异常处理与自恢复**: 通讯中断后自动重连,恢复测试进度
|
2026-05-08 01:28:30 +00:00
|
|
|
|
|
2026-05-08 02:09:22 +00:00
|
|
|
|
## 技术栈
|
2026-05-08 01:28:30 +00:00
|
|
|
|
|
2026-05-08 02:09:22 +00:00
|
|
|
|
- Python 3.10+
|
|
|
|
|
|
- PyQt5 (GUI框架)
|
|
|
|
|
|
- reportlab (PDF生成)
|
|
|
|
|
|
- gmssl (SM3哈希算法)
|
|
|
|
|
|
- pyotp (TOTP动态口令)
|
2026-05-08 01:28:30 +00:00
|
|
|
|
|
2026-05-08 02:09:22 +00:00
|
|
|
|
## 项目结构
|
2026-05-08 01:28:30 +00:00
|
|
|
|
|
2026-05-08 02:09:22 +00:00
|
|
|
|
```
|
|
|
|
|
|
codegen-runs/codegen_d83282644a2a4b4b91e025e76d296e18/
|
|
|
|
|
|
├── README.md # 项目说明文档
|
|
|
|
|
|
├── requirements.txt # Python依赖清单
|
|
|
|
|
|
├── app/
|
|
|
|
|
|
│ ├── __init__.py # 包初始化
|
|
|
|
|
|
│ ├── main.py # 主入口与GUI界面
|
|
|
|
|
|
│ ├── data_structures.py # 数据结构定义
|
|
|
|
|
|
│ └── services.py # 业务逻辑服务层
|
|
|
|
|
|
└── tests/
|
|
|
|
|
|
├── __init__.py # 测试包初始化
|
|
|
|
|
|
└── test_basic.py # 单元测试与集成测试
|
|
|
|
|
|
```
|
2026-05-08 01:28:30 +00:00
|
|
|
|
|
2026-05-08 02:09:22 +00:00
|
|
|
|
## 安装与运行
|
2026-05-08 01:28:30 +00:00
|
|
|
|
|
2026-05-08 02:09:22 +00:00
|
|
|
|
### 1. 环境要求
|
2026-05-08 01:28:30 +00:00
|
|
|
|
|
2026-05-08 02:09:22 +00:00
|
|
|
|
- Python 3.10 或更高版本
|
|
|
|
|
|
- 支持操作系统:麒麟V10 / Windows 10/11
|
2026-05-08 01:28:30 +00:00
|
|
|
|
|
2026-05-08 02:09:22 +00:00
|
|
|
|
### 2. 安装依赖
|
2026-05-08 01:28:30 +00:00
|
|
|
|
|
2026-05-08 02:09:22 +00:00
|
|
|
|
```bash
|
|
|
|
|
|
# 进入项目目录
|
|
|
|
|
|
cd codegen-runs/codegen_d83282644a2a4b4b91e025e76d296e18
|
2026-05-08 01:28:30 +00:00
|
|
|
|
|
2026-05-08 02:09:22 +00:00
|
|
|
|
# 创建虚拟环境(推荐)
|
|
|
|
|
|
python -m venv venv
|
2026-05-08 01:28:30 +00:00
|
|
|
|
|
2026-05-08 02:09:22 +00:00
|
|
|
|
# 激活虚拟环境
|
|
|
|
|
|
# Windows:
|
|
|
|
|
|
venv\Scripts\activate
|
|
|
|
|
|
# Linux/Kylin:
|
|
|
|
|
|
source venv/bin/activate
|
2026-05-08 01:28:30 +00:00
|
|
|
|
|
2026-05-08 02:09:22 +00:00
|
|
|
|
# 安装依赖
|
|
|
|
|
|
pip install -r requirements.txt
|
|
|
|
|
|
```
|
2026-05-08 01:28:30 +00:00
|
|
|
|
|
2026-05-08 02:09:22 +00:00
|
|
|
|
### 3. 启动应用
|
2026-05-08 01:28:30 +00:00
|
|
|
|
|
2026-05-08 02:09:22 +00:00
|
|
|
|
```bash
|
|
|
|
|
|
python -m app.main
|
|
|
|
|
|
```
|
2026-05-08 01:28:30 +00:00
|
|
|
|
|
2026-05-08 02:09:22 +00:00
|
|
|
|
### 4. 运行测试
|
2026-05-08 01:28:30 +00:00
|
|
|
|
|
2026-05-08 02:09:22 +00:00
|
|
|
|
```bash
|
|
|
|
|
|
# 运行所有测试
|
|
|
|
|
|
python -m pytest tests/ -v
|
2026-05-08 01:28:30 +00:00
|
|
|
|
|
2026-05-08 02:09:22 +00:00
|
|
|
|
# 或使用unittest
|
|
|
|
|
|
python -m unittest discover tests -v
|
|
|
|
|
|
```
|
2026-05-08 01:28:30 +00:00
|
|
|
|
|
2026-05-08 02:09:22 +00:00
|
|
|
|
## 使用说明
|
2026-05-08 01:28:30 +00:00
|
|
|
|
|
2026-05-08 02:09:22 +00:00
|
|
|
|
### 登录
|
2026-05-08 01:28:30 +00:00
|
|
|
|
|
2026-05-08 02:09:22 +00:00
|
|
|
|
1. 启动应用后显示登录对话框
|
|
|
|
|
|
2. 输入用户名和密码(默认测试账号见下表)
|
|
|
|
|
|
3. 输入6位TOTP动态口令(测试环境使用 `123456`)
|
2026-05-08 01:28:30 +00:00
|
|
|
|
|
2026-05-08 02:09:22 +00:00
|
|
|
|
| 用户名 | 角色 | 密码 |
|
|
|
|
|
|
|--------|------|------|
|
|
|
|
|
|
| admin | 管理员 | pass123 |
|
|
|
|
|
|
| tech01 | 工艺员 | pass123 |
|
|
|
|
|
|
| op01 | 操作员 | pass123 |
|
2026-05-08 01:28:30 +00:00
|
|
|
|
|
2026-05-08 02:09:22 +00:00
|
|
|
|
### 执行测试
|
2026-05-08 01:28:30 +00:00
|
|
|
|
|
2026-05-08 02:09:22 +00:00
|
|
|
|
1. 在条码输入框输入传感器型号(如 `SENSOR-001`),点击"加载测试计划"
|
|
|
|
|
|
2. 点击"开始"按钮启动自动化测试
|
|
|
|
|
|
3. 测试过程中可暂停/继续/跳步
|
|
|
|
|
|
4. 测试完成后自动显示判定结果(PASS/FAIL)
|
2026-05-08 01:28:30 +00:00
|
|
|
|
|
2026-05-08 02:09:22 +00:00
|
|
|
|
### 生成报告
|
2026-05-08 01:28:30 +00:00
|
|
|
|
|
2026-05-08 02:09:22 +00:00
|
|
|
|
1. 测试完成后,点击"生成报告"按钮
|
|
|
|
|
|
2. 系统生成PDF报告和CSV数据文件
|
|
|
|
|
|
3. 报告嵌入SM3哈希值和数字水印,确保完整性
|
2026-05-08 01:28:30 +00:00
|
|
|
|
|
2026-05-08 02:09:22 +00:00
|
|
|
|
## 测试账号(演示用)
|
2026-05-08 01:28:30 +00:00
|
|
|
|
|
2026-05-08 02:09:22 +00:00
|
|
|
|
| 用户名 | 角色 | 权限说明 |
|
|
|
|
|
|
|--------|------|---------|
|
|
|
|
|
|
| admin | 管理员 | 系统管理、用户管理、解锁账户 |
|
|
|
|
|
|
| tech01 | 工艺员 | 传感器型号配置管理 |
|
|
|
|
|
|
| op01 | 操作员 | 执行测试、查看结果、生成报告 |
|
2026-05-08 01:28:30 +00:00
|
|
|
|
|
2026-05-08 02:09:22 +00:00
|
|
|
|
## 安全特性
|
2026-05-08 01:28:30 +00:00
|
|
|
|
|
2026-05-08 02:09:22 +00:00
|
|
|
|
- **双因子认证**: 静态密码 + TOTP动态口令
|
|
|
|
|
|
- **账户锁定**: 密码错误5次自动锁定,管理员可解锁
|
|
|
|
|
|
- **数据不落地**: 所有测试数据仅驻留内存,断电自动清空
|
|
|
|
|
|
- **SM3哈希**: 报告完整性校验
|
|
|
|
|
|
- **数字水印**: 防篡改标识
|
2026-05-08 01:28:30 +00:00
|
|
|
|
|
2026-05-08 02:09:22 +00:00
|
|
|
|
## 约束说明
|
2026-05-08 01:28:30 +00:00
|
|
|
|
|
2026-05-08 02:09:22 +00:00
|
|
|
|
- 本工程为演示版本,硬件接口使用模拟数据
|
|
|
|
|
|
- 实际部署时需连接压力控制器、DAQ卡等硬件设备
|
|
|
|
|
|
- 双因子认证在演示中使用固定口令,正式环境需配置TOTP密钥
|
|
|
|
|
|
- SM3哈希使用SHA256模拟,正式环境使用gmssl库实现
|
|
|
|
|
|
- 网络隔离、USB白名单等功能在演示中简化为状态指示
|
2026-05-08 01:28:30 +00:00
|
|
|
|
|
2026-05-08 02:09:22 +00:00
|
|
|
|
## 许可证
|
2026-05-08 01:28:30 +00:00
|
|
|
|
|
2026-05-08 02:09:22 +00:00
|
|
|
|
本项目为传感器测试系统演示工程,仅供学习和评估使用。
|