王富羅,王 勇
(1.安徽城市管理職業(yè)學(xué)院 城市建設(shè)系,安徽 合肥 231635;2.溫州中津先進(jìn)科技研究院,浙江 溫州 325000)
?
面向移動(dòng)和云中心的車聯(lián)網(wǎng)運(yùn)維系統(tǒng)設(shè)計(jì)
王富羅1,王 勇2
(1.安徽城市管理職業(yè)學(xué)院 城市建設(shè)系,安徽 合肥 231635;2.溫州中津先進(jìn)科技研究院,浙江 溫州 325000)
具有無(wú)線通信功能的OBD為車與其他智能設(shè)備,例如智能手機(jī)的通信交互提供了接口,使得駕駛員可以遠(yuǎn)程操控車輛?,F(xiàn)有的研究大多集中在單個(gè)功能的實(shí)現(xiàn),或者僅限于手機(jī)-車載系統(tǒng)之間的多功能模塊的實(shí)現(xiàn),而忽略了云資源管理系統(tǒng)的影響。通過(guò)云資源管理系統(tǒng),將各個(gè)終端獲取的數(shù)據(jù)加密傳輸整合到云計(jì)算中心集中處理和保存,有助于保護(hù)用戶的隱私,同時(shí)有利于長(zhǎng)期對(duì)車輛的狀態(tài)信息進(jìn)行規(guī)范監(jiān)測(cè),提高機(jī)動(dòng)車的保養(yǎng)效率。通過(guò)對(duì)手機(jī)端和遠(yuǎn)程服務(wù)器端系統(tǒng)體系結(jié)構(gòu)的設(shè)計(jì),提供了一種可行的通信架構(gòu)方案,為未來(lái)的大規(guī)模商用奠定了基礎(chǔ)。
OBD;車聯(lián)網(wǎng);智能手機(jī);云計(jì)算中心;通信架構(gòu)
近年來(lái),智能車載終端(OBD)隨著車輛的不斷增長(zhǎng)而增多。已有的OBD系統(tǒng)大多只支持單車離線操作,無(wú)法滿足車聯(lián)網(wǎng)中實(shí)時(shí)交互通信的需求。具有無(wú)線通信功能的OBD為車聯(lián)網(wǎng)與其他智能設(shè)備,例如智能手機(jī)的通信交互提供了接口,使得駕駛員可以遠(yuǎn)程操控車輛?,F(xiàn)有的研究大多集中在單個(gè)功能的實(shí)現(xiàn)[1],或者僅限于手機(jī)-車載系統(tǒng)之間的多功能模塊的組合實(shí)現(xiàn)[2-3],而忽略了云資源管理系統(tǒng)的影響。通過(guò)云資源管理系統(tǒng),將各個(gè)終端獲取的數(shù)據(jù)加密傳輸整合到云計(jì)算中心集中處理和保存,有助于保護(hù)用戶的隱私,同時(shí)有利于長(zhǎng)期對(duì)車輛的狀態(tài)信息進(jìn)行規(guī)范化存儲(chǔ)及分析,提高機(jī)動(dòng)車的保養(yǎng)效率。
本研究面向?qū)嶋H生產(chǎn)需求,在現(xiàn)有無(wú)線車載終端的基礎(chǔ)上開(kāi)發(fā)出手機(jī)端和云計(jì)算中心通信架構(gòu)以及車載終端與云計(jì)算平臺(tái)之間的系統(tǒng)架構(gòu),提供了一種可行的通信架構(gòu)方案,為未來(lái)的大規(guī)模商用奠定了基礎(chǔ)。
1.1 車載終端流程
如圖1所示,GPS定位模塊從GPS以1HZ頻率獲取自身車輛GPS數(shù)據(jù),CAN總線模塊從CAN總線讀取車輛的安防、油耗、異常管理等信息。把從各個(gè)模塊接收到的數(shù)據(jù)根據(jù)數(shù)據(jù)格式進(jìn)行解碼抽取所需要的信息,然后再把數(shù)據(jù)匯總按照一定的格式打包成字節(jié)數(shù)組,通過(guò)socket連接發(fā)送到遠(yuǎn)程的服務(wù)器。
圖1 車載終端概要設(shè)計(jì)圖Fig.1 Car terminal profile design
1.2 車載終端與云服務(wù)器接口
方法getGPSinf類型為void,用于收集GPS的相關(guān)信息;方法ReadCanBus為void類型,用于讀取Can總線傳來(lái)的數(shù)據(jù);方法PackData類型為void把從GPS和CAN總線接收到的數(shù)據(jù)解析打包成字節(jié)數(shù)組;方法ConnentToServer類型為void,用于車載終端與server建立socket連接,其中的參數(shù)ServerIP類型為Java的String類型;方法sendcurrentinf把打包后的當(dāng)前車載終端的數(shù)據(jù)傳給服務(wù)器;方法RemoteAnswer接收服務(wù)器的命令,根據(jù)命令進(jìn)行相關(guān)的響應(yīng),并向服務(wù)器發(fā)送反饋命令如表1所示。
表1 命令格式
手機(jī)端系統(tǒng)主要是負(fù)責(zé)與遠(yuǎn)程服務(wù)器端系統(tǒng)的通信,獲取車載終端上傳的實(shí)時(shí)狀態(tài)數(shù)據(jù),并將控制命令通過(guò)遠(yuǎn)程服務(wù)中心向車載終端發(fā)布。
2.1 系統(tǒng)框架選擇
網(wǎng)絡(luò)編程中常見(jiàn)的兩種編程結(jié)構(gòu),C/S(客戶端/服務(wù)器架構(gòu))和B/S(瀏覽器/服務(wù)器架構(gòu))。C/S架構(gòu)的優(yōu)點(diǎn)是開(kāi)發(fā)靈活,可以根據(jù)實(shí)際需要進(jìn)行開(kāi)發(fā),其缺點(diǎn)是特定客戶端和特定的服務(wù)器端通信。對(duì)于B/S架構(gòu)的優(yōu)點(diǎn)是,開(kāi)發(fā)時(shí)只需開(kāi)發(fā)服務(wù)器端,維護(hù)方便[4]??紤]到手機(jī)端應(yīng)用中對(duì)網(wǎng)絡(luò)編程的靈活性要求比較高,而僅僅通過(guò)瀏覽器難以勝任;再者,手機(jī)端應(yīng)用無(wú)需做到跨平臺(tái),只需在安卓系統(tǒng)上運(yùn)行。綜上所述,C/S架構(gòu)會(huì)更適合本系統(tǒng)開(kāi)發(fā)。
2.2 開(kāi)發(fā)工具選擇
鑒于整個(gè)手機(jī)應(yīng)用僅需和遠(yuǎn)程數(shù)據(jù)中心雙向傳輸數(shù)據(jù),然后讀取本地文件相關(guān)內(nèi)容就可以實(shí)現(xiàn)。可以用JAVA網(wǎng)絡(luò)編程語(yǔ)言來(lái)實(shí)現(xiàn)整個(gè)客戶端和服務(wù)器端的軟件開(kāi)發(fā)工作,靈活性比較強(qiáng)。
2.3 功能概述
手機(jī)端應(yīng)用主要實(shí)現(xiàn)以下多個(gè)功能:用戶管理、遠(yuǎn)程控制、安防、導(dǎo)航、油耗分析(待添加)、維護(hù)保養(yǎng)、異常管理、互動(dòng)用戶文檔、用戶信息等。
具體實(shí)現(xiàn)的功能包括:用戶登陸、車輛安全信息監(jiān)控、車輛位置定位及歷史軌跡回放、導(dǎo)航、油耗分析(待定)、維護(hù)保養(yǎng)提醒、異常信息顯示、提供電子版的保養(yǎng)手冊(cè)查閱、用戶信息查看及密碼修改等。
2.4 文件操作與網(wǎng)絡(luò)接口
手機(jī)apk中有兩種資源文件,使用兩種不同的方式。Raw方法使用如下:InputStream in=getResources().openRawResource(R.raw.test)。或者采用Asset方法,具體用法如下:InputStream in=getResources().getAssets().open(fileName)。
網(wǎng)絡(luò)接口主要如下:Socket s = new Socket("網(wǎng)址",端口)主要用于建立套接字,DataInputStream中的getInputStream方法取得輸入,DataOutputStream中的getOutputStream主要取得輸出。boolean phone.log(string userneme, string userpassword)用于傳輸用戶名密碼,獲取結(jié)果,其中userneme是用戶名,userpassword是密碼,返回值表示信息傳輸結(jié)果,否表示登陸信息未成功傳輸?shù)椒?wù)中心。boolean phone.log_recv()接收登錄判斷,返回值表示登陸驗(yàn)證結(jié)果。phone.control.sendask()發(fā)送遠(yuǎn)程控制請(qǐng)求,boolean phone.control.recv()接收遠(yuǎn)程控制反饋,否表示服務(wù)中心未收到遠(yuǎn)程控制請(qǐng)求。方法phone.control.sendresultask()發(fā)送執(zhí)行結(jié)果請(qǐng)求boolean返回值方法phone.control.recvresult()接收?qǐng)?zhí)行結(jié)果反饋,否表示遠(yuǎn)程控制執(zhí)行失敗。方法void phone.safe.askinfo()方法請(qǐng)求車輛安全信息,void phone.safe.recvinfo()方法用于接收車輛安全信息。其他方法包括請(qǐng)求車輛位置信息,接收車輛位置信息,發(fā)送車輛總里程和當(dāng)前保養(yǎng)里程等。
2.5 遠(yuǎn)程數(shù)據(jù)中心服務(wù)器設(shè)計(jì)
簡(jiǎn)單來(lái)說(shuō),Web Service 就是服務(wù)器端的一個(gè)對(duì)外接口,外部用戶能夠根據(jù)其名字和特性進(jìn)行遠(yuǎn)程調(diào)用,是一種基于SAOP[5]協(xié)議的遠(yuǎn)程調(diào)用標(biāo)準(zhǔn)。系統(tǒng)采用KSOAP[6]實(shí)現(xiàn)。
綜上所述,手機(jī)-遠(yuǎn)程數(shù)據(jù)中心系統(tǒng)的總體架構(gòu)圖如圖2所示。
圖2 手機(jī)-遠(yuǎn)程數(shù)據(jù)中心架構(gòu)圖Fig.2 Phone-Remote data center architec ture diagram
下面以服務(wù)器端向手機(jī)端發(fā)送車輛的GPS信息為例說(shuō)明消息從遠(yuǎn)程云中心下發(fā)至手機(jī)的實(shí)現(xiàn)。首先通過(guò)Constants.SERVER_URL配置服務(wù)器端的IP和端口,然后創(chuàng)建HttpTransportSE傳輸對(duì)象并實(shí)例化SoapObject對(duì)象,添加請(qǐng)求的參數(shù)以及使用SOAP1.1協(xié)議創(chuàng)建Envelop對(duì)象。最后通過(guò)call方法調(diào)用服務(wù)器返回的SOAP消息具體實(shí)現(xiàn)過(guò)程為:
public static String SendData(String tboxID, String date, double latitude, double longitude, int altitude, double speed, double direction) {
String surl = Constants.SERVER_URL+"DataService.asmx";
//()})
String methodName = "SendGPSData";
HttpTransportSE ht = new HttpTransportSE(surl);
ht.debug = true;
SoapObject soapObject = new SoapObject(nsp, methodName);
soapObject.addProperty("tboxID", tboxID+"");
……
SoapSerializationEnvelope envelope = new
SoapSerializationEnvelope(
SoapEnvelope.VER11);
envelope.bodyOut = soapObject;
envelope.dotNet = true;
try {
ht.call(nsp+ methodName, envelope);
if (envelope.getResponse()!= null){
SoapObject result = (SoapObject) envelope.bodyIn;
……
由于通信過(guò)程需要網(wǎng)絡(luò)支持,所以配置文件里需要加上允許網(wǎng)絡(luò)訪問(wèn)權(quán)限。具體實(shí)現(xiàn)如下:
車載終端將獲取到手機(jī)獲取的遠(yuǎn)程數(shù)據(jù)中心下發(fā)的車輛安全信息,如圖3所示。
圖3 手機(jī)端顯示車輛安全信息Fig.3 The velnicle safety information disply on the mobile phone
用戶通過(guò)手機(jī)遠(yuǎn)程控制車輛“雙閃”或者“鳴笛”功能,可以幫助車主尋找車輛,具體工作流程圖如圖4所示。例如,判斷指令類型,如果是開(kāi)啟雙閃,則調(diào)用Control接口,imsi參數(shù)設(shè)為登陸時(shí)保存的車載設(shè)備標(biāo)識(shí),參數(shù)Control_Cmd置為“YH CM 0 :1|1|7 0 ”,向服務(wù)器發(fā)送雙閃開(kāi)啟指令,若Control_Feedback參數(shù)返回值為1,在狀態(tài)欄顯示雙閃成功開(kāi)啟,為0則顯示雙閃開(kāi)啟失敗。
圖4 手機(jī)遠(yuǎn)程控制車輛工作流程圖Fig.4 The flow chant of vehicle remote contvol by mobile phone
本文從車載終端與云服務(wù)器接口設(shè)計(jì),手機(jī)端系統(tǒng)和遠(yuǎn)程數(shù)據(jù)通信設(shè)計(jì)兩個(gè)方面著手,列出了具體實(shí)現(xiàn)過(guò)程,為車聯(lián)網(wǎng)運(yùn)維系統(tǒng)提出了一種可行的通信架構(gòu)方案。該方案有助于保護(hù)用戶隱私,有助于對(duì)車輛的狀態(tài)信息進(jìn)行長(zhǎng)期且規(guī)范的存儲(chǔ)及分析,提高機(jī)動(dòng)車的保養(yǎng)效率。本研究面向?qū)嶋H生產(chǎn)需求,在現(xiàn)有無(wú)線車載終端的基礎(chǔ)上開(kāi)發(fā)出手機(jī)端和云計(jì)算中心通信架構(gòu)以及車載終端與云計(jì)算平臺(tái)之間的系統(tǒng)架構(gòu),提供了一種可行的通信架構(gòu)方案,為未來(lái)的大規(guī)模商用奠定了基礎(chǔ)。
[1]李海濤.基于QNX 的車機(jī)藍(lán)牙無(wú)線監(jiān)控系統(tǒng)[J].電子技術(shù)應(yīng)用,2014,40(2):115-121.
[2]羅冰洋,陳苗.基于Android平臺(tái)汽車監(jiān)測(cè)與診斷終端[J].計(jì)算機(jī)系統(tǒng)應(yīng)用 ,2016,5(2):263-267.
[3]藍(lán)星科技公司,2015產(chǎn)品介紹[EB/OL].[2015-2-24].http://www.hiinfo.cn/Showproducts.asp?id=27.
[4]Shari Lawrence Pfleeger, Joanne M. Atlee,軟件工程(第4版)[M].北京:人民郵電出版社,2010.
[5]Bill Brogden.SOAP與Java編程指南[M].北京:電子工業(yè)出版社,2002.
[6]KSOAP.[EB/OL].[2016-03-24]http://ksoap.objectweb.org/software/downloads/.
[7]王建強(qiáng),吳辰文,李曉軍.車聯(lián)網(wǎng)架構(gòu)與關(guān)鍵技術(shù)研究[J].微計(jì)算機(jī)信息,2011,27(4):156-159.
[8]王冬,張菲菲.車聯(lián)網(wǎng)技術(shù)挑戰(zhàn)及服務(wù)展望[J].物聯(lián)網(wǎng)技術(shù),2013,3(2):57-59.
[9]馬春紅,李飛.基于云計(jì)算環(huán)境的車聯(lián)網(wǎng)信息服務(wù)平臺(tái)構(gòu)建[J].測(cè)繪與空間地理信息,2014,37(3):83-87.
Designing a Mobile Oriented Cloud Center Based VANET Maintenance System
Wang-FU Luo1,Wang YONG2
(1.Department of City Construction, Anhui Vocational College of City Management, Hefei 231635, China; 2. ZhongJin Advanced Technology Institute Of Wenzhou, Wenzhou 325000, China)
OBD provides an interface for the communication between vehicle and smart devices, such as smart phones, which allows the driver to remotely control the vehicle. Many existing research has concentrated on the realization of one single function, or limited to the implementation of multiple function modules between smart phones and OBDs, they ignored the influence of cloud resource management system. With the cloud computation system, each terminal can send or receive the encrypted data to or from the cloud computing centers, which can help protect the user's privacy, and can regulate the long-term status monitoring for vehicles as well as improve the efficiency of vehicle maintenance. By designing a smart phone and remote server system architecture, we have pave the way for future large-scale commercialization.
OBD;VANET; Smartphone;Cloud Computing Center; Communication Architecture
2016-06-06
王富羅(1988-),女,安徽定遠(yuǎn)人,助教、碩士。主要研究方向:電子技術(shù)。
TP39
A
1673-6125(2016)03-0011-03