简易GPS车辆跟踪系统的工作原理、组成及应用设计

描述

  作者:Garmin, Siemens, Parallax

组成部分

1.GPS接收器(garmin gps 35),它提供车辆的位置信息

2.gsm模块(siemens tc35),用于将sms(文本信息)发送到预先设定的移动电话

3.ibutton(ds1990a), 用来验证驾驶人员是否被授权使用车辆

4.parallax公司的bs2p控制模块,连接一个basic stamp开发板(www.parallaxinc.com)。

5.软件:

epd-v2-01-3e.bps:basic stamp主程序

1wire-id.bsp:读取ds1990a ibutton序列号子程序

gps

原理框图

gps接收器提供的信息以“nmea”格式输出(nmea是美国国家航海电子协会缩写),纬度和经度信息从$gprmc文句中提取出来,(按格式:“北纬abc”,“西经def”输出)。

gsm模块将sms信息(文本信息)发送到预置的移动电话上。

而ds1990a ibutton (即所谓的“序列号ibutton”)用于身份验证或“钥匙”。它包含一个全球唯一的6字节长的身份识别号码和2字节长的crc

校验码。序列号为“只读”类型,一个系统可以配备2枚ibutton钥匙,其中一枚作为备用或提供给第二位授权司机。当然,也可以方便地配备更多的钥匙。

二、工作原理

系统启动过程中,basic stamp不断扫描,检测:

· ibutton是否插入输入端?

· 汽车点火器是否工作?

要想汽车正常工作,该车被授权的ibutton必须插入读写口,然后,汽车将在设定的25秒内启动。

如果出现下列情形,则被认为出现非法入侵:

· 已检测到汽车点火器开始工作,而合法的ibutton并未在要求的25秒内启动汽车。

· 如果汽车启动后25秒内没有ibutton连接到系统,同样被认为非法入侵。

一旦确定发生了非法入侵,basic stamp就开始查询来自gps接收机的信息。等待$gprmc信息出现在gps接收机的串行输出端口。

· bs2p把sms信息,包括从gps接收到的gprmc文本中提取的信息发送到预先设定的移动电话。

· 每隔2分钟上述过程重复一次,以便让车主时刻知道车辆位置。

三、系统集成

该设计的核心是basic stamp,它把gps接收机、gsm调制解调器、ibutton及汽车点火器检测有机的连接在一起,构成一个完整的系统。

点火线用于检测汽车是否被发动,当然,也可使用其他指示器(比如:超声波传感器或其他防入侵检测器等。)

· gps接收器输出连接到basic stamp的p0。

· gsm接收模块的输入连接到basic stamp的sout或引脚 1。

· basic stamp的p1引脚连接到点火器,输入高电平表明点火器在工作,反之亦然。

· p15用于与ibutton接口。

需要提醒的是,basic stamp系列产品中bs2p支持ibutton的1-wire总线接口协议,而早期产品不支持。

登录移动电话号码

可按如下方法编程,输入移动电话号码:

======================================================

debug “+44********** ” enter the destination mobile phone number here

======================================================

输入号码必须按下列格式:

+国家代码(上例中的44代表英国代码) +个人移动电话号码。

该号码将是系统发送管理信息的目的号码,包括车辆的位置信息。

登录ibutton序列号:

输入将要使用的ibutton序列号,如果只有一个ibutton在该系统使用,则需要将该号码重复写入为备用ibutton预留的存储器中。

ibutton代码的写入如下列程序所示。本例中,举例用的ibutton代码已被输入系统。实际写入代码时,请用具体ibutton的代码代替范例程序中“$”符号后面的数字,序列号以16进制表达。

一个单独的子程序可用于显示指定ibutton的序列号,该串行号码被登录到最终程序代码,再下载到basic stamp处理器中。

“登录第一个ibutton序列号:”

if romdata(0) <> $03 then checksecond first byte

if romdata(1) <> $f0 then checksecond

if romdata(2) <> $bc then checksecond

if romdata(3) <> $08 then checksecond

if romdata(4) <> $10 then checksecond

if romdata(5) <> $00 then checksecond

if romdata(6) <> $00 then checksecond

if romdata(7) <> $30 then checksecond eighth byte

goto buttonok

checksecond:

“登录第二个或其余的ibutton序列号:”

if romdata(0) <> $01 then badbutton first byte

if romdata(1) <> $68 then badbutton

if romdata(2) <> $21 then badbutton

if romdata(3) <> $24 then badbutton

if romdata(4) <> $08 then badbutton

if romdata(5) <> $00 then badbutton

if romdata(6) <> $00 then badbutton

if romdata(7) <> $31 then badbutton eighth byte

完成上述修改后即可跟踪汽车。

责任编辑:gt

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分