电动汽车智能充电桩管理系统的设计与开发
2022-01-21张明慧周天睿于静金民
张明慧,周天睿,于静,金民
(1.郑州师范学院信息科学与技术学院,郑州 450044;2.海南师范大学物理与电子工程学院,海口 571158)
0 引言
电动汽车不仅可以实现节能减排,且纯电动汽车的制造工艺相对简单,仅需要提供充电设备即可。为推动电动汽车的发展,我国政府在2015年颁布《电动汽车基础设施发展指南(2015—2020年)》,计划到2020年,建成480万个充电桩。随之而来的问题是对充电桩的建设、管理以及推广。
在充电电桩的应用和推广过程中,往往因为充电不便而导致电动汽车的销售受到一定程度的影响。不方便的主要原因除了充电桩数量不足,更多在于充电电桩的管理服务不够完善。充电桩分布零散,信息不互通,使很多车主在充电时需要切换多个充电服务平台来选择充电桩。甚至会出现接入充电桩准备充电时,却发现充电桩是“僵尸桩”或者已经有人使用的情况,严重影响了用户的体验。
在充电设备的应用服务上,美国、德国、日本等国家较早开始投入建设,并且发展的比较成熟[1]。美国处于领先地位,ChargePoint是最具代表性的充电桩运营商。其智能充电系统提供充电设施硬件和充电服务管理,将不同的充电设施接入云服务平台。它以手机APP为基础,利用在线地图,完成充电桩位置信息在整个美国范围内的共享,方便用户寻找充电站。同时为车主提供充电状态查询服务,能够实时显示充电时间和电量、充电完成、充电意外中断、故障报警和节能减排效果等信息。在“产品+服务”的模式下,与地图运营商、互联网公司和电动汽车企业合作,联系充电桩和充电APP,构造了完整的充电服务生态链[2]。
欧洲国家电动汽车充电服务的运营以德国和丹麦为代表,主要使用充电APP为电动汽车用户提供充电站定位和远程监控服务[3]。例如:实时掌握充电时间、充电电量以及充电故障等。对于充电行程的安排,用户可以自由取消、变更。在充电费用的支付方式上也比较灵活。日本的电动汽车行业发展迅猛。这得益于政府的大力支持和车企的配合。在日本,许多地点都安置了充电桩,但主要的消费方式是通过实体充电卡[4]。
近几年,我国电动汽车行业也在快速发展。政府对充电设施基础建设投入了大量精力,充电桩的数量不断增加,但是充电服务有待提高[5]。目前,电动汽车使用的充电桩只要符合国标都是通用的,主要的充电方式是通过充电APP找桩充电。市场中使用最多的APP有特来电、e充电和星星充电等。每一款APP都有自己的特点,但是由于不同的运营商所管辖的范围有区别,他们之间相互独立,不能共享充电桩的信息,导致车主需要在手机中安装多个充电APP以便能够顺利充电。这一点给用户的手机带来了多余的负担。
信息的不互通、找桩难、用户满意度低等问题引发了一些国内研究者的思考。王东琴[6]基于Android开发了一款能够对充电桩信息进行检索并预约导航的安卓APP,可以实时获取充电桩数据,也能对充电订单进行记录,方便用户对充电桩的使用。在功能上比较完善,但是仅支持Android系统使用。申曜荣[10]经过对多个城市的调研,研究新能源汽车充电桩的实际情况,详细设计了集智慧充电后台管理系统、车主APP和充电站运行管理系统于一体的智能充电系统。它能够快速准确地查找充电桩,给电动汽车充电服务强有力的支撑,使运营管理高效有序,但是在界面的设计上略显呆板。本文开发了供车主使用的微信小程序,可以在多个系统平台运行,界面美观,可操作性强。为管理员创建了后台管理系统,对解决充电桩信息不能互通、充电APP过多占用手机内存的问题有所帮助。
1 系统总体设计
电动汽车智能充电桩管理系统集Web服务器端、小程序用户端和数据库三部分于一体,采用B∕S架构和C∕S架构相结合的方式开发。数据库为系统数据提供高安全性的保存,具体功能的实现在业务逻辑层完成,系统的表现层是Web服务器端和小程序端。
Web服务器端为B∕S架构,供系统管理员使用。数据加工在Web Server完成,最后返回处理信息到浏览器。客户端采用的是C∕S架构,客户端访问服务器端存储的数据采用数据库连接的方式。客户端和服务器端接受C∕S架构分配的任务,减少系统的通讯开销。
Web服务器端分为三个模块,分别是后台管理系统的管理、监控和充电模块。充电模块由电桩管理、微信用户和订单管理组成。电桩管理包括系统对接入的充电桩进行信息分类存储,支持按照充电设备的编号、型号、制造厂商等多种条件进行检索;对充电设备的工作状态、报警信号、故障信号进行采集;控制充电桩的启动、终止;调整每个充电桩的充电价格;注销废弃充电桩。系统平台保存微信用户信息,对所有的充电交易记录进行存储,支持精细化的订单管理和检索功能。在系统后台运维Web页面,可设定筛选条件,查询并展示符合条件的历史数据,例如:充电交易记录。
用户端提供充电桩地图,具有获取自身定位的功能。在用户未登录时只能浏览充电地图而不能使用充电桩,需要先进行注册、登录。绑定可用充电桩开始充电后,自动生成订单,在订单页面可以远程结束充电。用户在小程序里可以查看个人信息与订单信息。系统总体设计如图1所示。
图1 系统功能
2 充电电桩管理模块设计
控制类通用数据处理基类BaseController.java,封装了编程常用的方法。实体类基类BaseEntity.java,包含所有对象的共有属性,便于新建对象继承。
电桩管理控制类:ElectricController.java,处理电桩管理页面传来的请求,比如新增电桩。
电桩实体类:Electric.java,用于记录充电桩的信息,与数据库中的充电桩表保持一致。
电桩管理业务逻辑接口类:IElectricService.java,提供ElectricController调用的方法。
电桩管理业务逻辑实现类:ElectricServiceImpl.java,实现IElectricService中的方法。
电桩管理数据持久类:ElectricMapper.java,访问数据库,完成数据库实体的映射。
图2 充电电桩管理类图
3 系统实现
电动汽车智能充电桩平台的后台管理系统通过Web浏览器访问,主要是为超级管理员提供用户、充电桩和订单的管理。此外,还对后台管理系统自身进行管理和监控,例如:显示在线用户、记录登录日志和操作日志、菜单管理等。
系统管理包括用户、角色、菜单和日志四部分管理。超级管理员具有最高权限。在用户管理模块,可以为后台管理系统添加管理员、进行管理员的删除、信息修改等操作。超级管理员也可以对系统的菜单进行调整。
超级管理员登录后台管理系统后可在系统监控模块查看在线用户,这一监控功能应用Shiro的过滤器实现。在线用户监控为系统安全增加一层保障,管理员可以强退不安全用户。同时还对系统运行的CPU、Java虚拟机、服务器等进行服务监控,对系统使用的数据源、SQL、session进行数据监控。
3.1 充电电桩模块设计
充电模块是Web服务器端的核心功能,分为电桩管理、订单管理和微信用户三个部分。
3.1.1 电桩管理
在电桩管理页面可以清晰的看到管理员能够添加、删除充电桩、修改充电桩信息以及数据导出等,支持按照多种方式检索充电桩。
图3 电桩管理页面
在电桩管理页面点击“添加”,录入信息包括充电桩的名称、型号、制造厂商等。使用腾讯地图坐标拾取器获取经纬度,输入到电桩信息中,实现在充电地图上标点的功能。如果某充电桩不再使用,管理员可以把该充电桩删除,在数据库中注销信息。录入电桩信息时,默认电桩的使用状态为启动,管理员可根据实际情况决定是否终止充电桩。
电桩被用户绑定使用时,将充电桩的状态信息传输到后台管理页面,工作状态变为“工作中”,结束充电后,工作状态再次回到“空闲”。用户提交故障信息后电桩工作状态更改为“故障”,管理员可以在充电桩的故障修复后将充电桩的工作状态更改为“空闲”。
图4 电桩信息编辑页面
3.1.2 微信用户
微信用户这一栏主要是对小程序注册用户信息的记录。在该页面,管理员一般只是进行查询操作,必要时更改用户信息或者删除用户。
图5 微信用户页面
3.1.3 订单管理
在订单管理模块管理员可以根据电桩名称搜索来查看每个充电桩的使用频率。如图6所示,搜索电桩2订单管理页面显示出所有使用电桩2的充电记录。
图6 搜索订单页面
3.2 客户端设计
客户端与后台管理系统的数据交互上采用Json传输数据。Json是一种数据传输格式,语法格式简单,结构层次清晰,易写易读。在数据传输时,由于Json编写过程中很少有多余的字符,可以节约带宽。小程序端添加的数据可以直接通过Json传输到Web后台同步。微信小程序通过uni.request这个请求访问后台服务端口的URL,实现相应功能。
调用getlocation()方法获取车主的自身定位,调用腾讯地图API,获取新增充电桩时录入的经纬度在地图上标出充电桩位置。用户充电先绑定可用充电桩,调用接口,获取当前启动的充电桩状态,判断该充电桩是否处于空闲的工作状态。如果提示“该电桩未处于空闲状态,请选择其他充电桩”。
对于已经绑定的充电桩,用户支付成功后创建一个“我的订单”记录这次充电的开始时间和电桩的型号等信息。车主可以在订单页面远程结束充电,如果出现故障,用户可以点击故障按钮将该充电桩的故障信息提交。处于故障状态的充电桩不能被其他用户使用,直到维修完毕工作状态恢复为空闲才可以再次被使用,实现了信息的互通共享。
图7 绑定、订单页面展示
4 结语
本系统的后台使用Java语言编写,MySQL提供数据库支持,采用后端框架SpringBoot和前端框架Bootstrap开发了Web服务器端,以Uni-app为前端框架开发了微信小程序用户端。该系统实现了管理员对充电桩信息的录入、用户的管理和订单的检索。对于用户,仅通过小程序就能够轻松找桩,在充电地图上绑定可用充电桩进行充电,并不需要另外安装APP。系统的界面简洁清晰,直观易懂,对于各个年龄段的用户都很友好,操作起来也很简单。
该系统的实现有助于提高用户体验,为电动汽车发展贡献力量。但是由于没有硬件支持以及其他原因的限制,一些功能无法实现。该系统仍然有很多不足之处,比如无法实时查看充电信息,预测充电完成时间,也不能实现更为贴心的预约功能。在未来的发展中,可以对这些缺陷进行完善。