---
# System prepended metadata

title: 充電樁
tags: [SPDAGB]

---

# 充電樁

:::success
充電樁管理系統應用實務依據 OCPP 1.6 標準與智慧杆技術規範，涵蓋充電樁狀態監控、交易管理與設備控制，適用於電動車充電樁與智慧杆系統整合。
:::

## 欄位與資料定義

### 基礎設備資訊

| 欄位名稱 | 格式 | 必備 | 說明 | OCPP 對應訊息  |
| -------- | -------- | -------- | -------- | -------- |
| **廠商資訊**	|				
| Vender | String | M | 廠商 | 記錄設備實際製造廠商名稱 |
| Model | String | M | 型號 |	記錄設備型號 |
| Serial | String | M | 序號 | 記錄設備唯一序號 |
| **系統與應用欄位**	|				
| chargePointId	| String | M | 充電樁唯一識別碼	| ChargePoint.id |
| poleId | String | O |	智慧杆編號 | 關聯杆體資訊 |
| vendor |	String	| M	| 製造商名稱	 | BootNotification |
| firmwareVersion | String | M | 韌體版本 |	BootNotification |
| connectorType	| String | M | 充電接口類型 |	Enum：Type1 / Type2 /CCS |
| maxPower | Float | M	| 最大輸出功率(kW) |	硬體規格 |
| voltage |	Float |	O |	當前電壓(V)	| MeterValues |
| current | Float |	O	| 當前電流(A)	| MeterValues |


### 充電狀態資訊

| 欄位名稱 | 格式 | 必備 | 說明 | OCPP 對應訊息  |
| -------- | -------- | -------- | -------- | -------- |
| sessionId	| String |	M |	充電工作階段 ID |	StartTransaction |
| status | String | M | 充電狀態 | Enum： Available Preparing / Charging / Suspended / Error |
| startTime | DateTime | O | 充電開始時間	| StartTransaction |
| endTime | DateTime | O |	充電結束時間 | StopTransaction |
| energyDelivered |	Float |	O | 已供電量(kWh) | MeterValues |
| currentPower | Float | O | 即時功率(kW) | MeterValues |
| userId | String | O | 使用者識別碼 | IdTag |
| transactionId | Integer | O | 交易流水號 |	TransactionId |

### 控制指令參數

| 欄位名稱 | 格式 | 必備 | 說明 | OCPP 對應訊息  |
| -------- | -------- | -------- | -------- | -------- |
| command	| String	| M	| 控制指令 |	Enum： RemoteStart / RemoteStop / Reset / UnlockConnector |
| targetPower	| Float	| O	| 目標充電功率(kW) |	ChargingProfile |
| schedule	| JSON	| O	| 充電排程設定 |	SetChargingProfile |
| authId	| String	| O	| 授權識別碼	| 用於 RemoteStart |

## 資料結構與操作規則

### 主要資料結構

```json!
// 充電樁狀態回報（即時）
{
  "chargePointId": "CP-001",
  "poleId": "POLE-1024",
  "status": "Charging",
  "connectorType": "CCS",
  "voltage": 380.5,
  "current": 32.1,
  "currentPower": 12.2,
  "energyDelivered": 45.7,
  "sessionId": "SESSION-20231001-001",
  "userId": "USER-5566",
  "timestamp": "2023-08-15T14:30:00Z"
}

// 控制指令範例
{
  "command": "RemoteStart",
  "chargePointId": "CP-001",
  "authId": "CARD-887766",
  "targetPower": 60.0,
  "schedule": {
    "startTime": "2023-08-15T22:00:00Z",
    "duration": 120
  }
}
```

### API 端點與操作

| 操作類型 | HTTP 方法 | 端點路徑 | 說明 | 
| -------- | -------- | -------- | -------- |
| 狀態回報	| POST |	/api/v1/charging/status	| 即時傳輸充電狀態 |
| 啟動充電	| POST |	/api/v1/charging/sessions/start	| 遠端啟動充電 |
| 停止充電	| POST |	/api/v1/charging/sessions/stop	| 遠端停止充電 |
| 查詢紀錄	| GET |	/api/v1/charging/sessions	| 依時間範圍查詢充電紀錄 |
| 更新設定	| PUT |	/api/v1/charging/config	| 修改充電樁參數設定 |


### 交換頻率與限制

* 即時數據：充電狀態變化5秒內上報，功率值每秒採樣
* 批量數據：交易紀錄每15分鐘批次上傳
* 控制指令：需在1秒內回應
* API 限流：每設備每秒最多10次請求

## 錯誤處理機制

### 錯誤代碼表

| 錯誤碼 | 說明 | 處理建議 |
| -------- | -------- | -------- | 
| 400	| 指令參數缺失/格式錯誤	| 檢查JSON結構與數值範圍 |
| 403	| 充電樁忙碌/無法執行指令 | 檢查設備狀態後重試 |
| 404	| 充電樁 ID 不存在	| 驗證設備註冊狀態 |
| 409	| 充電槍未就緒	| 檢查連接器狀態 |
| 500	| 充電樁內部錯誤	| 重試或聯繫廠商技術支援 |

### 錯誤回傳格式

```json!
{
  "errorCode": "OCPP-4001",
  "message": "連線器未解鎖，無法啟動充電",
  "details": {
    "chargePointId": "CP-001",
    "connectorId": 1,
    "timestamp": "2023-08-15T14:35:00Z"
  }
}
```

## OCPP 1.6 對應實作

### 主要指令對應表

| OCPP指令 | API端點 | 說明 |
| -------- | -------- | -------- | 
| BootNotification	| POST /device/register	| 設備註冊 |
| Heartbeat	| POST /healthcheck	| 心跳檢測 |
| StartTransaction	| POST /sessions/start |	啟動交易 |
| StopTransaction	| POST /sessions/stop |	結束交易 |
| MeterValues	| POST /telemetry	| 計量數據上傳 |

### 安全驗證機制

* TLS 1.2 + 加密：所有 API 傳輸強制使用 HTTPS
* 雙向認證：充電樁需憑數位證書連接
* OCPP-JSON 編碼：訊息採用 RFC7159 標準

### 測試建議

提供以下測試情境模擬資料
* 正常充電流程（含啟動/計量/停止）
* 異常中斷情境（斷電/網路中斷）
* 併網負載測試（多槍同時充電）