国产毛片a精品毛-国产毛片黄片-国产毛片久久国产-国产毛片久久精品-青娱乐极品在线-青娱乐精品

車載GPS定位監控系統中信號的分析與處理

發布時間:2010-10-10 13:28    發布者:conniede
關鍵詞: GPS , 監控系統 , 通信
1 引言

隨著汽車在日常生產和生活中起的作用越來越突出,如何實現各類車輛的有效指揮、協調控制和管理已經成為交通運輸和安全管理部門面臨的一個重要問題。為了滿足提高運輸效率和安全保障的需要,對車輛定位監控系統的研究也日趨迫切。

車載GPS定位監控系統是GSM全球數字蜂窩移動通信技術和GIS地理信息技術、GPS全球衛星定位技術以及計算機網絡技術相融合研制開發出來的軟件技術。它是通過安裝在車輛上的GPS接收機(即車載機)接收衛星信號,監控中心的通信控制器從GPS接收機輸出的信號中提取所需要的位置、速度和時間信息,結合車輛身份等信息形成數據報,然后通過無線信道發往控制中心;控制中心的主站接收子站發送的數據,處理接收信息通過短消息的方式逐次直接發送給每一臺車載機。最后,將車輛的具體數據和狀態在監控中心的電子地圖上顯示出來。

本文討論的就是從接收機輸出的信號中提取所需要的位置、速度和時間信息的方法,以及中心處理信息后發送命令集的實現過程。

2 GPS車載機的通信協議

車載機與監控中心之間的通信方式均以中心發送命令,車載機應答的方式進行,所以我們對車載機GPS信號的分析與處理必須完全依據車載GPS接收機與監控中心的通信協議來進行,下面是GPS車載機通信協議的部分內容。

車載機返回信息

一般信息:

*XX,YYYYYYYYYY,V1,HHMMSS,S,latitude,D,longitu de,G,speed,direction,DDMMYY,vehicle_status#

確認信息:

*XX,YYYYYYYYYY,V4,CMD,hhmmss,HHMMSS,S,latitu de,D,longitude,G,speed,direction,DDM MYY,vehicle_status#

區分一般信息和確認信息的方法是看車載機傳回來的信息中是否包含“V4”,判斷返回信息是否有效的方法是看回傳信息中是否包含“HQ(制造商名稱)”。

其中:‘*’表示命令頭;‘XX’表示制造商名稱;‘,’表示分隔符;

‘YYYYYYYYYY’表示車載機序列號;‘CMD’表示被確認的中心命令;‘hhmmss’表示被確認命令中的時間值;‘HHMMSS’表示車載機時間;‘S’表示數據有效位;

‘latitude’表示緯度;‘D’表示緯度標志;‘longitude’表示經度;‘G’表示經度標志;‘speed ’表示速度;‘direction’表示方位角;‘DDMMYY’表示日/月/年;

‘vehicle_status ’表示車輛狀態。

車載機返回GPS信息模式有兩種,一是返回最近的有效的GPS信息;二是返回最新的GPS信息。

中心發送命令結構和命令集

中心發送命令結構是:*XX,YYYYYYYYYY,CMD,HHMMSS,PARA1,

PARA2,...#

在編寫中心發送指令時必需按照這個格式來寫,下面列出其中的七個中心發送命令。

定位監控命令D1:該指令要求車載機以interval為時間間隔,回傳count次定位信息。

自動監控設置命令S17:該指令完成對自動監控參數的設置。

參數設置指令S12:該指令僅用于對S17命令的開關控制。

設置監控中心短信號碼S2:車載機收到指令后將立即向新的監控中心發送確認信息。

通話設置指令S13:phone_flag的bit0=0時允許打出,bit1=0時允許接聽。

清楚報警指令R7:車載機收到命令后將清除掉所有報警信息。

冷啟動指令R1:車載機收到命令后將執行冷啟動復位,所有狀態參數全部清零。

3 通信軟件的設計與實現

GPS信號與監控中心之間的通信大致分成兩個步驟:一是GPS接收機(即車載機)接收衛星信號,監控中心的通信控制器從GPS接收機輸出的信號中提取所需要的位置、速度和時間等數據信息;二是監控中心將分析出的數據信息通過短消息的方式發送命令給每一臺車載機。具體步驟如下:

function IsValidMsg(Str: String): Boolean;{判斷消息是否有效}

function IsConfgMsg(Str: String): Boolean; {區分一般信息和確認信息}

procedure ResoleGprsV(RecvGprs: String);{處理接受信息}

procedure ResoleGprsV1(RecvGprs: String);{處理一般信息 (V1)}

procedure ResoleGprsV4(RecvGprs: String);{處理確認信息(V4)}

function Direc(sr: String): String;{車輛行駛方向}

function HexCng(Rhex: String): String;{十六進制數轉換為二進制數}

function HandleCarStatus(ArrBin: array of String): String;{處理車輛狀態}

function ChangeTel(sTel: String): String;{}

function StrToHex(sStr: String): String;

procedure SendSms(Tel, Other: String; iCmdID, iSendType: Integer;

CarID: String = ''){中心發送命令集}


從車載機接收的GPS信號中判斷返回的信息是否有效,如果無效則直接丟棄,如果有效,則確認是一般信息還是確定信息,再接收處理一般信息或確定信息。

區分一般信息和確認信息的依據是參數字符串是否包含“V4”。

Result := False;{初始返回結果}

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

判斷是否返回有效的信息的依據是參數字符串是否包含"*HQ"。

Result := False; {初始返回結果}

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

一般信息的標志是V1。車載回傳的一般信息中包含的參數有車載序列號、移動電話號碼、車牌號、時間、經緯度、速度、方位 、日期。

//獲取車載序列號(同樣的方法可以獲取移動電話號碼、車牌號、時間)

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

//獲取緯度(同樣的方法可以獲得經度)

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

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

//獲取南緯和北緯(同樣的方法可以獲得東西經)

iPos := pos(',S,', RecvGprs); {查找",S,"在RecvGprs 的位置}

if iPos > 0 then; {如果RecvGprs 包含',S ,' 就執行下面語句}

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 是否包含'.',如果包含就執行下面語句}

begin

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

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

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

end;

//數據轉換

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

sSceond := copy(sTime, 5, 2);{時間轉換}

if StrToInt(sSceond) < 60 then{時間轉換('YYYY-MM-DD HH:MM:SS'表示為:年月日時分秒}

sDate := FormatDateTime('YYYY-MM-DD HH: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-DD HH: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;



確認信息的標志是V4。車載回傳的確認信息中包含車輛行駛方位和車輛狀態。

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

處理一般信息中獲取的車輛狀態,由字符類型轉換為二進制數字符串,把二進制數據的每一位存進數組,每一位對應表一中的一個車輛狀態。

//獲取車輛狀態

iPos := Pos('#', RecvGprs);

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

//轉換為二進制數字符串

sBin := '';

for I := 1 to 8 do

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

//把二進制數據的每一位存進數組

for I := 0 to 31 do

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

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

監控中心根據每一臺車載機傳回的信息內容發送不同的命令。發送命令程序需嚴格按照中心發送命令集規定的的格式來寫,下面列舉其中的幾條命令:

//該指令要求車載機以sInterval為時間間隔,回傳sCount次定位信息。

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

//車載機接到這條指令后將清除掉所有報警信息。

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

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

這里的CarID指車載機序列號。

//車載機收到這條命令將會啟動斷油斷電。

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

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

4 結語

目前,車載GPS定位監控系統已經被各運輸公司使用在出租車、客車以及大型車隊上,該軟件技術很好的實現了對車輛位置、狀態的監控和調度管理。

隨著GPS應用領域的擴大,車載GPS導航定位監控軟件的系統的功能也將隨著導航、通信等需求而不斷的增多和完善。GPS車載機通信協議會根據GPS車載機產品的功能升級而不斷升級,增加新的命令,相應的軟件系統也要增加新的指令,本系統的設計將易于這些升級維護工作的進行。
本文地址:http://m.qingdxww.cn/thread-31233-1-1.html     【打印本頁】

本站部分文章為轉載或網友發布,目的在于傳遞和分享信息,并不代表本網贊同其觀點和對其真實性負責;文章版權歸原作者及原出處所有,如涉及作品內容、版權和其它問題,我們將根據著作權人的要求,第一時間更正或刪除。
您需要登錄后才可以發表評論 登錄 | 立即注冊

廠商推薦

  • Microchip視頻專區
  • 使用SAM-IoT Wx v2開發板演示AWS IoT Core應用程序
  • 使用Harmony3加速TCP/IP應用的開發培訓教程
  • 集成高級模擬外設的PIC18F-Q71家族介紹培訓教程
  • 探索PIC16F13145 MCU系列——快速概覽
  • 貿澤電子(Mouser)專區

相關視頻

關于我們  -  服務條款  -  使用指南  -  站點地圖  -  友情鏈接  -  聯系我們
電子工程網 © 版權所有   京ICP備16069177號 | 京公網安備11010502021702
快速回復 返回頂部 返回列表
主站蜘蛛池模板: 亚洲欧美精品一区| 四虎影院色| 亚洲自拍色| 在线观看一级毛片| 老妇xxxxbbbb| 亚洲精品AV中文字幕在线| 亚洲精品午夜级久久久久| 天天干夜夜欢| 天天操天天摸天天爽| jiz在线播放jizijzz| 美女被j进去动态| 亚洲一级黄色毛片| 欧美夜夜夜| 自拍偷拍欧美亚洲| 最刺激黄a大片免费观看| 久久中文骚妇内射| 亚洲日韩天堂在线中文字幕| 亚洲免费不卡| 亚洲欧洲免费| 中国性xxx免费视频| 女人吃男人的鸡鸡| 四虎永久在线精品波多野结衣| 情不自禁完整版在线观看免费| 亚洲男人天堂视频| 中文三 级 黄 色 片| 久久re视频这里精品09首页 | 伦 乱真实故事| 日韩av成人| 五月天天| 永久免费看电视网站| 免费看大黄高清网站视频在线| 特级无码a级毛片特黄| 日日夜夜网站| 亚洲乱欲| 久久免费看少妇高潮A片JA| 亚洲欧美激情综合第一区| 日日夜夜天天| 亚洲一二区视频| 久久人妻少妇嫩草AV無碼| 三级日本黄色片| 天天干狠狠插|