67 lines
1.6 KiB
Markdown
67 lines
1.6 KiB
Markdown
|
|
# SmartEDT(智能电动车数字孪生系统)代码框架
|
|||
|
|
|
|||
|
|
本仓库提供一套可扩展的系统骨架代码,用于支撑《系统开发技术方案.md》中定义的后端采集处理与桌面端多屏显示能力。
|
|||
|
|
|
|||
|
|
## 目录结构
|
|||
|
|
|
|||
|
|
```
|
|||
|
|
SmartEDT/
|
|||
|
|
backend/
|
|||
|
|
frontend/
|
|||
|
|
系统开发技术方案.md
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
## 后端(Python 3.13.1 + FastAPI + WebSocket + PostgreSQL/TimescaleDB)
|
|||
|
|
|
|||
|
|
### 1) 环境准备
|
|||
|
|
|
|||
|
|
- 建议使用 venv:
|
|||
|
|
- `python -m venv venv`
|
|||
|
|
- `venv\Scripts\activate`
|
|||
|
|
- `pip install -r backend/requirements.txt`
|
|||
|
|
|
|||
|
|
### 2) 配置
|
|||
|
|
|
|||
|
|
- 复制示例配置:
|
|||
|
|
- `copy backend\\config.ini.example backend\\config.ini`
|
|||
|
|
- 按需修改 `[DATABASE].url`(示例密码为占位符 `CHANGE_ME`)。
|
|||
|
|
|
|||
|
|
也可以通过环境变量覆盖:
|
|||
|
|
- `SMARTEDT_DATABASE_URL`
|
|||
|
|
- `SMARTEDT_FILE_ROOT`
|
|||
|
|
- `SMARTEDT_HOST`
|
|||
|
|
- `SMARTEDT_PORT`
|
|||
|
|
|
|||
|
|
### 3) 数据库
|
|||
|
|
|
|||
|
|
需要 PostgreSQL 并安装 TimescaleDB 扩展(数据库侧操作)。后端启动时会尝试:
|
|||
|
|
- `CREATE EXTENSION IF NOT EXISTS timescaledb`
|
|||
|
|
- `create_hypertable('vehicle_signals', 'ts', if_not_exists => TRUE)`
|
|||
|
|
|
|||
|
|
### 4) 启动
|
|||
|
|
|
|||
|
|
- 开发启动:
|
|||
|
|
- `python backend/main.py --host 127.0.0.1 --port 5000 --debug`
|
|||
|
|
|
|||
|
|
接口:
|
|||
|
|
- `GET /health`
|
|||
|
|
- `POST /api/simulation/start`
|
|||
|
|
- `POST /api/simulation/{simulation_id}/stop`
|
|||
|
|
- `WS /ws`
|
|||
|
|
|
|||
|
|
## 前端(Electron + Vue)
|
|||
|
|
|
|||
|
|
### 1) 安装依赖
|
|||
|
|
|
|||
|
|
在 `frontend/` 目录下执行:
|
|||
|
|
- `npm install`
|
|||
|
|
|
|||
|
|
### 2) 开发启动(Vite + Electron)
|
|||
|
|
|
|||
|
|
- `npm run dev`
|
|||
|
|
|
|||
|
|
Electron 主进程会尝试启动后端:
|
|||
|
|
- 默认使用 `python backend/main.py`
|
|||
|
|
- 可通过 `SMARTEDT_PYTHON` 指定 Python 可执行文件路径
|
|||
|
|
|