ARTICLE DETAIL

资讯详情

深耕网站SEO优化与搜索引擎排名提升的一线实战洞察。

OCPP-J-1.6 解读

OCPP-J-1.6 解读 一、简介OCPP1.6 分为-J、-S不用关注-S目前基本只用-J如下。那好主包接下来的讲解站在充电桩角度的哈~因此主包推荐如下学习文档1、ocpp-1.6 edition 2OCPP 业务层报文重要2、ocpp-j-1.6-specificationHTTP 握手、Cjson帧格式重要3、其他按需学习二、整体流程图在OCPP1.6 整个流程中从TCP连接开始的流程如下主要有1、TCP 三次握手TCP 流程主包这里不赘述2、若需加密则还需要走TLS流程TLS 流程主包这里不赘述3、HTTP 握手HTTP 转 WebSocket4、OCPP1.6 的业务流程三、HTTP 握手在 TCP 建立后紧接着就是发起一次 HTTP 握手了。3.1、URLURL 的全称是 Uniform Resource Locator中文译为统一资源定位符。URL 是互联网上用来标识和定位资源如网页、图片、文件等地址的字符串也就是我们平常说的网址。通常格式协议://主机名:端口/路径?查询参数#片段所以 EVSE 在连接 OCPP 平台前肯定是要有 URL 才能连接的OCPP 的 URL 如下3.2、HTTP Req当 TCP 连接后EVSE 发起 HTTP 握手请求请求内容如下1、黑色加粗字体是固定的2、其他根据 URL 填充3、KEY值生成规则3.3、HTTP ResOCPP 平台收到 EVSE 的 HTTP Req 后需要返回如下的 HTTP 响应信息As we all know当 HTTP Req 的路径或其他信息出错了平台可以回复 404 等其他错误码。3.4、Accept 值因此EVSE 在收到 HTTP Res 响应后需要做以下验证1、HTTP 响应码是否为 1012、用自身生成的 KEY 进行同样的运算得到的 My_Accept 和 Accept 对比是否一致至此HTTP 握手阶段工作完成后续 EVSE 和 OCPP 平台的通信机制将遵循 WebSocket四、WebSocket4.1、为啥要用 WebSocket 呢HTTP 的机制是“请求-响应”只能客户端发起Req服务端响应Res这种机制不方便。因此我们在握手的时候发起 HTTP请求的同时 Upgrade WebSocket后续通信机制变为WebSocket。WebSocket 的核心价值全双工Full-Duplex持久连接1、一次握手长期保持连接2、服务器和客户端都能主动发送消息、主动断开、主动探测心跳 Ping Pong3、这正是 OCPP 需要的中央系统要主动下发远程启动充电等指令4.2、WebSocket 帧格式4.2.1、帧格式4.2.2、Hi 举例说明4.2.3、举例说明4.2.4、多包发送4.3、WebSocket 通信机制WebSocket 阶段简单来说就三个数据传输、心跳、断连4.3.1、三种心跳OCPP 通信基于三层分别是 TCP、WebSocket、OCPP应用层因此通常会有三层的心跳机制。4.3.2、断连处理五、业务层报文定义在 HTTP 握手通过以后接下来就是进行业务流程的通信了OCPP 报文是基于 Cjson 帧格式的。5.1、请求/响应的机制首先我们知道业务层的通信机制也是请求/响应的模式5.2、OCPP 帧格式5.2.1、消息类型5.2.2、消息ID5.2.3、Call5.2.4、CallResult5.2.5、CallError例如当某个协议不支持的时候可以如下回复 CallError5.3、安全关于 OCPP 安全方面的内容可以参考 OCPP1.6 OCAOCPP1.6 白皮书下面简单讲解一下。5.3.1、With TLSWhat can I say通信要安全就只能 TCP 连接后走 TLS 的四次握手咯TLS 还可以选择单端or双端验证验证双方的证书.....那主播这里就不讨论 TLS 内容TLS 内容还是很多滴。5.3.2、HTTP Basic 认证当 TLS 阶段完成加密和证书验证后接着就是 HTTP 握手这里要进行 HTTP Basic 认证。六、业务层报文接下来将要讲解 OCPP 业务层的报文了重点内容来了~那主包将用正常充电流程例如刷卡启动的业务场景来讲解报文吧其他的业务场景自行阅读协议学习吧~6.1、充电流程6.2、报文详解6.2.1、BootNotification登录注册上线通知举例说明6.2.2、Heartbeat按 interval 定期发送保持心跳举例说明6.2.3、StatusNotification当桩状态变化时上报如空闲-插枪-充电中....举例说明6.2.4、Authorize当桩端启动如刷卡启动需要走鉴权鉴权通过后才能 StartTransaction举例说明6.2.5、StartTransaction启动充电事务启动交易。举例说明6.2.6、MeterValues充电中周期上报电表数据。举例说明6.2.7、StopTransaction停止充电事务停止充电举例说明七、总结其他的业务场景流程自行阅读 OCPP 文档学习吧主包就将这么多~
返回列表