基于GSM網(wǎng)絡(luò)的汽車報警系統(tǒng)設(shè)計
微控制器處理速度快,串口速率慢,這對報警器實時監(jiān)控帶來了很大的隱患,微控制器不能一直等待接收完全部數(shù)據(jù)。為了提高實時監(jiān)控能力,通信模塊引入緩存,把不完整的信息暫存在緩存內(nèi),待信息完整后再進行處理。緩存結(jié)構(gòu)加入讀指針和寫指針,對緩存進行讀、寫操作,保證了在讀數(shù)據(jù)的同時,也可以進行寫操作,兩指針互不干擾。初始化SIM300C通信模塊通過拉低IGT啟動SIM300C,并通過串口發(fā)送AT指令進行必要的初始化設(shè)置。表1是初始化 SIM300C使用的AT命令。
根據(jù)AT指令回答的格式“CR>LF>回答CR>LF>”,CR>LF>ACSII碼分別0DH,0AH。短消息的發(fā)送和接收控制模式有三種:Block模式、PDU(Protocol Data unit,協(xié)議數(shù)據(jù)單元)模式和Text模式。使用Block模式需要手機生產(chǎn)廠家提供驅(qū)動支持。目前,PDU模式已取代Block模式,而Text模式不支持中文。因此,為了系統(tǒng)的通用性,兼容中英文短消息的發(fā)送接收,本系統(tǒng)使用PDU模式來處理短消息。為了減少程序的復(fù)雜性,系統(tǒng)不對信息進行儲存,因為如果采用信息儲存方式,需對信息讀取,讀取完再刪除信息,過程比較繁瑣。
本系統(tǒng)則是利用信息提示的方法對信息內(nèi)容進行讀取的。最后設(shè)置來電顯示,主要為了確認用戶的身份,便于用戶啟動、關(guān)閉監(jiān)控功能,整個啟動代碼的設(shè)置主要是對后續(xù)的工作做好準備。
3.2 控制模塊
根據(jù)程序設(shè)計需求,只需提取被叫號碼和用戶數(shù)據(jù)(Unicode字符串),被叫號碼用來確認是否機主手機號碼,當不是主手機號碼時不進行下一步操作,清空緩存,繼續(xù)監(jiān)控,確認后,根據(jù)用戶短消息內(nèi)容不同,做相應(yīng)設(shè)置。
其中“設(shè)置”命令的功能是將報警器中車主的手機號碼進行修改;“修改”命令是將報警器中的密碼進行修改,密碼的作用是防止任何人都可以修改報警手機號碼。發(fā)送相應(yīng)短消息內(nèi)容,完成各種設(shè)置:
(1)“啟動”短消息,啟動報警器。
(2)“關(guān)閉”短消息,關(guān)閉報警器。
(3)“設(shè)置”短消息,替換擁有控制權(quán)的手機號碼。
(4)“修改”短消息,修改登陸密碼。
(5)“查詢”短消息,查詢報警器的工作狀態(tài)。
3.3 檢測模塊
該模塊由高精度振動傳感器組成。模塊被觸發(fā)后,發(fā)送一個低電平信號到微控制器。
控制器檢測到低電平信號,發(fā)送短信到機主手機報警。由圖4可以看到發(fā)完信息后,低電平還未跳到高電平時,又被微控器檢測監(jiān)控設(shè)備為低電平,又重復(fù)發(fā)了一條信息。為解決此問題,發(fā)送報警信息繼續(xù)檢測監(jiān)控設(shè)備,當為高電平時才跳出,這樣避免了產(chǎn)生信息重發(fā),增強了系統(tǒng)的穩(wěn)定性。
評論