本文章描述一種簡單的方式來追蹤一輛被偷的車輛位置,想法是透過行動電話標準的文字訊息得到座標(緯度和經度),然後能用來確定車輛精確的位置。
這有很多可能的用途,從跟蹤一輛私家轎車到管理卡車和公共汽車的公司。
這個專案提供一種非常簡單的方式來得到一輛車輛的位置;並可依照個別的需求加入更多應用。
基本構成模組
專案使用下列部分組成︰
- ●GPS接收機(Garmin GPS 35),這提供關於車輛位置的訊息。
- ●GSM模組(西門子TC35),GSM模組用來把SMS(文字訊息)送到預先設定的行動電話號碼。
- ●iButton(DS1990A),iButton用來鑑定司機有權限使用這部車輛。
- ●Parallax Basic Stamp(BS2P),連接到一塊“BASIC STAMPBoard of Education”的開發板上。
在下面(圖一)的方框圖顯示基本的安裝︰
GPS接收機提供以NMEA為格式的訊息,緯度和經度座標可經由GPRMC句中得到(以“北方幾度”及“西方幾度”的形式)。GSM模組則是用來把SMS(文字訊息)送到預先設定的行動電話號碼。
DS1990A iButton(廣泛稱為串聯數字iButton)被作為鑑定或者“鑰匙”使用,此裝置含有在工廠就己設定且唯一的六個位元組身份,及兩個位元組的CRC,其只提供讀取模式,系統目前考慮到兩個iButtons或者“鑰匙”,用來允許“備用鑰匙”,更多的“鑰匙”碼可容易的依照要求來增加。
在一開始,Basic Stamp連續掃描兩件事情︰
正常的操作是將“被認證”的iButton插入,然後在25秒內啟動汽車。
入侵狀態經由下列條件發現︰
●如果點火動作被偵測到,在汽車啟動25秒內並沒有有效的iButton連接上;
●如果在啟動汽車25秒內沒有iButton連結,這也將是一個入侵狀態;
●一但確定入侵已經發生,“Basic Stamp”就從GPS接收機尋找訊息。它等“GPRMC”出現在GPS接收機的串列輸出上;
●從GPS接收機收到的“PRMC”句中得到緯度和經度座標,然後用SMS(文字訊息)送到預先設定的行動電話號碼;
●這個步驟每2分鐘被重複以不斷向汽車擁有者報告汽車位置。
整合後
這個專案的核心是這張“Basic Stamp”,它聯接GPS接收機、GSM數據機、來自車輛的iButton和引擎點火線。
在這個專案裡這條引擎點火線用來偵測汽車是否已經啟動,如果需要的話可使用其它偵測點(例如超音波轉換器,或者其他形式的入侵檢測器)。
- ●GPS接收機輸出連接到“Basic Stamp”的P0連接埠;
- ●GSM模組接收器輸入連接到“Basic Stamp”的“Sout”或是“Pin 1” 連接埠;
- ●引擎點火線連接到“Basic Stamp”的P1連接埠,一高準位狀態表明點火啟動反之亦然;
- ●P15連接埠用來連接iButton的界面。
注意到在“Basic Stamp”上的BS2P將支援1-Wire iButtons界面,以前的版本將不支援此界面。
輸入移動電話號碼
在程式碼內編寫入行動電話號碼,輸入行動電話號碼在如下所示的程式碼內︰
'================================================================================
DEBUG "+44********** " ' Enter the destination mobile phone number here
'================================================================================
它必須以一定的形式,如︰
- ●+國家代碼(在上面的例子裡使用英國代碼);
- ●隨後跟著行動電話號碼,忽略前面的零碼。
系統將傳送含有汽車位置的SMS(文字訊息)到這個號碼。
輸入iButton序號
輸入將被使用的iButtons序號,要是只有單一個iButton被使用,複製這個序號在第二個 iButton的插槽。
那些需要被輸入的程式碼如下所列,在這個例子裏,有一個iButton序號被輸入,替換繼符號“$”之後數目就可更改它,序號被表示為十六進位記數法。
一個分開的程式可用來顯示特定的iButtons序號,此序號可被輸入在最後的程式碼然後下載到這張“BASIC STAMP”上。
' ENTER THE FIRST iBUTTON Serial Number is the lines below'
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:
' ENTER THE SECOND/Spare iBUTTON Serial Number is the lines below'
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
結論
在做了這些修改之後,這系統就能夠跟蹤任何車輛。(作者任職於Maxim Dallas Semiconductor)