王煜民, 于蓮芝, 曾 亮, 王 文, 王星磊
隨著現(xiàn)代科技的迅猛發(fā)展,昂貴汽車被盜事件經(jīng)常發(fā)生,因而汽車的安全保護(hù)技術(shù)引起了廣泛的重視。為了防范汽車被盜,人們設(shè)計(jì)了很多防盜裝置。但傳統(tǒng)的防盜裝置具有一定的局限性,不能對汽車的安全提供可靠的保證。伴隨著GSM[1]/GPS[2]技術(shù)的成熟以及網(wǎng)絡(luò)的普及,因而提出了基于GSM/GPS的汽車防盜跟蹤系統(tǒng)。該系統(tǒng)能夠?qū)崟r進(jìn)行傳感器信號的現(xiàn)場采集和短時分析,同時根據(jù)對傳感器信號的處理判斷是否開啟WIFI無線網(wǎng)絡(luò)。當(dāng)小車被盜時產(chǎn)生報警信號,并且系統(tǒng)自動發(fā)出短信給主人,短信內(nèi)容包括小車被盜信號和小車當(dāng)前所處的地址信號即經(jīng)緯信息以及小車的速度。同時,通過WIFI無線網(wǎng)絡(luò)傳輸圖像到終端電腦,用以確定小偷的長相。
整個系統(tǒng)硬件包括單片機(jī)最小系統(tǒng)、傳感器模塊、GSM/GPS模塊、報警電路、電源模塊、MAX232[3]串口電平轉(zhuǎn)換芯片等。為了使系統(tǒng)功能得到完善,采用STC系列單片機(jī)即可滿足要求。從I/O接口可知,GSM模塊與GPS模塊共用了單片機(jī)的TX、RX這兩個接口,所以要選用CD4066,使得這兩個模塊能共享串口通信。CD4066內(nèi)部有4個獨(dú)立的模擬開關(guān),靠來自單片機(jī)的信號來控制模擬開關(guān)的狀態(tài)。P1.0控制無線路由器的啟動。考慮到要給單片機(jī)提供在線下載,因此也加了MAX232串口電平轉(zhuǎn)換芯片?;贕SM/GPS技術(shù)的汽車防盜跟蹤系統(tǒng)的系統(tǒng)結(jié)構(gòu)圖如圖1所示。
圖1 基于GSM/GPS技術(shù)的汽車防盜跟蹤系統(tǒng)的系統(tǒng)結(jié)構(gòu)
圖像獲取與傳輸模塊包括攝像頭、無線路由器、終端電腦。攝像頭用來采集小偷的臉部圖像信息,而無線路由器用來傳輸圖像信息。要使路由器能正常傳輸圖像,首先要對無線路由器刷openwrt[4]操作系統(tǒng);其次,還要用C++語言編寫上位機(jī)[5]終端程序,使得圖像能在終端上顯示并保存。
GSM模塊采用的是TC35i芯片。TC35i是德國西門子公司的一款900/1 800 MHz高度集成的GSM模塊。TC35i模塊有40個引腳,通過一個ZIF連接器引出。首先,TC35i的第1~5引腳接電源,為模塊供電(通常推薦值4.2 V),第6~10引腳接電源地。當(dāng)系統(tǒng)正常工作前,單片機(jī)必須要先給IGT加一個大于100 ms的低脈沖,電平下降持續(xù)時間不可超過1 ms,接著通過單片機(jī)給GSM模塊一個AT指令,這樣單片機(jī)的TX與RX就可以分別與18腳的RXD和19腳TXD進(jìn)行串口通訊。TC35i的第32腳SYNC引腳是指示TC35i的工作狀態(tài)。當(dāng)LED熄滅時,表明TC35i處于關(guān)閉或睡眠狀態(tài);當(dāng)LED為600 ms亮/600 ms熄時,表明SIM卡沒有插入或TC35i正在進(jìn)行網(wǎng)絡(luò)登錄;當(dāng)LED為75 ms亮/3 s熄時,表明TC35i已登錄進(jìn)網(wǎng)絡(luò),處于待機(jī)狀態(tài)。最后,模塊的24~29引腳是接SIM卡的。
GPS模塊采用的是REB-3310芯片。REB-3310芯片有 30個引腳。1腳接主電源(供電電壓為 3.3 V左右),而2、10~16、18、30腳接地。3腳為BOOT工作模式選擇腳,高電平時刷新內(nèi)部軟件,低電平時正常工作。當(dāng) GPS模塊正常工作時,17腳 RFIN衛(wèi)星信號輸入端口會把接收到的信號通過6腳TXB UART接口傳給單片機(jī)。
本系統(tǒng)主要采用的是紅外傳感器[6]。使用單片機(jī)4個引腳分別接四個紅外傳感器,來檢測汽車狀況。當(dāng)四個傳感器中超過兩個發(fā)出異常信號則使系統(tǒng)進(jìn)入異常處理機(jī)制。另外,系統(tǒng)也擴(kuò)展出了一些端口,可以接其他的一些傳感器,這樣可以使系統(tǒng)更加穩(wěn)定可靠的工作。
整個系統(tǒng)的硬件電路如圖2所示。
圖2 基于GSM/GPS技術(shù)的汽車防盜跟蹤系統(tǒng)硬件電路
系統(tǒng)上電后,系統(tǒng)以查詢的方式來對環(huán)境進(jìn)行實(shí)時[7]檢測。正常狀態(tài)為傳感器檢測狀態(tài),當(dāng)檢測出現(xiàn)異常時,系統(tǒng)會進(jìn)入異常處理狀態(tài)。具體流程如圖3所示。
圖3 主程序流程
GSM初始化流程圖和發(fā)送短信流程圖如圖4和圖5所示。
圖4 TC35i初試化程序流程
圖5 TC35i短信發(fā)送程序流程
(1)GPS定位信息的數(shù)據(jù)格式以及 GPS定位信息的處理
NMEA-0183標(biāo)準(zhǔn)[8]用于 GPS 方面,數(shù)據(jù)串以“$”開頭,導(dǎo)航數(shù)據(jù)有六種不同的消息格式,包括GGA、GLL、GSA、GSV、RMC和VTG,其內(nèi)容包含了經(jīng)度、維度、速度、日期、時間和航向等信息,RMC格式是推薦長度最小量的GPS數(shù)據(jù)輸出格式。
設(shè)計(jì)中所用的GPS模塊接收到的定位數(shù)據(jù)都是由“$GPRMC”開頭的數(shù)據(jù)幀,下面以“$GPRMC”開頭的數(shù)據(jù)幀為例來說明定位數(shù)據(jù)的格式。如果衛(wèi)星通信正常,模塊接收到的定位信息的數(shù)據(jù)格式如下:
$GPRMC,<1>,<2>,<3>,<4>,<5>,<6>,<7>,<8>,<9>,<10>,<11>,<12>
<1>UTC時間,hhmmss(時分秒)格式
<2>定位狀態(tài),A=有效定位,V=無效定位
<3>緯度 ddmm.mmmm(度分)格式(前面的 0也將被傳輸)
<4>緯度半球N(北半球)或S(南半球)
<5>經(jīng)度dddmm.mmmm(度分)格式(前面的0也將被傳輸)
<6>經(jīng)度半球E(東經(jīng))或W(西經(jīng))
<7>地面速率(000.0~999.9節(jié),前面的0也將被傳輸)
<8>地面航向(000.0~359.9度,以正北為參考基準(zhǔn),前面的0也將被傳輸)
<9>UTC日期,ddmmyy(日月年)格式
<10>磁偏角(000.0~180.0度,前面的 0也將被傳輸)
<11>磁偏角方向,E(東)或W(西)
<12>模式指示(僅 NMEA01833.00版本輸出,A=自主定位,D=差分,E=估算,N=數(shù)據(jù)無效)
(2)GPS定位信息的處理
主控制模塊通過UARTO接收GPS模塊傳來的定位信息,在接收定位信息后必須對這些信息進(jìn)行處理。串口接收到的定位信息并不是每次都從這個信息頭開始的,所以每次接收到信息時都要判斷整個定位信息是不是從頭開始。首先,單片機(jī)在內(nèi)部存儲區(qū)建立一片緩沖區(qū),并且清空此緩沖區(qū)。然后,在對串口進(jìn)行初始化。接著,檢測接收到的數(shù)據(jù),判斷該數(shù)據(jù)是否為GPS數(shù)據(jù),如果是的話,就將該數(shù)據(jù)存到緩沖區(qū),同時緩沖區(qū)字節(jié)計(jì)數(shù)器加 1。最后,判斷定位信息是否為“$”,如果不是,繼續(xù)將GPS信息存入緩沖區(qū),如果是,結(jié)束GPS程序,這樣就把需要的GPS信息存到了緩沖區(qū)。另外,還要對緩沖區(qū)的數(shù)據(jù)進(jìn)行處理,將此數(shù)據(jù)轉(zhuǎn)換為具體的經(jīng)緯信息、速度信息等等。轉(zhuǎn)換的部分程序[9]如下所示。
if (ch=='C') //如果第五個字符是C,
{
if (status == 'A') //如果數(shù)據(jù)有效,則分析
{
GPS->NS=buf[GetComma(4,buf)]; //確定緯度是南緯還是北緯
GPS->EW=buf[GetComma(6,buf)]; //確定緯度是東經(jīng)還是西經(jīng)
GPS->latitude=Get_Double_Number(&buf[Get-Comma(3, buf)]); //有關(guān)緯度的數(shù)據(jù)
GPS->longitude=Get_Double_Number(&buf[Get-Comma(5, buf)]); //有關(guān)經(jīng)度的數(shù)據(jù)
GPS->latitude_Degree=(int)GPS->latitude/100;//分離緯度 整數(shù)部分
lati_cent_tmp=(GPS->latitude-GPS->latitude_Degree * 100
GPS->latitude_Cent=(int)lati_cent_tmp;
//緯度小數(shù)點(diǎn)后的第一位
lati_second_tmp=(lati_cent_tmp-GPS->latitude_Cent) * 60;
GPS->latitude_Second=(int)lati_second_tmp;//緯度小數(shù)點(diǎn)后的第二位
GPS->longitude_Degree=(int)GPS->longitude/100; // 分離經(jīng)度
long_cent_tmp=(GPS->longitude-GPS->longitud e_Degree * 100);
GPS->longitude_Cent=(int)long_cent_tmp//經(jīng)度小數(shù)點(diǎn)后的第一位
long_second_tmp=(long_cent_tmp-GPS
->longitude_Cent) * 60;
GPS->longitude_Second=(int)long_second_tmp;//經(jīng)度小數(shù)點(diǎn)后的第二位
speed_tmp=Get_Float_Number(&buf[GetComma(7, buf)]); //速度(單位:海里/時)
GPS->speed=speed_tmp*1.85;//1海里=1.85公里
return 1;
}
}
通過運(yùn)用比較成熟的GSM/GPS技術(shù),系統(tǒng)能夠?qū)崟r的將被盜信息以及車輛的移動位置信息發(fā)給車主,通知車主及時的采取措施。另外,利用無線網(wǎng)絡(luò)WIFE技術(shù)更好的發(fā)揮了該系統(tǒng)的主動防盜能力,在對汽車跟蹤的同時,由于獲取了小偷的外貌特征,這樣將能更有利于警方的破案。因而,汽車自主防盜跟蹤系統(tǒng)具有較強(qiáng)的現(xiàn)實(shí)使用意義。
[1] 代凌云,商政,高淑丹,等.基于GPS和GSM網(wǎng)絡(luò)的汽車防盜系統(tǒng)[J].電子技術(shù),2012,39(08):28-30.
[2] 冀常鵬,劉建輝,包劍.基于GPS/DR車輛定位于導(dǎo)航系統(tǒng)應(yīng)用研究[J].全球定位系統(tǒng),2004,29(04):39-43.
[3] 崔陸軍,尚會超.基于AVR單片機(jī)的無線測溫系統(tǒng)[J].儀器技術(shù)與傳感器,2012(09):57-59.
[4] 滕泓虬.基于 OpenWrt的移動機(jī)器人系統(tǒng)設(shè)計(jì)[J].福建電腦,2012,12(01):50-52.
[5] 曹銘志.基于以太網(wǎng)下的 PLC與上位機(jī)通訊[J].通信技術(shù),2012,45(05):92-94.
[6] 劉燎原,袁德明,章全,等.基于熱釋電紅外傳感器的智能樓字多功能安防系統(tǒng)的研究[J].裝備制造技術(shù),2012(09):28-30.
[7] 于晶,郭航,張欣宇.電力系統(tǒng)故障實(shí)時記錄系統(tǒng)通信設(shè)計(jì)[J].通信技術(shù),2012,45(12):127-130.
[8] 車希榮.關(guān)于 GPS導(dǎo)航系統(tǒng)的技術(shù)實(shí)現(xiàn)[J].科技促進(jìn)發(fā)展,2010(03):I0031-I0033.
[9] 楊峰.C語言完全手冊[M].北京:科學(xué)出版社,2008:435.