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
数据库系统原理试卷A04-20
我用我的眼睛发现妈妈的爱作文450字07-06
2015电大文秘管理与应用写作形考答案(一个就够)09-23
民俗03-30
梦想的距离作文600字06-27
医院党风廉政建设工作总结10-09
中国宝宝取名大全 - 图文06-11
固体物理1 晶体结构08-09
- 多层物业服务方案
- (审判实务)习惯法与少数民族地区民间纠纷解决问题(孙 潋)
- 人教版新课标六年级下册语文全册教案
- 词语打卡
- photoshop实习报告
- 钢结构设计原理综合测试2
- 2014年期末练习题
- 高中数学中的逆向思维解题方法探讨
- 名师原创 全国通用2014-2015学年高二寒假作业 政治(一)Word版
- 北航《建筑结构检测鉴定与加固》在线作业三
- XX县卫生监督所工程建设项目可行性研究报告
- 小学四年级观察作文经典评语
- 浅谈110KV变电站电气一次设计-程泉焱(1)
- 安全员考试题库
- 国家电网公司变电运维管理规定(试行)
- 义务教育课程标准稿征求意见提纲
- 教学秘书面试技巧
- 钢结构工程施工组织设计
- 水利工程概论论文
- 09届九年级数学第四次模拟试卷
- Specification
- 中文
- OCPP
- JSON
- 1.6
- 海迈工程量清单计价软件2008常见问题解答Ver11.5
- 湖北省荆州市高一数学期末复习提纲
- 数据库原理--范式习题
- 催化剂对TiO2薄膜微观结构及光学性质的影响文献综述
- fluent流体物性
- 外科学国家题库试题及答案汇总
- 中国经济发展面临的困境和对策
- 运动描述 匀变速直线运动的研究质量检测
- 在治理有偿补课专题会议上的讲话
- 北师大版四年级上册语文第三单元测试卷【含答案】
- 污水厂概预算
- 逻辑无环流可逆直流调速系统
- 环境影响评价期中考复习
- 《公共知识笔记》
- 中秋节国庆期间作风建设专项督查工作总结
- 江苏省启东中学2014-2015学年高二下学期第二次质量检测物理试题
- 工商行政管理简报48
- 家委会章程
- 阳茂合拢段施工方案
- 《财经法规与会计职业道德》学习笔记整理