耿黃政 郭雄
摘要:新能源汽車遠(yuǎn)程監(jiān)測平臺(tái)實(shí)時(shí)采集車輛的相關(guān)數(shù)據(jù)信息。設(shè)計(jì)開發(fā)的新能源汽車遠(yuǎn)程監(jiān)測平臺(tái)主要包括車載終端軟硬件,由服務(wù)器、數(shù)據(jù)庫、操作系統(tǒng)和服務(wù)端程序構(gòu)成的云平臺(tái),由登錄模塊、車輛管理車機(jī)管理模塊、數(shù)據(jù)調(diào)用模塊組成的管理系統(tǒng)。開發(fā)一種新能源汽車遠(yuǎn)程監(jiān)測平臺(tái),針對(duì)新能源汽車的動(dòng)力特性,采集并土傳諸如車輛狀態(tài)、充電狀態(tài)、車速、累計(jì)里程、總電壓、總電流、電池荷電狀態(tài)等車輛相關(guān)數(shù)據(jù),實(shí)現(xiàn)對(duì)新能源汽車的監(jiān)測和管理。
關(guān)鍵詞:新能源汽車;遠(yuǎn)程監(jiān)測平臺(tái);設(shè)計(jì);管理系統(tǒng)
中圖分類號(hào):U463.6
文獻(xiàn)標(biāo)識(shí)碼:A
DOI: 10.15913/j.cnki.kjycx.2019.11.019
1 新能源汽車遠(yuǎn)程監(jiān)測平臺(tái)架構(gòu)
新能源汽車遠(yuǎn)程監(jiān)測平臺(tái)總體架構(gòu)如圖1所示。
對(duì)于新能源汽車,其主要狀態(tài)可劃分為行駛、駐車和駐車充電三種,由于其主要?jiǎng)恿碓词莿?dòng)力電池,在行駛和駐車充電場景下的狀態(tài)數(shù)據(jù)都需要進(jìn)行實(shí)時(shí)監(jiān)控。車輛相關(guān)實(shí)時(shí)數(shù)據(jù)主要由車載終端通過車輛的OBD接口進(jìn)行采集,在車載終端內(nèi)部完成數(shù)據(jù)的組包。在網(wǎng)絡(luò)狀況良好的情況下,通過外置的GPRS模塊,按照車載終端與遠(yuǎn)程監(jiān)測平臺(tái)間的通信協(xié)議.將數(shù)據(jù)以字段的形式發(fā)送到云平臺(tái)。云平臺(tái)按照協(xié)議對(duì)上傳的數(shù)據(jù)字段進(jìn)行解析,將對(duì)應(yīng)字段轉(zhuǎn)換為可讀的車輛數(shù)據(jù)信息,并交由MySQL數(shù)據(jù)庫存儲(chǔ)及管理,為后期大數(shù)據(jù)挖掘應(yīng)用提供數(shù)據(jù)樣本。最終利用管理系統(tǒng),通過云平臺(tái)的數(shù)據(jù)庫操作接口,直觀地將車輛的實(shí)時(shí)數(shù)據(jù)提供給管理人員。管理人員同時(shí)也能通過管理系統(tǒng)對(duì)聯(lián)網(wǎng)車輛進(jìn)行狀態(tài)查詢、車輛數(shù)據(jù)實(shí)時(shí)監(jiān)測、發(fā)送車輛遠(yuǎn)程指令等操作。
車載終端與車輛之間的通信,通過與OBD接口的物理連接,從車載CAN總線上獲取車輛各個(gè)節(jié)點(diǎn)上的控制器相關(guān)數(shù)據(jù)及向控制器發(fā)送指令。車載終端與遠(yuǎn)程監(jiān)測云平臺(tái)的連接采用的是4G通信技術(shù)及TCP/IP協(xié)議,車載終端通過外置的GPRS模塊與遠(yuǎn)程監(jiān)測云平臺(tái)進(jìn)行實(shí)時(shí)信息交互。管理系統(tǒng)通過互聯(lián)網(wǎng)訪問遠(yuǎn)程監(jiān)測云平臺(tái)的數(shù)據(jù)庫獲取監(jiān)測數(shù)據(jù),或通過服務(wù)器向車輛發(fā)送遠(yuǎn)程指令。
1.1 車載終端
車載終端的主要功能包括數(shù)據(jù)采集、數(shù)據(jù)組包、數(shù)據(jù)包上傳、數(shù)據(jù)包解析、ECU通信、本地存儲(chǔ)、GPS定位。汽車上的各個(gè)功能及各種電子控制系統(tǒng)都是由諸多電控單元控制的,每個(gè)ECU都連接在車載總線上以實(shí)現(xiàn)車輛電氣組件之間的網(wǎng)聯(lián)。
CAN總線是最古老的多功能總線規(guī)范之一,也是正在運(yùn)行的最普遍的系統(tǒng)總線之一,典型的配置允許多達(dá)1 10個(gè)節(jié)點(diǎn)和500 m的總線長度,并且能在多種不同的物理層上運(yùn)行。車載終端通過車輛OBD接口實(shí)現(xiàn)與車載CAN總線的物理連接,并通過內(nèi)置的CAN通信模塊與ECU實(shí)現(xiàn)實(shí)時(shí)通信,采集各個(gè)ECU上的數(shù)據(jù)。另外,當(dāng)管理系統(tǒng)發(fā)出遠(yuǎn)程指令時(shí),車載終端同樣通過逆向路徑向車輛相關(guān)ECU發(fā)送指令以實(shí)現(xiàn)對(duì)車輛的遠(yuǎn)程控制。
1.1.1 車載終端硬件設(shè)計(jì)
根據(jù)對(duì)車載終端設(shè)計(jì)需求的分析可知,車載終端的硬件模塊組成可分為主控芯片、CAN通信模塊、4G通信模塊、定位模塊、本地存儲(chǔ)模塊、電源模塊、加速識(shí)別模塊。
主控芯片是車載終端硬件系統(tǒng)中最重要的一部分,其型號(hào)的選用需要結(jié)合性能、可擴(kuò)展性、成本等方面進(jìn)行綜合考量。CAN通信模塊承擔(dān)著車內(nèi)網(wǎng)絡(luò)數(shù)據(jù)與外界交換的任務(wù)。4G通信模塊和定位模塊采用的是上海移遠(yuǎn)通信技術(shù)股份有限公司( Quectel)推出的EC20 R2.1模塊。
本地存儲(chǔ)模塊保證車載終端在無線網(wǎng)絡(luò)阻塞時(shí)的采集數(shù)據(jù)不丟失,鑒于其數(shù)據(jù)包占用內(nèi)存體積并不大,采用8G容量的SD卡作為存儲(chǔ)介質(zhì),與閃存FLASH、磁電存儲(chǔ)器RAM共同組成本地存儲(chǔ)模塊。車載終端從車輛OBD接口汲取電量,電源模塊存儲(chǔ)電池電量,實(shí)現(xiàn)各模塊的穩(wěn)定供電。加速感知模塊采用的是MEMS公司推出的型號(hào)為GMA301的三軸數(shù)字加速度計(jì)。
1.1.2 車載終端軟件設(shè)計(jì)
在完成車載終端硬件選型和各主要模塊電路設(shè)計(jì)之后,還需要結(jié)合各模塊間的通信協(xié)議對(duì)軟件程序進(jìn)行編寫,實(shí)現(xiàn)軟硬件的結(jié)合才能使車載終端的各項(xiàng)功能正常運(yùn)行。本文在Keil uVision4開發(fā)環(huán)境下,采用C語言編寫及調(diào)試與CAN通信模塊、4G通信模塊、定位模塊、本地存儲(chǔ)模塊相關(guān)的軟件程序,主要實(shí)現(xiàn)數(shù)據(jù)采集、數(shù)據(jù)上傳、本地存儲(chǔ)3部分功能。數(shù)據(jù)采集部分的功能主要包含對(duì)車載CAN總線上承載的車輛相關(guān)數(shù)據(jù)的采集和定位模塊生成數(shù)據(jù)的采集。數(shù)據(jù)上傳部分的程序主要負(fù)責(zé)將車載終端主控芯片組包好的車輛實(shí)時(shí)數(shù)據(jù)和GPS定位數(shù)據(jù)上傳到遠(yuǎn)程監(jiān)測系統(tǒng)的云平臺(tái)。本地存儲(chǔ)部分主要功能為數(shù)據(jù)包的備份與暫存。
1.2 云平臺(tái)
1.2.1 云平臺(tái)功能
1.2.1.1 數(shù)據(jù)解析
云平臺(tái)按照車載終端采用的TCP/IP傳輸協(xié)議,將上傳到平臺(tái)的數(shù)據(jù)包對(duì)應(yīng)字段解析還原成可讀的車輛相關(guān)數(shù)據(jù)。
1.2.1.2 數(shù)據(jù)預(yù)處理
由于車輛運(yùn)行環(huán)境不斷變化,其定位信號(hào)和4G信號(hào)會(huì)出現(xiàn)不穩(wěn)定的情況,部分實(shí)時(shí)監(jiān)測數(shù)據(jù)將無法做到實(shí)時(shí)上傳,導(dǎo)致數(shù)據(jù)集出現(xiàn)錯(cuò)誤與缺失。平臺(tái)必須剔除無效數(shù)據(jù),并在接收到車載終端的補(bǔ)發(fā)數(shù)據(jù)后,實(shí)時(shí)整合數(shù)據(jù),保證實(shí)時(shí)數(shù)據(jù)集在時(shí)間軸上的連續(xù)性和完整性。
1.2.1.3 數(shù)據(jù)庫管理
監(jiān)測車輛通過車載終端與云平臺(tái)連接后,即向云平臺(tái)不斷發(fā)送數(shù)據(jù),隨著時(shí)間的積累,大量的上傳數(shù)據(jù)將會(huì)在概念上從實(shí)時(shí)數(shù)據(jù)轉(zhuǎn)變?yōu)闅v史數(shù)據(jù)。為了方便調(diào)用管理系統(tǒng),云平臺(tái)須具有在數(shù)據(jù)庫內(nèi)部將數(shù)據(jù)分區(qū)域劃分存儲(chǔ)的功能,例如實(shí)時(shí)數(shù)據(jù)和歷史數(shù)據(jù)的區(qū)分,車輛數(shù)據(jù)和車機(jī)數(shù)據(jù)的區(qū)分,采集數(shù)據(jù)和錄人數(shù)據(jù)的區(qū)分等。
1.2.1.4 提供操作接口
云平臺(tái)需要提供數(shù)據(jù)查詢接口給管理平臺(tái),實(shí)現(xiàn)數(shù)據(jù)查詢及列表導(dǎo)出功能;提供數(shù)據(jù)庫操作接口,實(shí)現(xiàn)對(duì)車輛信息、車機(jī)信息的增刪查改功能;提供指令轉(zhuǎn)發(fā)接口,實(shí)現(xiàn)車輛遠(yuǎn)程控制指令的發(fā)送及反饋功能;提供轉(zhuǎn)發(fā)接口,將平臺(tái)采集數(shù)據(jù)轉(zhuǎn)發(fā)至國家公共平臺(tái)。
1.2.1.5 云平臺(tái)擴(kuò)展接口
為了提高云平臺(tái)底層代碼的復(fù)用性,需要前期在云平臺(tái)的系統(tǒng)架構(gòu)中預(yù)置數(shù)據(jù)庫調(diào)用及擴(kuò)展接口。由于新能源汽車車輛數(shù)據(jù)的監(jiān)測與采集是提供遠(yuǎn)程服務(wù)的基礎(chǔ),當(dāng)需要開發(fā)新的車輛大數(shù)據(jù)應(yīng)用平臺(tái)時(shí),僅需將遠(yuǎn)程監(jiān)測云平臺(tái)部分作為提供實(shí)時(shí)監(jiān)測數(shù)據(jù)的源頭,在此基礎(chǔ)上添加特定應(yīng)用場景下的功能擴(kuò)展模塊及并行系統(tǒng)。此類以云平臺(tái)作為應(yīng)用系統(tǒng)的主干,對(duì)外提供擴(kuò)展接口的方式,將大大提高平臺(tái)底層代碼的復(fù)用性,并盡可能減少新平臺(tái)的開發(fā)時(shí)間和成本。
1.2.2 云平臺(tái)總體設(shè)計(jì)
遠(yuǎn)程監(jiān)測平臺(tái)的整體結(jié)構(gòu)分為操作系統(tǒng)、服務(wù)器、數(shù)據(jù)庫及開發(fā)語言4個(gè)部分。Linux是一套免費(fèi)開源類Unix操作系統(tǒng),開源的優(yōu)點(diǎn)在于可以監(jiān)控?cái)?shù)據(jù)運(yùn)算及流向,因此也具備很高的安全性。同時(shí),對(duì)于云平臺(tái)這種依賴共享資源集群的系統(tǒng),需要虛擬化技術(shù)的支持,目前幾款比較出名的虛擬化軟件都是以Linux為內(nèi)核開發(fā)的,其優(yōu)越性也不言而喻。由于云平臺(tái)的主要功用在于接收實(shí)時(shí)上傳的車輛監(jiān)測數(shù)據(jù),以及向車載終端發(fā)送遠(yuǎn)程指令,同時(shí)考慮到大量車載終端接人以及高訪問量,獨(dú)立的單體結(jié)構(gòu)服務(wù)器無法滿足系統(tǒng)的需求,因此遠(yuǎn)程監(jiān)測云平臺(tái)需要采用分布式的服務(wù)器集群來解決其高并發(fā)導(dǎo)致的算力不足問題。
考慮到現(xiàn)階段數(shù)據(jù)庫主要是存儲(chǔ)車輛的實(shí)時(shí)數(shù)據(jù)及歷史數(shù)據(jù),運(yùn)用關(guān)系型數(shù)據(jù)庫管理系統(tǒng)可以較好完成數(shù)據(jù)的高效管理。關(guān)系型數(shù)據(jù)庫的存儲(chǔ)邏輯是將數(shù)據(jù)預(yù)先進(jìn)行人為分類,然后保存在不同的表單中,所以其查詢速度和應(yīng)用靈活性得到了保證。得益于其優(yōu)異的性能,且能與PHP和Apache搭配形成開源條件下的優(yōu)異開發(fā)環(huán)境,本文采用在Web應(yīng)用方面最好的開源關(guān)系型數(shù)據(jù)庫管理應(yīng)用軟件MySQL作為遠(yuǎn)程監(jiān)測云平臺(tái)的數(shù)據(jù)庫。
開發(fā)語言采用PHP、Go及JavaScript。PHP作為一種創(chuàng)建動(dòng)態(tài)交互性站點(diǎn)的強(qiáng)有力的服務(wù)器端腳本語言,十分適合Web開發(fā),且語言簡單、易上手,因此選用PHP語言作為云平臺(tái)及管系統(tǒng)主要架構(gòu)的編譯語言。
1.3 管理系統(tǒng)
1.3.1 管理系統(tǒng)功能介紹
1.3.1.1 監(jiān)控管理
對(duì)所有與云平臺(tái)連接的監(jiān)控車輛的定位信息和實(shí)時(shí)數(shù)據(jù)監(jiān)控,在可視化界面中直觀展示當(dāng)前車輛位于地圖上的定位,以及典型的新能源汽車實(shí)時(shí)數(shù)據(jù)。
1.3.1.2 故障告警
根據(jù)國標(biāo)要求,當(dāng)車輛出現(xiàn)運(yùn)行故障時(shí)須上報(bào)故障信息,包括故障名稱、故障起止時(shí)間、持續(xù)時(shí)間等信息。
1.3.1.3 車輛管理
系統(tǒng)可監(jiān)測車輛及車機(jī)在平臺(tái)上的注冊及登錄、車輛基本信息的管理,以及與車載終端的綁定操作。
1.3.1.4 車機(jī)管理
系統(tǒng)可對(duì)車機(jī)的綁定狀態(tài)進(jìn)行管理,對(duì)車載終端軟件升級(jí)包的管理及發(fā)送,以及查詢車機(jī)的原始數(shù)據(jù)。
1.3.1.5 數(shù)據(jù)查詢
通過輸入車輛車牌號(hào)或VIN碼,可查詢特定時(shí)段的車輛行駛記錄及充電記錄。
1.3.1.6統(tǒng)計(jì)報(bào)表
將各個(gè)車輛的實(shí)時(shí)數(shù)據(jù)進(jìn)行匯總整理,以統(tǒng)計(jì)報(bào)表的形式呈現(xiàn)在用戶界面上,根據(jù)一段時(shí)間內(nèi)的里程、充電、故障等內(nèi)容的統(tǒng)計(jì),對(duì)車輛和車機(jī)進(jìn)行宏觀管理。
1.3.2 管理系統(tǒng)主要模塊開發(fā)
1.3.2.1 登錄模塊
客戶端登錄模塊是整個(gè)遠(yuǎn)程監(jiān)測平臺(tái)管理系統(tǒng)的人口,在對(duì)平臺(tái)進(jìn)行操作前,該模塊需要完成對(duì)管理人員或用戶的身份認(rèn)證,并提供修改密碼功能選項(xiàng)。
1.3.2.2 車輛管理與車機(jī)管理模塊
車輛管理模塊和車機(jī)管理模塊共同完成對(duì)監(jiān)控車輛身份信息錄入以及車載終端與車輛的綁定操作,因此,在此對(duì)兩模塊進(jìn)行并行設(shè)計(jì)。其操作邏輯設(shè)計(jì)如下:在車輛管理模塊下點(diǎn)擊“添加”按鈕到達(dá)車輛信息注冊界面,錄入車輛VIN碼、車牌號(hào)、車型車款等車輛身份信息,支持信息的增、刪、改;在車機(jī)管理模塊下點(diǎn)擊“添加”按鈕到達(dá)車機(jī)信息注冊界面,錄入車機(jī)編號(hào)、SIM卡號(hào)等車載終端身份信息,支持信息的增、刪、改;在未綁定車機(jī)模塊中,查找新注冊的未綁定車機(jī)號(hào),點(diǎn)擊“綁定車輛”按鈕,查找新注冊車輛VIN碼或車牌號(hào),選定后點(diǎn)擊“綁定”即可完成車輛與車載終端的綁定。以上操作的業(yè)務(wù)邏輯均為:管理系統(tǒng)客戶端首先向Server端發(fā)送增、刪、改及查詢的服務(wù)請求,后者響應(yīng)服務(wù)請求,更新或檢索數(shù)據(jù)庫,最后將結(jié)果返回到前端。
1.3.2.3 數(shù)據(jù)調(diào)用模塊
作為新能源汽車遠(yuǎn)程監(jiān)測平臺(tái)管理系統(tǒng),其核心是提供監(jiān)控車輛的實(shí)時(shí)數(shù)據(jù)查詢、展示、導(dǎo)出等功能,而實(shí)現(xiàn)這些功能的本質(zhì)就是對(duì)數(shù)據(jù)的調(diào)用。在對(duì)管理系統(tǒng)的需求分析中,將其功能設(shè)計(jì)為6個(gè)主要的功能,其中車監(jiān)控管理、故障告警、數(shù)據(jù)查詢、統(tǒng)計(jì)報(bào)表4個(gè)功能模塊,承擔(dān)了對(duì)監(jiān)控車輛實(shí)時(shí)數(shù)據(jù)查詢和展示的主要任務(wù)。鑒于數(shù)據(jù)調(diào)用功能的業(yè)務(wù)邏輯相同,僅在調(diào)用的數(shù)據(jù)類型及前端呈現(xiàn)方式上有區(qū)別,因此,對(duì)此4個(gè)功能模塊進(jìn)行并行設(shè)計(jì)與開發(fā)。
2 遠(yuǎn)程監(jiān)測平臺(tái)測試
按照系統(tǒng)測試流程對(duì)車載終端與新能源汽車遠(yuǎn)程監(jiān)測平臺(tái)的聯(lián)合功能測試,結(jié)果表明車載終端能完成對(duì)車輛實(shí)時(shí)數(shù)據(jù)的采集,并在內(nèi)部組包后發(fā)送至遠(yuǎn)程監(jiān)測平臺(tái),同時(shí)在存儲(chǔ)模塊中進(jìn)行數(shù)據(jù)的備份;登錄模塊能完成對(duì)登錄用戶身份信息的驗(yàn)證;車輛管理模塊與車機(jī)管理模塊能夠完成設(shè)備身份信息的增、刪、改、查等操作,并能在模塊內(nèi)完成車輛與車機(jī)對(duì)應(yīng)身份信息的綁定;監(jiān)控管理模塊中,能實(shí)時(shí)顯示車輛當(dāng)前的數(shù)據(jù),并按照設(shè)置的刷新時(shí)限對(duì)界面上的數(shù)據(jù)進(jìn)行更新,同時(shí)其定位數(shù)據(jù)能以標(biāo)注的形式在百度地圖上顯示;故障告警模塊能及時(shí)顯示車輛報(bào)警等級(jí),并上傳故障發(fā)生前后30 s內(nèi)的故障信息;數(shù)據(jù)查詢模塊內(nèi)能根據(jù)篩選條件,準(zhǔn)確匹配到車輛的行駛記錄或充電記錄,且能導(dǎo)出當(dāng)前的查詢數(shù)據(jù);統(tǒng)計(jì)報(bào)表模塊能以走勢圖和柱狀圖作為媒介,展示車輛以日、月為單位的統(tǒng)計(jì)數(shù)據(jù)。根據(jù)現(xiàn)有表現(xiàn)層的測試結(jié)果,目前整體系統(tǒng)能穩(wěn)定運(yùn)行。
3 結(jié)束語
本文設(shè)計(jì)開發(fā)了一套具有通用特性的新能源汽車遠(yuǎn)程監(jiān)測平臺(tái),該平臺(tái)可運(yùn)用于以車輛實(shí)時(shí)數(shù)據(jù)監(jiān)測為基礎(chǔ)的新能源汽車服務(wù)管理系統(tǒng),可以提升新能源汽車的監(jiān)控管理及遠(yuǎn)程服務(wù)水平,不僅能加快提高用戶對(duì)新能源汽車的接受度,還能為廠商在生產(chǎn)制造及升級(jí)技術(shù)方面提供重要的指導(dǎo),逐漸實(shí)現(xiàn)汽車產(chǎn)業(yè)的“新四化”。