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