首页> 中国专利> 一种基于充电桩通信协议的充电桩软件更新实现方法

一种基于充电桩通信协议的充电桩软件更新实现方法

摘要

本发明公开了一种基于充电桩通信协议的充电桩软件更新实现方法,通过协议规定消息格式传递软件包数据,通过将软件包分割为预设大小的若干个数据包的方式,方法如下:S1、服务器向充电桩发送更新软件的指令消息;S2、充电桩向服务器返回的更新软件消息的应答消息;S3、充电桩根据软件版本号依次向服务器请求获取更新数据;S4、服务器根据更新数据请求,发送对应版本号的第n包更新数据给充电桩;S5、重复S3和S4,直至接收到最后一包数据后,充电桩会进行所有数据的完整性检查,如果完整性检查成功,则更新软件。本发明通过定义充电桩的软硬件通信协议,使充电桩与服务器进行数据通信,从而实现充电桩业务整体运营的管理和监控。

著录项

  • 公开/公告号CN112937354A

    专利类型发明专利

  • 公开/公告日2021-06-11

    原文格式PDF

  • 申请/专利权人 上海电享信息科技有限公司;

    申请/专利号CN202110173550.3

  • 发明设计人 苏健;钱磊;朱卓敏;周宏亮;

    申请日2019-04-26

  • 分类号B60L53/66(20190101);H04L29/06(20060101);H04L29/08(20060101);

  • 代理机构32103 苏州创元专利商标事务所有限公司;

  • 代理人吴芳

  • 地址 200030 上海市徐汇区虹桥路333号2幢162室

  • 入库时间 2023-06-19 11:24:21

说明书

本发明为申请号2019103423886、申请日为2019年04月26日、发明名称为“一种智能充电桩通信协议的实现方法”的分案申请。

技术领域

本发明涉及充电桩领域,尤其涉及一种基于充电桩通信协议的充电桩软件更新实现方法。

背景技术

在新能源汽车高速发展和政策扶持的支持下,我国电动汽车充电设施产业发展迅猛,技术不断改进升级,用户对充电设施的服务水平和智能化也提出了更高的要求,如快速查看查找充电桩,可提前预约充电桩,充电过程可实时查看,充电完成后收到通知提醒,多种快捷支付方式等。

另外,传统的使用人工巡检方式管理站点设备存在以下缺陷:不能及时发现问题,或处效率低响应迟缓,而且站点多而散,人力成本高;运维过程不透明无信息化,难以统计分析,不利于管理等。

发明内容

为了解决现有技术的问题,本发明提供了一种基于充电桩通信协议的充电桩软件更新实现方法,所述技术方案如下:

本发明提供了一种基于充电桩通信协议的充电桩软件更新实现方法,所述充电桩通信协议包括承载层、接入层和应用层,所述承载层为通信链路层,所述接入层用于定义通信传输的通道,所述应用层用于承载协议消息包;

通讯中间件使用Netty框架,拥有统一的API,适用于阻塞和非阻塞通讯,基于可扩展的事件驱动模型、可定制的线程模型和无连接数据Socket支持UDP;

所述充电桩通信协议用于实现充电桩与服务器之间的通信,基于充电桩通信协议对充电桩的软件进行更新,充电桩软件更新实现方法包括:

通过协议规定消息格式传递软件包数据,协议中定义有更新标志、软件版本号、总包数、当前包序号和数据,通过将软件包分割为预设大小的若干个数据包的方式,由服务器直接发给充电桩,其方法如下:

第1步:服务器向充电桩发送更新软件的指令消息,消息内含更新软件包的版本号及软件包包数等信息;

第2步:充电桩向服务器返回的更新软件消息的应答消息;

第3步:充电桩根据第1步收到的软件版本号,依次向服务器请求获取第n包更新数据,n从第1包开始依次递增,直至最后一包更新数据;

第4步:服务器根据第3步充电桩所发的更新数据请求,发送对应版本号的第n包更新数据给充电桩;

第5步:重复第3、4步,直至接收到最后一包数据后,充电桩会进行所有数据的完整性检查,如果完整性检查成功,则更新软件,如果完整性检查失败,则重复执行第3步至第5步。

进一步地,在基于充电桩通信协议对充电桩的软件进行更新之前,必须先完成充电桩的注册或登录,所述充电桩的注册或登录的步骤包括:

充电桩主动发起注册或登录的服务请求,所述充电桩注册或登录的方法包括:

充电桩在加电启动后,充电桩主动与服务器建立通信链路连接,并向服务器发送注册请求或登录请求,所述注册请求或登录请求中包括充电桩的设备序列号及一个可变的秘钥;其中设备序列号是唯一的并在充电桩生命周期内固定不变的,由服务器生成,并在充电桩出厂前固化在充电桩内;其中可变的秘钥可按约定方式不定期变更;

服务器对所述设备序列号及秘钥进行验证,若验证通过,则为充电桩分配电桩编码地址,至此完成充电桩的注册或登录;仅在注册或登录成功后,才可能进行其他的通信,且其他通信消息包中均包含所述电桩编码地址。

进一步地,所述充电桩与服务器之间采用一问一答的通信方式,应答方采用填空的形式回复发起方;应答方需对消息包进行CRC校验等有效性检查,判定有效消息后才作相应应答;应答的命令字和发起方相同,仅在应答标志处表示应答是否成功;应答方只做一次应答,不重复发包。

进一步地,若发送方发送消息后未收到应答方回复的消息响应,则在预设的时间间隔后,重新发送该消息;若重复重新发送消息达到预设次数后仍未收到应答消息响应,则判定为设备离线。

进一步地,所述充电桩通信协议还用于实现充电桩的开启充电,包括充电桩侧主动发起充电模式及服务器侧主动发起充电模式,

在充电桩侧主动发起充电模式下,先由充电桩向服务器发起开启充电请求,再由所述服务器向充电桩回复与所述开启充电请求消息对应的充电应答消息,在所述充电桩收到应答消息成功后,启动充电操作;在服务器侧主动发起充电模式下,先由服务器向充电桩发起开启充电指令消息,其后过程同上述充电桩侧主动发起开启的过程。

进一步地,所述充电桩通信协议还用于实现充电桩的停止充电,包括充电桩侧主动发起停止模式及服务器侧主动发起停止模式,

在充电桩侧主动发起停止模式下,先由充电桩向服务器发送停止充电请求消息,再由所述服务器向充电桩回复与所述停止充电请求消息对应的停止充电应答消息,所述充电桩无需等候服务器回复所述停止充电应答消息即可停止充电操作;

在服务器侧主动发起停止模式下,先由服务器向充电桩发起停止充电指令消息;其后过程与所述充电桩侧主动发起停止模式下的过程相同;

在充电桩侧主动发起停止模式及服务器侧主动发起停止模式下,所述充电桩向服务器发送停止充电请求消息中均包含了用于结算充电费用的帐单信息。

进一步地,所述充电桩向服务器发送的停止充电请求消息包含用于结算充电费用的账单信息,所述账单信息包含不同时间段的充电电量和充电费用明细,以及总的充电电量及费用信息,所述时间段的最小单位为分钟,且所述时间段可任意设定。

进一步地,所述充电桩通信协议还用于实现充电桩的刷卡支付,包括电子钱包卡片支付方式,包括:

服务器接收充电桩发送的刷卡请求消息,所述刷卡请求消息包括卡片卡号及余额等信息;服务器根据所述刷卡请求进行合法性鉴定,并向充电桩返回刷卡回复消息,所述刷卡回复消息包括卡片合法性鉴定结果以及卡片的欠费信息;

若所述刷卡回复消息显示卡片欠费,则充电桩会根据欠费信息对卡片执行扣款操作,并在扣款后向服务器发送扣款成功请求消息;服务器根据扣款成功请求消息消除所述电子钱包卡片在服务器的欠费信息后,回复充电桩扣款应答消息;若充电桩未收到所述扣款应答消息,则会持续重复发送扣款成功请求消息,直至服务器应答成功。

进一步地,所述充电桩通信协议还用于实现充电桩的刷卡支付,包括ID卡支付方式,包括:

服务器接收充电桩发送的刷卡请求消息,仅对内所含卡号进行鉴权,服务器返回刷卡请求消息应答给充电桩,当充电桩收到鉴权成功的消息后可开启充电服务,包括:充电桩在接到刷卡请求后,首先上报卡号给服务器,服务器会返回该卡是否欠费的消息,若返回欠费的消息,则充电桩首先进行扣费操作,扣费成功后上报给服务器。

进一步地,所述充电桩通信协议使用心跳消息来维持数据通信链路,如果充电桩处于充电状态,所述心跳消息包含实时账单信息,在出现链路异常时,服务器根据所述心跳消息进行账单结算。

本发明提供的技术方案带来的有益效果如下:

a.该通信协议便于软件平台对充电桩的数据采集后分析处理,从而全面检测充电桩的健康状态,并监控和管理充电桩业务的整体运营;

b.通讯中间件使用Netty框架,拥有统一的API,适用于阻塞和非阻塞通讯,基于灵活可扩展的事件驱动模型、高度可定制的线程模型和可靠的无连接数据Socket支持(UDP);

c.拥有更好的吞吐性能,低延迟更省资源;

d.不再因过快、过慢或超负载连接导致OutOfMemoryError,不再有在高速网络环境下NIO读写频率不一致的问题。

附图说明

为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1是本发明实施例提供的智能充电桩通信协议实现注册/登录的消息交互流程图;

图2是本发明实施例提供的智能充电桩通信协议实现开启充电的消息交互流程图;

图3是本发明实施例提供的智能充电桩通信协议实现停止充电的消息交互流程图;

图4是本发明实施例提供的智能充电桩通信协议实现刷卡的消息交互流程图;

图5是本发明实施例提供的智能充电桩通信协议实现更新的消息交互流程图。

具体实施方式

为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。

需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、装置、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其他步骤或单元。

在本发明的一个实施例中,提供了一种智能充电桩通信协议的实现方法,其中,所述充电桩通信协议包括承载层、接入层和应用层,其中,承载层为通信的实际链路,可选用MQTT等传输协议来作为承载协议帧,指定服务器端的TCP连接端口和UDP端口;接入层定义通信传输的通道及相关要求;应用层承载应用层协议消息包,针对各种状态监控告警设置等功能,实现面向监控功能的数据组织。本协议为接入层及应用层数据的描述。协议接入层协议包由起始标志、数据单元、校验单元、结束标志4部分组成。其中数据单元部分为应用层数据,做加密处理。

所述协议消息包用于实现充电桩与服务器之间的通信,所述充电桩与服务器通信用于实现充电桩的充电服务请求,所述充电服务请求包括充电桩的注册或登录的合法性鉴权、开启充电、停止充电及停止充电后的账单上传、刷卡认证与扣款、链路维持、设备状态与告警上报以及软件更新和远程控制操作,下面就各个操作一一作出说明。

所述充电桩通信协议实现充电桩的注册或登录的方法参见图1,所述方法包括:

充电桩在加电启动后,充电桩主动与服务器建立通信链路连接,并向服务器发送注册请求或登录请求,所述注册请求或登录请求中包括充电桩的设备序列号及一个可变的秘钥;其中设备序列号是唯一的并在充电桩生命周期内固定不变的,由服务器生成,并在充电桩出厂前固化在充电桩内;其中可变的秘钥可按约定方式不定期变更;

服务器对所述设备序列号及秘钥进行验证,若验证通过,则为充电桩分配电桩编码地址,至此完成充电桩的注册或登录;仅在注册或登录成功后,才可能进行其他的通信,且其他通信消息包中均包含所述电桩编码地址。

具体包括以下流程:

充电桩在加电启动后,服务器接收充电桩发送的注册请求或登录请求,所述注册请求或登录请求中包括充电桩的设备序列号;

服务器对所述设备序列号进行验证,若验证通过,则为充电桩分配电桩编码地址,至此完成充电桩的注册或登录;

在完成充电桩的注册或登录的前提下,所述充电桩与服务器之间能够进行充电操作、刷卡支付和/或更新操作的通信,且通信中的消息包中均包含所述电桩编码地址。

具体地,电桩设备在每次重新加电启动时,首先进行注册登录。电桩在注册消息内含有设备唯一序列号,服务器接收到消息后,验证序列号合法性,验证通过则分配全球唯一电桩编码给充电桩。电桩在未收到正常消息响应的情况下,需始终定时发送注册登录消息,直到服务器正常响应,否则将不能提供服务。注册和登录的区别在于,注册协议中,消息头中运营商标号为0x000x00,电桩编码为电桩的SN号,登录协议中消息头中运营商标号和电桩编号为注册协议服务器返回的内容。

协议中定义了充电桩交直流类型和充电枪数量、厂家代码、电桩软件版本、通信协议版本和秘钥。

进一步地,所述充电操作包括开启充电,参见图2,一种技术方案为充电桩主动发起开始充电,上传指令,服务器接收并返回消息(图2中虚线上方),在充电桩侧主动发起充电模式下,先由充电桩向服务器发起开启充电请求,再由所述服务器向充电桩回复与所述开启充电请求消息对应的充电应答消息,在所述充电桩收到应答消息成功后,启动充电操作。具体包括以下流程:

由充电桩主动向服务器发起开启充电请求消息;

所述服务器向充电桩回复与所述开启充电请求消息对应的充电应答消息;

所述充电桩根据所述充电应答消息启动充电操作。

另一种技术方案为服务器发起开始充电,下发指令,充电桩接收、执行并返回消息(图2中虚线下方),在服务器侧主动发起充电模式下,先由服务器向充电桩发起开启充电指令消息,其后过程同上述充电桩侧主动发起开启的过程。具体包括以下流程:

由服务器向充电桩发起开启充电指令消息;

所述充电桩根据所述开启充电指令消息向服务器发起开启充电请求消息;

所述服务器向充电桩回复与所述充电请求消息对应的充电应答消息;

所述充电桩根据所述充电应答消息启动充电操作。

协议中定义了枪号、开启方式、开启状态、充电模式、定时充电、延时充电、订单号、数据、上次充电电量和上次已充时间。

进一步地,所述充电操作还包括停止充电,参见图2,一种技术方案为充电桩主动发起停止充电,上传指令,服务器接收并返回消息(图3中虚线上方),在充电桩侧主动发起停止模式下,先由充电桩向服务器发送停止充电请求消息,再由所述服务器向充电桩回复与所述停止充电请求消息对应的停止充电应答消息,所述充电桩无需等候服务器回复所述停止充电应答消息即可停止充电操作。具体包括以下流程:

由充电桩主动向服务器发起停止充电请求消息,所述停止充电请求消息包括用于结算充电费用的账单信息;

所述服务器向充电桩回复与所述停止充电请求消息对应的停止充电应答消息;

所述充电桩根据所述停止充电应答消息停止充电操作。

另一种技术方案为服务器发起停止充电,下发指令,充电桩接收、执行并返回消息(图3中虚线下方),在服务器侧主动发起停止模式下,先由服务器向充电桩发起停止充电指令消息;其后过程与所述充电桩侧主动发起停止模式下的过程相同。具体包括以下流程:

由服务器向充电桩发起停止充电指令消息;

所述充电桩根据所述停止充电指令消息向服务器发起停止充电请求消息,所述停止充电请求消息包括用于结算充电费用的账单信息,优选采用分时段收费方式,即根据充电起止时间以及对应时段收费标准计算得到的充电费用明细;

所述服务器向充电桩回复与所述充电请求消息对应的停止充电应答消息;

所述充电桩根据所述停止充电应答消息停止充电操作。

协议中定义了本次充电电量、本次充电金额、支付方式、停止原因、充电开始时间、充电结束时间、服务费类型、服务费金额、充电明细、交流电表起止码和直流电表起止码。其中,充电明细包括分时充电段数及对应开始时间、结束时间、电量和金额,如下表所示:

由上可以看出,无论在充电桩侧主动发起停止模式还是在服务器侧主动发起停止模式下,所述充电桩向服务器发送停止充电请求消息中均包含了用于结算充电费用的账单信息,所述账单信息可包含不同时间段的充电电量和充电费用明细,以及总的充电电量及费用信息,其中时间段最小单位为分钟,且所述时间段可任意设定。

进一步地,若在充电桩在发起停止充电指令后,未收到服务器的回复消息,则会间隔若干时间后再次向服务器发起停止充电请求消息后,直至所述服务器回复成功;如在服务器回复成功之前充电桩由于链路断开或掉电等原因无法重发所述停止充电请求消息时,会在链路恢复或者重新上电,并注册或登录成功后,继续发生所述停止充电请求消息,直至服务器回复成功为止,否则所述充电桩不接受下一个充电服务请求。

进一步地,所述充电桩通信协议实现充电桩的刷卡支付的通信方法包括电子钱包卡片支付方式及ID卡支付方式:

对于电子钱包卡片支付方式,服务器接收充电桩发送的刷卡请求消息,所述刷卡请求消息包括卡片卡号及余额等信息;服务器根据所述刷卡请求进行合法性鉴定,并向充电桩返回刷卡回复消息,所述刷卡回复消息包括卡片合法性鉴定结果以及卡片的欠费信息;

若所述刷卡回复消息显示卡片欠费,则充电桩会根据欠费信息对卡片执行扣款操作,并在扣款后向服务器发送的扣款成功请求消息;服务器根据扣款成功请求消息消除所述电子钱包卡片在服务器的欠费信息后,回复充电桩扣款应答消息;若充电桩未收到所述扣款应答消息,则会持续重复发送扣款成功请求消息,直至服务器应答成功;

对于ID卡支付方式,服务器接收充电桩发送的刷卡请求消息,仅对内所含卡号进行鉴权,服务器返回刷卡请求消息应答给充电桩,当充电桩收到鉴权成功的消息后可开启充电服务。如图4所示,所述方法包括以下流程:

服务器接收充电桩发送的刷卡请求消息,所述刷卡请求消息包括卡片卡号信息;

服务器根据所述刷卡请求向充电桩返回刷卡回复消息,所述刷卡回复消息包括卡片的欠费信息;

若所述刷卡回复消息显示卡片欠费,则服务器接收充电桩发送的扣款请求消息;

服务器根据所述扣款请求消息向充电桩返回扣款回复消息;

根据所述扣款回复消息,完成扣款操作。

具体地,电桩在接到刷卡后,首先上报卡号给服务器,服务器会返回该卡片是否欠费。

如果在刷卡上报后服务器返回欠费,则电桩首先进行扣费操作,扣费成功后上报给服务器。此处区分卡的类型是电子钱包,还是ID卡,ID卡上没有钱,扣费从软件平台上扣取。

协议中定义了卡号、余额、应扣金额(电子钱包)、订单数和订单结构。

进一步地,所述更新操作的通信方法为服务器下发更新文件,充电桩接收、执行并返回消息,通过协议规定消息格式传递软件包数据,通过将软件包分割为预设大小的若干个数据包的方式,由服务器直接发给充电桩,参见图5,所述方法包括以下流程:

第1步:服务器向充电桩发送更新软件的指令消息,消息内含更新软件包的版本号及软件包包数等信息;

第2步:充电桩向服务器返回的更新软件消息的应答消息;

第3步:充电桩根据第1步收到的软件版本号,依次向服务器请求获取第n包更新数据,n从第1包开始依次递增,直至最后一包更新数据;

第4步:服务器根据第3步充电桩所发的更新数据请求,发送对应版本号的第n包更新数据给充电桩;

第5步:重复第3、4步,直至接收到最后一包数据后,充电桩会进行所有数据的完整性检查,如果完整性检查成功,则更新软件,如果完整性检查失败,则重复执行第3步至第5步。

协议中定义了更新标志、软件版本号、总包数、当前包序号和数据。

在本发明的实施例中,所述充电桩通信协议使用心跳消息来维持数据通信链路,如果充电桩处于充电状态,所述心跳消息会包含账单信息,在出现链路异常时,服务器可根据所述心跳消息进行账单结算。

服务器向充电桩实施控制和查看状态时,除了用固定的设置和查询指令外,还包括自定义指令,使用所述自定义指令时,所述服务器将用户输入的自定义指令数据内容按协议格式进行封装后发送给所述充电桩,由所述充电桩自行解析、执行,并按协议格式将回复数据封装在自定义数据段发给所述服务器,所述服务器在所述回复消息中检出自定义数据段,并显示给用户。

在本发明的实施例中,电桩与服务器之间的通信采用一问一答方式(除重新注册请求外),应答方采用填空的形式回复发起方。应答方需对消息包进行CRC校验等有效性检查,判定有效消息后才做相应应答。应答的命令字和发起方相同,仅在应答标志处表示应答是否成功。应答方只做一次应答,不重复发包。

为确保消息的送达,消息发送方如果未收到消息响应,则需要在间隔一定时间后重新发送该消息,直到收到消息应答为止。如果发送的后续消息重要性级别高于当前重新发送的消息,则先发送重要性级别高的消息及其重发消息。

设定重发间隔,建议设定为1s到30s之间,视消息重要性程度自由选择,但最长不超过2分钟。

在消息重发若干次未收到应答消息,则可判定为设备离线。设备及服务器做相应处理,其中电桩在离线后需要把服务器端发起的正在充电中的设备置于关闭,对于刷卡结算的充电桩可根据需要,继续充电或关闭充电状态。

本发明通过定义充电桩的软硬件通信协议,使充电桩与软件平台进行数据通信,从而实现充电桩的智能化,便于管理和监控充电桩业务的整体运营。

该通信协议便于软件平台对充电桩的数据采集后分析处理,从而全面检测充电桩的健康状态,并监控和管理充电桩业务的整体运营。

通讯中间件使用Netty框架,拥有统一的API,适用于阻塞和非阻塞通讯,基于灵活可扩展的事件驱动模型、高度可定制的线程模型和可靠的无连接数据Socket支持(UDP)。并且拥有更好的吞吐性能,低延迟更省资源。不再因过快、过慢或超负载连接导致OutOfMemoryError,不再有在高速网络环境下NIO读写频率不一致的问题。

以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号