# 多路温湿度数据采集系统 **Repository Path**: linbo7749/TempHumCollect ## Basic Information - **Project Name**: 多路温湿度数据采集系统 - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-02-06 - **Last Updated**: 2026-02-25 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # TempHumCollect 温湿度采集系统 ![输入图片说明](%E5%AE%9E%E6%97%B6%E6%95%B0%E6%8D%AE.png) ![输入图片说明](%E5%AE%9E%E6%97%B6%E6%95%B0%E6%8D%AE%E6%96%AD%E8%81%94%E7%8A%B6%E6%80%81.png) ![输入图片说明](%E5%91%8A%E8%AD%A6%E5%BC%B9%E7%AA%97.png) ![输入图片说明](%E6%8A%A5%E8%AD%A6%E4%B8%AD%E5%BF%83.png) ![输入图片说明](%E5%8E%86%E5%8F%B2%E8%B6%8B%E5%8A%BF.png) ![输入图片说明](%E6%97%A5%E5%BF%97%E6%9F%A5%E8%AF%A2.png) ![输入图片说明](%E5%AE%9E%E6%97%B6%E6%95%B0%E6%8D%AE%E6%96%AD%E8%81%94%E7%8A%B6%E6%80%81.png) ![输入图片说明](%E7%94%A8%E6%88%B7%E7%AE%A1%E7%90%86.png) ![输入图片说明](%E7%B3%BB%E7%BB%9F%E8%AE%BE%E7%BD%AE.png) ## 项目简介 TempHumCollect 是一款基于 Modbus RTU 协议的温湿度数据采集与监控系统,采用 C# WinForms 开发,用于工业环境下的温湿度实时监测、报警管理和历史数据查询。 ## 功能特性 - **实时数据采集**:通过 Modbus RTU 协议采集多站点温湿度数据 - **报警管理**:支持温度和湿度上下限报警,实时推送报警信息 - **历史数据查询**:提供趋势图表和历史记录查询功能 - **用户管理**:支持多用户角色管理,包括管理员和普通用户 - **系统日志**:记录系统操作日志,便于审计和故障排查 - **仪表盘统计**:展示当日报警统计、历史报警分布等数据 ## 技术栈 - **开发语言**:C# - **框架**:WinForms + .NET - **数据库**:Sqlite (通过 SqlSugar ORM) - **通信协议**:Modbus RTU - **UI 组件**:SunnyUI ## 项目结构 ``` TempHumCollect/ ├── BLL/ # 业务逻辑层 │ ├── SysConfigManage.cs # 系统配置管理 │ ├── TempHumCollectManage.cs # 温湿度采集核心逻辑 │ ├── TempHumHistoryManage.cs # 历史数据管理 │ ├── TempHumRecordManage.cs # 温湿度记录管理 │ └── UserInfoManage.cs # 用户信息管理 ├── DAL/ # 数据访问层 │ ├── Helper/ # 辅助工具类 │ │ ├── DBLogHelper.cs # 数据库日志操作 │ │ ├── LogHelper.cs # 文件日志操作 │ │ ├── MD5Helper.cs # 密码加密 │ │ ├── ModbusRtuClient.cs # Modbus RTU 客户端 │ │ ├── Serialize.cs # 序列化工具 │ │ └── SqlHelper.cs # 数据库连接辅助 │ └── Service/ # 数据服务 │ ├── ModbusConfigService.cs │ ├── SystemConfigService.cs │ ├── SystemLogService.cs │ ├── TempHumRecordService.cs │ └── UserInfoService.cs ├── Models/ # 数据模型 │ ├── DashboardStatisticsDto.cs │ ├── ModbusConfig.cs │ ├── SystemConfig.cs │ ├── SystemLog.cs │ ├── TempHumRecord.cs │ ├── TempHumTrendDto.cs │ └── UserInfo.cs ├── Views/UserControls/ # 用户控件 │ ├── TempHumInfoPanel.cs # 温湿度信息面板 │ └── UserManageModal.cs # 用户管理模态框 ├── FrmMain.cs # 主窗体 └── Program.cs # 程序入口 ``` ## 环境要求 - .NET 8 或更高版本 - SQLite 数据库 - Windows 7/8/10/11 操作系统 ## 配置说明 ### 数据库配置 在 `SqlHelper.cs` 中配置数据库连接字符串。 ### Modbus 设备配置 配置文件 `ModbusConfig.json` 包含以下结构: - **RTUEquipment**:串口设备配置(波特率、数据位、校验位、停止位) - **GroupConfig**:寄存器组配置(起始地址、长度) - **VariableConfig**:变量配置(变量名、数据类型、比例、偏移量) ### 系统参数配置 系统参数存储在数据库 `SystemConfig` 表中,包括: - 采集间隔 - 温度/湿度报警阈值 - 数据归档天数 ## 安装部署 1. 克隆项目到本地 2. 使用 Visual Studio 打开解决方案文件 3. 配置数据库连接字符串 4. 编译运行项目 ## 使用说明 ### 登录系统 使用预设的用户名和密码登录系统(首次使用可咨询系统管理员)。 ### 主界面功能 - **首页**:显示温湿度实时数据和报警状态 - **历史趋势**:查询温湿度历史数据和变化趋势 - **报警中心**:查看当前报警和历史报警记录 - **系统设置**:配置系统参数和报警阈值 - **用户管理**:管理系统用户(需管理员权限) - **日志查询**:查询系统操作日志 ## 报警规则 | 报警类型 | 条件 | |---------|------| | 温度过高 | 温度值 > 温度上限阈值 | | 温度过低 | 温度值 < 温度下限阈值 | | 湿度过高 | 湿度值 > 湿度上限阈值 | | 湿度过低 | 湿度值 < 湿度下限阈值 | ## 许可证 本项目仅供学习和研究使用。