基于GPS的汽车防盗定位系统设计
基于GPS的汽车防盗定位系统设计
摘要:针对汽车安全问题提出了⼀种基于GPS、GIS
以及GPRS的汽车远程定位防盗系统设计⽅案。该⽅案利⽤GPS信号接收模块定位得到汽车位置的原始数据,通过中央控制模块的处理获得具体的位置信息,最后由GPRS远程传
输模块将数据传到远端的服务器端,服务器端使⽤VB进⾏
开发,并利⽤MapX控件通过GIS软件MapInfo制作地图
将被监测汽车的位置等信息实时在PC机数据接收系统的数
字地图上显⽰出来,通过地图每秒刷新⼀次的频率,配合其放⼤、缩⼩、平移等功能实现了对汽车直观、快捷、实时的远程跟踪监测。
关键词:北⽃;定位;通⽤分组⽆线服务技术;显⽰;防盗;地理信息系统
中图分类号:U495 ⽂献标识码:A ⽂章编号:2095-1302(2016)05-00-02
0 引⾔
随着⼈们⽣活⽔平的⽇益提⾼,在汽车⼤量普及的同时,汽车的安全问题也得到了越来越⼴泛的关注。汽车防盗装置包括发动机防盗系统、安全锁、指纹识别以及⼈脸识别等,这些技术虽然先进但成本过⾼,普及难度⼤且⽆法实现实时
了解汽车动态的功能。本⽂利⽤全球定位系统(Global Positioning System,GPS)作为汽车定位依据,其定位精度在⼏⽶之内[1]。通过通⽤分组⽆线服务技术(General Packet Radio Service,GPRS)将定位信息远程传输到车主的个⼈PC 机,PC 机上的地理信息系统(Geographic Information System,GIS)包括⼀个可视化的地图界⾯,其经纬度信息以定位点的形式显⽰在地图上,可供车主直观查看,从⽽通过车主对汽车的跟踪监测功能达到了防盗的⽬的[2,3]。
1 系统硬件设计
1.1 硬件电路
系统总体框图如图1所⽰,其中GPS定位系统、GPRS
系统以及中央控制系统为硬件电路部分。TD3017A芯⽚(GPS)从外部提供的有源天线接收北⽃卫星定位信号,信号经放⼤混频、滤波器处理之后由模拟数字转换成数字中频信号送给基带芯⽚。基带芯⽚接
收到送来的数字信号后,经过⼀系列算法处理后由串⼝输出NMEA-0183格式的定位数据传输给单⽚机STC12C5A60S2。单⽚机对接收到的数据进⾏提取以及换算后将经纬度信息显⽰在LCD12864液晶显⽰屏上,同时将所提取的数据通过GPRS模块发送到电脑端的软件地图界⾯,显⽰经纬度的同时在地图上实时标识出所定的位置。
图1 系统总体框图
1.2 单⽚机程序设计
单⽚机控制的硬件系统实现流程如图2所⽰。
STC12C5A60S2具有两个串⼝,利⽤其中⼀个串⼝实现定位数据接收,单⽚机从接收到的NMEA-0183数据格式的数据中提取经纬度数据并显⽰在LCD12864液晶显⽰屏上。另⼀个串⼝控制GPRS远程通信模块与PC机端的数据接收显⽰系统连接与通信,主要将控制AT指令以及经纬度信息通过⽹络传递到显⽰系统。单⽚机程序采⽤Keil µVision4利⽤C语⾔编程实现。其中经纬度信息根据NMEA-0183格式数据的规律性提取[4]。其核⼼代码如下:
GetData(str,’,’,3,(char*)Latitude2);
//获取第3个","后的纬度⽅向字段
GetData(str,',',4,(char*)direct2);
//获取第4个","后的纬度字段
GetData(str,’,’,5,(char*)Latitude1);
//获取第5个","后的经度⽅向字段
GetData(str,',',6,(char*)direct1);
//获取第6个","后的经度字段
单⽚机与GPRS模块连接的核⼼代码为:
SET_LOCAL_PORT[]=”AT+CLPORT=\”TCP\”,\”2022\”\r”;//设置本地端⼝(SET LOCAL PORT)CONNECTION_IP[]=”AT+CIPSTART=\”TCP\”,\”117.139.245.35\”,\”8080\”\r”;
UART_Two_Printf(SET_LOCAL_PORT);
//发送设置端⼝信息
UART_Two_Printf(CONNECTION_IP);
//发送连接信息
图2 系统硬件实现流程图
2 系统软件设计汽车防盗系统
2.1 软件功能设计⽅案
在Visual Basic 6.0中制作好的GIS系统界⾯最终效果如图3所⽰。
GIS系统界⾯主要实现的功能包括以下6项:
(1)地图绘制功能:使⽤Map控件完成地图的绘制,Map控件是图3中标号3所⽰的地球状控件。
(2)地图查看功能:完成对地图放⼤、缩⼩、平移的功能。
(3)远程连接功能:通过Winsock控件实现GPRS模块与GIS系统的远程连接,Winsock控件是图3中标号2所⽰的电脑状控件。
(4)数据接收与提取功能:该功能完成对经纬度信息的接收以及提取功能。
(5)定位显⽰功能:将接收到的经纬度信息显⽰在相应⽂本框中,并通过Visual Basic 6.0软件实现位置的确定以及定点标注。
(6)定时刷新功能:此功能使地图以每秒⼀次的频率更新,由定时器控件Timer实现,Timer控件是图3中标号1所⽰的钟表状控件。
2.2 地图的制作与实现
由GIS地图制作软件MapInfo制作编辑好地图,将制作好的地图保存为.gst格式,此格式的地图可以通过具有很强的地图分析功能的Mapx控件打开,也可以通过GeoDict.DCT ⽂件连接到Visual Basic 6.0的Map控件,通过Map控件就可以绘制出在MapInfo中制作好的地图[5-7]。其中,通过经纬度信息在地图图层中添加定位点的程序为:Dim mobileobj As
MapXLib.Feature //定义图元
Dim mobileftr As New MapXLib.Feature
Dim lyr As www.doczj/doc/f615500056.html
yer//定义图层
mobileftr.Attach Map1//将图元依附在Map1上
mobileftr.Type = miFeatureTypeSymbol//定义点图元类型mobileftr.Style = Map1.DefaultStyle//暂时定为为默认样式
For Each lyr In www.doczj/doc/f615500056.html
yers
If www.doczj/doc/f615500056.html
= “BDLayer”Then
www.doczj/doc/f615500056.html
yers.Remove lyr //删除原轨迹图层,如果有的话Set lyr = www.doczj/doc/f615500056.html
yers.CreateLayer(“BDLayer”)
//创建轨迹图层
Set www.doczj/doc/f615500056.html
yers.AnimationLayer = lyr
//将轨迹图层设为动态图层(加快刷新速度)
mobileftr.Point.Set BDLon,BDLat
//将转换为度格式后北⽃经纬度数据赋值给该点图元
Set mobileobj = www.doczj/doc/f615500056.html
yers(“BDLayer”).AddFeature (mobileftr)//将点图元增加到动态图层,实时地显⽰汽车在地图中的位置
mobileftr.Point.Set BDLon,BDLat
//重新为北⽃导航点赋值经纬度
www.doczj/doc/f615500056.html
yers(“BDLayer”).Refresh
//刷新地图的动态图层
图3 GIS系统
3 系统测试
经过多次调试,系统能够正确接收到GPS定位模块传来的数据并通过中央控制模块正确处理之后显⽰在LCD12864液晶显⽰屏上,具体如图4所⽰。
图4 液晶显⽰结果
同时,在PC机数据接收显⽰系统中的GIS图中也可以看到经纬度的显⽰数据以及在地图上的具体位置,图5所⽰的信科院旁边的红⾊⼩点,即为定位地点。
图5 GIS系统显⽰结果
4 结语
本⽂介绍了⼀种基于GPS的汽车防盗定位系统设计,系统以STC12C5A60S2为中央控制系统,利⽤其双串⼝功能实现接收数据的同时控制GPRS模块与远端的GIS系统相互通信,通过对汽车进⾏实时定位与显⽰,从⽽实现了防盗的功能。
参考⽂献
[1]李佳,刘巍巍.车辆GPS定位系统设计[J].⿊龙江科技信息,2009(15):65.
[2]张伟芳,曾连荪,姚南.基于GPS_GPRS的车载监控终端系统[J].计算机辅助⼯程,2008(12):96-99.
[3]胡最,汤国安,闾国年.GIS作为新⼀代地理学语⾔的特征[J].地理学报,2012,67(7):867-877.
[4]丁若婷,孙越,汪毅雄,等.基于4G移动通信的实时车辆监控管理系统[J].信息通信技术,2015(5):27-32.
[5]吴海艳.浅谈如何应⽤MapInfo软件制作草场承包⽰意图[J].青海草业,2015,24(2):46-47.
[6]刘彬彬,安剑.Visual Basic从⼊门到精通(第2版)[M].北京:清华⼤学出版社,2010.
[7]李俊民,赵东.零基础学Visual Basic[M].北京:机械⼯业出版社,2010.