Files
helios-evcs/README.md
2026-03-18 13:05:49 +08:00

168 lines
3.4 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Helios EVCS
_这是一个毕业设计项目旨在尝试实现一个完整的电动汽车充电站管理系统EV CSMS和配套的演示用充电桩终端。_
## 📋 项目概述
Helios EVCS 是一个全栈解决方案,用于管理和监控电动汽车充电基础设施。项目包含 CSMS充电管理系统的前端应用和后端服务。并设计了一个基于 ESP32 的,可演示用的充电桩终端固件和 PCB 设计。
## 🏗️ 项目结构
```
helios-evcs/
├── apps/ # 应用程序包
│ ├── csms/ # 后端 CSMS 平台服务Hono + Node.js
│ └── web/ # 前端云平台应用Next.js 15 + React 19[submodule]
├── hardware/ # 硬件和固件工程
│ ├── firmware/ # 充电桩固件
│ └── pcb/ # PCB 设计文件KiCAD
├── package.json
├── pnpm-workspace.yaml
└── pnpm-lock.yaml
```
## 📦 工作区包
### `apps/csms` - CSMS 后端
- **技术栈**Node.js + Hono + TypeScript
- **端口**3001
- **职责**
- OCPP 协议实现
- 充电设备管理
- 用户认证与授权
- 实时数据处理
- RESTful API 接口
### `apps/web` - CSMS 前端
- **技术栈**Next.js 16 + React 19 + Tailwind CSS
- **端口**3000
- **职责**
- 充电桩管理
- 概览监控面板
- 储值卡管理
- 用户管理
- 充电会话历史
- 远程启动/停止充电
### `hardware/` - 硬件和固件工程
- **firmware/** - 充电桩微控制器固件代码
- 设备驱动实现
- 通信协议栈
- 实时控制逻辑
- **pcb/** - PCB 电路板设计
- KiCAD 工程文件
- 电路原理图
- PCB 布局设计
- BOM 物料清单
- 制造文件Gerber
## 🚀 快速开始
### 前置要求
- Node.js >= 20
- pnpm >= 10.18.2
### 安装依赖
```bash
# 安装根工作区和所有子包的依赖
pnpm install
```
### 开发
```bash
# 启动所有开发服务器CSMS + Web
pnpm dev
# 迁移数据库
pnpm --filter csms run db:migrate
# 仅启动后端
pnpm dev:csms
# 仅启动前端
pnpm dev:web
```
访问:
- 前端应用http://localhost:3000
- 后端 APIhttp://localhost:3001
### 构建
```bash
# 构建所有包
pnpm build
# 仅构建后端
pnpm build:csms
# 仅构建前端
pnpm build:web
```
### 生产启动
```bash
# 启动后端
pnpm start:csms
# 启动前端
pnpm start:web
# 生产环境使用 docker compose
docker compose up -d --build
```
## 🔧 工作区管理
### 使用 pnpm filter 运行特定包命令
```bash
# 在指定包中运行命令
pnpm --filter csms <command>
pnpm --filter web <command>
# 示例:在 csms 中运行测试
pnpm --filter csms run test
```
### 安装包到特定工作区
```bash
# 在根安装(所有包共用)
pnpm add <package> -w
# 在特定包中安装
pnpm --filter csms add <package>
pnpm --filter web add <package>
```
## 📚 技术文档
### 后端开发
- 详见 `apps/csms/README.md`
- Hono 框架文档https://hono.dev
- OCPP 协议规范https://www.openchargealliance.org
### 前端开发
- 详见 `apps/web/README.md`
- Next.js 文档https://nextjs.org/docs
- Tailwind CSShttps://tailwindcss.com
## 👤 作者
- **Timothy Yin** - master@uniiem.com
## 🔗 相关资源
- 前端仓库https://github.com/HoshinoSuzumi/helios
- OCPP 标准https://www.openchargealliance.org