Go to file
2024-11-02 18:32:30 +08:00
src 添加显示原始值和计算值切换 2024-11-02 18:14:18 +08:00
README.md 添加readme 2024-11-02 18:32:30 +08:00

VoltageReaderApp

VoltageReaderApp 是一个基于 PyQt5 和 pyqtgraph 的电压监控应用程序。它可以通过串口读取电压数据,并实时绘制曲线。用户可以选择显示原始值或计算值,并将数据保存为 Excel 文件。

功能

  • 选择串口和波特率
  • 开始和停止读取数据
  • 自动跟随最新数据
  • 显示原始值或计算值
  • 保存数据为 Excel 文件
  • 加载数据并显示

安装

先决条件

  • Python 3.x
  • PyQt5
  • pyqtgraph
  • pandas
  • openpyxl
  • pyserial

安装步骤

  1. 克隆此仓库到本地:

    http://gitea.qutcmrt.top/Robofish/pyqt_monitor.git
    cd VoltageReaderApp
    
  2. 安装所需的 Python 包:

    pip install pyqt5 pyqtgraph pandas openpyxl pyserial
    

使用

  1. 运行应用程序:

    python src/monitor.py
    
  2. 在应用程序界面中,选择串口和波特率,然后点击“连接”按钮。

  3. 点击“开始读取”按钮开始读取数据。点击“停止读取”按钮停止读取数据。

  4. 使用“自动跟随”按钮开启或关闭自动跟随最新数据。

  5. 使用“显示原始值”按钮切换显示原始值或计算值。

  6. 点击“保存数据”按钮将数据保存为 Excel 文件。

  7. 点击“加载数据”按钮加载之前保存的数据并显示。

代码结构

VoltageReaderApp
├── __init__(self)  # 初始化应用程序,设置 UI 和变量
├── initUI(self)  # 初始化用户界面
│   ├── setup_port_group(self, layout)  # 设置串口选择部分的 UI
│   ├── setup_action_group(self, layout)  # 设置操作部分的 UI
│   ├── setup_channel_group(self, layout)  # 设置通道选择部分的 UI
│   └── setup_plot_widget(self, layout)  # 设置绘图窗口
├── update_ports(self)  # 更新串口列表
├── connect_serial(self)  # 连接到选定的串口
├── start_reading(self)  # 开始从串口读取数据
├── stop_reading(self)  # 停止从串口读取数据
├── read_data(self)  # 从串口读取数据并处理
├── update_plot(self)  # 更新绘图窗口
├── toggle_curve_visibility(self, state, index)  # 切换曲线的可见性
├── toggle_auto_follow(self)  # 切换自动跟随功能
├── toggle_show_raw(self)  # 切换显示原始值或计算值
├── save_data(self)  # 保存数据到 Excel 文件
└── load_data(self)  # 从 Excel 文件加载数据

代码说明

monitor.py

monitor.py 文件包含 VoltageReaderApp 类的实现。以下是主要方法的说明:

  • init(self): 初始化应用程序,设置 UI 和变量。
  • initUI(self): 初始化用户界面。
  • setup_port_group(self, layout): 设置串口选择部分的 UI。
  • setup_action_group(self, layout): 设置操作按钮部分的 UI。
  • setup_channel_group(self, layout): 设置通道选择部分的 UI。
  • setup_plot_widget(self, layout): 设置绘图部分的 UI。
  • update_ports(self): 更新串口列表。
  • connect_serial(self): 连接到选择的串口。
  • start_reading(self): 开始读取数据。
  • stop_reading(self): 停止读取数据。
  • read_data(self): 从串口读取数据并处理。
  • update_plot(self): 更新绘图。
  • toggle_curve_visibility(self, state, index): 切换通道曲线的可见性。
  • toggle_auto_follow(self): 切换自动跟随功能。
  • toggle_show_raw(self): 切换显示原始值或计算值。
  • save_data(self): 保存数据为 Excel 文件。
  • load_data(self): 加载数据并显示。