OCPP_1.6_JSON_Specification 中文
更新时间:2024-05-02 04:04:01 阅读量: 综合文库 文档下载
- ocpp1.6协议推荐度:
- 相关推荐
Open Charge Point Protocol JSON 1.6,
OCPP-J 1.6 Specification
1
目录
1.
简介 .......................................................................................................................................... 4 1.1. 1.2. 1.3. 1.4. 1.5. 1.6. 2. 3.
本文件的目的 ............................................................................................................... 4 目标观众....................................................................................................................... 4 OCPP-S and OCPP-J ........................................................................................................ 4 协议 .............................................................................................................................. 4 定义及缩写................................................................................................................... 5 文献 .............................................................................................................................. 6
效益与问题 .............................................................................................................................. 7 连接 .......................................................................................................................................... 7 3.1.
客户端请求................................................................................................................... 7 3.1.1. 3.1.2. 3.1.3. 3.2. 3.3.
连接URL ........................................................................................................... 7 OCPP 版本 ........................................................................................................ 8 一个开放的HTTP请求的例子 ........................................................................ 9
服务器响应................................................................................................................... 9 更多信息..................................................................................................................... 10
4. RPC框架 ..................................................................................................................................... 10
4.1. 介绍 ............................................................................................................................ 10
4.1.1. Synchronicity 同步性 ........................................................................................ 11 4.1.2. 字符编码 ............................................................................................................. 11 4.1.3.消息类型 ............................................................................................................ 11 4.2. 用于不同消息类型的消息结构 ..................................................................................... 12
4.2.1. CALL ....................................................................................................................... 12 4.2.2. CallResult ............................................................................................................ 13 4.2.3. CallError ................................................................................................................ 14
5. 连接 ........................................................................................................................................ 17
5.1. 压缩 .............................................................................................................................. 17 5.2. 数据的完整性 ................................................................................................................ 17 5.3. WebSocket Ping与OCPP的Heartbeat ....................................................................... 17
2
5.4. 重新连接 ...................................................................................................................... 18 5.5. 网络节点的层次结构 ................................................................................................... 18 6. 安全 ........................................................................................................................................... 18
6.1. Network-level security 网络级安全 ............................................................................ 18 6.2. OCPP-J over TLS ............................................................................................................. 18
6.2.1. 加密 ................................................................................................................... 19 6.2.2. 充电点认证 ......................................................................................................... 19 6.2.3. 它的安全性和不安全性 ...................................................................................... 23 6.2.4. 适用于OCPP-S ..................................................................................................... 23
7. 配置 ........................................................................................................................................... 24
3
1. 简介
1.1. 本文件的目的
本文档的目的是向读者提供创建正确信息所需的信息。
JSON实现互操作的开放充电协议(OCPP-J)。我们将试图解释什么是强制性的,什么是好的做法和不应该做的,根据我们自己的经验。毫无疑问误解或含糊不清仍然存在,但通过本文件,我们的目的是尽可能防止他们。
1.2. 目标观众
本文件的目的是为开发人员希望了解一个和/或实现OCPP JSON正确互操作方式。在服务器上实现Web服务的基本知识假定嵌入式设备。
1.3. OCPP-S and OCPP-J
随着介绍OCPP 1.6,有两种不同味道的OCPP下基于SOAP协议实现,有可能使用更紧凑的JSON替代方案。为了避免混乱,在通信的类型实现我们建议使用不同的后缀j和s表示JSON或SOAP。一般来说, OCPP-J表示JSON和OCPP-S来表示SOAP。特定版本的术语将OCPP1.6J或OCPP1.2S。如果没有后缀规定是OCPP1.2或1.5,那么必须实现SOAP。从版本1.6来看,这不再是隐式的并应该永远清楚。如果一个系统同时支持JSON和SOAP变量,则此版本则被认为是好的标签OCPP1.6JS而不是OCPP1.6。
本文档介绍了OCPP-J,如果想了解OCPP-S请查看文档:[ OCPP_IMP_S ]
1.4. 协议
本文件中的“必须”、“不得”、“必要”、“应当”、“不应该” “建议”、“可能”和“可选” 等关键词应将被解释如在[ RFC2119 ]所描述的一样。
4
1.5. 定义及缩写
IANA 因特网编号管理局 (www.iana.org) OCPP-J OCPP在使用JSON的Web Socket通信。 具体的OCPP版本上应注明J延伸。ocpp1.5j意味着我们正在谈论1.5的JSON / WebSocket实现。 OCPP-S OCPP communication over SOAP and HTTP(S). As of version 1.6 this should explicitly mentioned. Older versions are assumed to be S unless clearly specified otherwise, e.g. OCPP1.5 is the same as OCPP1.5S OCPP通信在SOAP和HTTP(S)。由于版本1.6中应该明确提到。除非清楚另有规定,旧版本假定为S,如ocpp1.5是和ocpp1.5s一样的 RPS WAMP 远程过程调用 服务器是一个开放的WebSocket协议来提供消息传递模式来处理异步数据。
5
1.6. 文献
[JSON] [OCPP_IMP_S] [RFC2119] http://www.json.org/ OCPP SOAP implementation specification “Key words for use in RFCs to Indicate Requirement Levels”. S. Bradner. March 1997. http://www.ietf.org/RFC/RFC2119.txt [RFC2616] “Hypertext Transfer Protocol?—?HTTP/1.1”. http://tools.ietf.org/html/RFC2616 [RFC2617] “HTTP Authentication: Basic and Digest Access Authentication”. http://tools.ietf.org/html/RFC2617 [RFC3629] “UTF-8, a transformation format of ISO 10646”. http://tools.ietf.org/html/RFC3629 [RFC3986] “Uniform Resource Identifier (URI): Generic Syntax”. http://tools.ietf.org/html/RFC3986 [RFC5246] “The Transport Layer Security (TLS) Protocol; Version1.2”. http://tools.ietf.org/html/RFC5246 [RFC6455] “The WebSocket Protocol”. http://tools.ietf.org/html/RFC6455 [WAMP] [WIKIWS] [WS]
6
http://wamp.ws/ http://en.wikipedia.org/wiki/WebSocket http://www.websocket.org/ 2. 效益与问题
Web Socket协议在【RFC6455】里有定义。早期的草案工作实现Web-Socket规范的存在,但OCPP-J实现使用在 [ RFC6455]描述的协议。
注意,WebSocket TCP之上的定义自己的消息结构。在TCP级别,通过WebSocket发送的数据,被包裹在一个WebSocket帧头。使用框架时,这是完全透明的。然而对于一个嵌入式系统工作时, WebSocket图书馆不可用并且她/他必须依据[RFC6455] 正确地框架信息。
3. 连接
用OCPP-J连接一个充电点和一个中央系统,中央系统扮演一个WebSocket服务器,充电点扮演WebSocket客户端。
3.1. 客户端请求
建立一个连接,充电点启动一个WebSocket连接如在[ RFC6455 ] 第4节“所描述的:开场握手”。
OCPP-J在URL和WebSocket子协议施加额外的约束,在下面的4.1.1和4.1.2这两个部分会详细介绍。
3.1.1. 连接URL
为了启动一个WebSocket连接,充电点需要一个URL([ RFC3986 ])连接。这个URL从此被称为“连接URL”。这个连接URL是特定于充电点的。充电点的连接URL包含充电点身份使中枢系统知道充电点属于哪一个WebSocket连接。
支持OCPP-J的中央系统必须至少提供一个OCPP-J端点URL,从该点电荷应该得到它的URL连接。这OCPP-J端点URL可以是任何以“ws”或“wss”方案URL。充电点如何获得OCPP-J端点URL不是本文档的范围。
为了得到连接URL,充电点通过添加到路径“/”, 然后识别唯一地充电点串来修改OCPP-J端点URL(U + 002f固相线)。这种独特的标识字符串必须成编码如在 [RFC3986 ] 描述中一样有必要。
7
例1:身份为”CP001”的一个点电荷连接到一个中央系统OCPP-J端点URL”ws://centralsystem.example.com/ocpp”这会给出下面的连接URL: ws://centralsystem.example.com/ocpp/CP001
例2:身份为“RDAM123”的一个点电荷连接到一个中央系统OCPP-J端点URL wss://centralsystem.example.com/ocppj”这将给以下网址: wss://centralsystem.example.com/ocppj/RDAM 123
3.1.2. OCPP 版本
精确的OCPP版必须在SEC- WebSocket协议字段指定。这应该是下列值之一: 表1:OCPP版本 版本 1.2 1.5 1.6 2.0
对于OCPP1.2,1.5和2.0是官方WebSocket子协议名称的值。他们本身注册在因特网编号管理局。
注意:OCPP1.2和1.5在列表中。由于WebSocket解决方案中的JSON是独立的实际消息内容,所以也可用于旧版本OCP。请记住,在这些情况下,实现还应该保持对基于SOAP的解决方案的支持,以便互操作。
将OCPP版包含在OCPP-J端点URL字符串的一部分是很好的实践。如果你运行一个Web服务,可以在同一个OCPP-J端点URL处理多个OCPP版本,这是没有必要的课程。
8
Websocket 子协议名称 OCPP1.2 OCPP1.5 OCPP1.6 OCPP2.0
3.1.3. 一个开放的HTTP请求的例子
以下是一个OCPP-J连接握手的开放HTTP请求的例子: GET /webServices/ocpp/CP3211 HTTP/1.1
Host: some.server.com:33033 Upgrade: websocket Connection: Upgrade
Sec-WebSocket-Key: x3JJHMbDL1EzLkh9GBhXDw== Sec-WebSocket-Protocol: ocpp1.6, ocpp1.5 Sec-WebSocket-Version: 13
黑体部分是在每一个WebSocket握手请求时会出现,其他部分都是具体的例子。 在
这
个
例
子
中
,
中
央
系
统
的
OCPP-J
端
点
URL
是
\。充电点的唯一标识符”CP3211”,因此请求路径为\。
根据sec- WebSocket 协议报头,充电点在这里显示,它可以使用OCPP1.6J和OCPP1.5J,更偏向于前者。
在这个例子中,另一头是HTTP和WebSocket协议的一部分,与那些实施OCPP-J除第三方WebSocket库之外无关。这些标题的作用在[RFC2616] 和 [RFC6455]中有解释。
3.2. 服务器响应
在接收充电点的要求,中央系统与响应完成握手如在[RFC6455] 描述。 以下为OCPP-J-specific申请条件:
? 如果中央系统不能识别URL路径中的点电荷标识符,它应该发送状态404的HTTP响应
和中断WebSocket连接如在[ RFC6455 ]所描述。
? 如果中央系统不同意使用一个由客户提供的子协议,它必须与一个反应不一秒
WebSocket协议头,然后立即关闭WebSocket连接完整的WebSocket握手。
所以如果中央系统接受上述例子的要求并且同意使用充电点OCPP1.6J,中央系统的响应将如下所示:
9
HTTP/1.1 101 Switching Protocols Upgrade: websocket Connection: Upgrade
Sec-WebSocket-Accept: s3pPLMBiTxaQ9kYGzzhZRbK+xOo= Sec-WebSocket-Protocol: OCPP1.6
黑体部分是在每一个WebSocket握手响应中找到,其他部分都是具体的例子。 Sec-Web Socket-Accept的作用在[ RFC6455 ]中有解释。 SEC -WebSocket协议头指示服务器将在此连接使用OCPP1.6J。
3.3. 更多信息
对于那些做自己实现WebSocket握手的,[WS]和[ WIKIWS ]给更多关于WebSocket协议的信息。
4. RPC框架
4.1. 介绍
一个WebSocket是一个全双工连接,简单来说就是数据可以从管道中的进出,进出之间没有明确的关系。根据请求和响应,WebSocket协议本身没有提供任何方法与消息。对这些请求/响应关系,我们需要在顶部的WebSocket有个小协议。这个问题发生在WebSocket更多的案例,所以有现有的方案去解决它。使用最广泛的是WAMP(见[WAMP])。但随着现有的版本框架处理RPC不是WAMP兼容当前版本。由于所需的框架很简单我们决定定义自己的框架,受到WAMP的启发,删除了我们不需要的并加上了我们发现所丢失的。
基本上,我们需要的是非常简单的:我们需要发送一个消息(电话)和收到回复(callresult)或解释为什么信息不能妥善处理(callerror)。对于未来可能的兼容性我们将对这些消息进行编号同步服务器。我们实际的OCPP消息将被放入一个至少包含消息的类型的包装,一个独特的消息ID和有效载荷,该OCPP消息本身。
10
正在阅读:
OCPP_1.6_JSON_Specification 中文05-02
新疆事业单位招聘信息网02-08
《计算机网络》复习题09-27
2014年黑龙江公务员考试行测资料分析模拟试题(24)03-08
2015少先队建队日校长讲话稿04-22
河南城建学院道路勘测课程设计03-08
- 教师招聘考试真题(中学数学科目)及答案 - 图文
- 读《光辉的旗帜》有感
- 学生会副部长竞选讲稿
- 江苏省石油化工码头企业安全生产标准化考评细则 - 图文
- 2016尔雅 民俗资源与旅游 期末考试答案 整理
- 九年级华师大《二次函数》全章教案
- 生化作业6
- 串口资料
- 2014北大附中初三数学二模复习策略
- 曼尼希反应
- 努肉孜节2012
- 卫生部关于印发《关于卫生监督体制改革实 施的若干意见》和《关
- 《生活中的线条》教学设计
- 广告学概论讲义 - 图文
- VS1真空断路器原理图及两种VS1真空断路器的介绍
- 晨读倡议书 - 致全国青年朋友
- 建筑物理复习(建筑热工学) - 图文
- 高级消防与精通急救题库 doc
- YJK软件的优化设计
- 小学生必背古诗100首(带拼音)
- Specification
- 中文
- OCPP
- JSON
- 1.6
- 海迈工程量清单计价软件2008常见问题解答Ver11.5
- 湖北省荆州市高一数学期末复习提纲
- 数据库原理--范式习题
- 催化剂对TiO2薄膜微观结构及光学性质的影响文献综述
- fluent流体物性
- 外科学国家题库试题及答案汇总
- 中国经济发展面临的困境和对策
- 运动描述 匀变速直线运动的研究质量检测
- 在治理有偿补课专题会议上的讲话
- 北师大版四年级上册语文第三单元测试卷【含答案】
- 污水厂概预算
- 逻辑无环流可逆直流调速系统
- 环境影响评价期中考复习
- 《公共知识笔记》
- 中秋节国庆期间作风建设专项督查工作总结
- 江苏省启东中学2014-2015学年高二下学期第二次质量检测物理试题
- 工商行政管理简报48
- 家委会章程
- 阳茂合拢段施工方案
- 《财经法规与会计职业道德》学习笔记整理