# 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 - 后端 API:http://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 pnpm --filter web # 示例:在 csms 中运行测试 pnpm --filter csms run test ``` ### 安装包到特定工作区 ```bash # 在根安装(所有包共用) pnpm add -w # 在特定包中安装 pnpm --filter csms add pnpm --filter web add ``` ## 📚 技术文档 ### 后端开发 - 详见 `apps/csms/README.md` - Hono 框架文档:https://hono.dev - OCPP 协议规范:https://www.openchargealliance.org ### 前端开发 - 详见 `apps/web/README.md` - Next.js 文档:https://nextjs.org/docs - Tailwind CSS:https://tailwindcss.com ## 👤 作者 - **Timothy Yin** - master@uniiem.com ## 🔗 相关资源 - 前端仓库:https://github.com/HoshinoSuzumi/helios - OCPP 标准:https://www.openchargealliance.org