docs: update README.md
This commit is contained in:
86
README.md
86
README.md
@@ -4,7 +4,7 @@ _这是一个毕业设计项目,旨在尝试实现一个完整的电动汽车
|
|||||||
|
|
||||||
## 📋 项目概述
|
## 📋 项目概述
|
||||||
|
|
||||||
Helios EVCS 是一个全栈解决方案,用于管理和监控电动汽车充电基础设施。项目包含后端 CSMS(充电管理系统)和前端 Web 云平台应用。并设计了一个基于 ESP32,演示用的充电桩终端固件和 PCB 设计。
|
Helios EVCS 是一个全栈解决方案,用于管理和监控电动汽车充电基础设施。项目包含 CSMS(充电管理系统)的前端应用和后端服务。并设计了一个基于 ESP32 的,可演示用的充电桩终端固件和 PCB 设计。
|
||||||
|
|
||||||
## 🏗️ 项目结构
|
## 🏗️ 项目结构
|
||||||
|
|
||||||
@@ -15,19 +15,18 @@ helios-evcs/
|
|||||||
│ └── web/ # 前端云平台应用(Next.js 15 + React 19)[submodule]
|
│ └── web/ # 前端云平台应用(Next.js 15 + React 19)[submodule]
|
||||||
├── hardware/ # 硬件和固件工程
|
├── hardware/ # 硬件和固件工程
|
||||||
│ ├── firmware/ # 充电桩固件
|
│ ├── firmware/ # 充电桩固件
|
||||||
│ └── pcb-kicad/ # PCB 设计文件(KiCAD)
|
│ └── pcb/ # PCB 设计文件(KiCAD)
|
||||||
├── package.json
|
├── package.json
|
||||||
├── pnpm-workspace.yaml
|
├── pnpm-workspace.yaml
|
||||||
├── pnpm-lock.yaml
|
└── pnpm-lock.yaml
|
||||||
└── .gitmodules
|
|
||||||
```
|
```
|
||||||
|
|
||||||
## 📦 工作区包
|
## 📦 工作区包
|
||||||
|
|
||||||
### `apps/csms` - 充电管理系统后端
|
### `apps/csms` - CSMS 后端
|
||||||
|
|
||||||
- **技术栈**:Node.js + Hono + TypeScript
|
- **技术栈**:Node.js + Hono + TypeScript
|
||||||
- **端口**:3001(默认)
|
- **端口**:3001
|
||||||
- **职责**:
|
- **职责**:
|
||||||
- OCPP 协议实现
|
- OCPP 协议实现
|
||||||
- 充电设备管理
|
- 充电设备管理
|
||||||
@@ -35,16 +34,17 @@ helios-evcs/
|
|||||||
- 实时数据处理
|
- 实时数据处理
|
||||||
- RESTful API 接口
|
- RESTful API 接口
|
||||||
|
|
||||||
### `apps/web` - 前端管理界面(子模块)
|
### `apps/web` - CSMS 前端
|
||||||
|
|
||||||
- **技术栈**:Next.js 15 + React 19 + Tailwind CSS
|
- **技术栈**:Next.js 16 + React 19 + Tailwind CSS
|
||||||
- **端口**:3000(默认)
|
- **端口**:3000
|
||||||
- **源仓库**:https://github.com/HoshinoSuzumi/helios
|
|
||||||
- **职责**:
|
- **职责**:
|
||||||
- 充电站管理界面
|
- 充电桩管理
|
||||||
- 实时监控面板
|
- 概览监控面板
|
||||||
- 数据可视化
|
- 储值卡管理
|
||||||
- 用户管理
|
- 用户管理
|
||||||
|
- 充电会话历史
|
||||||
|
- 远程启动/停止充电
|
||||||
|
|
||||||
### `hardware/` - 硬件和固件工程
|
### `hardware/` - 硬件和固件工程
|
||||||
|
|
||||||
@@ -52,17 +52,18 @@ helios-evcs/
|
|||||||
- 设备驱动实现
|
- 设备驱动实现
|
||||||
- 通信协议栈
|
- 通信协议栈
|
||||||
- 实时控制逻辑
|
- 实时控制逻辑
|
||||||
- **pcb-kicad/** - PCB 电路板设计
|
- **pcb/** - PCB 电路板设计
|
||||||
- KiCAD 工程文件
|
- KiCAD 工程文件
|
||||||
- 电路原理图
|
- 电路原理图
|
||||||
- PCB 布局设计
|
- PCB 布局设计
|
||||||
- BOM 物料清单
|
- BOM 物料清单
|
||||||
|
- 制造文件(Gerber)
|
||||||
|
|
||||||
## 🚀 快速开始
|
## 🚀 快速开始
|
||||||
|
|
||||||
### 前置要求
|
### 前置要求
|
||||||
|
|
||||||
- Node.js >= 18
|
- Node.js >= 20
|
||||||
- pnpm >= 10.18.2
|
- pnpm >= 10.18.2
|
||||||
|
|
||||||
### 安装依赖
|
### 安装依赖
|
||||||
@@ -78,6 +79,8 @@ pnpm install
|
|||||||
# 启动所有开发服务器(CSMS + Web)
|
# 启动所有开发服务器(CSMS + Web)
|
||||||
pnpm dev
|
pnpm dev
|
||||||
|
|
||||||
|
# 迁移数据库
|
||||||
|
pnpm --filter csms run db:migrate
|
||||||
# 仅启动后端
|
# 仅启动后端
|
||||||
pnpm dev:csms
|
pnpm dev:csms
|
||||||
|
|
||||||
@@ -111,21 +114,11 @@ pnpm start:csms
|
|||||||
|
|
||||||
# 启动前端
|
# 启动前端
|
||||||
pnpm start:web
|
pnpm start:web
|
||||||
|
|
||||||
|
# 生产环境使用 docker compose
|
||||||
|
docker compose up -d --build
|
||||||
```
|
```
|
||||||
|
|
||||||
## 📝 Scripts 说明
|
|
||||||
|
|
||||||
| 命令 | 描述 |
|
|
||||||
| ----------------- | ---------------------- |
|
|
||||||
| `pnpm dev` | 启动所有服务的开发模式 |
|
|
||||||
| `pnpm dev:csms` | 启动后端开发服务器 |
|
|
||||||
| `pnpm dev:web` | 启动前端开发服务器 |
|
|
||||||
| `pnpm build` | 构建所有包 |
|
|
||||||
| `pnpm build:csms` | 构建后端 |
|
|
||||||
| `pnpm build:web` | 构建前端 |
|
|
||||||
| `pnpm start:csms` | 生产环境启动后端 |
|
|
||||||
| `pnpm start:web` | 生产环境启动前端 |
|
|
||||||
|
|
||||||
## 🔧 工作区管理
|
## 🔧 工作区管理
|
||||||
|
|
||||||
### 使用 pnpm filter 运行特定包命令
|
### 使用 pnpm filter 运行特定包命令
|
||||||
@@ -133,7 +126,7 @@ pnpm start:web
|
|||||||
```bash
|
```bash
|
||||||
# 在指定包中运行命令
|
# 在指定包中运行命令
|
||||||
pnpm --filter csms <command>
|
pnpm --filter csms <command>
|
||||||
pnpm --filter helios-web <command>
|
pnpm --filter web <command>
|
||||||
|
|
||||||
# 示例:在 csms 中运行测试
|
# 示例:在 csms 中运行测试
|
||||||
pnpm --filter csms run test
|
pnpm --filter csms run test
|
||||||
@@ -143,42 +136,11 @@ pnpm --filter csms run test
|
|||||||
|
|
||||||
```bash
|
```bash
|
||||||
# 在根安装(所有包共用)
|
# 在根安装(所有包共用)
|
||||||
pnpm add <package>
|
pnpm add <package> -w
|
||||||
|
|
||||||
# 在特定包中安装
|
# 在特定包中安装
|
||||||
pnpm --filter csms add <package>
|
pnpm --filter csms add <package>
|
||||||
pnpm --filter helios-web add <package>
|
pnpm --filter web add <package>
|
||||||
```
|
|
||||||
|
|
||||||
## 📁 Git 子模块管理
|
|
||||||
|
|
||||||
`apps/web` 作为 Git 子模块管理:
|
|
||||||
|
|
||||||
```bash
|
|
||||||
# 初始化并更新子模块
|
|
||||||
git submodule update --init --recursive
|
|
||||||
|
|
||||||
# 更新子模块到最新版本
|
|
||||||
git submodule update --remote
|
|
||||||
|
|
||||||
# 克隆包含子模块的仓库
|
|
||||||
git clone --recurse-submodules <repo-url>
|
|
||||||
```
|
|
||||||
|
|
||||||
在子模块内修改后的工作流:
|
|
||||||
|
|
||||||
```bash
|
|
||||||
# 在 apps/web 目录内提交更改
|
|
||||||
cd apps/web
|
|
||||||
git add .
|
|
||||||
git commit -m "feat: xxx"
|
|
||||||
git push
|
|
||||||
|
|
||||||
# 返回主仓库,更新子模块引用
|
|
||||||
cd ..
|
|
||||||
git add apps/web
|
|
||||||
git commit -m "chore: update helios submodule"
|
|
||||||
git push
|
|
||||||
```
|
```
|
||||||
|
|
||||||
## 📚 技术文档
|
## 📚 技术文档
|
||||||
|
|||||||
Reference in New Issue
Block a user