Sign inSign up

dannyxyy2025/engine-simulator

By dannyxyy2025

Updated 8 months ago

生成逼真的用水、用电等能源消耗数据

Image
0

359

dannyxyy2025/engine-simulator repository overview

智慧能源接口模拟器 | Smart Energy API Simulator

Docker Python FastAPI


📖 Description

智慧能源接口模拟器是一个用于模拟智慧能源管理系统后端 API 接口的 Docker 容器化工具。它能够生成逼真的用水、用电等能源消耗数据,适用于前端开发调试、系统集成测试、演示环境搭建等场景。

Smart Energy API Simulator is a Docker-containerized tool for simulating backend API interfaces of smart energy management systems. It generates realistic water and electricity consumption data, ideal for frontend development, system integration testing, and demo environment setup.


🌟 Repository Overview

🎯 项目简介

本项目提供了一套完整的智慧能源数据接口模拟方案,包含:

  • Web 管理后台:可视化管理多个模拟器实例,支持启停控制、端口配置、站点管理
  • 数据模拟引擎:根据真实接口规范生成符合业务逻辑的模拟数据
  • Docker 一键部署:开箱即用,无需复杂环境配置
✨ 核心功能
功能说明
🔌 多实例管理同时运行多个模拟器实例,每个实例绑定不同端口和站点
📊 丰富数据类型支持今日/昨日用水用电、站内用电、牵引用电、用电/用水对比等
📈 时间粒度切换支持日(D)、周(W)、月(M)、年(Y) 四种时间粒度的数据对比
📝 请求日志实时记录所有 API 请求,便于调试和排查
🌐 跨域支持内置 CORS 中间件,方便前端跨域调用
🖥️ 可视化管理基于 Bootstrap 5 的暗色主题管理界面
🐳 Docker 部署基于 Python 3.10-slim 轻量镜像,一键启动
📡 支持的 API 接口
接口 ID功能描述请求方式
1011今日昨日用水(车站级)GET/POST
1028今日昨日用电(车站级)GET/POST
1002站内用电GET/POST
1003牵引用电GET/POST
1301用电对比(支持日/周/月/年)GET/POST
1302用水对比(支持日/周/月/年)GET/POST
🚀 快速开始
方式一:Docker Hub 拉取(推荐)
# 拉取镜像
docker pull huiyy/engine-simulator:latest

# 运行容器
docker run -d \
  --name energy-simulator \
  -p 15400:15400 \
  -p 15401:15401 \
  huiyy/engine-simulator:latest
方式二:本地构建
# 克隆项目
git clone <repository-url>
cd engine-simulator

# 构建镜像
docker build -t engine-simulator .

# 运行容器
docker run -d \
  --name energy-simulator \
  -p 15400:15400 \
  -p 15401:15401 \
  engine-simulator
🌐 访问地址
服务地址说明
管理后台http://localhost:15400Web 可视化管理界面
默认模拟器http://localhost:15401预启动的模拟器实例(罗租站)
📋 API 调用示例
# 获取今日昨日用水数据
curl "http://localhost:15401/sys/energyData?id=1011&station=A1314"

# 获取今日昨日用电数据
curl "http://localhost:15401/sys/energyData?id=1028&station=A1314"

# 获取用电对比(按日)
curl "http://localhost:15401/sys/energyData?id=1301&station=A1314&time=D"

# 获取用水对比(按月)
curl "http://localhost:15401/sys/energyData?id=1302&station=A1314&time=M"
📦 返回数据格式
{
  "success": true,
  "message": "",
  "code": 200,
  "result": {
    "msg": "操作成功",
    "code": 200,
    "data": {
      "toDay": "22",
      "ysDay": "40"
    }
  },
  "jsonObject": null,
  "timestamp": 1768544326360
}
⚙️ 环境变量
变量名默认值说明
HOST0.0.0.0监听地址
PORT15400管理后台端口
TZAsia/Shanghai时区设置
🏗️ 技术栈
  • 后端框架:FastAPI + Uvicorn
  • 模板引擎:Jinja2
  • 前端框架:Bootstrap 5 + Font Awesome
  • 进程管理:psutil
  • 容器基础:Python 3.10-slim
📁 项目结构
engine-simulator/
├── app.py                  # 管理后台主程序
├── simulator.py            # 模拟器实例服务
├── mock_data_engine.py     # 数据模拟引擎
├── requirements.txt        # Python 依赖
├── Dockerfile              # Docker 构建文件
├── start.sh                # 容器启动脚本
├── templates/
│   └── index.html          # 管理后台页面
└── 智慧能源接口数据.md       # 接口文档
🔧 管理后台功能
  • ✅ 查看所有运行中的模拟器实例
  • ✅ 一键启动/停止模拟器实例
  • ✅ 自定义端口号和站点名称
  • ✅ 实时查看请求日志
  • ✅ 模拟器状态监控
📌 使用场景
场景说明
前端开发在后端接口未就绪时,使用模拟数据进行前端开发和联调
系统集成测试模拟真实接口响应,测试系统集成的正确性
演示环境快速搭建演示环境,展示智慧能源管理系统的功能
压力测试通过多实例部署,模拟高并发场景下的接口响应
🤝 贡献

欢迎提交 Issue 和 Pull Request!

📄 许可证

MIT License


作者: HuiYY | 邮箱: [email protected]

Tag summary

Content type

Image

Digest

sha256:88829abca

Size

53.2 MB

Last updated

8 months ago

docker pull dannyxyy2025/engine-simulator