确认信息的标志是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;
结语
目前,车载GPS定位监控系统已经被各运输公司使用在出租车、客车以及大型车队上,该软件技术很好的实现了对车辆位置、状态的监控和调度管理。
随着GPS应用领域的扩大,车载GPS导航定位监控软件的系统的功能也将随着导航、通信等需求而不断的增多和完善。GPS车载机通信协议会根据GPS车载机产品的功能升级而不断升级,增加新的命令,相应的软件系统也要增加新的指令,本系统的设计将易于这些升级维护工作的进行。