趙宇航,龔元明
(201620 上海市 上海工程技術(shù)大學(xué) 機(jī)械與汽車工程學(xué)院)
隨著新能源汽車保有量的持續(xù)增長(zhǎng),老舊車輛不斷增多,事故頻率明顯提高,新能源汽車的安全性、可靠性也被高度重視。目前新能源汽車遠(yuǎn)程監(jiān)測(cè)平臺(tái)主要集中在數(shù)據(jù)的收集與簡(jiǎn)單的故障報(bào)警功能,數(shù)據(jù)處理的實(shí)時(shí)性等方面還有待提高。通過(guò)對(duì)新能源汽車運(yùn)行數(shù)據(jù)的監(jiān)測(cè),可以科學(xué)調(diào)整新能源汽車行業(yè)的支持政策。
本文提出一種基于Web 技術(shù)的新能源汽車遠(yuǎn)程監(jiān)測(cè)系統(tǒng)。車載終端以STM32F407ZGT6 為主控制器,利用CAN 總線網(wǎng)絡(luò)、以太網(wǎng)技術(shù)、GPS 定位技術(shù)、GPRS 無(wú)線通信技術(shù),將汽車各參數(shù)實(shí)時(shí)傳輸?shù)皆品?wù)器端并進(jìn)行數(shù)據(jù)解碼與存儲(chǔ),遠(yuǎn)程監(jiān)測(cè)平臺(tái)調(diào)取云服務(wù)器端數(shù)據(jù)進(jìn)行實(shí)時(shí)監(jiān)測(cè),通過(guò)人機(jī)界面顯示實(shí)時(shí)診斷結(jié)果,幫助車主與企業(yè)全面了解車輛運(yùn)行情況以及對(duì)車輛精準(zhǔn)定位。通過(guò)GPS定位功能快速定位車輛地點(diǎn),通過(guò)大數(shù)據(jù)判斷新能源汽車易損部件,幫助新能源汽車生產(chǎn)商提高產(chǎn)品質(zhì)量,提供設(shè)備管理功能可以查看設(shè)備基本信息及歷史記錄。
該平臺(tái)由車載終端模塊、云服務(wù)器端、遠(yuǎn)程監(jiān)測(cè)平臺(tái)3 部分組成。車載終端模塊集成了GPS模塊、GPRS 模塊以及穩(wěn)壓電源模塊。數(shù)據(jù)采集部分是由車載終端通過(guò)CAN 總線采集并讀取汽車各項(xiàng)參數(shù),如車速、累計(jì)里程、電池電壓、電流、溫度、SOC 等數(shù)據(jù);數(shù)據(jù)傳輸部分通過(guò)GPRS 外置模塊,并根據(jù)車載終端與云服務(wù)器端的通信協(xié)議,實(shí)現(xiàn)車載終端和云服務(wù)器之間的雙向通信,起到及時(shí)、快速、準(zhǔn)確傳輸數(shù)據(jù)的作用;數(shù)據(jù)處理部分根據(jù)協(xié)議對(duì)數(shù)據(jù)傳輸部分傳來(lái)的數(shù)據(jù)進(jìn)行解析,并保存至MySQL 數(shù)據(jù)庫(kù)進(jìn)行存儲(chǔ)及管理;遠(yuǎn)程監(jiān)測(cè)平臺(tái)定時(shí)調(diào)用數(shù)據(jù)庫(kù)中數(shù)據(jù)并顯示在界面上,以達(dá)到實(shí)時(shí)更新的目的。
遠(yuǎn)程監(jiān)測(cè)平臺(tái)的服務(wù)器與客戶端采用B/S 的架構(gòu)模式,服務(wù)器端負(fù)責(zé)接受并解析車載終端模塊發(fā)送過(guò)來(lái)的數(shù)據(jù),再將數(shù)據(jù)保存至數(shù)據(jù)庫(kù)中,并且負(fù)責(zé)根據(jù)客戶端請(qǐng)求,將響應(yīng)結(jié)果發(fā)送至請(qǐng)求端??蛻舳送ㄟ^(guò)人機(jī)界面將車輛實(shí)時(shí)信息呈現(xiàn)給用戶并提供登錄與注冊(cè)、權(quán)限管理、車輛管理、通信管理、實(shí)時(shí)數(shù)據(jù)顯示、地圖顯示和系統(tǒng)設(shè)置等功能。
車載終端由主控芯片STM32F407ZGT6、GPS定位模塊、GPRS 無(wú)線通信模塊、CAN 功能模塊、電源模塊組成,可以實(shí)現(xiàn)數(shù)據(jù)采集、數(shù)據(jù)上傳、GPS 定位等功能,是一種典型的嵌入式設(shè)備。硬件整體結(jié)構(gòu)圖如圖1 所示。
主控芯片是車載終端中最重要的一部分,采用 STM32F407ZGT6 系列的微處理器,具有2 個(gè)CAN2.0 的接口,能夠?qū)崿F(xiàn)多路的CAN 通信。4 個(gè)高速USART 接口,能夠?qū)崿F(xiàn)主控制器和GPRS 無(wú)線通信模塊之間的串行通信。1 個(gè)10 M/100 M 的以太網(wǎng)控制器,能夠?qū)崿F(xiàn)以太網(wǎng)通訊。擁有的I/O 口達(dá)到140 個(gè),有利于后期功能的擴(kuò)展。主控制器內(nèi)部集成有2 路CAN 控制器,所以要實(shí)現(xiàn)CAN 通信,還需要一款CAN 收發(fā)器,本文選用的是英飛凌公司的 TLE6250GV33 芯片。
CAN 通信模塊承擔(dān)著車內(nèi)網(wǎng)絡(luò)數(shù)據(jù)與外界交換的任務(wù),選用的是具有高速CAN 收發(fā)功能的TLE6250GV33 芯片,該芯片對(duì)高速差分模式下的數(shù)據(jù)傳輸進(jìn)行優(yōu)化,適用于汽車和工業(yè)等領(lǐng)域,具有傳輸速率優(yōu)異、靈活設(shè)置外部供電、優(yōu)異的EMC(電磁兼容)性能、較寬的溫度范圍和過(guò)熱保護(hù)等優(yōu)點(diǎn)。
以太網(wǎng)模塊選用微芯科技的LAN8720A 芯片,該芯片自帶的 RMII 接口和2 對(duì)數(shù)據(jù)差分線接口分別連接著以太網(wǎng)控制器IO 口和RJ45 的網(wǎng)線接口,起到了電平轉(zhuǎn)換和數(shù)據(jù)傳輸?shù)淖饔?,具有傳輸速率高、支持全雙工與半雙工模式、支持低功耗的電源管理架構(gòu)的優(yōu)點(diǎn)。
GPRS 無(wú)線通信模塊和GPS 衛(wèi)星定位模塊選用了國(guó)內(nèi)芯訊通無(wú)線科技的一款集成GPS 導(dǎo)航技術(shù)的SIM908 模塊。SIM908 是集成GPRS 與GPS 功能為一體的開(kāi)發(fā)板,提供GPS 實(shí)時(shí)定位功能。通信過(guò)程是,首先CAN 收發(fā)器接收到的車內(nèi)數(shù)據(jù),再經(jīng)過(guò)主控制器內(nèi)部的協(xié)議轉(zhuǎn)換后,最后通過(guò)GPRS將數(shù)據(jù)發(fā)送到互聯(lián)網(wǎng)服務(wù)器上,實(shí)現(xiàn)遠(yuǎn)程定位監(jiān)測(cè)功能,具有良好的穩(wěn)定性和可靠性;
電源模塊給各個(gè)模塊提供穩(wěn)定的電流供電,并對(duì)數(shù)據(jù)采集功能的實(shí)現(xiàn)起關(guān)鍵作用。電源模塊的設(shè)計(jì)是輸入端為 24 V 直流電,再在電源輸入接口處加了一個(gè)PMOS 管,用于防止反接,保護(hù)整個(gè)后級(jí)電路。整個(gè)電源模塊有3 個(gè)降壓穩(wěn)定芯片,分別為3.3,5,12 V。5 V 和12 V 采用的是 LM2596 系列穩(wěn)壓器,能夠以出色的線路和負(fù)載調(diào)節(jié)率驅(qū)動(dòng)3 A 負(fù)載,3.3 V 采用的是LM1117 系列穩(wěn)壓器,為部分模塊提供穩(wěn)定低電壓。
云服務(wù)器作為車載終端和監(jiān)測(cè)平臺(tái)的通信媒介,不僅負(fù)責(zé)接收解析車載終端數(shù)據(jù),而且負(fù)責(zé)處理監(jiān)測(cè)平臺(tái)請(qǐng)求,并將響應(yīng)結(jié)果發(fā)送至請(qǐng)求端。其中,云服務(wù)器又分為業(yè)務(wù)服務(wù)器與web 服務(wù)器,業(yè)務(wù)服務(wù)器主要處理數(shù)據(jù)接收、數(shù)據(jù)處理和數(shù)據(jù)保存,web 服務(wù)器主要負(fù)責(zé)遠(yuǎn)程監(jiān)測(cè)平臺(tái)的數(shù)據(jù)調(diào)用與顯示,以及根據(jù)汽車位置數(shù)據(jù)匹配地圖,并且當(dāng)管理人員登錄監(jiān)測(cè)平臺(tái)時(shí)能查看到汽車所在地圖位置和所有運(yùn)行信息。
業(yè)務(wù)服務(wù)器設(shè)計(jì)是使用Visual Studio 2015 為開(kāi)發(fā)工具,基于C#語(yǔ)言編寫(xiě)的Windows 窗體應(yīng)用程序,軟件操作便捷,可以實(shí)時(shí)顯示接收到的車載設(shè)備采集的汽車運(yùn)動(dòng)數(shù)據(jù)、實(shí)時(shí)位置數(shù)據(jù)、整車異常信息等并存儲(chǔ)于MySQL 數(shù)據(jù)庫(kù)中。
web服務(wù)器端采用 IntelliJ IDEA 集成開(kāi)發(fā)環(huán)境,基于java 語(yǔ)言,采用前后端分離方式,后端使用Spring Boot 架構(gòu),導(dǎo)入Mybatis-Plus 依賴。其中,Spring Boot 不僅繼承了 Spring 框架原有的優(yōu)秀特性,而且還通過(guò)簡(jiǎn)化設(shè)置來(lái)進(jìn)一步簡(jiǎn)化了Spring 應(yīng)用的整個(gè)搭建和開(kāi)發(fā)過(guò)程。Mybatis-Plus 是Mybatis的增強(qiáng)工具,自動(dòng)封裝CRUD 方法,提高效率,簡(jiǎn)化操作,最后,將后端的代碼打包并部署在云服務(wù)器上。
3.1.1 業(yè)務(wù)服務(wù)器
業(yè)務(wù)服務(wù)器主要是指對(duì)車載終端發(fā)送的數(shù)據(jù)進(jìn)行解析與保存的過(guò)程。云服務(wù)器基于 TCP/IP 協(xié)議,采用C/S 結(jié)構(gòu)設(shè)計(jì)與車載終端實(shí)現(xiàn)長(zhǎng)連接,相比于 UDP 通信,TCP 傳輸數(shù)據(jù)更加可靠,傳輸數(shù)據(jù)之前,車載設(shè)備和業(yè)務(wù)服務(wù)器端應(yīng)建立連接,并以字節(jié)流的數(shù)據(jù)形式在網(wǎng)絡(luò)上傳輸。然后通過(guò)TCP Socket 通信方式實(shí)現(xiàn)網(wǎng)絡(luò)進(jìn)程之間的通信,并利用自定義協(xié)議格式將車載設(shè)備數(shù)據(jù)通過(guò)GPRS 模塊發(fā)送至云服務(wù)器。Socket 通信流程過(guò)程,如圖 2 所示。
3.1.2 Web 服務(wù)器
Web 服務(wù)器主要是指監(jiān)測(cè)平臺(tái)與云服務(wù)器數(shù)據(jù)交互與處理的過(guò)程。云端服務(wù)器與遠(yuǎn)程客戶端采用B/S 架構(gòu),其中服務(wù)端是在云端服務(wù)器上嵌入Web 服務(wù)器來(lái)實(shí)現(xiàn)的,并將用戶瀏覽器作為客戶端使用,并通過(guò)JSON 格式的數(shù)據(jù)實(shí)現(xiàn)兩者的數(shù)據(jù)交互。在通信過(guò)程中,線程使用HTTP 協(xié)議中的Http URLConnection 方法進(jìn)行請(qǐng)求/響應(yīng),云服務(wù)器收到請(qǐng)求后,將請(qǐng)求數(shù)據(jù)封裝成JSON 格式,通過(guò)HTTP 協(xié)議響應(yīng)到遠(yuǎn)程監(jiān)測(cè)平臺(tái),再對(duì)接收到的JSON 格式的數(shù)據(jù)進(jìn)行解析,將數(shù)據(jù)顯示在遠(yuǎn)程監(jiān)測(cè)平臺(tái)界面上。
數(shù)據(jù)庫(kù)是為了存儲(chǔ)車載終端采集汽車運(yùn)行數(shù)據(jù)、實(shí)時(shí)的位置數(shù)據(jù)等,便于后期完成增刪改查等操作,并且由于MySQL 數(shù)據(jù)庫(kù)具有開(kāi)源、操作方便、體積小、可靠性高、支持多線程等優(yōu)點(diǎn),所以選擇采用 MySQL 關(guān)系型數(shù)據(jù)庫(kù)系統(tǒng),版本為8.0。此外,為了高效管理車載終端數(shù)據(jù),在數(shù)據(jù)庫(kù)中建立了用戶賬戶表、角色權(quán)限關(guān)系表、用戶賬戶權(quán)限關(guān)系表、設(shè)備信息表和歷史記錄表。
設(shè)備信息表即車載設(shè)備信息表,包括設(shè)備號(hào)、車速、油門開(kāi)度、剎車開(kāi)度、電機(jī)轉(zhuǎn)速、電機(jī)溫度、電池總電壓、電池總電流等汽車運(yùn)行數(shù)據(jù)。用戶信息表包括用戶名、郵箱、手機(jī)號(hào)、密碼、注冊(cè)時(shí)間、賬號(hào)狀態(tài),用于方便管理用戶登錄信息,保證信息安全性。用戶信息表結(jié)構(gòu)見(jiàn)表1。
表1 用戶信息表Tab.1 User information
定位信息表主要包含設(shè)備號(hào)、經(jīng)度、緯度、車速等信息,方便用戶進(jìn)行車輛狀態(tài)查詢。車輛運(yùn)行數(shù)據(jù)可實(shí)時(shí)上傳至服務(wù)器并存儲(chǔ)到數(shù)據(jù)庫(kù),用于動(dòng)態(tài)追蹤車輛的行車軌跡路線。定位信息表結(jié)構(gòu)見(jiàn)表2。
表2 定位信息表Tab.2 Location information
遠(yuǎn)程監(jiān)測(cè)平臺(tái)采用前后端分離方式,前端使用Vue+Element-UI 框架。Vue 是一套用于構(gòu)建用戶界面的漸進(jìn)式框架,減少不必要的DOM 操作,提高渲染效率,而且方便與第三方庫(kù)或既有項(xiàng)目整合。Element-UI 是一套UI 組件庫(kù),使開(kāi)發(fā)者減少樣式設(shè)計(jì)開(kāi)發(fā)時(shí)間,專心于平臺(tái)功能實(shí)現(xiàn)。
遠(yuǎn)程監(jiān)測(cè)平臺(tái)的操作流程是,首先通過(guò)注冊(cè)與登錄進(jìn)入監(jiān)測(cè)系統(tǒng)主機(jī)界面,然后通過(guò)與web 服務(wù)器通信,獲取汽車的狀態(tài)數(shù)據(jù)與地理位置,實(shí)現(xiàn)遠(yuǎn)程監(jiān)測(cè)功能。遠(yuǎn)程監(jiān)測(cè)平臺(tái)功能如下:
(1)登錄與注冊(cè)
登錄模塊由用戶名、密碼構(gòu)成,注冊(cè)功能由用戶名、密碼、手機(jī)號(hào)、郵箱、車牌號(hào)構(gòu)成。
(2)權(quán)限管理
監(jiān)測(cè)平臺(tái)分為管理員用戶與普通用戶,管理員賬號(hào)可以查看所有車輛的數(shù)據(jù)、普通用戶只可以查看自己車輛的數(shù)據(jù)。管理員可以分配用戶的使用權(quán)限、可查看的頁(yè)面。
(3)車輛管理
錄入車主用戶名、電話、郵箱、車牌號(hào)、汽車型號(hào)等信息,后期手機(jī)號(hào)修改以及車牌號(hào)添加與修改,需要管理員手動(dòng)維護(hù)。
(4)通信管理
車載終端定時(shí)將數(shù)據(jù)傳輸至服務(wù)器端,服務(wù)器端將數(shù)據(jù)解析并保存至數(shù)據(jù)庫(kù)。
(5)實(shí)時(shí)數(shù)據(jù)顯示
監(jiān)測(cè)平臺(tái)實(shí)時(shí)數(shù)據(jù)顯示界面可以顯示車速、累計(jì)里程、地理位置、電池電壓、電流、溫度、SOC等信息。實(shí)時(shí)存儲(chǔ)并顯示在電子地圖上。
(6)地圖顯示
監(jiān)測(cè)平臺(tái)的地圖顯示界面可以實(shí)時(shí)顯示汽車位置,并可以通過(guò)點(diǎn)擊顯示車輛實(shí)時(shí)數(shù)據(jù)。
(7)系統(tǒng)設(shè)置
提供系統(tǒng)使用幫助、界面樣式選擇。
首先通過(guò)單臺(tái)多次測(cè)試驗(yàn)證系統(tǒng)的可行性,結(jié)果如圖3 所示;其次多臺(tái)客戶端測(cè)試驗(yàn)證其在多設(shè)備條件下運(yùn)行情況,結(jié)果如圖4 所示。
車輛管理模塊進(jìn)行增刪改查測(cè)試,完成對(duì)數(shù)據(jù)的修改操作。數(shù)據(jù)顯示模塊和地圖顯示模塊進(jìn)行實(shí)時(shí)數(shù)據(jù)測(cè)試,按照預(yù)先設(shè)計(jì)好的1 000 ms 延遲,實(shí)現(xiàn)了對(duì)數(shù)據(jù)的刷新;同時(shí)定位數(shù)據(jù)也能以標(biāo)注的方式在地圖上顯示。
由上述測(cè)試可得,本文設(shè)計(jì)的車輛監(jiān)測(cè)系統(tǒng)達(dá)到測(cè)試要求,并且滿足實(shí)際使用需求,實(shí)現(xiàn)了設(shè)計(jì)目標(biāo)。
本文設(shè)計(jì)并實(shí)現(xiàn)了基于Web 的新能源汽車監(jiān)測(cè)平臺(tái),該平臺(tái)由登錄與注冊(cè)、權(quán)限管理、車輛管理、通信管理、實(shí)時(shí)數(shù)據(jù)顯示、地圖顯示和系統(tǒng)設(shè)置7 大功能模塊組成,并通過(guò)驗(yàn)證,確定了該系統(tǒng)的準(zhǔn)確性、可靠性、穩(wěn)定性,未來(lái)還可以為廠商技術(shù)升級(jí)提供數(shù)據(jù)支持以及更好推動(dòng)新能源汽車的發(fā)展。