CGQ_TEST_DEVICE/README.md

138 lines
4.2 KiB
Markdown
Raw Permalink Normal View History

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
本项目为传感器测试系统演示工程,仅供学习和评估使用。