本文介紹了一種簡(jiǎn)便的跟蹤汽車位置、驗(yàn)證汽車駕駛員是否經(jīng)過授權(quán)的方法。這種方法可用于汽車防盜、自動(dòng)建立行車日志和貨運(yùn)、公交車隊(duì)管理等。
車輛的經(jīng)度、緯度信息通過標(biāo)準(zhǔn)移動(dòng)電話文本信息傳輸,從而得到車輛位置的精確信息。
為該方案提供的代碼可以從以下網(wǎng)站下載:
- EPD-v2-01-3E.BSP:BASIC Stamp主程序
- 1WIRE-ID.BSP:讀取DS1990A iButton序列號(hào)的子程序
組成部分
該方案由下列各部分組成:- GPS接收器(Garmin GPS 35),它提供車輛的位置信息
- GSM模塊(Siemens TC35),用于將SMS (文本信息)發(fā)送到預(yù)先設(shè)定的移動(dòng)電話
- iButton (DS1990A),用來驗(yàn)證駕駛?cè)藛T是否被授權(quán)使用車輛
- Parallax公司的BASIC Stamp (BS2P)控制模塊,連接一個(gè)BASIC Stamp開發(fā)板(www.parallaxinc.com)。
- 軟件:
- EPD-V2-01-3E.BPS:BASIC Stamp主程序
- 1WIRE-ID.BSP:讀取DS1990A iButton序列號(hào)子程序
原理框圖
![圖1. 原理框圖](/article/UploadPic/2009-5/20095983820829.gif)
圖1. 原理框圖
GPS接收器提供的信息以'NMEA'格式輸出(NMEA是美國國家航海電子協(xié)會(huì)縮寫),緯度和經(jīng)度信息從'$GPRMC'文句中提取出來,(按格式:"北緯ABC","西經(jīng)DEF"輸出)。
GSM模塊將SMS信息(文本信息)發(fā)送到預(yù)置的移動(dòng)電話上。
而DS1990A iButton (即所謂的"序列號(hào)iButton")用于身份驗(yàn)證或"鑰匙"。它包含一個(gè)全球唯一的6字節(jié)長(zhǎng)的身份識(shí)別號(hào)碼和2字節(jié)長(zhǎng)的CRC校驗(yàn)碼。序列號(hào)為“只讀”類型,一個(gè)系統(tǒng)可以配備2枚iButton鑰匙,其中一枚作為備用或提供給第二位授權(quán)司機(jī)。當(dāng)然,也可以方便地配備更多的鑰匙。
工作原理
系統(tǒng)啟動(dòng)過程中,BASIC Stamp不斷掃描,檢測(cè):- iButton是否插入輸入端?
- 汽車點(diǎn)火器是否工作?
如果出現(xiàn)下列情形,則被認(rèn)為出現(xiàn)非法入侵:
- 已檢測(cè)到汽車點(diǎn)火器開始工作,而合法的iButton并未在要求的25秒內(nèi)啟動(dòng)汽車。
- 如果汽車啟動(dòng)后25秒內(nèi)沒有iButton連接到系統(tǒng),同樣被認(rèn)為非法入侵。
- BS2P把SMS信息,包括從GPS接收到的'GPRMC'文本中提取的信息發(fā)送到預(yù)先設(shè)定的移動(dòng)電話。
- 每隔2分鐘上述過程重復(fù)一次,以便讓車主時(shí)刻知道車輛位置。
系統(tǒng)集成
該設(shè)計(jì)的核心是BASIC Stamp,它把GPS接收機(jī)、GSM調(diào)制解調(diào)器、iButton及汽車點(diǎn)火器檢測(cè)有機(jī)的連接在一起,構(gòu)成一個(gè)完整的系統(tǒng)。點(diǎn)火線用于檢測(cè)汽車是否被發(fā)動(dòng),當(dāng)然,也可使用其他指示器(比如:超聲波傳感器或其他防入侵檢測(cè)器等。)
- GPS接收器輸出連接到BASIC Stamp的P0。
- GSM接收模塊的輸入連接到BASIC Stamp的'Sout'或引腳1。
- BASIC Stamp的P1引腳連接到點(diǎn)火器,輸入高電平表明點(diǎn)火器在工作,反之亦然。
- P15用于與iButton接口。
登錄移動(dòng)電話號(hào)碼
可按如下方法編程,輸入移動(dòng)電話號(hào)碼:====================================================== DEBUG "+44********** " ' Enter the destination mobile phone number here ====================================================== |
輸入號(hào)碼必須按下列格式:
+ 國家代碼(上例中的44代表英國代碼) + 個(gè)人移動(dòng)電話號(hào)碼。
該號(hào)碼將是系統(tǒng)發(fā)送管理信息的目的號(hào)碼,包括車輛的位置信息。
登錄iButton序列號(hào)
輸入將要使用的iButton序列號(hào),如果只有一個(gè)iButton在該系統(tǒng)使用,則需要將該號(hào)碼重復(fù)寫入為備用iButton預(yù)留的存儲(chǔ)器中。iButton代碼的寫入如下列程序所示。本例中,舉例用的iButton代碼已被輸入系統(tǒng)。實(shí)際寫入代碼時(shí),請(qǐng)用具體iButton的代碼代替范例程序中'$'符號(hào)后面的數(shù)字,序列號(hào)以16進(jìn)制表達(dá)。
一個(gè)單獨(dú)的子程序可用于顯示指定iButton的序列號(hào),該串行號(hào)碼被登錄到最終程序代碼,再下載到BASIC Stamp處理器中。
'登錄第一個(gè)iButton序列號(hào):'
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:
'登錄第二個(gè)或其余的iButton序列號(hào):'
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序列號(hào)。
評(píng)論