任曉莉
(寶雞文理學院 計算機學院,陜西 寶雞 721016)
?
基于GPS的車輛定位監(jiān)控系統(tǒng)
任曉莉
(寶雞文理學院 計算機學院,陜西 寶雞721016)
摘要:針對車輛被盜、非授權駕駛等車輛安全問題和公車私用現(xiàn)象,提出基于GPS技術實時地進行車輛跟蹤和定位,實現(xiàn)車輛軌跡匯報、防盜等功能;在Linux環(huán)境下,使用C語言編寫了一套簡單的車輛定位系統(tǒng),系統(tǒng)采用GPS模塊,實時地采集車輛的經(jīng)緯度、海拔高度、車輛行駛速度等信息,實現(xiàn)了車輛定位信息的記錄、輸出、鎖定、打印功能,并通過TCP協(xié)議將車輛監(jiān)控數(shù)據(jù)上傳到網(wǎng)頁上,實現(xiàn)讓監(jiān)控人員可以清晰地查看車輛行駛狀況的功能;并使用QT設計了一個顯示界面輸出定位信息,同時實現(xiàn)了根據(jù)時間將符合條件的定位數(shù)據(jù)進行篩選的功能。
關鍵詞:GPS;車輛監(jiān)控;定位; 防盜
0引言
隨著經(jīng)濟的飛速增長,人們的生活水平也日趨提高,私家車也越來越多,但是由于停車場數(shù)量少,大部分車輛停放在無人看守地帶,容易發(fā)生車輛被盜情況;車輛在保養(yǎng)或維修期間,車輛可能會被一些維修人員非授權駕駛,一旦出現(xiàn)意外事故,會對車輛和車主造成嚴重的經(jīng)濟損失和精神傷害。另外,目前公車私用現(xiàn)象也比較普遍,部分單位的人員利用公車游玩、接送家屬,部分企業(yè)的人員利用工程車輛接私活。上述情況都是由于缺少對車輛的監(jiān)控所致,如何實現(xiàn)對車輛的有效監(jiān)控是個人和單位迫切需要解決的問題。
本文采用GPS技術對車輛進行實時監(jiān)控,實現(xiàn)車輛的定位、軌跡匯報、防盜等功能。
1基于GPS的車輛定位監(jiān)控系統(tǒng)設計
GPS可以提供車輛定位、防盜[1]、反劫、行駛路線監(jiān)控及呼叫指揮等功能。車輛定位管理系統(tǒng)是將GPS端數(shù)據(jù)采集的技術和互聯(lián)網(wǎng)技術相結合,將車輛的位置信息、狀態(tài)信息等數(shù)據(jù)向車輛管理人員反饋,從而實現(xiàn)車輛監(jiān)控和防盜功能。車輛定位管理系統(tǒng)可分為兩大功能模塊,即:車載端與監(jiān)控中心。車載端通過使用GPS接收機去接收衛(wèi)星信號,然后運算出相關的定位數(shù)據(jù),包括經(jīng)度、經(jīng)度半球、緯度、緯度半球、世界時間、車輛速度、行駛方向和狀態(tài)數(shù)據(jù)等[2-3],經(jīng)過計算打包處理,將數(shù)據(jù)上傳到服務器端,服務器端接收來自車載端的定位及狀態(tài)數(shù)據(jù),判斷數(shù)據(jù)類型,將其中的能夠顯示車輛位置、狀態(tài)的GPS定位數(shù)據(jù)、狀態(tài)數(shù)據(jù)等并且以表格的形式在網(wǎng)頁上顯示出來,并將分析出的數(shù)據(jù)保存到本地文件中以作備份,從而實現(xiàn)車輛的實時監(jiān)控管理。
要實現(xiàn)上述功能必須具備GPS終端、傳輸網(wǎng)絡和監(jiān)控平臺3個要素。
1.1GPS終端
GPS模塊系統(tǒng)采用第三代高線式SiRFStarIII,該芯片的定位精度小于10 m,定位速度快,靈敏度較高。該芯片接收的位置數(shù)據(jù)通常以GPRMC精簡數(shù)據(jù)格式表示[4]。
1.2傳輸網(wǎng)絡
把通過GPS接收器采集的數(shù)據(jù)以網(wǎng)頁的形式展現(xiàn),需要在GPS接收器與服務器之間建立連接并進行數(shù)據(jù)傳輸,傳輸過程中需要遵循一定的網(wǎng)絡傳輸協(xié)議。TCP/IP協(xié)議可以為網(wǎng)絡中的各個主機提供面向連接的可靠通信服務,所以選擇TCP協(xié)議。
1.3開發(fā)平臺
Linux是基于Unix的開源、免費的操作系統(tǒng),它支持多用戶、多任務、支持多線程和多CPU。Linux具有良好的兼容性,它可以運行主要的Unix工具軟件、應用程序和網(wǎng)絡協(xié)議[5]。
由于要了解GPS底層的配置、工作方式,開發(fā)環(huán)境采用Linux操作系統(tǒng),用vim編輯,gcc編譯和gdb調試程序,用makefile來管理設計中用到的幾個文件。
2基于GPS的車輛定位監(jiān)控系統(tǒng)實現(xiàn)
2.1GPS串口的配置
使用GPS之前,首先要做的就是配置串口的屬性,在Linux系統(tǒng)下安裝minicom,然后使用 minicom -s 命令進入,選擇Serial port setup,進入后將Serial Device選擇為/dev/ttyUSB0,接下來選擇E,將其更改為9600 8N1。在代碼部分,首先保存串口的原有屬性,避免配置出錯后無法恢復,然后獲取原有屬性,ret = tcgetattr(fd,&old),接下來修改波特率,將波特率設置為9 600,同時串口屬性為8N1,即1位起始位,8位數(shù)據(jù)位和1位停止位,PATH地址是/dev/ttyUSB0,最后通過使用tcsetattr函數(shù)設置新的屬性[5]。
2.2GPS數(shù)據(jù)采集和分析
因為GPS接收器所接收到的數(shù)據(jù)是一個很長的字符串,通??梢杂枚禾杹韰^(qū)分數(shù)據(jù),同時因為外界因素的影響和接收器本身的誤差問題,接收到的數(shù)據(jù)可能是一個并不完整的壞數(shù)據(jù),所以首先要做的就是判斷當前所讀到的數(shù)據(jù)是否有效[6]。當確認有效后,就要分析數(shù)據(jù)的類型。所使用的GPS模塊接收到的數(shù)據(jù)主要是GPGGA格式。GPS數(shù)據(jù)采集流程如圖1所示。
圖1 GPS數(shù)據(jù)采集流程
2.3數(shù)據(jù)的保存
因為GPS的數(shù)據(jù)采集是實時的,只要模塊運作正常,數(shù)據(jù)會不停地被接收,所以存儲的方式就需要慎重考慮,模塊內存為8K,在C語言中,鏈表正好可以滿足內存小的缺陷,創(chuàng)建了擁有15組鏈表的循環(huán)鏈表。每當從接收器里接收到一條數(shù)據(jù)后,分析到的各部分數(shù)據(jù)會存在單個鏈表的結構體中,并自動指向下一個鏈表。當15組鏈表填滿后,會自動free掉鏈表,重新利用這些空間,將內存的利用率達到最大。
2.4記錄
當在控制臺輸入’N’的時候,系統(tǒng)會自動檢測所生成的記錄文件是否有數(shù)據(jù),當返回值顯示文件內容為空,或者沒有查找到記錄文件時,則會重新開始記錄,通常情況下當運行程序時會自動開始記錄。
2.5輸出
首先輸入make,電腦會自動運行makefile里的命令,將所有源文件和頭文件編譯,最終生成兩個可執(zhí)行文件,main和main2。其中main是GPS啟動文件,main2是網(wǎng)頁服務器啟動文件。先運行main,在控制臺輸入’Y’,控制臺會直接顯示當前GPS模塊所接收到的數(shù)據(jù),并分析成清晰明了的數(shù)據(jù)顯示在控制臺上,每讀取一條顯示一條。輸出結果如圖2所示。
圖2 輸出功能
2.6鎖定
在控制臺輸入’L’,開啟鎖定功能。系統(tǒng)會自動讀取當前的數(shù)據(jù),查找出其中的保存經(jīng)度和緯度數(shù)據(jù)段字段,并將所讀取到的經(jīng)緯度坐標作為原點,同時已選定的坐標位置為原點,設施判斷函數(shù),范圍為正負0.001即100米,當讀取到的經(jīng)緯度范圍超出預設范圍后,即表示車輛發(fā)生移動,GPRS模塊會自動讀取保存好的短信信息,選取“您的車輛可能被盜,請檢查車輛安全”這條信息發(fā)送給車主,提示車主馬上查看自己的車是否被盜。
2.7服務器上傳數(shù)據(jù)
本功能使用Html編寫,使用循環(huán)從文件中讀取每條信息,最后編譯生成可執(zhí)行文件main2。運行服務器可執(zhí)行文件main2文件,打開服務器。當開啟服務器后,打開任意瀏覽器,在網(wǎng)址處輸入localhost:+所指定的端口號。通過設定好的端口,登陸網(wǎng)頁,就可以查看到以表格形式顯示出來的數(shù)據(jù),查看車輛每時每刻處于什么地點,車速、方向海拔等信息。點擊刷新頁面后,網(wǎng)頁表格下方會自動添加新采集并分析好的數(shù)據(jù)[7],如圖3所示。
圖3 網(wǎng)頁界面
2.8導出
在網(wǎng)頁左上方,有一個按鈕,“導出EXCEL”。點擊后會打開另一個網(wǎng)頁,網(wǎng)頁上以列表的形式將保存的數(shù)據(jù)顯示出來,并且自動在本地生成一個EXCEL文件,可以查看文件內的存儲結果,同時起到備份的功能,如圖4所示。
2.9查看文件并篩選
由于GPS模塊是每秒采集一次車輛信息,數(shù)據(jù)接收后輸出的數(shù)據(jù)比較多,尋找需要查看的數(shù)據(jù)要逐條查看,即費時又費力,因此需要可以對輸出的數(shù)據(jù)按一定的時間進行篩選。
圖4 導出EXCEL后界面
圖5 QT主界面
QT主要是使用信號和槽的機制來響應各個動作。界面設計需要一個包含兩個Table Widget組件的主界面和一個輸入?yún)?shù)的Dialog組件。在主界面的左上方加入一個名為operate 的Push Button組件,其功能是瀏覽文件,再在Push Button組件下方先放置一個Tab Widget組件,再在Tab Widget組件每頁層疊放置兩個Table Widget組件, 以Excel的表格形式顯示數(shù)據(jù)。Dialog需要有一個Label組件,一個Line Edit組件,一個Push Button組件。主界面如圖5所示,當點擊“原樣表格”選項卡后,在第一個Table Widget組件中顯示成功打開EXCEL類文件的內容,當點擊“搜索內容”選項卡后,會自動彈出一個QDIALOG,在對話框的文本框中輸入查詢時間,確定后會將文件中所有符合的數(shù)據(jù)在第二個Table Widget組件中全部顯示出來[8]。
3結論
基于GPS技術對車輛進行實時跟蹤和定位,實現(xiàn)了車輛監(jiān)控、軌跡匯報、防盜功能。在Linux環(huán)境下開發(fā)了簡單的車輛定位系統(tǒng),通過GPS模塊實時采集車輛的經(jīng)緯度、海拔高度、車輛行駛速度等信息,實現(xiàn)了車輛定位信息的記錄、輸出、鎖定、打印功能,并通過TCP協(xié)議將車輛監(jiān)控數(shù)據(jù)上傳到網(wǎng)頁上,實現(xiàn)讓監(jiān)控人員可以清晰地查看車輛行駛狀況的功能。并使用QT設計了一個顯示界面輸出定位信息,同時實現(xiàn)了根據(jù)時間將符合條件的定位數(shù)據(jù)進行篩選的功能。
參考文獻:
[1]趙亭.基于車聯(lián)網(wǎng)的汽車智能防盜系統(tǒng)設計[J].電子技術應用,2015,41(3):61-64.
[2]林濤,徐偉鑫,張震,等.基于嵌入式的車輛行駛記錄系統(tǒng)設計[J].計算機測量與控制,2014,22(1):168- 171.
[3]何濤.車載GPS集成與應用維護[M].成都:電子科技大學出版社,2011.
[4] SiRFStarIII GPS Single Chip[EB/OL].http://wenku.baidu.com/view/c8f49c232f60ddccda38a0a3.html.
[5]劉憶智.Linux從入門到精通(第2版)[M]. 北京:清華大學出版社,2014.
[6]劉婧娟.基于GPS和GSM短消息的車載定位系統(tǒng)的研究[D].重慶:重慶大學,2008.
[7]李東博.HTML5+CSS3從入門到精通[M].北京:清華大學出版社,2013.
[8]霍亞飛. Qt Creator快速入門(第2版)[M]. 北京:北京航空航天大學出版社,2014.
Vehicle Positioning and Monitoring System Based on GPS
Ren Xiaoli
(College of Computer, Baoji University of Arts and Science, Baoji721016, China)
Abstract:Aim to the security problems that vehicle be stolen or unauthorized drive and the phenomenon that utility vehicle used by private, the vehicle tracing and positioning system based on GPS technology is proposed, which implement the functions such as trace report and anti-theft. Under the Linux environment, a simple vehicle positioning system is developed by C Language. In which, the GPS module is adopted to gather the vehicle longitude, latitude, elevation and running speed, etc. The process functions for vehicle positioning information such as record, output, lock and print are implement. The data for vehicle monitoring may be uploaded to website by TCP protocol, so that viewer may view the vehicle running condition clearly. An interface is designed by QT to output positioning information and filter the information according to the certain time condition.
Keywords:GPS; vehicle monitoring; positioning; anti-theft
文章編號:1671-4598(2016)02-0074-03
DOI:10.16526/j.cnki.11-4762/tp.2016.02.020
中圖分類號:TP391
文獻標識碼:A
作者簡介:任曉莉(1978-),女,寧夏中衛(wèi)人,碩士,副教授,主要從事信號與信息處理方向的研究。
基金項目:陜西省教育廳自然科學類專項項目(14JK1047)。
收稿日期:2015-08-07;修回日期:2015-09-17。