組成部分 1.GPS接收器(garmin gps 35),它提供車(chē)輛的位置信息 2.gsm模塊(siemens tc35),用于將sms(文本信息)發(fā)送到預(yù)先設(shè)定的移動(dòng)電話 3.ibutton(ds1990a), 用來(lái)驗(yàn)證駕駛?cè)藛T是否被授權(quán)使用車(chē)輛 4.parallax公司的bs2p控制模塊,連接一個(gè)basic stamp開(kāi)發(fā)板(www.parallaxinc.com)。 5.軟件: epd-v2-01-3e.bps:basic stamp主程序 1wire-id.bsp:讀取ds1990a ibutton序列號(hào)子程序 ![]() 原理框圖 gps接收器提供的信息以“nmea”格式輸出(nmea是美國(guó)國(guó)家航海電子協(xié)會(huì)縮寫(xiě)),緯度和經(jīng)度信息從$gprmc文句中提取出來(lái),(按格式:"北緯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)為“只讀”類(lèi)型,一個(gè)系統(tǒng)可以配備2枚ibutton鑰匙,其中一枚作為備用或提供給第二位授權(quán)司機(jī)。當(dāng)然,也可以方便地配備更多的鑰匙。 二、工作原理 系統(tǒng)啟動(dòng)過(guò)程中,basic stamp不斷掃描,檢測(cè): · ibutton是否插入輸入端? · 汽車(chē)點(diǎn)火器是否工作? 要想汽車(chē)正常工作,該車(chē)被授權(quán)的ibutton必須插入讀寫(xiě)口,然后,汽車(chē)將在設(shè)定的25秒內(nèi)啟動(dòng)。 如果出現(xiàn)下列情形,則被認(rèn)為出現(xiàn)非法入侵: · 已檢測(cè)到汽車(chē)點(diǎn)火器開(kāi)始工作,而合法的ibutton并未在要求的25秒內(nèi)啟動(dòng)汽車(chē)。 · 如果汽車(chē)啟動(dòng)后25秒內(nèi)沒(méi)有ibutton連接到系統(tǒng),同樣被認(rèn)為非法入侵。 一旦確定發(fā)生了非法入侵,basic stamp就開(kāi)始查詢來(lái)自gps接收機(jī)的信息。等待$gprmc信息出現(xiàn)在gps接收機(jī)的串行輸出端口。 · bs2p把sms信息,包括從gps接收到的gprmc文本中提取的信息發(fā)送到預(yù)先設(shè)定的移動(dòng)電話。 · 每隔2分鐘上述過(guò)程重復(fù)一次,以便讓車(chē)主時(shí)刻知道車(chē)輛位置。 三、系統(tǒng)集成 該設(shè)計(jì)的核心是basic stamp,它把gps接收機(jī)、gsm調(diào)制解調(diào)器、ibutton及汽車(chē)點(diǎn)火器檢測(cè)有機(jī)的連接在一起,構(gòu)成一個(gè)完整的系統(tǒng)。 點(diǎn)火線用于檢測(cè)汽車(chē)是否被發(fā)動(dòng),當(dāng)然,也可使用其他指示器(比如:超聲波傳感器或其他防入侵檢測(cè)器等。) · gps接收器輸出連接到basic stamp的p0。 · gsm接收模塊的輸入連接到basic stamp的sout或引腳 1。 · basic stamp的p1引腳連接到點(diǎn)火器,輸入高電平表明點(diǎn)火器在工作,反之亦然。 · p15用于與ibutton接口。 需要提醒的是,basic stamp系列產(chǎn)品中bs2p支持ibutton的1-wire總線接口協(xié)議,而早期產(chǎn)品不支持。 登錄移動(dòng)電話號(hào)碼 可按如下方法編程,輸入移動(dòng)電話號(hào)碼: ====================================================== debug "+44********** " enter the destination mobile phone number here ====================================================== 輸入號(hào)碼必須按下列格式: +國(guó)家代碼(上例中的44代表英國(guó)代碼) +個(gè)人移動(dòng)電話號(hào)碼。 該號(hào)碼將是系統(tǒng)發(fā)送管理信息的目的號(hào)碼,包括車(chē)輛的位置信息。 登錄ibutton序列號(hào): 輸入將要使用的ibutton序列號(hào),如果只有一個(gè)ibutton在該系統(tǒng)使用,則需要將該號(hào)碼重復(fù)寫(xiě)入為備用ibutton預(yù)留的存儲(chǔ)器中。 ibutton代碼的寫(xiě)入如下列程序所示。本例中,舉例用的ibutton代碼已被輸入系統(tǒng)。實(shí)際寫(xiě)入代碼時(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 完成上述修改后即可跟蹤汽車(chē)。 |