劉香燕 陳金鷹 韓子康 王飛 嚴丹丹A
摘 要:針對汽車安全問題提出了一種基于GPS、GIS以及GPRS的汽車遠程定位防盜系統(tǒng)設計方案。該方案利用GPS信號接收模塊定位得到汽車位置的原始數據,通過中央控制模塊的處理獲得具體的位置信息,最后由GPRS遠程傳輸模塊將數據傳到遠端的服務器端,服務器端使用VB進行開發(fā),并利用MapX控件通過GIS軟件MapInfo制作地圖,將被監(jiān)測汽車的位置等信息實時在PC機數據接收系統(tǒng)的數字地圖上顯示出來,通過地圖每秒刷新一次的頻率,配合其放大、縮小、平移等功能實現了對汽車直觀、快捷、實時的遠程跟蹤監(jiān)測。
關鍵詞:北斗;定位;通用分組無線服務技術;顯示;防盜;地理信息系統(tǒng)
中圖分類號:U495 文獻標識碼:A 文章編號:2095-1302(2016)05-00-02
0 引 言
隨著人們生活水平的日益提高,在汽車大量普及的同時,汽車的安全問題也得到了越來越廣泛的關注。汽車防盜裝置包括發(fā)動機防盜系統(tǒng)、安全鎖、指紋識別以及人臉識別等,這些技術雖然先進但成本過高,普及難度大且無法實現實時了解汽車動態(tài)的功能。本文利用全球定位系統(tǒng)(Global Positioning System,GPS)作為汽車定位依據,其定位精度在幾米之內[1]。通過通用分組無線服務技術(General Packet Radio Service,GPRS)將定位信息遠程傳輸到車主的個人PC機,PC機上的地理信息系統(tǒng)(Geographic Information System,GIS)包括一個可視化的地圖界面,其經緯度信息以定位點的形式顯示在地圖上,可供車主直觀查看,從而通過車主對汽車的跟蹤監(jiān)測功能達到了防盜的目的[2,3]。
1 系統(tǒng)硬件設計
1.1 硬件電路
系統(tǒng)總體框圖如圖1所示,其中GPS定位系統(tǒng)、GPRS系統(tǒng)以及中央控制系統(tǒng)為硬件電路部分。TD3017A芯片(GPS)從外部提供的有源天線接收北斗衛(wèi)星定位信號,信號經放大混頻、濾波器處理之后由模擬數字轉換成數字中頻信號送給基帶芯片?;鶐酒邮盏剿蛠淼臄底中盘柡螅涍^一系列算法處理后由串口輸出NMEA-0183格式的定位數據傳輸給單片機STC12C5A60S2。單片機對接收到的數據進行提取以及換算后將經緯度信息顯示在LCD12864液晶顯示屏上,同時將所提取的數據通過GPRS模塊發(fā)送到電腦端的軟件地圖界面,顯示經緯度的同時在地圖上實時標識出所定的位置。
圖1 系統(tǒng)總體框圖
1.2 單片機程序設計
單片機控制的硬件系統(tǒng)實現流程如圖2所示。STC12C5A60S2具有兩個串口,利用其中一個串口實現定位數據接收,單片機從接收到的NMEA-0183數據格式的數據中提取經緯度數據并顯示在LCD12864液晶顯示屏上。另一個串口控制GPRS遠程通信模塊與PC機端的數據接收顯示系統(tǒng)連接與通信,主要將控制AT指令以及經緯度信息通過網絡傳遞到顯示系統(tǒng)。單片機程序采用Keil μ Vision4利用C語言編程實現。其中經緯度信息根據NMEA-0183格式數據的規(guī)律性提取[4]。其核心代碼如下:
GetData(str,,, 3, (char*)Latitude2);
//獲取第3個","后的緯度方向字段
GetData(str,',', 4, (char*)direct2);
//獲取第4個","后的緯度字段
GetData(str,,, 5, (char*)Latitude1);
//獲取第5個","后的經度方向字段
GetData(str,',', 6, (char*)direct1);
//獲取第6個","后的經度字段
單片機與GPRS模塊連接的核心代碼為:
SET_LOCAL_PORT[]=”AT+CLPORT=\”TCP\”,\”2022\”\r”;//設置本地端口(SET LOCAL PORT)
CONNECTION_IP[]=”AT+CIPSTART=\”TCP\”,\”117.139.245.35\”,\”8080\”\r”;
UART_Two_Printf(SET_LOCAL_PORT);
//發(fā)送設置端口信息
UART_Two_Printf(CONNECTION_IP);
//發(fā)送連接信息
圖2 系統(tǒng)硬件實現流程圖
2 系統(tǒng)軟件設計
2.1 軟件功能設計方案
在Visual Basic 6.0中制作好的GIS系統(tǒng)界面最終效果如圖3所示。
GIS系統(tǒng)界面主要實現的功能包括以下6項:
(1)地圖繪制功能:使用Map控件完成地圖的繪制,Map控件是圖3中標號3所示的地球狀控件。
(2)地圖查看功能:完成對地圖放大、縮小、平移的功能。
(3)遠程連接功能:通過Winsock控件實現GPRS模塊與GIS系統(tǒng)的遠程連接,Winsock控件是圖3中標號2所示的電腦狀控件。
(4)數據接收與提取功能:該功能完成對經緯度信息的接收以及提取功能。
(5)定位顯示功能:將接收到的經緯度信息顯示在相應文本框中,并通過Visual Basic 6.0軟件實現位置的確定以及定點標注。
(6)定時刷新功能:此功能使地圖以每秒一次的頻率更新,由定時器控件Timer實現,Timer控件是圖3中標號1所示的鐘表狀控件。
2.2 地圖的制作與實現
由GIS地圖制作軟件MapInfo制作編輯好地圖,將制作好的地圖保存為.gst格式,此格式的地圖可以通過具有很強的地圖分析功能的Mapx控件打開,也可以通過GeoDict.DCT文件連接到Visual Basic 6.0的Map控件,通過Map控件就可以繪制出在MapInfo中制作好的地圖[5-7]。其中,通過經緯度信息在地圖圖層中添加定位點的程序為:
Dim mobileobj As MapXLib.Feature //定義圖元
Dim mobileftr As New MapXLib.Feature
Dim lyr As MapXLib.Layer//定義圖層
mobileftr.Attach Map1//將圖元依附在Map1上
mobileftr.Type = miFeatureTypeSymbol//定義點圖元類型
mobileftr.Style = Map1.DefaultStyle//暫時定為為默認樣式
For Each lyr In Map1.Layers
If lyr.Name = “BDLayer” Then
Map1.Layers.Remove lyr //刪除原軌跡圖層,如果有的話
Set lyr = Map1.Layers.CreateLayer(“BDLayer”)
//創(chuàng)建軌跡圖層
Set Map1.Layers.AnimationLayer = lyr
//將軌跡圖層設為動態(tài)圖層(加快刷新速度)
mobileftr.Point.Set BDLon, BDLat
//將轉換為度格式后北斗經緯度數據賦值給該點圖元
Set mobileobj = Map1.Layers(“BDLayer”).AddFeature(mobileftr) //將點圖元增加到動態(tài)圖層,實時地顯示汽車在地圖中的位置
mobileftr.Point.Set BDLon, BDLat
//重新為北斗導航點賦值經緯度
Map1.Layers(“BDLayer”).Refresh
//刷新地圖的動態(tài)圖層
圖3 GIS系統(tǒng)
3 系統(tǒng)測試
經過多次調試,系統(tǒng)能夠正確接收到GPS定位模塊傳來的數據并通過中央控制模塊正確處理之后顯示在LCD12864液晶顯示屏上,具體如圖4所示。
圖4 液晶顯示結果
同時,在PC機數據接收顯示系統(tǒng)中的GIS圖中也可以看到經緯度的顯示數據以及在地圖上的具體位置,圖5所示的信科院旁邊的紅色小點,即為定位地點。
圖5 GIS系統(tǒng)顯示結果
4 結 語
本文介紹了一種基于GPS的汽車防盜定位系統(tǒng)設計,系統(tǒng)以STC12C5A60S2為中央控制系統(tǒng),利用其雙串口功能實現接收數據的同時控制GPRS模塊與遠端的GIS系統(tǒng)相互通信,通過對汽車進行實時定位與顯示,從而實現了防盜的功能。
參考文獻
[1]李佳,劉巍巍.車輛GPS定位系統(tǒng)設計[J].黑龍江科技信息,2009(15):65.
[2]張偉芳,曾連蓀,姚南.基于GPS_GPRS的車載監(jiān)控終端系統(tǒng)[J].計算機輔助工程,2008(12):96-99.
[3]胡最,湯國安,閭國年.GIS作為新一代地理學語言的特征[J].地理學報,2012,67(7):867-877.
[4]丁若婷,孫越,汪毅雄,等.基于4G移動通信的實時車輛監(jiān)控管理系統(tǒng)[J].信息通信技術,2015(5):27-32.
[5]吳海艷.淺談如何應用MapInfo軟件制作草場承包示意圖[J].青海草業(yè),2015,24(2):46-47.
[6]劉彬彬,安劍.Visual Basic從入門到精通(第2版)[M].北京:清華大學出版社,2010.
[7]李俊民,趙東.零基礎學Visual Basic[M].北京:機械工業(yè)出版社,2010.