OCPP 参考文档
开放充电点协议,按你在实作时真正需要的方式整理:每条报文携带什么、各个取值代表什么,以及规范里哪些地方最容易被读错。
OCPP 1.6 报文参考
全部 28 条报文,按 feature profile 分组。现场绝大多数硬件讲的就是这一版。扁平的配置项、三条消息构成的交易,安全则留给部署方自己解决。
OCPP 2.0.1 报文参考
全部 64 条报文,按 functional block 分组。重构了配置、交易与安全。新的采购规格越来越多地指定它。
OCPP 错误码
16 个 ChargePointErrorCode 取值:各自代表什么、通常由什么引起,以及需要派人到现场还是会自行恢复。
OCPP 1.6 与 2.0.1 对比
每条 1.6 报文的去向、取代扁平配置的设备模型、新增的安全配置档,以及迁移真正的代价。
OCPP 是什么
OCPP——开放充电点协议——规定了充电桩如何与管理它的后端对话。充电桩向充电站管理系统(CSMS)建立一条 WebSocket 连接,此后双向往来的全是 JSON 报文:充电桩上报状态、电表读数与交易;后端授权用户、下发配置并控制功率。
它由 Open Charge Alliance 维护,正因为有它,一家厂商生产的充电桩才能被另一家建设的网络运营。
目前多数已部署硬件使用的版本是 1.6,发布于 2015 年,至今仍占主导。2.0.1 重构了配置、交易与安全,并且越来越多地出现在新的采购规格中。两者跑在同一套传输之上,但谁也读不懂对方的报文。
这份参考文档是怎么组织的
两个版本各自一条报文一页:OCPP 1.6 有 28 条,OCPP 2.0.1 有 64 条。当某个动作在两个版本中都存在时——BootNotification、Authorize、SetChargingProfile 等等——每个版本各占一页,因为即使名称沿用,载荷也已不同。
1.6 把报文归入 6 个功能档(feature profile),这也是一致性认证的单位:Core 为必选,其余可选,充电桩需声明自己实现了哪些。这些功能档是 Core, Firmware Management, Local Auth List Management, Reservation, Smart Charging, Remote Trigger。
2.0.1 用 16 个功能块取代了功能档,并补上了 1.6 完全没有答案的整块领域——安全、显示信息、电价与费用。版本对比说明了真正改变了什么。
每一页报文的结构都相同:这条报文用来做什么、请求与响应字段及其类型和必填性、每一个枚举取值、一段可直接粘进测试的完整 OCPP-J 帧,以及实作注记——那些严格来说写在规范里、却很容易被忽略,直到花掉你一周时间的部分。