作者:杜明明,崔立堃,馮緒永,王承祥引 言
隨著純電動汽車迅速發(fā)展,充電樁的發(fā)展也呈快速的發(fā)展趨勢。2015 年《電動汽車充電基礎(chǔ)設(shè)施發(fā)展規(guī)劃(2015—2020 年)》指出了明確的發(fā)展目標(biāo),2020 年初充電樁被正式納入新基建,有望迎來新一輪增長[1]。目前,國家電網(wǎng)、南方電網(wǎng)、TELD、奧地利集團(tuán)和其他許多國內(nèi)充電設(shè)備制造商和運(yùn)營商大多都是以 104 通訊協(xié)議為基礎(chǔ),并且各個制造商和運(yùn)營商經(jīng)過對該協(xié)議進(jìn)行一定程度的篩選和修改后,使該協(xié)議變?yōu)椤鞍腴_放”的狀態(tài)進(jìn)行開發(fā)使用,這樣形成的封閉協(xié)議代表了它的私有性,如果沒有相對應(yīng)的接口和網(wǎng)關(guān),就無法和其他產(chǎn)品互相通訊。OCPP(Open Charge Point Protocol,開放充電通訊協(xié)議)是一個免費提供的開放標(biāo)準(zhǔn),是一種通用的開放通訊協(xié)議,它用于解決私營充電網(wǎng)絡(luò)帶來的挑戰(zhàn)[1?3],它使供應(yīng)商和網(wǎng)絡(luò)運(yùn)營商能夠相互混合以及互相匹配可互操作性的軟件和硬件。統(tǒng)一的標(biāo)準(zhǔn)可防止各種協(xié)調(diào)問題,因此對于整個電動汽車市場都是一個優(yōu)勢。運(yùn)用當(dāng)前在工業(yè)應(yīng)用中占有不可替代作用的 Linux下的 Ubuntu 操作系統(tǒng)[4?6]實現(xiàn)了 OCPP 特定的功能,并經(jīng)驗證各個功能均可以達(dá)到良好的交互,證明了為解決兩端之間通訊的開放性提供了一種方法,擬為后續(xù)汽車充電樁的發(fā)展模式和管理方式提供一種可行性的交互框架。
1 OCPP 1.6及系統(tǒng)模型
1.1 OCPP 1.6
OCPP 為 CS(充電站)與任何 CSMS(充電站管理系統(tǒng))間提供一種統(tǒng)一的通訊方案。這個協(xié)議構(gòu)架支持任何充電服務(wù)供應(yīng)商的 CSMS 與所有的 CS 點互相連接[7]。目前,OCPP已經(jīng)成為歐洲和美國部分地區(qū)充電網(wǎng)絡(luò)通訊領(lǐng)域事實上的開放標(biāo)準(zhǔn)協(xié)議,有 50多個國家的充電網(wǎng)絡(luò)運(yùn)營商和服務(wù)提供商依靠OCPP管理成千上萬個充電站。
OCPP 1.6 版本是截止目前比較完善的一個版本,它是在已成功實施多年的 1.5 版本的基礎(chǔ)之上制定的,并且 OCA(開放充電聯(lián)盟)已經(jīng)針對 1.6 版本規(guī)劃出了一個官方的認(rèn)證體系。OCPP 1.6 引入了一些新功能,包括智能充電,并在支持 SOAP 格式之后開始支持基于Web Sockets 的 JSON 應(yīng)用格式[8]。JSON 格式具有簡潔和清晰的層次結(jié)構(gòu),易于開發(fā)者編寫、閱讀和檢查,也易于機(jī)器解析和生成,傳輸速度快等特點,因此 JSON 格式正迅速成為Web上最流行的數(shù)據(jù)交換格式之一[9?10]。圖1對比了兩個版本的異同,表明 OCPP 1.6 版本比 OCPP1.5版本改善和增加了更多的功能。
1.2 基于 OCPP充電站和充電站管理系統(tǒng)模型
在 OCPP中,CS作為電動汽車充電的物理系統(tǒng),一個CS 可以有一個或者多個 EVSE(電動汽車供應(yīng)設(shè)備)。在協(xié)議里面,電動汽車被認(rèn)為是充電站的一部分,在同一時間,可以為一輛電動汽車提供能源。圖 2 中的連接器就是通常所說的能在 CS 上獨立操作和管理的電源插座,簡言之,就是對應(yīng)于單個物理連接器。在某些情況下,電動汽車可能有多個物理插座類型和連接器,以方便不同類型的車輛(例如四輪電動汽車和電動摩托車),這個設(shè)置被稱為三層模型[11],如圖 2所示。
基于通訊目的的充電基礎(chǔ)設(shè)施并不是強(qiáng)制性地加到物理硬件設(shè)備上,例如,EVSE 可能會被集成到一個CS上面,這樣看起來只是設(shè)備的一部分。
2 充電站管理系統(tǒng)運(yùn)行環(huán)境搭建
2.1 Steve服務(wù)器搭建流程
在 OCPP 1.6 版本中,OCPP 作為 CS 和 CSMS 之間通訊的一種協(xié)議。在進(jìn)行 OCPP 中特定功能實現(xiàn)時,要同充電站管理系統(tǒng)進(jìn)行交互,進(jìn)而驗證所開發(fā)的功能是否遵循 OCPP 協(xié)議的要求,同樣驗證其功能的實現(xiàn)是否達(dá)到標(biāo)準(zhǔn)。
采用 Steve 版本的充電站管理系統(tǒng),它完全是遵照OCPP 進(jìn)行開發(fā)的,并且是比較穩(wěn)定的一個系統(tǒng)。兩端通過 Web Socket 方式進(jìn)行信息交互,CSMS 作為 WebSocket 服務(wù)器端,CS 作為 Web Socket 客戶端[11],其總體流程如圖 3所示。
Web Socket協(xié)議是一個標(biāo)準(zhǔn)的通信協(xié)議,用于服務(wù)器向客戶發(fā)送內(nèi)容,而不需要客戶要求的標(biāo)準(zhǔn)通信協(xié)議;在克服請求超時問題方面,也發(fā)揮了最重要的作用,例如,它允許消息來回傳遞,同時保持連接持續(xù)開放[12]。
Web Socket 協(xié)議是基于 HTML5 提供的一種在單個TCP 連接上進(jìn)行全雙工通信的協(xié)議,該協(xié)議本質(zhì)上為通信雙方提供了一個基于 TCP 連接的雙向通道,所以能夠高效地在雙向通道中實時互相發(fā)送信息[12]。如圖 3 所示,在搭建 Steve 服務(wù)器時,所用到的技術(shù)主要利用數(shù)據(jù)庫 管 理 系 統(tǒng) MySQL 進(jìn) 行 數(shù) 據(jù) 的 訪 問 和 管 理[13],利 用Apache?Maven、JDK 等工具進(jìn)行環(huán)境運(yùn)行維護(hù)。
2.2 克隆管理系統(tǒng)及運(yùn)行
搭建的環(huán)境最后要為服務(wù)器的完好運(yùn)行服務(wù)。目前,對應(yīng)于 OCPP 1.6 版本的服務(wù)器的最穩(wěn)定版本是Steve?3.4.3版本,通過在 [email protected]:RWTH?i5?IDSG/steve.git 上運(yùn)用 Git 工具來獲取 Steve?3.4.3 版本,該服務(wù)器是獨立運(yùn)行的,并不需要 Java Servlet 容器或者 Web服務(wù)器(例如 Apache?Tomcat),故選用 Steve 作為充電站管理系統(tǒng)服務(wù)器[14]。對服務(wù)器進(jìn)行數(shù)據(jù)庫的配置、本地到服務(wù)器的 IP 地址的設(shè)置等,根據(jù)終端運(yùn)行成功后所生成的 URL:http://127.0.0.1:8080/ steve/manager/ home在 Google?Chrome 瀏覽器打開,進(jìn)入到服務(wù)器的登錄界面,證明服務(wù)器端能正常運(yùn)行,為客戶端功能的驗證奠定了基礎(chǔ),如圖 4所示。
3 OCPP 特定功能實現(xiàn)
3.1 通過 RFID 授權(quán)充電站功能
在電動汽車司機(jī)可以啟動或停止電動汽車充電之前,第一步要做的就是要對 CS 進(jìn)行授權(quán)操作,在 OCPP 1.6中,支持用 RFID 進(jìn)行授權(quán)操作。當(dāng)司機(jī)要開始或停止給電動汽車充電時,出示 RFID 卡,然后 CS 會將授權(quán)請求發(fā)送給 CSMS 即充電站管理系統(tǒng),收到請求后 CSMS即會響應(yīng)授權(quán)請求,該響應(yīng)消息會反映 idToken 是否被CSMS 接收,idToken 是一種用于授權(quán)的標(biāo)識符。CS 將授權(quán)請求發(fā)送到 CSMS 以請求授權(quán),收到授權(quán)請求后,CSMS 會 以“ 授 權(quán) 響 應(yīng) ”進(jìn) 行 響 應(yīng) ,該 響 應(yīng) 消 息 指 示idToken是否被 CSMS接收,如圖 5所示。
3.2 啟動通知功能
該功能的目的就是使 CS 能夠在 CSMS 上進(jìn)行注冊并提供正確的狀態(tài)信息。在 CS啟動后,首先向 CSMS發(fā)送啟動通知請求,提供配置信息如供應(yīng)商、版本等基本信息,在 CSMS收到來自 CS發(fā)送的請求后,CSMS應(yīng)響應(yīng)指示是否接收 CS。當(dāng) CSMS 響應(yīng)啟動請求時,CS 將調(diào)整心跳間隔,根據(jù)間隔來同步它的內(nèi)部時鐘與提供的CSMS 的當(dāng)前時間。CS 信息主要包括:序列號,供應(yīng)商特定的設(shè)備標(biāo)識符;型號,定義設(shè)備型號;供應(yīng)商名稱,標(biāo)識供應(yīng)商(不一定以唯一的方式);固件版本,其中包含 CS 的固件版本等一些關(guān)于 CS 的一些基本信息。詳細(xì)信息如圖 6所示。
3.3 通過 CSMS對 CS的授權(quán)
該功能用例是通過 CSMS 服務(wù)器生成的 idToken 可以在 CS上啟動充電會話,通過使用應(yīng)用程序向 CSMS發(fā)送啟動請求,CSMS 會確定一個 idToken 并且可以生成一個唯一的 ID 來用作充電的 idToken,接著 CSMS 會向CS 發(fā)送一個帶有 idToken 的啟動充電請求,然后 CS 會發(fā)送一個開始充電響應(yīng),接受充電請求。具體功能實現(xiàn)流程如圖 7所示。
3.4 心跳功能
該功能模塊的目的是讓 CSMS 實時知道 CS 的狀態(tài)仍然是在連接中,CS 在一個可配置的時間間隔后發(fā)送一個心跳。CS 會向 CSMS 發(fā)送一個心跳請求來確保CSMS 知道 CS 仍然處于活動狀態(tài),CSMS 一旦收到心跳請求后,會響應(yīng)一個心跳響應(yīng),響應(yīng) CSMS 的當(dāng)前時間,同樣也可以使用該時間來同步其內(nèi)部時鐘。
4 功能測試
4.1 驗證兩端的連接狀態(tài)
對于使用 OCPP?J 的 CS 和 CSMS 之間的連接,CSMS充當(dāng) Web Socket服務(wù)器,而充電點充當(dāng) Web Socket客戶端。要啟動 Web Socket 連接,CS 需要一個 URL 進(jìn)行連接。此后,文中 URL 稱為“連接 URL”,連接 URL 特定于某 個 CS。充 電 點 的 連 接 URL 包 含 CS 標(biāo) 識(文 中NO001),以便 CSMS 知道 Web Socket 連接屬于哪個 CS。首先由客戶端向服務(wù)器端發(fā)送一個 HTTP 請求,即 WebSocket 連接起始于一個 HTTP 請求,該請求頭中會包含“Upgrade:Web Socket”,這表明瀏覽器端請求將會通過HTTP協(xié)議升級到 Web Socket協(xié)議[15]。
使用 OCPP?J端點 URL為:
“ws://127.0.0.1:8080/steve/websocket/Central System Service /NO001”
下面是 OCPP ? J 連接握手打開 HTTP 請求的狀態(tài)代碼:
Requestheader=GET / steve / websocket / CentralSystemService /NO001 HTTP/1.1
Upgrade:web socket
Connection:Upgrade
Sec?Web Socket?Protocol:ocpp1.6
Host:127.0.0.1:8080
Sec?Web Socket?Key:yyEwurPSLFnpKLI0z7uxww==
Sec?Web Socket?Version:13.
在此連接過程中,CS 的唯一標(biāo)識為“NO001”,故請求 的 路 徑 為 :“/steve / websocket / CentralSystem Service /NO001”。
4.2 驗證功能
通過在終端上模擬 RFID 對 CS 進(jìn)行授權(quán),發(fā)送心跳以及充電等請求,在 Ubuntu 終端上會顯示發(fā)送成功的界面,直接能說明可以進(jìn)行良好的通訊以及進(jìn)行功能上的響應(yīng),如圖 8所示。
啟動通知功能是應(yīng)用比較頻繁的一個功能,在正常情況下,從終端發(fā)送一條啟動通知請求后,通過 CSMS的授權(quán)功能實現(xiàn),其功能的實現(xiàn)是在服務(wù)器端進(jìn)行CS標(biāo)識符的鎖定,如“NO001”,此標(biāo)識符是唯一的,其在服務(wù)管理端成功授權(quán)的界面如圖 9所示。
在終端運(yùn)行經(jīng)過編譯后的心跳功能可執(zhí)行文件,CSMS 會收到心跳請求,心跳功能的主要目的就是讓CSMS 知道 CS 一直處于活動狀態(tài),執(zhí)行充電請求時,后臺管理系統(tǒng)同樣會響應(yīng),通過搭建的 Steve 服務(wù)器,結(jié)合OCPP 中所涉及的功能塊的工作原理,最后成功地實現(xiàn)了功能,并且可以很好地進(jìn)行工作。圖 10 展示了后臺管理系統(tǒng)的響應(yīng)信息。
5 結(jié) 論
本文基于 OCPP 通訊協(xié)議,在 Linux 下的 Ubuntu 操作系統(tǒng)上運(yùn)用各種項目構(gòu)建工具和技術(shù)分別搭建了充電站客戶端運(yùn)行框架和后臺管理系統(tǒng)框架,對所涉及的授權(quán)充電、啟動通知、心跳等特定功能進(jìn)行了研究和實現(xiàn)。最后結(jié)合 Steve 服務(wù)器進(jìn)行通訊,驗證了兩端能進(jìn)行可靠、實時、快速地通訊,表明 OCPP 協(xié)議作為開放性的通訊協(xié)議能正常地進(jìn)行通訊,本文所提通訊框架成功運(yùn) 用 了 OCPP 協(xié) 議 ,并 為 未 來 充 電 樁 通 訊 協(xié) 議 應(yīng) 用OCPP提供了一種可行性的通訊框架。
審核編輯:郭婷
原文標(biāo)題:論文速覽 | 基于 OCPP 1.6的充電站與充電站管理系統(tǒng)通訊實現(xiàn)
文章出處:【微信號:現(xiàn)代電子技術(shù),微信公眾號:現(xiàn)代電子技術(shù)】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關(guān)推薦
評論