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