厦门地铁海底泵站预警系统
  • Python 59.5%
  • JavaScript 13.5%
  • TypeScript 12.2%
  • HTML 7.5%
  • CSS 7.3%
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
nine_tea d9ed9b503a 报警列表:按规则改为按名称,报警等级列前移
与 SVN r2997 对齐。

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-26 16:44:37 +08:00
app 报警列表:按规则改为按名称,报警等级列前移 2026-08-26 16:44:37 +08:00
data Initial import: 厦门地铁泵房预警 (synced with SVN working tree) 2026-08-25 15:56:08 +08:00
docs Initial import: 厦门地铁泵房预警 (synced with SVN working tree) 2026-08-25 15:56:08 +08:00
frontend Initial import: 厦门地铁泵房预警 (synced with SVN working tree) 2026-08-25 15:56:08 +08:00
scripts Initial import: 厦门地铁泵房预警 (synced with SVN working tree) 2026-08-25 15:56:08 +08:00
sql Initial import: 厦门地铁泵房预警 (synced with SVN working tree) 2026-08-25 15:56:08 +08:00
.env.example Initial import: 厦门地铁泵房预警 (synced with SVN working tree) 2026-08-25 15:56:08 +08:00
.gitignore Initial import: 厦门地铁泵房预警 (synced with SVN working tree) 2026-08-25 15:56:08 +08:00
package-lock.json Initial import: 厦门地铁泵房预警 (synced with SVN working tree) 2026-08-25 15:56:08 +08:00
package.json Initial import: 厦门地铁泵房预警 (synced with SVN working tree) 2026-08-25 15:56:08 +08:00
README.md Initial import: 厦门地铁泵房预警 (synced with SVN working tree) 2026-08-25 15:56:08 +08:00
requirements.txt Initial import: 厦门地铁泵房预警 (synced with SVN working tree) 2026-08-25 15:56:08 +08:00
系统设计说明.md Initial import: 厦门地铁泵房预警 (synced with SVN working tree) 2026-08-25 15:56:08 +08:00
预警规则引擎说明.md Initial import: 厦门地铁泵房预警 (synced with SVN working tree) 2026-08-25 15:56:08 +08:00

海底泵房故障预警系统

独立工程,与 twin_demo 分离。业务库为 MySQL;时序仍在 data/ts/*.pkl。

启动

cd 厦门地铁泵房预警
python -m venv .venv
# Windows:
.venv\Scripts\activate
# Linux:
# source .venv/bin/activate

pip install -r requirements.txt
copy .env.example .env   # Linux: cp .env.example .env
# 编辑 .env,填写 DATABASE_URL

MySQL 建库:

CREATE DATABASE pump_warning DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;

从现有 SQLite 迁数据(二选一):

方式 A — Python 脚本(推荐,已验证)

python scripts/migrate_sqlite_to_mysql.py --dry-run
python scripts/migrate_sqlite_to_mysql.py --yes

方式 B — SQL 文件(mysql 客户端直接执行)

# 1) 建表
mysql -h 192.168.2.204 -u pump_warning -p < sql/schema_mysql.sql

# 2) 从 SQLite 导出 INSERT(生成 sql/data_mysql.sql)
python scripts/export_sqlite_to_mysql_sql.py -o sql/data_mysql.sql

# 3) 导入数据
mysql -h 192.168.2.204 -u pump_warning -p pump_warning < sql/data_mysql.sql

已有 MySQL 库要备份/搬迁时,优先用:

mysqldump -h 192.168.2.204 -u pump_warning -p --databases pump_warning --default-character-set=utf8mb4 > sql/full_dump.sql
mysql -h HOST -u USER -p < sql/full_dump.sql
uvicorn app.main:app --host 0.0.0.0 --port 8000

浏览器打开:http://127.0.0.1:8000

默认管理员(首次启动自动创建,请在 .env 修改):

  • 用户名:AUTH_ADMIN_USER(默认 admin)
  • 密码:AUTH_ADMIN_PASSWORD(默认 admin123)

未登录访问业务 API 将返回 401,页面会自动跳转 /login。

使用流程

  1. 规则:查看 / 调阈值
  2. 导入:填服务器路径(设备日志目录 / Excel SOE / Word 故障)
  3. 故障校对:确认时间与设备
  4. 全量分析:异步重写全部预警
  5. 报表:覆盖率 / 精确率 / 误报率 / 提前量

CentOS + 宝塔

  • 不用 Docker
  • 宝塔建库 pump_warning(utf8mb4)+ 专用账号
  • 进程守护环境变量或项目根 .env 配置 DATABASE_URL
  • 虚拟环境 + uvicorn(宝塔进程守护)
  • Nginx 反代到 127.0.0.1:8000

详见 系统设计说明.md。