基于ARM的GSM遠(yuǎn)程監(jiān)控系統(tǒng)
掃描二維碼
隨時(shí)隨地手機(jī)看文章
1 引言
目前,車載信息系統(tǒng)逐漸成為融合先進(jìn)的電子、計(jì)算機(jī)、通信技術(shù)的智能交通系統(tǒng)(ITS)中必不可少的部分。車載信息系統(tǒng)在統(tǒng)一的硬件平臺上集成了汽車儀表、防盜監(jiān)控、自動導(dǎo)航、媒體播放、瀏覽網(wǎng)絡(luò)等多種信息服務(wù),與車內(nèi)多個(gè)部件的單獨(dú)開發(fā)集成相比,節(jié)省了材料成本及通信成本,有利于汽車信息的數(shù)字化,也有利于提高整車性價(jià)比。[1]
汽車監(jiān)控系統(tǒng),是車載信息系統(tǒng)的一個(gè)重要組成部分,為汽車的防盜提供重要的保障。目前,汽車監(jiān)控器的原理主要分為如下三類:短程監(jiān)控和無線遠(yuǎn)程監(jiān)控和GPS定位監(jiān)控。常用的近距離聲音監(jiān)控器一般通過振動傳感器感知被保護(hù)物體(如汽車或保險(xiǎn)箱)的異常振動,然后驅(qū)動大功率聲音報(bào)警。該監(jiān)控方式缺點(diǎn)是監(jiān)控距離短、對環(huán)境產(chǎn)生噪音污染、誤報(bào)率高、監(jiān)控器易被拆卸或遭破壞。普通無線監(jiān)控器則是利用專有的無線電頻率進(jìn)行信息的監(jiān)控,具有傳輸距離短、易受障礙物干擾等缺點(diǎn)。GPS定位報(bào)警器[1]利用現(xiàn)代電子信息技術(shù)、航天技術(shù)和網(wǎng)絡(luò)技術(shù),實(shí)現(xiàn)汽車與車主的實(shí)時(shí)信息反饋,也具有存在“盲區(qū)”,費(fèi)用較高等缺陷。
GSM是目前基于時(shí)分多址技術(shù)的移動通信體制中較為成熟、完善、應(yīng)用廣泛的一種系統(tǒng)。GSM系統(tǒng)集中了現(xiàn)代信源編碼技術(shù)、信道編碼、交織、均衡技術(shù)、數(shù)字調(diào)制技術(shù)、話音編碼技術(shù)以及慢調(diào)頻技術(shù),同時(shí)在系統(tǒng)中引入了大量計(jì)算機(jī)控制和管理,因而保證了數(shù)據(jù)傳輸?shù)恼_性、安全性和可靠性。[2]
ARM處理器是目前嵌入式系統(tǒng)中普遍采用的處理器,作為車載信息系統(tǒng)的硬件平臺,具有體積小、成本低、性能高、內(nèi)嵌資源豐富等特點(diǎn)。
為此,設(shè)計(jì)了一款基于ARM的GSM遠(yuǎn)程監(jiān)控系統(tǒng),它以GSM網(wǎng)絡(luò)作為通信載體,以ARM 處理器S3C2410作為基本硬件平臺,實(shí)現(xiàn)汽車狀態(tài)的自動監(jiān)測與及時(shí)控制。
2 系統(tǒng)分析
基于ARM的GSM汽車監(jiān)控系統(tǒng)是一種新型的汽車監(jiān)控系統(tǒng),內(nèi)部嵌入了專用通信模塊。該監(jiān)控器的工作原理如圖1所示:當(dāng)傳感器檢測到車門開啟或是發(fā)動機(jī)開啟信號時(shí),經(jīng)過A/D轉(zhuǎn)換模塊將信號轉(zhuǎn)換成數(shù)字信號并傳送給ARM處理器,ARM處理器分析并處理該信息,將處理的結(jié)果(報(bào)警信息)以AT命令的形式發(fā)送給無線通信模塊,無線通信模塊將報(bào)警信號以短信的方式發(fā)送到預(yù)定的車主手機(jī)中。車主根據(jù)收到的報(bào)警信息回復(fù)相應(yīng)的短信,實(shí)現(xiàn)對汽車的控制如強(qiáng)迫關(guān)閉發(fā)動機(jī)或車門死鎖等操作。利用GSM網(wǎng)絡(luò),可以將報(bào)警信息傳送到移動通訊覆蓋的任何地方,克服了現(xiàn)有技術(shù)報(bào)警信號傳送距離有限和噪音污染的缺陷。
監(jiān)控器還應(yīng)具有修改系統(tǒng)密碼、動態(tài)設(shè)置監(jiān)控器的控制與解鎖指令、設(shè)置車主手機(jī)號碼等指令,在進(jìn)行這些設(shè)置時(shí)需要用戶在短信中提供密碼以進(jìn)行身份校驗(yàn)。
圖1 遠(yuǎn)程監(jiān)控器硬件結(jié)構(gòu)示意圖
3 硬件設(shè)計(jì)
基于ARM的GSM遠(yuǎn)程監(jiān)控系統(tǒng)主要包含S3C2410目標(biāo)板、TC35i通信模塊、SIM卡模塊、光電耦合器、傳感器、控制器、電源系統(tǒng)等部分組成,如圖2所示。整個(gè)系統(tǒng)可分為三個(gè)部分:
1) 監(jiān)測部分 車門開關(guān)傳感器、發(fā)動機(jī)振動傳感器通過光電耦合器與S3C2410目標(biāo)板的GPIO端口相連,對連接傳感器的端口將其配置為輸入模式??梢詫⑾鄳?yīng)的GPIO端口與外部中斷源進(jìn)行綁定,當(dāng)有相應(yīng)信號產(chǎn)生時(shí),觸發(fā)中斷,進(jìn)行相應(yīng)報(bào)警事件的處理。
2) 控制部分 控制器通過光電耦合器與目標(biāo)板的GPIO端口連接,對連接控制器的端口配置為輸出端口。目標(biāo)板發(fā)出的控制信號經(jīng)控制器放大后去控制鎖定/開啟車門,或者控制發(fā)動機(jī)的熄火與啟動
3) 通信部分 目標(biāo)板通過串口與GSM移動通信模塊相連接,以進(jìn)行報(bào)警信息的發(fā)送或接收車主發(fā)送過來的控制指令及系統(tǒng)配置指令。通信模塊中有一張SIM卡,以實(shí)現(xiàn)對短信發(fā)送者或接收者身份的確定。
4) 電源部分 監(jiān)控系統(tǒng)的電源部分包括目標(biāo)板供電、控制器及傳感器的供電,由于兩者電壓及電流的不同,這里用光電耦合器進(jìn)行隔斷,以避免控制器中較大的電流對目標(biāo)板損壞。整個(gè)電源系統(tǒng)可來自于汽車蓄電池,這樣汽車熄火后也可以正常監(jiān)控。
監(jiān)控程序存儲在目標(biāo)板存儲器中,監(jiān)控程序是利用計(jì)算機(jī)進(jìn)行交叉開發(fā),最后下載固化到目標(biāo)板中。
圖2 遠(yuǎn)程監(jiān)控器硬件連接圖
4 軟件設(shè)計(jì)
遠(yuǎn)程監(jiān)控系統(tǒng)在嵌入式Linux平臺下,利用C語言進(jìn)行開發(fā)。遠(yuǎn)程監(jiān)控系統(tǒng)主要分為如下模塊:
1)無線通信模塊 主要負(fù)責(zé)通信短信的發(fā)送與接收。短信的收發(fā)是通過向串口發(fā)送AT指令集來實(shí)現(xiàn)的。AT指令集是GSM 模塊與嵌入式計(jì)算機(jī)之間的通信協(xié)議。AT指令是以AT作首, 字符結(jié)束的字符串。每個(gè)指令執(zhí)行成功與否都有相應(yīng)的返回。其他的一些非預(yù)期的信息(如有人撥號進(jìn)來、線路無信號等),模塊也將有對應(yīng)的一些信息提示,接收端可做相應(yīng)的處理。
所使用的短信息規(guī)范為GSM07.05,方式為PDU模式[4]。PDU串表面上是一串ASCII碼,由’0’-’9’和’A’-’F’這些數(shù)字和字母組成,它們是8位字節(jié)的十六進(jìn)制數(shù)。PDU串不僅包含可顯示的消息本身,還包含很多其他的附加信息,并且發(fā)送和接收的PDU串的結(jié)構(gòu)也不完全一樣。發(fā)送短消息的PDU串的格式如表1所示,接受短消息格式與此略有不同,這里不再贅述。
表1發(fā)送短信息PDU串格式
分段 |
含義 |
說明 |
08 |
SMSC地址信息的長度 |
共8個(gè)八位字節(jié)(包括91) |
91 |
SMSC地址格式(TON/NPI) |
用國際格式號碼(在前面加‘+’) |
68 31 08 20 08 05 F0 |
SMSC地址 |
8613800280500,補(bǔ)‘F’湊成偶數(shù)個(gè) |
11 |
基本參數(shù)(TP-MTI/VFP) |
發(fā)送,TP-VP用相對格式 |
00 |
消息基準(zhǔn)值(TP-MR) |
0 |
0D |
目標(biāo)地址數(shù)字個(gè)數(shù) |
共13個(gè)十進(jìn)制數(shù)(不包括91和‘F’) |
91 |
目標(biāo)地址格式(TON/NPI) |
用國際格式號碼(在前面加‘+’) |
68 31 58 81 27 F8 |
目標(biāo)地址(TP-DA) |
8613851872468,補(bǔ)‘F’湊成偶數(shù)個(gè) |
00 |
協(xié)議標(biāo)識(TP-PID) |
是普通GSM類型,點(diǎn)到點(diǎn)方式 |
00 |
用戶信息編碼方式(TP-DCS) |
7-bit編碼 |
00 |
有效期(TP-VP) |
5分鐘 |
06 |
用戶信息長度(TP-UDL) |
實(shí)際長度6個(gè)字節(jié) |
C8 32 9B FD 0E 01 |
用戶信息(TP-UD) |
“Hello!” |
短信PDU編碼的生成與解碼都按照GSM07.05規(guī)范寫成相應(yīng)的函數(shù)以供監(jiān)控模塊和系統(tǒng)設(shè)置等模塊調(diào)用。
2)監(jiān)測與控制模塊 監(jiān)測模塊主要完成對傳感器信息的檢測,在滿足條件時(shí)產(chǎn)生中斷,在中斷服務(wù)程序中,生成報(bào)警短信并調(diào)用發(fā)送短信函數(shù)將報(bào)警信息發(fā)送給車主手機(jī)中。控制模塊根據(jù)接收到的短信內(nèi)容,發(fā)送相應(yīng)的控件信號給控制器。
3)系統(tǒng)設(shè)置模塊 主要完成對車主手機(jī)號碼、短信中心號碼、系統(tǒng)密碼、報(bào)警信息內(nèi)容、回復(fù)指令內(nèi)容等內(nèi)容的修改,以增加系統(tǒng)的安全性。設(shè)置短信內(nèi)容格式如表2所示。
表2 遠(yuǎn)程監(jiān)控系統(tǒng)應(yīng)用層指令
指令 |
功能 |
SET CTR |
設(shè)置短信中心號碼 |
SET USR |
設(shè)置車主手機(jī)號碼 |
SET MSG |
設(shè)置報(bào)警短信的文本內(nèi)容 |
SET LCK |
設(shè)置鎖定控制指令的內(nèi)容 |
SET ULK |
設(shè)置解鎖控制指令的內(nèi)容 |
有關(guān)系統(tǒng)設(shè)置的信息以數(shù)據(jù)文件的方式存放在系統(tǒng)存儲器中。當(dāng)修改設(shè)置時(shí),就會修改該文件中的內(nèi)容。
整個(gè)系統(tǒng)的程序流程如圖3所示。整個(gè)監(jiān)控系統(tǒng)一上電后就開始運(yùn)行,只要有檢測的中斷事件發(fā)生,就處理中斷。當(dāng)有新短信到達(dá)時(shí),也會向串口發(fā)送一指定信息,因此對串口數(shù)據(jù)的接受也應(yīng)采用中斷方式。這樣系統(tǒng)的效率較高,避免程序的不斷循環(huán)而浪費(fèi)處理器資源。
圖3 遠(yuǎn)程監(jiān)控系統(tǒng)程序流程圖
5 結(jié)束語
基于ARM的GSM遠(yuǎn)程監(jiān)控器是目前較為先進(jìn)的汽車監(jiān)控系統(tǒng),它具有如下特點(diǎn):1)利用短信作為傳輸手段,可以實(shí)現(xiàn)汽車狀態(tài)信息的“零時(shí)間報(bào)警”;2)借助于全球化的GSM網(wǎng)絡(luò),無論車主身在何處,都可以“長距離報(bào)警”;3)以ARM為基礎(chǔ)的汽車監(jiān)控系統(tǒng)作為車載信息系統(tǒng)的一部分,在整體上具有“高性價(jià)比”;4)使用手機(jī)作為監(jiān)控器的操作終端,手機(jī)短信作為控制指令載體,具有操作方便的特點(diǎn)。
基于ARM的GSM遠(yuǎn)程監(jiān)控系統(tǒng)不光是在汽車防盜系統(tǒng)中有著廣泛應(yīng)用,同時(shí)它也提供了一種現(xiàn)代遠(yuǎn)程監(jiān)控系統(tǒng)的新模式,在鐵路、交通、電力、工業(yè)、環(huán)保、水文等多種領(lǐng)域有著廣泛的應(yīng)用前景。
參考文獻(xiàn)
[1] 湯志偉,陸亨立.基于嵌入式Linux的汽車信息服務(wù)系統(tǒng)[J].微計(jì)算機(jī)信息,2006.3-2:209-211.
[2] 楊利娟,魯周迅.基于GSM線路檢修監(jiān)控系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[J].微計(jì)算機(jī)信息, 2005.7-1:149-150
[3] 黃賢英,陳緩.基于Linux的嵌入式汽車智能監(jiān)控系統(tǒng)的設(shè)計(jì)[J].微計(jì)算機(jī)信息, 2006.12-2:226-228
[4] 中國電子技術(shù)信息網(wǎng). 通過串口收發(fā)短消息[EB/OL].