本文章描述一种简单的方式来追踪一辆被偷的车辆位置,想法是透过移动电话标准的文字讯息得到坐标(纬度和经度),然后能用来确定车辆精确的位置。
这有很多可能的用途,从跟踪一辆私家轿车到管理卡车和公共汽车的公司。
这个项目提供一种非常简单的方式来得到一辆车辆的位置;并可依照个别的需求加入更多应用。
基本构成模块
项目使用下列部分组成︰
- ●GPS接收机(Garmin GPS 35),这提供关于车辆位置的讯息。
- ●GSM模块(西门子TC35),GSM模块用来把SMS(文字讯息)送到预先设定的移动电话号码。
- ●iButton(DS1990A),iButton用来鉴定司机有权限使用这部车辆。
- ●Parallax Basic Stamp(BS2P),连接到一块“BASIC STAMPBoard of Education”的开发板上。
在下面(图一)的方框图显示基本的安装︰
GPS接收机提供以NMEA为格式的讯息,纬度和经度坐标可经由GPRMC句中得到(以“北方几度”及“西方几度”的形式)。GSM模块则是用来把SMS(文字讯息)送到预先设定的移动电话号码。
DS1990A iButton(广泛称为串联数字iButton)被作为鉴定或者“钥匙”使用,此装置含有在工厂就己设定且唯一的六个字节身份,及两个字节的CRC,其只提供读取模式,系统目前考虑到两个iButtons或者“钥匙”,用来允许“备用钥匙”,更多的“钥匙”码可容易的依照要求来增加。
在一开始,Basic Stamp连续扫描两件事情︰
正常的操作是将“被认证”的iButton插入,然后在25秒内启动汽车。
入侵状态经由下列条件发现︰
●如果点火动作被侦测到,在汽车启动25秒内并没有有效的iButton连接上;
●如果在启动汽车25秒内没有iButton链接,这也将是一个入侵状态;
●一但确定入侵已经发生,“Basic Stamp”就从GPS接收机寻找讯息。它等“GPRMC”出现在GPS接收机的串行输出上;
●从GPS接收机收到的“PRMC”句中得到纬度和经度坐标,然后用SMS(文字讯息)送到预先设定的移动电话号码;
●这个步骤每2分钟被重复以不断向汽车拥有者报告汽车位置。
整合后
这个项目的核心是这张“Basic Stamp”,它联接GPS接收机、GSM调制解调器、来自车辆的iButton和引擎点火线。
在这个项目里这条引擎点火线用来侦测汽车是否已经启动,如果需要的话可使用其它侦测点(例如超音波转换器,或者其他形式的入侵检测器)。
- ●GPS接收机输出连接到“Basic Stamp”的P0端口;
- ●GSM模块接收器输入连接到“Basic Stamp”的“Sout”或是“Pin 1” 端口;
- ●引擎点火线连接到“Basic Stamp”的P1端口,一高准位状态表明点火启动反之亦然;
- ●P15端口用来连接iButton的界面。
注意到在“Basic Stamp”上的BS2P将支持1-Wire iButtons界面,以前的版本将不支持此界面。
输入移动电话号码
在程序代码内编写入移动电话号码,输入移动电话号码在如下所示的程序代码内︰
'================================================================================
DEBUG "+44********** " ' Enter the destination mobile phone number here
'================================================================================
它必须以一定的形式,如︰
- ●+国家代码(在上面的例子里使用英国代码);
- ●随后跟着移动电话号码,忽略前面的零码。
系统将传送含有汽车位置的SMS(文字讯息)到这个号码。
输入iButton序号
输入将被使用的iButtons序号,要是只有单一个iButton被使用,复制这个序号在第二个 iButton的插槽。
那些需要被输入的程序代码如下所列,在这个例子里,有一个iButton序号被输入,替换继符号“$”之后数目就可更改它,序号被表示为十六进制记数法。
一个分开的程序可用来显示特定的iButtons序号,此序号可被输入在最后的程序代码然后下载到这张“BASIC STAMP”上。
' ENTER THE FIRST iBUTTON Serial Number is the lines below'
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:
' ENTER THE SECOND/Spare iBUTTON Serial Number is the lines below'
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
结论
在做了这些修改之后,这系统就能够跟踪任何车辆。(作者任职于Maxim Dallas Semiconductor)