新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 車載GPS定位監(jiān)控系統(tǒng)中信號(hào)的分析和處理設(shè)計(jì)

車載GPS定位監(jiān)控系統(tǒng)中信號(hào)的分析和處理設(shè)計(jì)

作者: 時(shí)間:2016-12-20 來源:網(wǎng)絡(luò) 收藏


區(qū)分一般信息和確認(rèn)信息的依據(jù)是參數(shù)字符串是否包含“V4”。

Result:=False;{初始返回結(jié)果}

Result:=pos(‘V4’,Str)>0;{如果str包含“V4”,就返回true,否則false}

判斷是否返回有效的信息的依據(jù)是參數(shù)字符串足否包含”*HQ”。

Result:=False;{初始返回結(jié)果}

Result:=pos(‘*HQ’,Str)>0;{如果str包含“*HQ”,就返回true,否則false}


一般信息的標(biāo)志是V1。車載回傳的一般信息中包含的參數(shù)有車載序列號(hào)、移動(dòng)電話號(hào)碼、車牌號(hào)、時(shí)間、絳緯度、速度、方位、日期。

∥獲取車載序列號(hào)(同樣的方法可以獲取移動(dòng)電話號(hào)碼、車牌號(hào)、時(shí)間)

sCarNo:=copy(RecvGprs,iPos+4,10);

∥獲取緯度(同樣的方法可以獲得經(jīng)度)

sLatitude:=copy(RecvGprs,iPos+3,9);

sLatitude:=FloatToStr(StrToFloat(copy(sLatitude,1,2))+StrToFloat(copy(sLatitude,3,7))/60);

∥獲取南緯和北緯(同樣的方法可以獲得東西經(jīng))

iPos:=pos(‘,S,’,RecvGprs);{查找“,S,”在RecvGprs的位置}

if iPos>0 then;(如果RecvGprs包含‘,S,’就執(zhí)行下面語句}

sNS:=‘南緯’

else begin

iPos:=pos(‘,N,’,RecvGprs);{查找“,N,” 在RecvGprs的位置}

sNS:=‘北緯’;

end;

∥獲取速度、方位、日期

sSpeed:=copy(RecvGprs,iPos+3,6);{獲取速度}

sDirection:=copy(RecvGprs,iPos+10,3);(獲取方位}

sDate:=copy(RecvGprs,iPos+14,6);{獲取日期}

if Pos(‘.’,sSpeed)<=0 then{判斷sSpeed是否包含‘.’,如果包含就執(zhí)行下面語句}

begin

sSpeed:=copy(RecvGprs,iPos+3,3);{獲取速度}

sDirection:=copy(RecvGprs,iPos+7,3);{獲
取方位}

sDate:=copy(RecvGprs,iPos+11,6);{獲取日期}

end;

∥數(shù)據(jù)轉(zhuǎn)換

sSpeed:=FormatFloat(‘0.00,StrToFloat(sSpeed)*1.852);{行駛速度轉(zhuǎn)換}

sSceond:=copy(sTime,5,2);{時(shí)間轉(zhuǎn)換}

if StrToInt(sSceond)<60 then{時(shí)間轉(zhuǎn)換(‘YYYY-MM-DD HH:MM:SS’表示為:年月日時(shí)分秒)

sDate:=FormatDateTime(‘YYYY-MM-DDHH:MM:SS’,IncHour(StrToDateTime(‘20’+copy(sDate,5,2)+‘-’+copy(sDate,3,2)+‘-’+copy(sDate,1,2)+‘ ’+copy(sTime,1,2)+‘:’+copy(sTime,3,2)+‘:’+copy(sTime,5,2)),8))

else begin

sDate:=FormatDateTime(‘YYYY-MM-DDHH:MM:SS’,IncHour(StrToDateTime(‘20’+ copy(sDate,5,2)+‘-’+copy(sDate,3,2)+‘-’+copy(sDate,1,2)+‘ ’+copy(sTime,1,2)+‘:’+copy(sTime,3,2)+‘:’+‘00’),8));

sDate:=FormatDateTime(‘YYYY-MM-DD HH:MM:SS’,

IncMinute(StrToDateTime(sDate),+1));

end;

確認(rèn)信息的標(biāo)志是V4。車載回傳的確認(rèn)信息中包含車輛行駛方位和車輛狀態(tài)。

處理一般信息中獲取的方位信息,由字符類型轉(zhuǎn)換為整型數(shù)據(jù),根據(jù)數(shù)據(jù)所在范圍確定車輛的行駛方位,小于22.5或大于337.5為正北方向,大于22.5小于67.5為東北方向,大于67.5小于112.5為正東方向,依此類推確認(rèn)車輛的行駛方向。

處理一般信息中獲取的車輛狀態(tài),由字符類型轉(zhuǎn)換為二進(jìn)制數(shù)字符串,把二進(jìn)制數(shù)據(jù)的每一位存進(jìn)數(shù)組,每一位對(duì)應(yīng)表一中的一個(gè)車輛狀態(tài)。

∥獲取車輛狀態(tài)

iPos:=Pos(‘#’,RecvGprs);

sCarStatus:=copy(RecvGprs,iPos-8,8)

∥轉(zhuǎn)換為二進(jìn)制數(shù)字符串

sBin:=″;

forI:=1 to 8 do

sBin:=sBin+HexCng(copy(sCarStatus,I,1));

∥把二進(jìn)制數(shù)據(jù)的每一位存進(jìn)數(shù)組

forI:=0to 3l do

ArrBin[I]:=copy(sBin,I+1,1);

sCarStatuText:=HandleCarStatus(ArrBin);{車輛狀態(tài)}

監(jiān)控中心根據(jù)每一臺(tái)車載機(jī)傳回的信息內(nèi)容發(fā)送不同的命令。發(fā)送命令程序需嚴(yán)格按照中心發(fā)送命令集規(guī)定的的格式來寫,下面列舉其中的幾條命令:

∥該指令要求車載機(jī)以sInterval為時(shí)間間隔,回傳sCount次定位信息。

sRightStr:=‘*HQ,0000000000,D1,’+sTime+‘,’+sInterval+‘,’+sCount+‘#’

∥車載機(jī)接到這條指令后將清除掉 所有報(bào)警信息。

sRightStr:=‘*HQ,0000000000,R7,’+sTime+‘#’;

if Application.MessageBox(PChar(‘真的要解除對(duì)車輛【‘十CarID+’】報(bào)警嗎?’),‘提示’,MB_YESNO+MB_DEFBUTTON2)=IDNO then Exit;

這里的CarID指車載機(jī)序列號(hào)。

∥車載機(jī)收到這條命令將會(huì)啟動(dòng)斷油斷電。

sRightStr:=‘*HQ,0000000000,S20,’+sTime+‘,1,3,10,3,5,5#’;

if Application.MessageBox(PChar(‘真的要對(duì)車輛【‘+CarID+’】斷油斷電嗎?’),‘提示’,MB_YESNO+MB_DEFBUTTON2)=IDNO then Exit;

結(jié)語

  目前,車載GPS定位監(jiān)控系統(tǒng)已經(jīng)被各運(yùn)輸公司使用在出租車、客車以及大型車隊(duì)上,該軟件技術(shù)很好的實(shí)現(xiàn)了對(duì)車輛位置、狀態(tài)的監(jiān)控和調(diào)度管理。

  隨著GPS應(yīng)用領(lǐng)域的擴(kuò)大,車載GPS導(dǎo)航定位監(jiān)控軟什的系統(tǒng)的功能也將隨著導(dǎo)航、通信等需求而不斷的增多和完善。GPS車載機(jī)通信協(xié)議會(huì)根據(jù)GPS車載機(jī)產(chǎn)品的功能升級(jí)而不斷升級(jí),增加新的命令,相應(yīng)的軟件系統(tǒng)也要增加新的指令,本系統(tǒng)的設(shè)計(jì)將易于這些升級(jí)維護(hù)工作的進(jìn)行。


上一頁 1 2 下一頁

評(píng)論


技術(shù)專區(qū)

關(guān)閉