組成部分 1.GPS接收器(garmin gps 35),它提供車輛的位置信息 2.gsm模塊(siemens tc35),用于將sms(文本信息)發送到預先設定的移動電話 3.ibutton(ds1990a), 用來驗證駕駛人員是否被授權使用車輛 4.parallax公司的bs2p控制模塊,連接一個basic stamp開發板(www.parallaxinc.com)。 5.軟件: epd-v2-01-3e.bps:basic stamp主程序 1wire-id.bsp:讀取ds1990a ibutton序列號子程序 原理框圖 gps接收器提供的信息以“nmea”格式輸出(nmea是美國國家航海電子協會縮寫),緯度和經度信息從$gprmc文句中提取出來,(按格式:"北緯abc","西經def"輸出)。 gsm模塊將sms信息(文本信息)發送到預置的移動電話上。 而ds1990a ibutton (即所謂的“序列號ibutton”)用于身份驗證或“鑰匙”。它包含一個全球唯一的6字節長的身份識別號碼和2字節長的crc 校驗碼。序列號為“只讀”類型,一個系統可以配備2枚ibutton鑰匙,其中一枚作為備用或提供給第二位授權司機。當然,也可以方便地配備更多的鑰匙。 二、工作原理 系統啟動過程中,basic stamp不斷掃描,檢測: · ibutton是否插入輸入端? · 汽車點火器是否工作? 要想汽車正常工作,該車被授權的ibutton必須插入讀寫口,然后,汽車將在設定的25秒內啟動。 如果出現下列情形,則被認為出現非法入侵: · 已檢測到汽車點火器開始工作,而合法的ibutton并未在要求的25秒內啟動汽車。 · 如果汽車啟動后25秒內沒有ibutton連接到系統,同樣被認為非法入侵。 一旦確定發生了非法入侵,basic stamp就開始查詢來自gps接收機的信息。等待$gprmc信息出現在gps接收機的串行輸出端口。 · bs2p把sms信息,包括從gps接收到的gprmc文本中提取的信息發送到預先設定的移動電話。 · 每隔2分鐘上述過程重復一次,以便讓車主時刻知道車輛位置。 三、系統集成 該設計的核心是basic stamp,它把gps接收機、gsm調制解調器、ibutton及汽車點火器檢測有機的連接在一起,構成一個完整的系統。 點火線用于檢測汽車是否被發動,當然,也可使用其他指示器(比如:超聲波傳感器或其他防入侵檢測器等。) · gps接收器輸出連接到basic stamp的p0。 · gsm接收模塊的輸入連接到basic stamp的sout或引腳 1。 · basic stamp的p1引腳連接到點火器,輸入高電平表明點火器在工作,反之亦然。 · p15用于與ibutton接口。 需要提醒的是,basic stamp系列產品中bs2p支持ibutton的1-wire總線接口協議,而早期產品不支持。 登錄移動電話號碼 可按如下方法編程,輸入移動電話號碼: ====================================================== 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 完成上述修改后即可跟蹤汽車。 |