作者:Garmin, Siemens, Parallax
組成部分
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
完成上述修改后即可跟蹤汽車。
責任編輯:gt
-
接收器
+關注
關注
14文章
2458瀏覽量
71806 -
gps
+關注
關注
22文章
2886瀏覽量
166055 -
開發板
+關注
關注
25文章
4959瀏覽量
97214
發布評論請先 登錄
相關推薦
評論