基于Flask、Bootstrap及深度学习的水库智能监测分析平台
项目介绍
本项目是基于Flask框架构建的水库智能监测分析平台,集水库数据管理、实时监测预警、可视化分析和智能预测功能于一体。
预测水位的预警级别:蓝色预警没有超过正常水位且接近正常水位1米内、橙色预警超过正常水位1米以内、红色预警超过1米以上。
主要技术与框架
-
核心框架:
-
Flask:轻量级Web应用框架,提供MVC架构支持
-
SQLAlchemy:ORM数据库管理系统,支持SQLite/MySQL
-
-
前端技术:
-
Bootstrap 5:响应式前端框架
-
Chart.js:动态数据可视化图表
-
SweetAlert2:交互式提示组件
-
Jinja2:模板引擎实现页面动态渲染
-
-
数据存储:
-
SQLite:轻量级关系型数据库
-
Pandas:数据处理与分析工具
-
-
前端技术:
-
HTML/CSS/JavaScript:用于构建用户界面。
-
Jinja2 模板引擎:用于动态生成 HTML 页面。
-
-
其他工具:
-
Flask-Login:用户认证与会话管理
-
NumPy:科学计算基础库
-
Dateutil:时间日期处理
-
...等其他库
-
主要功能
- 📊 智能监测预警
- 多维度数据采集(水位/降雨/温湿度/出入库流量)
- 三级预警体系(红/橙/黄)实时监测异常数据
- 预警记录管理(筛选/查看详情/批量删除)
- 📈 数据可视化分析
- 交互式图表展示水位变化趋势
- 多维度数据对比分析
- 支持36个月历史数据回溯
- 🧠 智能预测系统
- LSTM神经网络水位预测模型
- 可视化预测结果与正常水位对比
- 预测数据异常值自动标注
- 🔒 分级权限管理
- 管理员:用户管理/模型训练/数据维护
- 普通用户:数据查询/可视化分析
- 个人设置(密码修改/邮箱绑定)
- 📦 数据管理中心
- 水库数据CRUD操作
- 智能表单验证(日期格式/数值范围)
- 数据分页浏览与条件筛选
- 🛠️ 模型训练中心
- 在线启动LSTM模型训练
- 实时显示训练日志与进度
环境说明
参考以下环境(已跑通),可按顺序安装库的版本:
Windows10及以上(操作系统)
Flask==3.0.3
Flask_Login==0.6.3
flask_sqlalchemy==3.1.1
joblib==1.4.2
keras==2.7.0
matplotlib==3.8.3
numpy==1.23.5
pandas==2.0.3
prophet==1.1.6
python_dateutil==2.8.2
scikit_learn==1.3.1
tensorflow==2.7.4
Werkzeug==2.0.3
openpyxl
PyQt5
conda install -c conda-forge tcl=8.6.9 tk=8.6.9
目录说明
commandline
水库智能监测分析平台/
├── data/ # 存放水库数据集(用于数据库初始化数据)
├── images/ # 存放运行train_model.py产生的训练损失图和预测水位结果图
├── instance/ # 存放初始化后的数据库
├── models/ # 存放训练后的模型
├── static/ # 静态资源文件
│ ├── css/ # 存放页面样式
│ └── js/ # 存放JavaScript页面交互
├── templates/ # HTML 模板文件
│ ├── add_reservoir.html # 数据管理菜单 - 添加水库信息页面
│ ├── alert_management.html # 预警管理菜单
│ ├── auth_base.html # 登录注册认证基础页面
│ ├── base.html # 系统主布局基础样式页
│ ├── dashboard.html # 系统仪表盘 - 首页
│ ├── data_management.html # 数据管理菜单
│ ├── data_visualization.html # 数据可视化菜单
│ ├── edit_reservoir.html # 数据管理菜单 - 编辑水库信息页面
│ ├── login.html # 登录页面
│ ├── model_training.html # 模型训练菜单
│ ├── profile_setting.html # 个人设置菜单
│ ├── register.html # 注册页面
│ ├── user_management.html # 用户管理菜单
│ └── water_forecast.html # 水位预测菜单
├── README.md # 项目说明文档
└── requirement.txt # 项目依赖列表
├── run.py # Flask 应用主程序(运行启动项目)
└── train_model.py # 模型训练
右键运行 run.py 后,浏览器输入地址:127.0.0.1:5000 访问系统。
视频演示(效果图)
基于Flask、Bootstrap及深度学习的水库智能监测分析平台