組成部分 1.GPS接收器(garmin gps 35),它提供車(chē)輛的位置信息 2.gsm模塊(siemens tc35),用于將sms(文本信息)發(fā)送到預先設定的移動(dòng)電話(huà) 3.ibutton(ds1990a), 用來(lái)驗證駕駛人員是否被授權使用車(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序列號子程序 原理框圖 gps接收器提供的信息以“nmea”格式輸出(nmea是美國國家航海電子協(xié)會(huì )縮寫(xiě)),緯度和經(jīng)度信息從$gprmc文句中提取出來(lái),(按格式:"北緯abc","西經(jīng)def"輸出)。 gsm模塊將sms信息(文本信息)發(fā)送到預置的移動(dòng)電話(huà)上。 而ds1990a ibutton (即所謂的“序列號ibutton”)用于身份驗證或“鑰匙”。它包含一個(gè)全球唯一的6字節長(cháng)的身份識別號碼和2字節長(cháng)的crc 校驗碼。序列號為“只讀”類(lèi)型,一個(gè)系統可以配備2枚ibutton鑰匙,其中一枚作為備用或提供給第二位授權司機。當然,也可以方便地配備更多的鑰匙。 二、工作原理 系統啟動(dòng)過(guò)程中,basic stamp不斷掃描,檢測: · ibutton是否插入輸入端? · 汽車(chē)點(diǎn)火器是否工作? 要想汽車(chē)正常工作,該車(chē)被授權的ibutton必須插入讀寫(xiě)口,然后,汽車(chē)將在設定的25秒內啟動(dòng)。 如果出現下列情形,則被認為出現非法入侵: · 已檢測到汽車(chē)點(diǎn)火器開(kāi)始工作,而合法的ibutton并未在要求的25秒內啟動(dòng)汽車(chē)。 · 如果汽車(chē)啟動(dòng)后25秒內沒(méi)有ibutton連接到系統,同樣被認為非法入侵。 一旦確定發(fā)生了非法入侵,basic stamp就開(kāi)始查詢(xún)來(lái)自gps接收機的信息。等待$gprmc信息出現在gps接收機的串行輸出端口。 · bs2p把sms信息,包括從gps接收到的gprmc文本中提取的信息發(fā)送到預先設定的移動(dòng)電話(huà)。 · 每隔2分鐘上述過(guò)程重復一次,以便讓車(chē)主時(shí)刻知道車(chē)輛位置。 三、系統集成 該設計的核心是basic stamp,它把gps接收機、gsm調制解調器、ibutton及汽車(chē)點(diǎn)火器檢測有機的連接在一起,構成一個(gè)完整的系統。 點(diǎn)火線(xiàn)用于檢測汽車(chē)是否被發(fā)動(dòng),當然,也可使用其他指示器(比如:超聲波傳感器或其他防入侵檢測器等。) · 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àn)接口協(xié)議,而早期產(chǎn)品不支持。 登錄移動(dòng)電話(huà)號碼 可按如下方法編程,輸入移動(dòng)電話(huà)號碼: ====================================================== debug "+44********** " enter the destination mobile phone number here ====================================================== 輸入號碼必須按下列格式: +國家代碼(上例中的44代表英國代碼) +個(gè)人移動(dòng)電話(huà)號碼。 該號碼將是系統發(fā)送管理信息的目的號碼,包括車(chē)輛的位置信息。 登錄ibutton序列號: 輸入將要使用的ibutton序列號,如果只有一個(gè)ibutton在該系統使用,則需要將該號碼重復寫(xiě)入為備用ibutton預留的存儲器中。 ibutton代碼的寫(xiě)入如下列程序所示。本例中,舉例用的ibutton代碼已被輸入系統。實(shí)際寫(xiě)入代碼時(shí),請用具體ibutton的代碼代替范例程序中“$”符號后面的數字,序列號以16進(jìn)制表達。 一個(gè)單獨的子程序可用于顯示指定ibutton的序列號,該串行號碼被登錄到最終程序代碼,再下載到basic stamp處理器中。 “登錄第一個(gè)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: “登錄第二個(gè)或其余的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 完成上述修改后即可跟蹤汽車(chē)。 |