基于LinuxUbuntu平台制作的示波器控制与测量工具(兼容SCPI 协议)项目链接示波器控制与测量工具注意事项文中提到的NI-VISA安装方法已上传至github上具体信息请点击上方链接Python 示波器控制与测量工具包面向 Tektronix MSO4034及兼容 SCPI 的示波器通过 NI-VISA / USB 连接提供图形界面与命令行两种操作方式。项目解决什么问题在硬件测试与功耗测量场景中需要反复从示波器读取波形、执行通道测量、统计功耗并导出测试报告。本项目将仪器连接、数据采集、测量计算、功耗累计与结果导出封装为统一的 Python 工具包并提供可实时显示波形的图形上位机替代手动操作示波器面板与人工记录数据。主要功能仪器连接NI-VISA 资源扫描与连接支持 Tektronix MSO4034多通道测量平均电压、纹波峰峰值、有效值、最小/最大电压、平均/峰值电流、电流纹波、频率实时波形显示基于 PyQtGraph 的多通道波形渲染支持单次读取与 500 ms 实时刷新功耗统计同步采集电压/电流窗口累计平均功率、峰值功率与能耗Wh限值判定每通道 Min/Max 限值与功耗上限自动判定 PASS / FAIL结果导出波形 CSV 导出、JSON 测试报告含测量值、功耗、限值、判定结果中英文双语界面语言运行时切换无需重启CLI 支持OSCILL_LANGUAGE环境变量模拟模式内置模拟示波器无需硬件即可验证环境与流程命令行工具oscill支持 identify / list-resources / measure安装方法目标平台Ubuntu 22.04 LTS Python 3.10.12# 1. 系统依赖PyQt5 与 NumPy 用 apt避免与 pip 混用sudoaptinstall-ypython3-pyqt5 python3-numpy python3-pip python3-venv# 2. 创建虚拟环境必须带 --system-site-packages 以访问系统 pyvisapython3-mvenv --system-site-packages .venvsource.venv/bin/activate# 3. 安装 pyqtgraph纯 Pythonpip 安装不冲突pipinstallpyqtgraph0.13,0.14# 4. 安装本项目--no-deps 避免 pip 改动系统 pyvisapipinstall--no-deps.pyvisa 与 NI-VISA 运行时沿用系统已有环境不在本项目依赖中强制管理。使用方法图形界面source.venv/bin/activate oscill-gui界面顶部右侧可切换中文 / English在设备连接区输入或扫描 VISA 资源后点击连接勾选通道、选择测量类型后开始测量与波形显示。命令行# 列出 VISA 资源oscill list-resources# 识别示波器oscill--resourceUSB0::0x0699::0x0408::序列号::INSTRidentify# 测量 CH1 平均电压oscill--resourceUSB0::0x0699::0x0408::序列号::INSTR\--modeltektronix-mso4034 measure--parameterMEAN--sourceCH1# 模拟模式无需硬件oscill--simulateidentify oscill--simulate--modeltektronix-mso4034 measure--parameterVPP--sourceCH1详细环境配置与操作说明见 环境配置与使用说明.md快速上手指南见 快速使用步骤.mdNI-VISA 运行时安装见 NI-VISA安装与使用说明.md。输入输出示例输入模拟模式识别oscill--simulateidentify输出OSCILL,SIMULATOR,0001,1.0输入模拟 Tektronix 测量 CH1 峰峰值oscill--simulate--modeltektronix-mso4034 measure--parameterVPP--sourceCH1输出CH1 VPP: 1.234连接真实示波器时identify返回仪器的*IDN?字符串如TEKTRONIX,MSO4034,序列号,...measure返回对应通道的测量值与单位。项目结构oscill-0.1.0-linux/ ├── oscill/ # Python 包 │ ├── __init__.py │ ├── controller.py # 仪器控制层Oscilloscope / TektronixMSO4034 / Waveform │ ├── services.py # 采集、测量、功耗统计服务 │ ├── transport.py # VISA 传输层与模拟传输 │ ├── worker.py # 后台串行执行器 │ ├── i18n.py # 轻量国际化中英文字典 运行时切换 │ ├── gui.py # PyQt5 PyQtGraph 图形界面 │ ├── cli.py # 命令行入口 │ └── py.typed # PEP 561 类型标记 ├── Environment configuration and usage instructions/ │ ├── NI-VISA安装与使用说明.md # NI-VISA 运行时安装与配置 │ ├── 环境配置与使用说明.md # Ubuntu 22.04 完整环境配置与 GUI/CLI 使用指南 │ ├── 快速使用步骤.md # 快速上手指南 │ └── 项目执行计划.md # 改造执行计划 v1.2 ├── NI_VISA_deb/ │ └── ni-ubuntu2204-drivers-2026Q3.deb # NI-VISA Ubuntu 22.04 驱动包 ├── _static_check.py # i18n 键完整性与属性自检零依赖 ├── _format_check.py # 格式化占位符一致性自检零依赖 ├── pyproject.toml # 包配置与依赖声明 ├── LICENSE # MIT └── README.mdoscill-0.1.0.dist-info/、.venv/、__pycache__/等构建与环境产物已在.gitignore中排除。项目管理本项目的开发执行计划项目执行计划.md使用 project-execution-planner Skill 制作该 Skill 来自 The-production-and-sharing-of-SKILL 项目可将口语化项目需求转化为结构完整、可执行的项目执行计划文档。许可证MIT