|
@@ -1,23 +1,48 @@
|
|
|
-# 数据库连接测试工具
|
|
|
|
|
|
|
+# 景兴故障测点筛选工具
|
|
|
|
|
+
|
|
|
|
|
+本项目包含两个主要工具,用于处理振动数据和筛选故障测点。
|
|
|
|
|
+
|
|
|
|
|
+## 功能模块
|
|
|
|
|
+
|
|
|
|
|
+### 1. 振动数据文件解析工具 (parse_file.py)
|
|
|
|
|
+
|
|
|
|
|
+用于解析振动数据文件,支持从FDFS下载文件或从本地文件系统读取,解析数据并计算不对称性。
|
|
|
|
|
+
|
|
|
|
|
+**主要功能:**
|
|
|
|
|
+- 解析FDFS文件路径或本地文件
|
|
|
|
|
+- 支持JSON格式和压缩格式的数据解析
|
|
|
|
|
+- 计算振动数据的不对称性(abs正、abs负)
|
|
|
|
|
+
|
|
|
|
|
+### 2. 设备和通道筛选工具 (query_device_filter.py)
|
|
|
|
|
+
|
|
|
|
|
+用于从数据库中查询和筛选符合条件的设备和通道组合,筛选出故障测点。
|
|
|
|
|
+
|
|
|
|
|
+**筛选条件:**
|
|
|
|
|
+- task_id = 2
|
|
|
|
|
+- 对于每个device_id和channel_no的组合,取最新的10条记录(按generate_time)
|
|
|
|
|
+- 如果这10个value值中有超过3个值大于20,则记录该(device_id, channel_no)组合
|
|
|
|
|
+- 解析每个通道最近10条文件记录,计算不对称性
|
|
|
|
|
+
|
|
|
|
|
+**输出结果:**
|
|
|
|
|
+- 符合条件的设备ID、设备名称
|
|
|
|
|
+- 通道号、通道名称
|
|
|
|
|
+- 最近10条文件记录及其不对称性数据
|
|
|
|
|
+- 结果保存到带时间戳的文本文件中
|
|
|
|
|
|
|
|
## 环境要求
|
|
## 环境要求
|
|
|
|
|
+
|
|
|
- Python 3.8.3 或更高版本
|
|
- Python 3.8.3 或更高版本
|
|
|
- 支持 Windows 和 Linux (CentOS 7.9) 系统
|
|
- 支持 Windows 和 Linux (CentOS 7.9) 系统
|
|
|
|
|
+- MySQL数据库连接
|
|
|
|
|
|
|
|
-## 快速开始
|
|
|
|
|
|
|
+## 安装依赖
|
|
|
|
|
|
|
|
### Windows 环境
|
|
### Windows 环境
|
|
|
|
|
|
|
|
-1. 安装依赖:
|
|
|
|
|
```bash
|
|
```bash
|
|
|
pip install -r requirements.txt
|
|
pip install -r requirements.txt
|
|
|
```
|
|
```
|
|
|
|
|
|
|
|
-2. 运行测试:
|
|
|
|
|
-```bash
|
|
|
|
|
-python test_db_connection.py
|
|
|
|
|
-```
|
|
|
|
|
-
|
|
|
|
|
### CentOS 7.9 环境
|
|
### CentOS 7.9 环境
|
|
|
|
|
|
|
|
详细部署说明请参考 [README_CENTOS.md](README_CENTOS.md)
|
|
详细部署说明请参考 [README_CENTOS.md](README_CENTOS.md)
|
|
@@ -31,22 +56,92 @@ chmod +x deploy_centos.sh
|
|
|
或手动安装:
|
|
或手动安装:
|
|
|
```bash
|
|
```bash
|
|
|
python3 -m pip install -r requirements.txt --user
|
|
python3 -m pip install -r requirements.txt --user
|
|
|
-python3 test_db_connection.py
|
|
|
|
|
```
|
|
```
|
|
|
|
|
|
|
|
|
|
+## 使用方法
|
|
|
|
|
+
|
|
|
|
|
+### 解析振动数据文件
|
|
|
|
|
+
|
|
|
|
|
+```bash
|
|
|
|
|
+python parse_file.py <file_name>
|
|
|
|
|
+```
|
|
|
|
|
+
|
|
|
|
|
+**示例:**
|
|
|
|
|
+```bash
|
|
|
|
|
+# FDFS路径
|
|
|
|
|
+python parse_file.py group1/M00/4C/AD/wKgUZWlQzpKAcUtmAA03b1suhI44618492
|
|
|
|
|
+
|
|
|
|
|
+# 本地文件路径
|
|
|
|
|
+python parse_file.py /home/soft/data/fdfs/storage/data/4C/AD/wKgUZWlQzpKAcUtmAA03b1suhI44618492
|
|
|
|
|
+```
|
|
|
|
|
+
|
|
|
|
|
+**输出内容:**
|
|
|
|
|
+- 解析后的数据(JSON格式)
|
|
|
|
|
+- 数据类型和基本信息
|
|
|
|
|
+- 不对称性计算结果(abs正、abs负)
|
|
|
|
|
+
|
|
|
|
|
+### 查询和筛选故障测点
|
|
|
|
|
+
|
|
|
|
|
+```bash
|
|
|
|
|
+python query_device_filter.py
|
|
|
|
|
+```
|
|
|
|
|
+
|
|
|
|
|
+**输出内容:**
|
|
|
|
|
+- 符合条件的设备ID和通道组合列表
|
|
|
|
|
+- 每个组合的设备名称和通道名称
|
|
|
|
|
+- 最近10条文件记录及其不对称性数据
|
|
|
|
|
+- 结果会自动保存到 `query_result_YYYYMMDD_HHMMSS.txt` 文件中
|
|
|
|
|
+
|
|
|
## 数据库配置
|
|
## 数据库配置
|
|
|
|
|
|
|
|
- 主机: 127.0.0.1
|
|
- 主机: 127.0.0.1
|
|
|
- 端口: 3306
|
|
- 端口: 3306
|
|
|
- 用户名: prod
|
|
- 用户名: prod
|
|
|
- 密码: hmdmxjIvfIjIoflL
|
|
- 密码: hmdmxjIvfIjIoflL
|
|
|
|
|
+- 数据库: iot
|
|
|
|
|
+
|
|
|
|
|
+## 依赖项
|
|
|
|
|
+
|
|
|
|
|
+- pymysql==1.0.2 - MySQL数据库连接
|
|
|
|
|
|
|
|
-## 说明
|
|
|
|
|
|
|
+## 文件说明
|
|
|
|
|
+
|
|
|
|
|
+- `parse_file.py` - 振动数据文件解析工具
|
|
|
|
|
+- `query_device_filter.py` - 设备和通道筛选工具
|
|
|
|
|
+- `requirements.txt` - Python依赖包列表
|
|
|
|
|
+- `deploy_centos.sh` - CentOS 7.9 部署脚本
|
|
|
|
|
+- `README_CENTOS.md` - CentOS 7.9 详细部署说明
|
|
|
|
|
+- `iot.sql` - 数据库表结构(如适用)
|
|
|
|
|
+
|
|
|
|
|
+## 注意事项
|
|
|
|
|
+
|
|
|
|
|
+1. **文件路径**:parse_file.py 支持FDFS路径和本地路径,本地路径需要正确配置FDFS存储路径映射
|
|
|
|
|
+2. **数据库连接**:确保数据库服务正常运行且网络可达
|
|
|
|
|
+3. **编码设置**:脚本会自动处理Windows和Linux环境下的编码问题
|
|
|
|
|
+4. **结果文件**:query_device_filter.py 会在当前目录生成带时间戳的结果文件
|
|
|
|
|
+
|
|
|
|
|
+## 故障排查
|
|
|
|
|
+
|
|
|
|
|
+### 数据库连接问题
|
|
|
|
|
+
|
|
|
|
|
+如果出现数据库连接失败:
|
|
|
|
|
+- 检查数据库服务是否运行
|
|
|
|
|
+- 检查网络连通性:`ping 127.0.0.1`
|
|
|
|
|
+- 检查端口是否开放:`telnet 127.0.0.1 3306` 或 `nc -zv 127.0.0.1 3306`
|
|
|
|
|
+- 验证数据库用户名和密码是否正确
|
|
|
|
|
+
|
|
|
|
|
+### 模块未找到错误
|
|
|
|
|
+
|
|
|
|
|
+如果提示 `ModuleNotFoundError: No module named 'pymysql'`:
|
|
|
|
|
+```bash
|
|
|
|
|
+pip install pymysql==1.0.2
|
|
|
|
|
+# 或
|
|
|
|
|
+python3 -m pip install pymysql==1.0.2 --user
|
|
|
|
|
+```
|
|
|
|
|
|
|
|
-脚本会尝试连接MySQL数据库,如果连接成功会显示:
|
|
|
|
|
-- MySQL版本
|
|
|
|
|
-- 当前数据库名称
|
|
|
|
|
-- 连接ID
|
|
|
|
|
|
|
+### 文件解析错误
|
|
|
|
|
|
|
|
-如果连接失败,会显示详细的错误信息,方便排查问题。
|
|
|
|
|
|
|
+- 确保文件路径正确
|
|
|
|
|
+- 检查文件是否存在
|
|
|
|
|
+- 验证文件格式是否正确(支持JSON格式或zlib压缩格式)
|
|
|
|
|
|