摘要:本文介绍了一种基于1-Wire®技术的、简便的跟踪汽车位置、验证汽车驾驶员是否经过授权的方法。这种方法可用于汽车防盗、自动建立行车日志和货运、公交车队管理等。本文给出了一个研发范例,它采用了Garmin GPS 35 GPS接收机、Siemens TC35 GSM模块、DS1990A iButton®、Parallax BASIC Stamp® (BS2P)微控制器和源程序代码。
本文介绍了一种简便的跟踪汽车位置、验证汽车驾驶员是否经过授权的方法。这种方法可用于汽车防盗、自动建立行车日志和货运、公交车队管理等。
车辆的经度、纬度信息通过标准移动电话文本信息传输,从而得到车辆位置的精确信息。
为该方案提供的代码可以从以下网站下载:
图1. 原理框图
GPS接收器提供的信息以'NMEA'格式输出(NMEA是美国国家航海电子协会缩写),纬度和经度信息从'$GPRMC'文句中提取出来,(按格式:"北纬ABC","西经DEF"输出)。
GSM模块将SMS信息(文本信息)发送到预置的移动电话上。
而DS1990A iButton (即所谓的"序列号iButton")用于身份验证或"钥匙"。它包含一个全球唯一的6字节长的身份识别号码和2字节长的CRC校验码。序列号为“只读”类型,一个系统可以配备2枚iButton钥匙,其中一枚作为备用或提供给第二位授权司机。当然,也可以方便地配备更多的钥匙。
如果出现下列情形,则被认为出现非法入侵:
点火线用于检测汽车是否被发动,当然,也可使用其他指示器(比如:超声波传感器或其他防入侵检测器等。)
输入号码必须按下列格式:
+ 国家代码(上例中的44代表英国代码) + 个人移动电话号码。
该号码将是系统发送管理信息的目的号码,包括车辆的位置信息。
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
完成上述修改后即可跟踪汽车。
本方案的代码可以从以下链接下载:
本文介绍了一种简便的跟踪汽车位置、验证汽车驾驶员是否经过授权的方法。这种方法可用于汽车防盗、自动建立行车日志和货运、公交车队管理等。
车辆的经度、纬度信息通过标准移动电话文本信息传输,从而得到车辆位置的精确信息。
为该方案提供的代码可以从以下网站下载:
- EPD-v2-01-3E.BSP:BASIC Stamp主程序
- 1WIRE-ID.BSP:读取DS1990A iButton序列号的子程序
组成部分
该方案由下列各部分组成:- GPS接收器(Garmin GPS 35),它提供车辆的位置信息
- GSM模块(Siemens TC35),用于将SMS (文本信息)发送到预先设定的移动电话
- iButton (DS1990A),用来验证驾驶人员是否被授权使用车辆
- Parallax公司的BASIC Stamp (BS2P)控制模块,连接一个BASIC Stamp开发板(www.parallaxinc.com)。
- 软件:
- EPD-V2-01-3E.BPS:BASIC Stamp主程序
- 1WIRE-ID.BSP:读取DS1990A iButton序列号子程序
原理框图
图1. 原理框图
GPS接收器提供的信息以'NMEA'格式输出(NMEA是美国国家航海电子协会缩写),纬度和经度信息从'$GPRMC'文句中提取出来,(按格式:"北纬ABC","西经DEF"输出)。
GSM模块将SMS信息(文本信息)发送到预置的移动电话上。
而DS1990A iButton (即所谓的"序列号iButton")用于身份验证或"钥匙"。它包含一个全球唯一的6字节长的身份识别号码和2字节长的CRC校验码。序列号为“只读”类型,一个系统可以配备2枚iButton钥匙,其中一枚作为备用或提供给第二位授权司机。当然,也可以方便地配备更多的钥匙。
工作原理
系统启动过程中,BASIC Stamp不断扫描,检测:- iButton是否插入输入端?
- 汽车点火器是否工作?
如果出现下列情形,则被认为出现非法入侵:
- 已检测到汽车点火器开始工作,而合法的iButton并未在要求的25秒内启动汽车。
- 如果汽车启动后25秒内没有iButton连接到系统,同样被认为非法入侵。
- BS2P把SMS信息,包括从GPS接收到的'GPRMC'文本中提取的信息发送到预先设定的移动电话。
- 每隔2分钟上述过程重复一次,以便让车主时刻知道车辆位置。
系统集成
该设计的核心是BASIC Stamp,它把GPS接收机、GSM调制解调器、iButton及汽车点火器检测有机的连接在一起,构成一个完整的系统。点火线用于检测汽车是否被发动,当然,也可使用其他指示器(比如:超声波传感器或其他防入侵检测器等。)
- GPS接收器输出连接到BASIC Stamp的P0。
- GSM接收模块的输入连接到BASIC Stamp的'Sout'或引脚1。
- BASIC Stamp的P1引脚连接到点火器,输入高电平表明点火器在工作,反之亦然。
- P15用于与iButton接口。
登录移动电话号码
可按如下方法编程,输入移动电话号码:====================================================== 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
完成上述修改后即可跟踪汽车。
本方案的代码可以从以下链接下载:
- EPD-v2-01-3E.BSP: BASIC Stamp主程序。
- 1WIRE-ID.BSP:读取DS1990A iButton序列号。
评论
查看更多