# hw-info **Repository Path**: starksdf/hw-info ## Basic Information - **Project Name**: hw-info - **Description**: hw-info - **Primary Language**: Unknown - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-05-22 - **Last Updated**: 2026-05-25 ## Categories & Tags **Categories**: Uncategorized **Tags**: 硬件监控, Python ## README # 服务器硬件监控系统 ## 项目简介 基于 HWiNFO + RSM 的服务器硬件监控系统,提供 Web 界面实时查看 CPU、内存、硬盘、GPU、主板、网络等硬件状态。(项目由deepseek全面生成) ![image-20260522183247391](README.assets/image-20260522183247391.png) ![image-20260522183319931](README.assets/image-20260522183319931.png) ## 功能特性 - 🔥 **CPU 监控**:温度、使用率、功耗、核心频率 - 📦 **内存监控**:物理内存/虚拟内存使用情况 - 💾 **硬盘监控**:温度、剩余寿命、读写速率、IO 活动 - 🎮 **GPU 监控**:频率、使用率、功耗、显存占用 - 🔌 **主板监控**:PCH/系统/VRM 温度、电压、风扇转速 - 🌐 **网络监控**:实时上传/下载速率、总流量统计 - 🖥️ **现代 Web 界面**:深色主题、响应式设计、自动刷新 - 🌍 **双栈支持**:同时支持 IPv4 和 IPv6 访问 ## 所需软件 ### 1. Python 环境 - Python 3.8 或更高版本 - pip 包管理器 ### 2. HWiNFO(已包含在附件中) - 版本:HWiNFO v6.42(无 12 小时共享内存限制) - 文件位置:`附件/HWiNFO_v6.42/` ### 3. Remote Sensor Monitor (RSM)(已包含在附件中) - 版本:RSM v2.1.0 - 文件位置:`附件/Remote.Sensor.Monitor.v.2.1.0/` ## 安装步骤 ### 第一步:安装 Python 依赖 bash ``` pip install -r requirements.txt ``` 依赖包说明: - `flask` - Web 框架 - `requests` - HTTP 请求 - `flask-cors` - 跨域支持 - `waitress` - 生产级 WSGI 服务器 ### 第二步:配置 HWiNFO 第一次安装`附件/HWiNFO/HWiNFO64_v6.42.exe,安装完成运行 1. 运行 `附件/HWiNFO_v6.42/HWiNFO64.exe` 2. 启动时选择 **"Sensors-only"** 模式 3. 右键系统托盘图标 → **Settings** 4. 勾选 **"Shared Memory Support"** 5. 点击 OK,保持传感器窗口打开(可最小化) ### 第三步:配置 RSM 1. 运行 `附件/Remote.Sensor.Monitor.v.2.1.0/Remote Sensor Monitor.exe` 2. 建议使用命令行启动(推荐): bash ```bash cd 附件/Remote.Sensor.Monitor.v.2.1.0 "Remote Sensor Monitor.exe" --port=6655 --hwinfo=1 --gpuz=0 --aida64=0 --ohm=0 ---端口可以自定义,需要在 "Remote Sensor Monitor.exe" --port=6655 --hwinfo=1 --gpuz=0 --aida64=0 --ohm=0 ``` ### 第四步:启动监控系统 默认监听rsm端口为6655,如果需要更改,在app.py前面更改 ``` app = Flask(__name__) CORS(app) RSM_URL = "http://127.0.0.1:6655"----------更改地方 ``` ``` python app.py ``` ### 第五步:访问 Web 界面 浏览器打开以下任一地址: | 地址 | 说明 | | :--------------------------- | :-------------------- | | `http://127.0.0.1:5000` | 本机 IPv4 访问 | | `http://[::1]:5000` | 本机 IPv6 访问 | | `http://[你的IPv6地址]:5000` | 局域网/公网 IPv6 访问 | ## 项目结构 text ``` server_monitor/ ├── app.py # 主程序入口 ├── requirements.txt # Python 依赖 ├── ServerMonitor.spec # 打包配置(PyInstaller) ├── templates/ │ └── index.html # Web 前端页面 ├── static/ │ └── style.css # 样式文件 └── 附件/ ├── HWiNFO_v6.42/ # HWiNFO 程序 │ └── HWiNFO64.exe └── Remote.Sensor.Monitor.v.2.1.0/ # RSM 程序 ├── Remote Sensor Monitor.exe └── Remote Sensor Monitor.exe.config ``` ## 打包为独立 EXE(可选) ### 安装 PyInstaller bash ``` pip install pyinstaller ``` ### 执行打包 bash ``` pyinstaller ServerMonitor.spec --clean ``` ### 打包产物 - `dist/ServerMonitor.exe` - 独立可执行文件 - 可直接复制到其他 Windows 电脑运行(无需 Python 环境) ## 开机自启配置 ### 方法一:启动文件夹 1. 按 `Win + R`,输入 `shell:startup` 2. 将 `ServerMonitor.exe` 快捷方式放入文件夹 ### 方法二:注册为 Windows 服务(使用 NSSM) bash ``` nssm install ServerMonitor "完整路径\ServerMonitor.exe" nssm start ServerMonitor ``` ## 常见问题 ### 1. 无法连接 RSM **现象**:网页显示 "无法连接 RSM" **解决**: - 确认 HWiNFO 已启动(Sensors-only 模式) - 确认 RSM 已启动 - 检查 RSM 端口是否为 6655 ### 2. 端口被占用 **修改端口**:编辑 `app.py` 最后一行 python ``` serve(app, host='*', port=8080, threads=4) # 改为其他端口 ``` ### 3. IPv6 无法访问 **解决**: - 确认系统已启用 IPv6 - 使用 `ipconfig` 查看本机 IPv6 地址 - 访问时地址需要用方括号包裹:`http://[IPv6地址]:5000` ### 4. 数据不刷新 **解决**: - 确认 HWiNFO 传感器窗口保持打开 - 访问 `http://127.0.0.1:6655` 确认 RSM 数据正常 - 检查防火墙是否阻止了 Python/RSM ## 技术架构 text ``` ┌─────────────┐ 共享内存 ┌─────────────┐ HTTP JSON ┌─────────────┐ WebSocket ┌─────────────┐ │ HWiNFO │ ─────────────→ │ RSM │ ─────────────→ │ Python │ ─────────────→ │ 浏览器 │ │ (传感器采集) │ │ (数据转换) │ │ (Web服务) │ │ (前端展示) │ └─────────────┘ └─────────────┘ └─────────────┘ └─────────────┘ ``` ## 版本历史 | 版本 | 日期 | 更新内容 | | :--- | :--------- | :------------------------- | | v1.0 | 2026-05-22 | 初始版本,支持完整硬件监控 | ## 许可证 内部使用 ## 联系方式 如有问题,请提交 Issue