張明慧,周天睿,于靜,金民
(1.鄭州師范學(xué)院信息科學(xué)與技術(shù)學(xué)院,鄭州 450044;2.海南師范大學(xué)物理與電子工程學(xué)院,海口 571158)
電動(dòng)汽車不僅可以實(shí)現(xiàn)節(jié)能減排,且純電動(dòng)汽車的制造工藝相對(duì)簡(jiǎn)單,僅需要提供充電設(shè)備即可。為推動(dòng)電動(dòng)汽車的發(fā)展,我國(guó)政府在2015年頒布《電動(dòng)汽車基礎(chǔ)設(shè)施發(fā)展指南(2015—2020年)》,計(jì)劃到2020年,建成480萬(wàn)個(gè)充電樁。隨之而來(lái)的問(wèn)題是對(duì)充電樁的建設(shè)、管理以及推廣。
在充電電樁的應(yīng)用和推廣過(guò)程中,往往因?yàn)槌潆姴槐愣鴮?dǎo)致電動(dòng)汽車的銷售受到一定程度的影響。不方便的主要原因除了充電樁數(shù)量不足,更多在于充電電樁的管理服務(wù)不夠完善。充電樁分布零散,信息不互通,使很多車主在充電時(shí)需要切換多個(gè)充電服務(wù)平臺(tái)來(lái)選擇充電樁。甚至?xí)霈F(xiàn)接入充電樁準(zhǔn)備充電時(shí),卻發(fā)現(xiàn)充電樁是“僵尸樁”或者已經(jīng)有人使用的情況,嚴(yán)重影響了用戶的體驗(yàn)。
在充電設(shè)備的應(yīng)用服務(wù)上,美國(guó)、德國(guó)、日本等國(guó)家較早開(kāi)始投入建設(shè),并且發(fā)展的比較成熟[1]。美國(guó)處于領(lǐng)先地位,ChargePoint是最具代表性的充電樁運(yùn)營(yíng)商。其智能充電系統(tǒng)提供充電設(shè)施硬件和充電服務(wù)管理,將不同的充電設(shè)施接入云服務(wù)平臺(tái)。它以手機(jī)APP為基礎(chǔ),利用在線地圖,完成充電樁位置信息在整個(gè)美國(guó)范圍內(nèi)的共享,方便用戶尋找充電站。同時(shí)為車主提供充電狀態(tài)查詢服務(wù),能夠?qū)崟r(shí)顯示充電時(shí)間和電量、充電完成、充電意外中斷、故障報(bào)警和節(jié)能減排效果等信息。在“產(chǎn)品+服務(wù)”的模式下,與地圖運(yùn)營(yíng)商、互聯(lián)網(wǎng)公司和電動(dòng)汽車企業(yè)合作,聯(lián)系充電樁和充電APP,構(gòu)造了完整的充電服務(wù)生態(tài)鏈[2]。
歐洲國(guó)家電動(dòng)汽車充電服務(wù)的運(yùn)營(yíng)以德國(guó)和丹麥為代表,主要使用充電APP為電動(dòng)汽車用戶提供充電站定位和遠(yuǎn)程監(jiān)控服務(wù)[3]。例如:實(shí)時(shí)掌握充電時(shí)間、充電電量以及充電故障等。對(duì)于充電行程的安排,用戶可以自由取消、變更。在充電費(fèi)用的支付方式上也比較靈活。日本的電動(dòng)汽車行業(yè)發(fā)展迅猛。這得益于政府的大力支持和車企的配合。在日本,許多地點(diǎn)都安置了充電樁,但主要的消費(fèi)方式是通過(guò)實(shí)體充電卡[4]。
近幾年,我國(guó)電動(dòng)汽車行業(yè)也在快速發(fā)展。政府對(duì)充電設(shè)施基礎(chǔ)建設(shè)投入了大量精力,充電樁的數(shù)量不斷增加,但是充電服務(wù)有待提高[5]。目前,電動(dòng)汽車使用的充電樁只要符合國(guó)標(biāo)都是通用的,主要的充電方式是通過(guò)充電APP找樁充電。市場(chǎng)中使用最多的APP有特來(lái)電、e充電和星星充電等。每一款A(yù)PP都有自己的特點(diǎn),但是由于不同的運(yùn)營(yíng)商所管轄的范圍有區(qū)別,他們之間相互獨(dú)立,不能共享充電樁的信息,導(dǎo)致車主需要在手機(jī)中安裝多個(gè)充電APP以便能夠順利充電。這一點(diǎn)給用戶的手機(jī)帶來(lái)了多余的負(fù)擔(dān)。
信息的不互通、找樁難、用戶滿意度低等問(wèn)題引發(fā)了一些國(guó)內(nèi)研究者的思考。王東琴[6]基于Android開(kāi)發(fā)了一款能夠?qū)Τ潆姌缎畔⑦M(jìn)行檢索并預(yù)約導(dǎo)航的安卓APP,可以實(shí)時(shí)獲取充電樁數(shù)據(jù),也能對(duì)充電訂單進(jìn)行記錄,方便用戶對(duì)充電樁的使用。在功能上比較完善,但是僅支持Android系統(tǒng)使用。申曜榮[10]經(jīng)過(guò)對(duì)多個(gè)城市的調(diào)研,研究新能源汽車充電樁的實(shí)際情況,詳細(xì)設(shè)計(jì)了集智慧充電后臺(tái)管理系統(tǒng)、車主APP和充電站運(yùn)行管理系統(tǒng)于一體的智能充電系統(tǒng)。它能夠快速準(zhǔn)確地查找充電樁,給電動(dòng)汽車充電服務(wù)強(qiáng)有力的支撐,使運(yùn)營(yíng)管理高效有序,但是在界面的設(shè)計(jì)上略顯呆板。本文開(kāi)發(fā)了供車主使用的微信小程序,可以在多個(gè)系統(tǒng)平臺(tái)運(yùn)行,界面美觀,可操作性強(qiáng)。為管理員創(chuàng)建了后臺(tái)管理系統(tǒng),對(duì)解決充電樁信息不能互通、充電APP過(guò)多占用手機(jī)內(nèi)存的問(wèn)題有所幫助。
電動(dòng)汽車智能充電樁管理系統(tǒng)集Web服務(wù)器端、小程序用戶端和數(shù)據(jù)庫(kù)三部分于一體,采用B∕S架構(gòu)和C∕S架構(gòu)相結(jié)合的方式開(kāi)發(fā)。數(shù)據(jù)庫(kù)為系統(tǒng)數(shù)據(jù)提供高安全性的保存,具體功能的實(shí)現(xiàn)在業(yè)務(wù)邏輯層完成,系統(tǒng)的表現(xiàn)層是Web服務(wù)器端和小程序端。
Web服務(wù)器端為B∕S架構(gòu),供系統(tǒng)管理員使用。數(shù)據(jù)加工在Web Server完成,最后返回處理信息到瀏覽器。客戶端采用的是C∕S架構(gòu),客戶端訪問(wèn)服務(wù)器端存儲(chǔ)的數(shù)據(jù)采用數(shù)據(jù)庫(kù)連接的方式??蛻舳撕头?wù)器端接受C∕S架構(gòu)分配的任務(wù),減少系統(tǒng)的通訊開(kāi)銷。
Web服務(wù)器端分為三個(gè)模塊,分別是后臺(tái)管理系統(tǒng)的管理、監(jiān)控和充電模塊。充電模塊由電樁管理、微信用戶和訂單管理組成。電樁管理包括系統(tǒng)對(duì)接入的充電樁進(jìn)行信息分類存儲(chǔ),支持按照充電設(shè)備的編號(hào)、型號(hào)、制造廠商等多種條件進(jìn)行檢索;對(duì)充電設(shè)備的工作狀態(tài)、報(bào)警信號(hào)、故障信號(hào)進(jìn)行采集;控制充電樁的啟動(dòng)、終止;調(diào)整每個(gè)充電樁的充電價(jià)格;注銷廢棄充電樁。系統(tǒng)平臺(tái)保存微信用戶信息,對(duì)所有的充電交易記錄進(jìn)行存儲(chǔ),支持精細(xì)化的訂單管理和檢索功能。在系統(tǒng)后臺(tái)運(yùn)維Web頁(yè)面,可設(shè)定篩選條件,查詢并展示符合條件的歷史數(shù)據(jù),例如:充電交易記錄。
用戶端提供充電樁地圖,具有獲取自身定位的功能。在用戶未登錄時(shí)只能瀏覽充電地圖而不能使用充電樁,需要先進(jìn)行注冊(cè)、登錄。綁定可用充電樁開(kāi)始充電后,自動(dòng)生成訂單,在訂單頁(yè)面可以遠(yuǎn)程結(jié)束充電。用戶在小程序里可以查看個(gè)人信息與訂單信息。系統(tǒng)總體設(shè)計(jì)如圖1所示。
圖1 系統(tǒng)功能
控制類通用數(shù)據(jù)處理基類BaseController.java,封裝了編程常用的方法。實(shí)體類基類BaseEntity.java,包含所有對(duì)象的共有屬性,便于新建對(duì)象繼承。
電樁管理控制類:ElectricController.java,處理電樁管理頁(yè)面?zhèn)鱽?lái)的請(qǐng)求,比如新增電樁。
電樁實(shí)體類:Electric.java,用于記錄充電樁的信息,與數(shù)據(jù)庫(kù)中的充電樁表保持一致。
電樁管理業(yè)務(wù)邏輯接口類:IElectricService.java,提供ElectricController調(diào)用的方法。
電樁管理業(yè)務(wù)邏輯實(shí)現(xiàn)類:ElectricServiceImpl.java,實(shí)現(xiàn)IElectricService中的方法。
電樁管理數(shù)據(jù)持久類:ElectricMapper.java,訪問(wèn)數(shù)據(jù)庫(kù),完成數(shù)據(jù)庫(kù)實(shí)體的映射。
圖2 充電電樁管理類圖
電動(dòng)汽車智能充電樁平臺(tái)的后臺(tái)管理系統(tǒng)通過(guò)Web瀏覽器訪問(wèn),主要是為超級(jí)管理員提供用戶、充電樁和訂單的管理。此外,還對(duì)后臺(tái)管理系統(tǒng)自身進(jìn)行管理和監(jiān)控,例如:顯示在線用戶、記錄登錄日志和操作日志、菜單管理等。
系統(tǒng)管理包括用戶、角色、菜單和日志四部分管理。超級(jí)管理員具有最高權(quán)限。在用戶管理模塊,可以為后臺(tái)管理系統(tǒng)添加管理員、進(jìn)行管理員的刪除、信息修改等操作。超級(jí)管理員也可以對(duì)系統(tǒng)的菜單進(jìn)行調(diào)整。
超級(jí)管理員登錄后臺(tái)管理系統(tǒng)后可在系統(tǒng)監(jiān)控模塊查看在線用戶,這一監(jiān)控功能應(yīng)用Shiro的過(guò)濾器實(shí)現(xiàn)。在線用戶監(jiān)控為系統(tǒng)安全增加一層保障,管理員可以強(qiáng)退不安全用戶。同時(shí)還對(duì)系統(tǒng)運(yùn)行的CPU、Java虛擬機(jī)、服務(wù)器等進(jìn)行服務(wù)監(jiān)控,對(duì)系統(tǒng)使用的數(shù)據(jù)源、SQL、session進(jìn)行數(shù)據(jù)監(jiān)控。
充電模塊是Web服務(wù)器端的核心功能,分為電樁管理、訂單管理和微信用戶三個(gè)部分。
3.1.1 電樁管理
在電樁管理頁(yè)面可以清晰的看到管理員能夠添加、刪除充電樁、修改充電樁信息以及數(shù)據(jù)導(dǎo)出等,支持按照多種方式檢索充電樁。
圖3 電樁管理頁(yè)面
在電樁管理頁(yè)面點(diǎn)擊“添加”,錄入信息包括充電樁的名稱、型號(hào)、制造廠商等。使用騰訊地圖坐標(biāo)拾取器獲取經(jīng)緯度,輸入到電樁信息中,實(shí)現(xiàn)在充電地圖上標(biāo)點(diǎn)的功能。如果某充電樁不再使用,管理員可以把該充電樁刪除,在數(shù)據(jù)庫(kù)中注銷信息。錄入電樁信息時(shí),默認(rèn)電樁的使用狀態(tài)為啟動(dòng),管理員可根據(jù)實(shí)際情況決定是否終止充電樁。
電樁被用戶綁定使用時(shí),將充電樁的狀態(tài)信息傳輸?shù)胶笈_(tái)管理頁(yè)面,工作狀態(tài)變?yōu)椤肮ぷ髦小?,結(jié)束充電后,工作狀態(tài)再次回到“空閑”。用戶提交故障信息后電樁工作狀態(tài)更改為“故障”,管理員可以在充電樁的故障修復(fù)后將充電樁的工作狀態(tài)更改為“空閑”。
圖4 電樁信息編輯頁(yè)面
3.1.2 微信用戶
微信用戶這一欄主要是對(duì)小程序注冊(cè)用戶信息的記錄。在該頁(yè)面,管理員一般只是進(jìn)行查詢操作,必要時(shí)更改用戶信息或者刪除用戶。
圖5 微信用戶頁(yè)面
3.1.3 訂單管理
在訂單管理模塊管理員可以根據(jù)電樁名稱搜索來(lái)查看每個(gè)充電樁的使用頻率。如圖6所示,搜索電樁2訂單管理頁(yè)面顯示出所有使用電樁2的充電記錄。
圖6 搜索訂單頁(yè)面
客戶端與后臺(tái)管理系統(tǒng)的數(shù)據(jù)交互上采用Json傳輸數(shù)據(jù)。Json是一種數(shù)據(jù)傳輸格式,語(yǔ)法格式簡(jiǎn)單,結(jié)構(gòu)層次清晰,易寫(xiě)易讀。在數(shù)據(jù)傳輸時(shí),由于Json編寫(xiě)過(guò)程中很少有多余的字符,可以節(jié)約帶寬。小程序端添加的數(shù)據(jù)可以直接通過(guò)Json傳輸?shù)絎eb后臺(tái)同步。微信小程序通過(guò)uni.request這個(gè)請(qǐng)求訪問(wèn)后臺(tái)服務(wù)端口的URL,實(shí)現(xiàn)相應(yīng)功能。
調(diào)用getlocation()方法獲取車主的自身定位,調(diào)用騰訊地圖API,獲取新增充電樁時(shí)錄入的經(jīng)緯度在地圖上標(biāo)出充電樁位置。用戶充電先綁定可用充電樁,調(diào)用接口,獲取當(dāng)前啟動(dòng)的充電樁狀態(tài),判斷該充電樁是否處于空閑的工作狀態(tài)。如果提示“該電樁未處于空閑狀態(tài),請(qǐng)選擇其他充電樁”。
對(duì)于已經(jīng)綁定的充電樁,用戶支付成功后創(chuàng)建一個(gè)“我的訂單”記錄這次充電的開(kāi)始時(shí)間和電樁的型號(hào)等信息。車主可以在訂單頁(yè)面遠(yuǎn)程結(jié)束充電,如果出現(xiàn)故障,用戶可以點(diǎn)擊故障按鈕將該充電樁的故障信息提交。處于故障狀態(tài)的充電樁不能被其他用戶使用,直到維修完畢工作狀態(tài)恢復(fù)為空閑才可以再次被使用,實(shí)現(xiàn)了信息的互通共享。
圖7 綁定、訂單頁(yè)面展示
本系統(tǒng)的后臺(tái)使用Java語(yǔ)言編寫(xiě),MySQL提供數(shù)據(jù)庫(kù)支持,采用后端框架SpringBoot和前端框架Bootstrap開(kāi)發(fā)了Web服務(wù)器端,以Uni-app為前端框架開(kāi)發(fā)了微信小程序用戶端。該系統(tǒng)實(shí)現(xiàn)了管理員對(duì)充電樁信息的錄入、用戶的管理和訂單的檢索。對(duì)于用戶,僅通過(guò)小程序就能夠輕松找樁,在充電地圖上綁定可用充電樁進(jìn)行充電,并不需要另外安裝APP。系統(tǒng)的界面簡(jiǎn)潔清晰,直觀易懂,對(duì)于各個(gè)年齡段的用戶都很友好,操作起來(lái)也很簡(jiǎn)單。
該系統(tǒng)的實(shí)現(xiàn)有助于提高用戶體驗(yàn),為電動(dòng)汽車發(fā)展貢獻(xiàn)力量。但是由于沒(méi)有硬件支持以及其他原因的限制,一些功能無(wú)法實(shí)現(xiàn)。該系統(tǒng)仍然有很多不足之處,比如無(wú)法實(shí)時(shí)查看充電信息,預(yù)測(cè)充電完成時(shí)間,也不能實(shí)現(xiàn)更為貼心的預(yù)約功能。在未來(lái)的發(fā)展中,可以對(duì)這些缺陷進(jìn)行完善。