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