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