馬麗雅, 王照明
(中國(guó)人民公安大學(xué)警務(wù)信息工程學(xué)院, 北京 100038)
?
警用車輛監(jiān)控管理系統(tǒng)的研究與設(shè)計(jì)
馬麗雅,王照明
(中國(guó)人民公安大學(xué)警務(wù)信息工程學(xué)院, 北京100038)
摘要近年來(lái),隨著我國(guó)社會(huì)治安形勢(shì)日益復(fù)雜,公安部門在處置突發(fā)事件方面面臨著巨大壓力,對(duì)警用車輛監(jiān)控管理的信息化水平提出了更高要求。為了使指揮人員能夠全面掌控警車的行駛情況并對(duì)其進(jìn)行高效率的監(jiān)控調(diào)度,設(shè)計(jì)出警用車輛監(jiān)控管理系統(tǒng),該系統(tǒng)采用目前主流的3G無(wú)線通信技術(shù)、Linux嵌入式操作系統(tǒng)、WebService技術(shù)以及相關(guān)的軟硬件設(shè)備,可以實(shí)現(xiàn)對(duì)警車的實(shí)時(shí)監(jiān)控、指令下達(dá)以及日常警車使用管理,提高公安指揮作戰(zhàn)能力。
關(guān)鍵詞車輛監(jiān)控; GPS; 無(wú)線通信; Flex
0引言
近幾年,我國(guó)的犯罪案件呈現(xiàn)突發(fā)性和復(fù)雜性發(fā)展趨勢(shì),公安部門常常需要緊急調(diào)動(dòng)警力進(jìn)行聯(lián)合處警,在最短的時(shí)間內(nèi)制服犯罪分子,阻止犯罪形勢(shì)的進(jìn)一步惡化。因此,必須借助能夠?qū)囘M(jìn)行統(tǒng)一監(jiān)控管理的信息系統(tǒng),使指揮中心可以掌控全局,實(shí)現(xiàn)警力的合理調(diào)度和部署。目前,GPS定位技術(shù)以及無(wú)線數(shù)據(jù)傳輸技術(shù)的發(fā)展和成熟為車輛監(jiān)控管理系統(tǒng)的研究和應(yīng)用提供了強(qiáng)大的技術(shù)支撐,通過(guò)指揮中心與車輛之間的數(shù)據(jù)通信,實(shí)現(xiàn)對(duì)警車位置和行駛狀態(tài)的實(shí)時(shí)跟蹤,從而確保指揮中心對(duì)所有在線警車的統(tǒng)一監(jiān)控和管理。
1系統(tǒng)總體框架
本系統(tǒng)是綜合利用GPS定位、北斗定位、3G無(wú)線數(shù)據(jù)傳輸、WebService以及Flex等技術(shù)設(shè)計(jì)而成的。系統(tǒng)總體分為車輛終端、無(wú)線傳輸網(wǎng)絡(luò)以及監(jiān)控中心三部分[1]。系統(tǒng)框架如圖1所示,其中,車輛終端將采集到的車輛定位數(shù)據(jù)以及報(bào)警信息按照一定格式進(jìn)行打包后,經(jīng)過(guò)3G無(wú)線網(wǎng)絡(luò)和Internet網(wǎng)絡(luò)發(fā)送到公安部門監(jiān)控中心的通信服務(wù)器中進(jìn)行拆包,再將提取到的有效數(shù)據(jù)存儲(chǔ)在對(duì)應(yīng)的數(shù)據(jù)庫(kù)表中,同時(shí),通信服務(wù)器將定位數(shù)據(jù)發(fā)往指揮中心軟件平臺(tái),通過(guò)位置坐標(biāo)轉(zhuǎn)化和地圖匹配,最終將車輛行駛軌跡顯示在電子地圖上,實(shí)現(xiàn)對(duì)車輛的實(shí)時(shí)監(jiān)控。當(dāng)指揮中心向終端下發(fā)指令時(shí),通信服務(wù)器將指令經(jīng)由傳輸網(wǎng)絡(luò)發(fā)送到終端,終端根據(jù)指令內(nèi)容執(zhí)行相應(yīng)的操作。另外,系統(tǒng)還具有車輛檔案管理、超速報(bào)表、歷史軌跡回放等功能模塊,從而實(shí)現(xiàn)對(duì)警車的管理。
圖1 系統(tǒng)框架圖
2車輛終端設(shè)計(jì)
車輛終端是在Linux操作系統(tǒng)的支持下由多個(gè)硬件模塊組合而成,包括定位模塊EG12-BD、微處理器模塊S3C6410、3G無(wú)線數(shù)據(jù)傳輸模塊MG3732、電源模塊以及其它外圍電路等。這些模塊在微處理器的控制下協(xié)調(diào)運(yùn)行,一方面實(shí)現(xiàn)車輛終端數(shù)據(jù)的采集和發(fā)送,另一方面接收、執(zhí)行指揮中心下發(fā)的指令請(qǐng)求。硬件結(jié)構(gòu)如圖2所示。
圖2 車輛終端硬件結(jié)構(gòu)
S3C6410是一款基于ARM11框架的應(yīng)用處理器,具有音視頻處理功能,內(nèi)置支持MPEG4和H.264編碼方式的多格式編解碼器MFC[2],自帶豐富的UART、USB以及總線接口,可以和定位模塊、3G模塊進(jìn)行方便連接。Linux操作系統(tǒng)為終端提供軟件框架,各硬件模塊的驅(qū)動(dòng)程序通過(guò)操作系統(tǒng)預(yù)留的接口編譯在內(nèi)核中,而處理器在硬件驅(qū)動(dòng)程序的支持下通過(guò)設(shè)備文件對(duì)模塊進(jìn)行操作,利用中斷響應(yīng)控制各個(gè)模塊,最終實(shí)現(xiàn)對(duì)車輛終端數(shù)據(jù)的采集和處理。
EG12-BD是集GPS和北斗兩種定位技術(shù)于一體的雙定位模塊。由于公安工作的特殊性,警車監(jiān)控管理系統(tǒng)必須保證在GPS全球定位系統(tǒng)失效的情況下仍可以利用我國(guó)自行研發(fā)的北斗定位系統(tǒng)正常工作[3],而EG12-BD模塊則能夠很好的滿足這一要求。EG12-BD模塊支持NMEA-0183協(xié)議,該協(xié)議包含多種GPS數(shù)據(jù)格式,例如GPRMC、GPGLL、GPGSA以及GPGGA[4]。由于GPRMC格式中包括了本系統(tǒng)用于車輛定位所需的經(jīng)緯度、時(shí)間以及速度信息,而且所含信息量最小,因此本設(shè)計(jì)只需對(duì)GPRMC格式的GPS數(shù)據(jù)進(jìn)行提取即可。
終端啟動(dòng)工作后,首先利用初始化程序?qū)B接EG12-BD的串口進(jìn)行波特率以及通信格式的設(shè)置,在定時(shí)器的控制下,EG12-BD將定位數(shù)據(jù)通過(guò)串口發(fā)送給處理器S3C6410。S3C6410通過(guò)引腳接收到數(shù)據(jù)后先放入接收移位寄存器中進(jìn)行串行處理,然后再經(jīng)過(guò)緩存寄存器移入接收緩存中,并以中斷的方式通知處理器對(duì)定位數(shù)據(jù)進(jìn)行解析。S3C6410接收到的GPRMC數(shù)據(jù)格式如下:
$GPRMC,<1>,<2>,<3>,<4>,<5>,
<6>,<7>,<8>,<9>,<10>,<11>,
其中,在本設(shè)計(jì)中需要進(jìn)行解析提取的字段有:
<1>和<9>分別代表定位時(shí)間和日期,其中時(shí)間為國(guó)際標(biāo)準(zhǔn)時(shí)間,即UTC時(shí)間,利用“北京時(shí)間=UTC+8小時(shí)”公式進(jìn)行轉(zhuǎn)換。
<2>代表定位狀態(tài),A表示該語(yǔ)句是有效數(shù)據(jù),V表示定位失敗[5]。
<3>和<4>分別代表緯度的數(shù)值和分區(qū)(N或者S)。
<5>和<6>分別代表經(jīng)度的數(shù)值和分區(qū)(E或者W)。
<7>和<8>分別代表車輛的行駛速度和方向。
處理器解析出經(jīng)緯度和速度信息后,與程序中設(shè)定的閾值進(jìn)行比較,如果經(jīng)緯度超出一定范圍或者速度超出上限值,則要在上傳的數(shù)據(jù)包中加入越界或者超速報(bào)警信息。
在實(shí)際工作中,當(dāng)指揮中心需要對(duì)警車內(nèi)部或者外部現(xiàn)場(chǎng)情況進(jìn)行查看時(shí),可通過(guò)下發(fā)視頻回傳指令實(shí)現(xiàn)。指令到達(dá)終端之后,處理器立即執(zhí)行視頻回傳中斷子程序,同時(shí)觸發(fā)攝像頭進(jìn)行視頻信息采集。首先,通過(guò)驅(qū)動(dòng)程序打開(kāi)位于操作系統(tǒng)/dev/video路徑下攝像頭的設(shè)備文件,讀取攝像頭名稱、支持的分辨率等信息,并對(duì)采集的圖像屬性進(jìn)行設(shè)置,其次,觸發(fā)攝像頭采集使能,將采集到的視頻信息放入緩存中[6]。最后,設(shè)置編碼參數(shù),利用編解碼器MFC基于H.264技術(shù)對(duì)視頻進(jìn)行壓縮編碼,形成視頻流并通過(guò)無(wú)線數(shù)據(jù)傳輸網(wǎng)絡(luò)上傳到監(jiān)控中心,定位數(shù)據(jù)和視頻數(shù)據(jù)的處理流程如圖3所示。
圖3 終端數(shù)據(jù)流程
3G模塊借助無(wú)線數(shù)據(jù)傳輸網(wǎng)絡(luò)和互聯(lián)網(wǎng)為車輛監(jiān)控管理系統(tǒng)提供通信服務(wù)。本設(shè)計(jì)中選用的MG3732是中興WCDMA/GSM/GPRS模塊,擁有語(yǔ)音、短信以及數(shù)據(jù)業(yè)務(wù)功能,支持標(biāo)準(zhǔn)的AT指令,具有互聯(lián)網(wǎng)接入功能,主要負(fù)責(zé)車輛終端和監(jiān)控中心之間的數(shù)據(jù)傳輸。當(dāng)終端發(fā)送數(shù)據(jù)時(shí),處理器首先利用AT指令控制MG3732模塊附著在網(wǎng)絡(luò)上,網(wǎng)絡(luò)對(duì)其進(jìn)行鑒權(quán)和身份認(rèn)證后,就為終端分配一個(gè)IP地址,終端利用該IP地址與監(jiān)控中心的通信服務(wù)器之間建立起一條透明的傳輸鏈路,經(jīng)過(guò)協(xié)議封裝的定位數(shù)據(jù)、視頻數(shù)據(jù)以及下發(fā)的指令就可以在車輛和監(jiān)控中心之間進(jìn)行傳輸。
3監(jiān)控中心設(shè)計(jì)
監(jiān)控中心是警車監(jiān)控管理系統(tǒng)的操作中心,它由通信服務(wù)器和指揮中心組成,通信服務(wù)器又分為設(shè)備服務(wù)器和數(shù)據(jù)服務(wù)器,設(shè)備服務(wù)器是進(jìn)行數(shù)據(jù)處理的關(guān)鍵設(shè)備,當(dāng)終端通過(guò)無(wú)線數(shù)據(jù)傳輸網(wǎng)絡(luò)將數(shù)據(jù)發(fā)送到監(jiān)控中心時(shí),設(shè)備服務(wù)器首先驗(yàn)證數(shù)據(jù)包的有效性,然后進(jìn)行拆包解析,最后將得到的定位數(shù)據(jù)以及報(bào)警信息等發(fā)送到數(shù)據(jù)服務(wù)器進(jìn)行存儲(chǔ)。
指揮中心是系統(tǒng)實(shí)際操作中心。當(dāng)警務(wù)指揮人員需要實(shí)時(shí)監(jiān)控車輛、回放車輛運(yùn)行軌跡或者查詢車輛檔案、報(bào)警信息以及速度報(bào)表等信息時(shí),可通過(guò)對(duì)基于Flex技術(shù)搭建的客戶端軟件平臺(tái)進(jìn)行操作實(shí)現(xiàn)。Flex是由Macromedia公司推出的應(yīng)用技術(shù),它利用MXML語(yǔ)言描述系統(tǒng)交互界面,利用ActionScript語(yǔ)言進(jìn)行邏輯控制,它內(nèi)嵌的強(qiáng)大庫(kù)類能夠?qū)⑹录壿嫶a從用戶界面代碼中很好的分離出來(lái),為軟件平臺(tái)設(shè)計(jì)帶來(lái)方便。另外,基于Flex搭建的應(yīng)用程序經(jīng)編譯器編譯后生成的是SWF格式的文件,它可以運(yùn)行在任何瀏覽器上,像訪問(wèn)普通網(wǎng)頁(yè)一樣,極大降低了系統(tǒng)平臺(tái)對(duì)運(yùn)行環(huán)境的要求,使系統(tǒng)部署更加方便。
在本系統(tǒng)平臺(tái)中,當(dāng)用戶點(diǎn)擊系統(tǒng)界面上的某個(gè)功能組件時(shí),立即觸發(fā)與該組件綁定的事件,在事件代碼中,通過(guò)對(duì)WebService中定義的相應(yīng)功能函數(shù)進(jìn)行調(diào)用,從而返回?cái)?shù)據(jù)庫(kù)中符合條件的數(shù)據(jù),響應(yīng)用戶請(qǐng)求。之所以利用WebService是由于Flex應(yīng)用程序不能識(shí)別結(jié)構(gòu)化數(shù)據(jù),無(wú)法和數(shù)據(jù)庫(kù)直接進(jìn)行數(shù)據(jù)交互。因此,在本系統(tǒng)設(shè)計(jì)中利用Visual Studio 2010開(kāi)發(fā)工具基于.Net框架對(duì)WebService進(jìn)行開(kāi)發(fā),為客戶端Flex應(yīng)用程序和數(shù)據(jù)庫(kù)之間的數(shù)據(jù)交互提供中間服務(wù)。
在WebService應(yīng)用程序開(kāi)發(fā)中,通過(guò)System.Data.OracleClient提供的庫(kù)類和Oracle數(shù)據(jù)庫(kù)進(jìn)行配置連接,在自定義類中對(duì)歷史軌跡回放函數(shù)HistoryTrackQuery()、速度報(bào)表函數(shù)SpeedTable()等進(jìn)行定義,最后將WebService發(fā)布并生成WSDL文檔。Flex應(yīng)用程序?qū)ζ溥M(jìn)行調(diào)用時(shí),首先利用loadwsdl()函數(shù)加載該服務(wù)發(fā)布時(shí)生成的訪問(wèn)地址URL。加載成功后,F(xiàn)lex應(yīng)用程序只需將參數(shù)傳遞給對(duì)應(yīng)的功能函數(shù),WebService就會(huì)向數(shù)據(jù)庫(kù)請(qǐng)求調(diào)用數(shù)據(jù)并轉(zhuǎn)換為XML格式,最后經(jīng)過(guò)soap協(xié)議封裝并通過(guò)http返回給客戶端軟件平臺(tái)[7]。實(shí)質(zhì)上,WebService對(duì)外就像一個(gè)接口,F(xiàn)lex通過(guò)這個(gè)接口與數(shù)據(jù)庫(kù)方便地進(jìn)行數(shù)據(jù)交互。
警務(wù)指揮人員要想對(duì)警車的分布情況有直觀的了解,必須將車輛位置實(shí)時(shí)顯示在電子地圖上。高德公司推出的MapABC電子地圖具有全面精準(zhǔn)的地圖數(shù)據(jù),而且對(duì)外提供高度集成的API接口,通過(guò)調(diào)用該接口提供的函數(shù)即可實(shí)現(xiàn)對(duì)電子地圖的操作,無(wú)需在監(jiān)控中心搭建地圖服務(wù)器對(duì)復(fù)雜的地圖數(shù)據(jù)進(jìn)行管理和維護(hù),從而降低系統(tǒng)維護(hù)成本。具體做法是:在Flex應(yīng)用程序中的Library路徑中導(dǎo)入MapABC的SWC文件,實(shí)現(xiàn)地圖嵌入。在對(duì)地圖進(jìn)行操作的邏輯代碼中利用API接口提供的函數(shù)將請(qǐng)求參數(shù)傳遞給地圖服務(wù)器后,經(jīng)過(guò)坐標(biāo)轉(zhuǎn)換以及圖形匹配,地圖服務(wù)器將對(duì)應(yīng)的圖層返回并顯示在系統(tǒng)界面上。
4系統(tǒng)實(shí)現(xiàn)
根據(jù)警車監(jiān)控管理的需求,本系統(tǒng)的主要功能按模塊劃分為實(shí)時(shí)監(jiān)控、軌跡回放、報(bào)警統(tǒng)計(jì)報(bào)表以及車輛日常維護(hù)報(bào)表。其中,軌跡回放功能為車輛管理提供直觀依據(jù),可以在地圖上顯示指定時(shí)間段內(nèi)車輛的行駛路徑。具體代碼如下:
var _ws:WebService=null;∥定義WebService類的實(shí)例_ws
_ws.HistoryTrackQuery(vehicleID,beginTime,endTime,);∥調(diào)用軌跡查詢函數(shù)
HistoryTrackResult=e.result.Tables.HistoryTrack.Rows as ArrayCollection;∥返回定位結(jié)果
point= new MLngLat(def_x.toString(), def_y.toString());∥軌跡點(diǎn)
marker = new MMarker(point, markerOptions);∥設(shè)置點(diǎn)的顯示格式
arrMarkers.push(marker);∥由軌跡點(diǎn)組成數(shù)組
mapObj.addOverlays(arrMarkers, false);∥將軌跡點(diǎn)在地圖中標(biāo)記出來(lái)
arrPoint.push(point1);
arrPoint.push(point2);∥point1和point2是軌跡點(diǎn)數(shù)組中兩個(gè)相鄰的定位點(diǎn)
var polyline:MPolyline = new MPolyline(arrPoint, lineoptions);
arrOverlays.push(polyline);
mapObj.addOverlays(arrOverlays, false);∥地圖顯示兩點(diǎn)之間的軌跡
圖4 車輛軌跡回放
遍歷指定時(shí)間內(nèi)某車輛所有的定位點(diǎn)并依次執(zhí)行上述代碼,即可完成整個(gè)行駛軌跡的顯示,運(yùn)行效果如圖4所示。另外,每個(gè)軌跡點(diǎn)的定位時(shí)間、有無(wú)報(bào)警等信息也會(huì)顯示在系統(tǒng)界面中。報(bào)警統(tǒng)計(jì)報(bào)表功能可以將系統(tǒng)中所有警車上傳的報(bào)警信息進(jìn)行統(tǒng)計(jì),并按照?qǐng)?bào)警類型分為超速報(bào)警、越界報(bào)警等。日常維護(hù)報(bào)表主要對(duì)警車加油情況、維修情況、使用情況等進(jìn)行統(tǒng)計(jì),管理人員可對(duì)其執(zhí)行增加、查詢和刪除等操作,并且可通過(guò)導(dǎo)出功能將報(bào)表以excel形式導(dǎo)出,既可以進(jìn)行打印,也可以將報(bào)表上傳到上級(jí)部門,實(shí)現(xiàn)信息共享。另外,為了使警員養(yǎng)成良好駕車習(xí)慣,保障行車安全,本系統(tǒng)也可將車輛行駛速度以曲線圖的形式呈現(xiàn)出來(lái),公安部門能以此為依據(jù)對(duì)違規(guī)駕車的警員進(jìn)行教育培訓(xùn)。報(bào)警統(tǒng)計(jì)報(bào)表部分代碼如下:
var _ws:WebService=null;∥定義WebService類的實(shí)例_ws
_ws.GetAlarm(alarmType,vehicleID,beginDate,endDate);∥調(diào)用GetAlarm()函數(shù)
AlarmQueryResult=e.result.Tables.AlarmStat.Rows as ArrayCollection;∥返回報(bào)警數(shù)據(jù),并以表格形式顯示運(yùn)行效果如圖5所示。
圖5 超速報(bào)警報(bào)表
5結(jié)語(yǔ)
本系統(tǒng)綜合利用GPS/北斗雙定位、3G無(wú)線數(shù)據(jù)傳輸?shù)燃夹g(shù)實(shí)現(xiàn)對(duì)警車的可視化監(jiān)控管理?;贔lex搭建的客戶端軟件平臺(tái)為警務(wù)人員提供友好、易懂的操作界面,在WebService的幫助下,可以和數(shù)據(jù)庫(kù)快速進(jìn)行數(shù)據(jù)交互,實(shí)現(xiàn)車輛實(shí)時(shí)監(jiān)控、指令下發(fā)、各種報(bào)表查詢等功能。在日常使用中,通過(guò)軌跡查詢和超速報(bào)警對(duì)車輛的使用進(jìn)行嚴(yán)格管理,規(guī)范警員駕車行為。另外,系統(tǒng)充分利用3G網(wǎng)絡(luò)在數(shù)據(jù)傳輸方面的獨(dú)特優(yōu)勢(shì)實(shí)現(xiàn)車輛與監(jiān)控中心的通信,大大提高公安部門的指揮調(diào)度效率,為全面實(shí)現(xiàn)公安警務(wù)信息化提供有力保障。
參考文獻(xiàn)
[1]李輔成. 基于GPS和GIS的車輛監(jiān)控系統(tǒng)[D]. 天津:天津大學(xué),2009.
[2]胡世敏. 基于S3C6410的視頻監(jiān)控系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[J]. 現(xiàn)代電子技術(shù),2011,34(20):63-66.
[3]劉琳. 北斗/GPS雙模差分定位技術(shù)的研究及實(shí)現(xiàn)[D]. 北京:北京交通大學(xué),2013.
[4]余紅珍,伍勇豪,周鳳麗. 基于GPS/GPRS的嵌入式終端系統(tǒng)的研究與實(shí)現(xiàn)[J]. 數(shù)學(xué)技術(shù)與應(yīng)用,2012(11):113-114.
[5]懷洋,邵瓊玲,路振民,等. 北斗/GPS混合定位模塊UM220應(yīng)用研究[J]. 國(guó)外電子測(cè)量技術(shù),2014,33(3):76-79.
[6]馬資道,張正炳. 基于ARM-Linux的網(wǎng)絡(luò)視頻監(jiān)控終端的軟件實(shí)現(xiàn)[J]. 計(jì)算機(jī)測(cè)量與控制,2011,19(2):456-458.
[7]熊光彩,慕德俊,張新家,等. 基于Axis2的web服務(wù)安全框架設(shè)計(jì)與實(shí)現(xiàn)[J]. 計(jì)算機(jī)工程與設(shè)計(jì),2012,33(5):1729-1733.
(責(zé)任編輯于瑞華)
作者簡(jiǎn)介馬麗雅(1992—), 女, 內(nèi)蒙古人,2013級(jí)安全防范技術(shù)與工程專業(yè)研究生。
中圖分類號(hào)D035.37