Skip to content

xiaomiao321/SummerProject-final

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

多气体实时监控系统

本项目是一个基于 Raspberry Pi 的桌面级气体环境监控软件,通过 Modbus RTU 协议 从最多 6 台下位机传感器设备采集数据,支持 O₂、CO₂、CH₄、H₂、C₂H₄、CH₃OH 等气体的浓度、温度、湿度及设备状态的实时显示与报警。系统面向植物生长环境等科研场景设计,具备良好的可配置性与工程规范。

系统界面截图

功能特点

  • 多通道气体监控:轮询地址 1–6 的 Modbus 设备,每台对应一种气体类型。
  • 实时可视化
    • 使用 Matplotlib 嵌入 PyQt5 界面,动态绘制各气体浓度变化曲线;
    • 独立面板显示当前温度(℃)与湿度(%RH),数值突出展示。
  • 可配置报警机制
    • 支持为每种气体单独设置浓度上下限阈值;
    • 实时判断并显示“正常”或“超限”状态。
  • 协议深度解析
    • 从寄存器规则字中提取单位(如 ppm、%VOL、mg/m³)和小数位数;
    • 解码状态码(如预热、故障、通信异常等),提升系统鲁棒性。
  • 稳定架构设计
    • 采用 QThread 多线程模型,将串口通信与 GUI 渲染解耦,避免界面卡顿;
    • 集成 logging 模块,记录通信日志至 modbus_polling.log,便于调试。

快速启动

  1. 安装依赖:

    pip install pyqt5 matplotlib pymodbus
  2. 连接 Modbus 从机设备至串口(默认使用 /dev/ttyS0 或 Windows 下的 COM3,可在 modbus_comm.py 中修改)。

  3. 运行主程序:

    python main.py
  4. 在界面上调整采样间隔(默认 2 秒)和各气体报警阈值。

项目结构

├── main.py             # 主窗口与信号槽连接
├── modbus_comm.py      # Modbus 轮询线程与协议解析逻辑
├── plot_widget.py      # 自定义绘图控件(含气体/温湿度面板)
└── modbus_polling.log  # 运行日志(自动生成)

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages