陳菁++王志華
摘 要: 在此介紹一種基于Android平臺(tái)的家用無線防盜報(bào)警系統(tǒng),其不僅實(shí)現(xiàn)低成本檢測(cè)、顯示和報(bào)警,而且能通過串口WiFi設(shè)備將系統(tǒng)數(shù)據(jù)無線傳輸?shù)接脩舻闹悄苁謾C(jī)上,實(shí)現(xiàn)遠(yuǎn)程無線控制。系統(tǒng)采用超聲波測(cè)距模塊、振動(dòng)檢測(cè)模塊和紅外對(duì)射電路實(shí)現(xiàn)自動(dòng)檢測(cè)功能,采用蜂鳴器和LED實(shí)現(xiàn)聲光報(bào)警功能,以內(nèi)置精簡(jiǎn)指令集RISC的AVR單片機(jī)作為數(shù)據(jù)處理中心,通過異步串行收發(fā)器USART將系統(tǒng)狀態(tài)數(shù)據(jù)發(fā)送至HLK?RM04模塊,該模塊內(nèi)置TCP/IP協(xié)議棧實(shí)現(xiàn)用戶串口、以太網(wǎng)、WiFi接口之間數(shù)據(jù)的轉(zhuǎn)換和傳輸。系統(tǒng)還通過對(duì)Android手機(jī)應(yīng)用程序編程,使用戶在智能手機(jī)上實(shí)現(xiàn)AVR單片機(jī)與智能手機(jī)之間數(shù)據(jù)傳輸,實(shí)現(xiàn)對(duì)整個(gè)系統(tǒng)的設(shè)置與控制。
關(guān)鍵詞: 防盜報(bào)警; AVR單片機(jī); Android平臺(tái); LCD12864
中圖分類號(hào): TN70?34 文獻(xiàn)標(biāo)識(shí)碼: A 文章編號(hào): 1004?373X(2015)08?0117?03
Study on home wireless anti?theft alarm system based on Android
CHEN Jing, WANG Zhi?hua
(School of Science, Beijing Forestry University, Beijing 100083, China)
Abstract: The household anti?theft alarm system based on Android platform and combined with the microcontroller not only can achieve low?cost detection, display and alarm, but also can transmit the system data to the users intelligent mobile phone in wireless transmission mode through the serial port WIFI equipment, and realize remote wireless control. The ultrasonic ranging module, vibration detection module and infrared emission circuit are used in the system to realize automatic detection function. The buzzer and LED are adopted to achieve sound and light alarm function. The AVR single chip microcomputer with built?in reduced instruction set is taken as data processing center. The system status data is sent to the module LAK?RMO4 through the asynchronous serial transceiver USART. The TCP/IP protocol stack is built in the module to realize data transmission and conversion among the user serial port, Ethernet and WIFI interface. Through programming of Android mobile phone application program, the user can achieve data transmission between AVR SCM and intelligent mobile phone in intelligent mobile phone, and realize setting and control of the whole system.
Keywords: anti?theft alarm; AVR MCU; Android platform; LCD12864
隨著人們安全防范意識(shí)的逐步增強(qiáng),作為智能家居系統(tǒng)的一個(gè)重要組成部分,家庭監(jiān)控和防盜報(bào)警系統(tǒng)實(shí)現(xiàn)了自動(dòng)監(jiān)測(cè)報(bào)警,以使家庭財(cái)產(chǎn)免受損失的功能,其性能的好壞直接關(guān)系到整個(gè)智能家居系統(tǒng)的好壞。與境外安防產(chǎn)品的成熟程度相比,中國(guó)安防產(chǎn)品市場(chǎng)的產(chǎn)業(yè)結(jié)構(gòu)上呈現(xiàn)出產(chǎn)業(yè)區(qū)域分布不均衡、壟斷程度低、市場(chǎng)占有率低等特點(diǎn)。現(xiàn)在,急需能夠低成本檢測(cè)、顯示和報(bào)警,并且能夠通過智能手機(jī)等設(shè)備接收實(shí)時(shí)信息,并實(shí)現(xiàn)遠(yuǎn)程無線控制、具有一定市場(chǎng)競(jìng)爭(zhēng)力的產(chǎn)品出現(xiàn)[1]。本文設(shè)計(jì)的家用防盜報(bào)警系統(tǒng),通過各個(gè)傳感器系統(tǒng)的自動(dòng)檢測(cè),單片機(jī)收集傳感器信號(hào)進(jìn)行報(bào)警數(shù)據(jù)的處理,并通過串口?WiFi將數(shù)據(jù)發(fā)送到用戶的手機(jī)上,同時(shí)用戶也能發(fā)送控制命令給單片機(jī),從而實(shí)現(xiàn)對(duì)整個(gè)系統(tǒng)的控制。本設(shè)計(jì)是單片機(jī)和Android平臺(tái)的結(jié)合,不僅實(shí)現(xiàn)低成本檢測(cè)、顯示和報(bào)警,而且能夠?qū)崿F(xiàn)遠(yuǎn)程無線控制。
1 系統(tǒng)整體結(jié)構(gòu)及軟件流程設(shè)計(jì)
本設(shè)計(jì)整體分為4個(gè)部分:自動(dòng)檢測(cè)、聲光報(bào)警、液晶顯示和終端控制,其中AVR單片機(jī)是數(shù)據(jù)處理的中心,控制傳感器模塊及電路,采集和處理檢測(cè)到的各種信號(hào),進(jìn)行計(jì)算和判斷,從而決定是否啟動(dòng)聲光報(bào)警系統(tǒng),并將得到的數(shù)據(jù)信息顯示在LCD12864上,供用戶查看;單片機(jī)的串口與串口轉(zhuǎn)WiFi模塊的串口通過2×3串口線相連,單片機(jī)將系統(tǒng)狀態(tài)信息通過串口發(fā)送數(shù)據(jù),串口轉(zhuǎn)WiFi模塊自動(dòng)將數(shù)據(jù)通過WiFi發(fā)射到空間,Android手機(jī)通過本設(shè)計(jì)中編寫的客戶端就可以實(shí)現(xiàn)系統(tǒng)控制[2],系統(tǒng)整體結(jié)構(gòu)框圖如圖1所示。
圖1 系統(tǒng)整體結(jié)構(gòu)框圖
單片機(jī)部分的程序主要完成自動(dòng)檢測(cè)、聲光報(bào)警和液晶顯示功能,其串口接收采用中斷方式,只有單片機(jī)串口接收到數(shù)據(jù)時(shí),才會(huì)將接收標(biāo)志receverflag置1,這時(shí)才會(huì)運(yùn)行串口數(shù)據(jù)發(fā)送子程序。本設(shè)計(jì)中,使用了三處中斷進(jìn)行數(shù)據(jù)處理,另外兩處分別是超聲波測(cè)距子程序和振動(dòng)檢測(cè)子程序,超聲波測(cè)距時(shí),單片機(jī)I/O口發(fā)送超過10 μs的高電平,然后計(jì)時(shí)器計(jì)時(shí)同時(shí)主程序循環(huán)等待PD2檢測(cè)到上升沿電平;振動(dòng)檢測(cè)時(shí),PD3檢測(cè)到上升沿電平時(shí)進(jìn)入振動(dòng)檢測(cè)子程序,該子程序包含報(bào)警設(shè)置及顯示判斷。在液晶顯示部分,有3個(gè)顯示頁(yè)面,分別有Page_1,Page_2,Page_3作為顯示標(biāo)志,在每個(gè)子程序和主程序中,當(dāng)要顯示數(shù)據(jù)時(shí),首先判斷要顯示的頁(yè)面標(biāo)志是否為1[3?4]。單片機(jī)部分程序流程如圖2所示。
下面具體敘述報(bào)警系統(tǒng)各項(xiàng)功能的實(shí)現(xiàn)過程。
2 系統(tǒng)功能的實(shí)現(xiàn)
2.1 自動(dòng)檢測(cè)功能
2.1.1 超聲波測(cè)距模塊
HC?SR04超聲波測(cè)距模塊可以實(shí)現(xiàn)2~400 cm距離的測(cè)量,精度可達(dá)0.3 cm。模塊主要包括超聲波發(fā)射器、接收器和控制電路。模塊的工作原理:
(1) 采用I/O觸發(fā)測(cè)距,給至少10 μs的高電平信號(hào);
(2) 模塊自動(dòng)發(fā)送8個(gè)40 kHz的方波,自動(dòng)檢測(cè)是否有信號(hào)返回;
(3) 有信號(hào)返回,通過I/O輸出一高電平;
(4) 單片機(jī)計(jì)時(shí)的時(shí)間就是超聲波從發(fā)射到返回的時(shí)間,距離=340×[t2]。
2.1.2 震動(dòng)檢測(cè)模塊
震動(dòng)檢測(cè)模塊用來檢測(cè)系統(tǒng)的震動(dòng),本設(shè)計(jì)中用來檢測(cè)窗戶的震動(dòng)。傳感器采用的是SW?18020P,SW?18020P任何角度均可觸發(fā)工作,適用于小電流電路觸發(fā)。本模塊不震動(dòng)時(shí),震動(dòng)開關(guān)呈斷開狀態(tài),輸出端輸出高電平,綠色指示燈不亮;震動(dòng)時(shí),震動(dòng)開關(guān)瞬間導(dǎo)通,輸出端輸出低電平,綠色指示燈亮;輸出端與單片機(jī)直接相連,通過單片機(jī)來檢測(cè)高低電平,由此來檢測(cè)環(huán)境是否有震動(dòng),起到報(bào)警作用。
圖2 單片機(jī)部分程序流程圖
2.1.3 紅外對(duì)射電路
在本設(shè)計(jì)中,紅外發(fā)射電路和紅外接收電路分別被安裝在用戶的門和門框上。在門正常關(guān)閉的情況下,紅外接收管與紅外接收管正對(duì);當(dāng)門打開時(shí),紅外接收管接收不到發(fā)射管發(fā)射出的紅外線,此時(shí),單片機(jī)檢測(cè)到的電壓數(shù)值發(fā)生變化。依據(jù)門打開的程度,電壓變化不同,用戶可以自行設(shè)定報(bào)警電壓閾值[5]。
2.2 聲光報(bào)警功能
2.2.1 蜂鳴器
在本設(shè)計(jì)中,采用的是有源蜂鳴器,只需要接上額定的電源就可以連續(xù)發(fā)聲。但是在實(shí)際設(shè)計(jì)中,通常采用三極管驅(qū)動(dòng)放大來保障通過蜂鳴器的電流大小,從而保障聲音的質(zhì)量。雖然直接利用高低電平輸出能夠?qū)崿F(xiàn)報(bào)警功能,但若采用AVR T2的CTC輸出功能,能夠?qū)︻l率進(jìn)行編程,使蜂鳴器發(fā)聲富有變化,更能夠引起主人的注意。在這種模式下,蜂鳴器還可用于進(jìn)行簡(jiǎn)單音樂的播放。
2.2.2 發(fā)光二極管
在本設(shè)計(jì)中每路檢測(cè)都有一路LED相連,顯示檢測(cè)到的狀態(tài)信息,同時(shí)任何一路都會(huì)觸發(fā)蜂鳴器報(bào)警。
2.3 液晶顯示
AVR單片機(jī)在運(yùn)行過程中,通過傳感器模塊和電路,自動(dòng)檢測(cè)用戶住宅的狀態(tài)信息,并將傳感器模塊和電路測(cè)得的狀態(tài)數(shù)據(jù),通過I/O數(shù)據(jù)口傳輸?shù)絾纹瑱C(jī)內(nèi)部。單片機(jī)一方面將這些數(shù)據(jù)與預(yù)先設(shè)定的閾值比較,從而判斷是否啟動(dòng)聲光報(bào)警;另一方面,將這些數(shù)據(jù)顯示在液晶顯示屏上,供用戶實(shí)時(shí)查看當(dāng)前的狀態(tài)信息[6]。系統(tǒng)狀態(tài)顯示頁(yè)面顯示的內(nèi)容是:門、窗關(guān)閉或打開,距離數(shù)值。當(dāng)紅外發(fā)射管與紅外接收管之間有物體遮擋時(shí),可以模擬門打開的狀態(tài),此時(shí),門狀態(tài)由“關(guān)閉”變?yōu)椤按蜷_”,如圖3、圖4所示。
圖3 系統(tǒng)狀態(tài)顯示頁(yè)面
圖4 門由“關(guān)閉”變?yōu)椤按蜷_”
對(duì)于窗戶和距離是同樣的道理,本系統(tǒng)會(huì)實(shí)時(shí)監(jiān)測(cè)用戶住宅狀態(tài),并同步顯示在液晶屏幕上。由于單液晶屏幕顯示內(nèi)容有限,作為交互性的智能設(shè)計(jì),要求設(shè)計(jì)滿足用戶能夠自行設(shè)置參數(shù)的功能,因此設(shè)計(jì)了多個(gè)液晶顯示頁(yè)面,作為演示,只顯示2個(gè)頁(yè)面,分別是狀態(tài)顯示頁(yè)面和參數(shù)設(shè)置頁(yè)面。系統(tǒng)初始界面是狀態(tài)顯示頁(yè)面,顯示當(dāng)前系統(tǒng)狀態(tài)。設(shè)計(jì)2個(gè)機(jī)械按鍵供用戶切換頁(yè)面和設(shè)計(jì)參數(shù),用戶可以通過按鍵切換到其他頁(yè)面。在參數(shù)設(shè)置頁(yè)面,用戶通過參數(shù)設(shè)置按鍵可以設(shè)置靈敏度。靈敏度共分4種:10 cm,20 cm,30 cm,40 cm,代表距離是10 cm,20 cm,30 cm,40 cm時(shí)啟動(dòng)聲光報(bào)警。參數(shù)設(shè)置頁(yè)面如圖5所示。
2.4 終端控制
終端控制功能的實(shí)現(xiàn)是通過編寫一個(gè)Android客戶端,該客戶端可以進(jìn)行Socket通信,即可以通過給定的IP和端口利用Android手機(jī)的WiFi功能連接服務(wù)器,進(jìn)行數(shù)據(jù)的傳輸和系統(tǒng)的控制。在本設(shè)計(jì)中,單片機(jī)與Android手機(jī)之間進(jìn)行數(shù)據(jù)傳送時(shí)傳送的是命令代碼,該命令代碼是一個(gè)16進(jìn)制數(shù),該數(shù)據(jù)由8位二進(jìn)制數(shù)組成的單片機(jī)和Android手機(jī)通過對(duì)該數(shù)據(jù)的8位進(jìn)行解析,從而得到系統(tǒng)的狀態(tài)信息 [7] ??蛻舳耸褂梅椒ǎ河脩粼贏ndroid手機(jī)上安裝該客戶端后,打開手機(jī)的WiFi功能,在IP,PORT輸入框輸入IP地址和端口,點(diǎn)擊連接按鈕,連接成功后,該按鈕會(huì)顯示“斷開”;中間區(qū)域顯示系統(tǒng)狀態(tài),當(dāng)狀態(tài)發(fā)生變化時(shí),其顯示會(huì)發(fā)生變化;下面區(qū)域?yàn)槊畲a輸入?yún)^(qū)域,用戶可以根據(jù)需要輸入相應(yīng)的代碼。
圖5 參數(shù)設(shè)置頁(yè)面
客戶端功能實(shí)現(xiàn):客戶端程序初始化:為各個(gè)顯示控件添加屬性,并為按鈕添加響應(yīng)事件;接按鈕響應(yīng)事件:?jiǎn)螕舭粹o時(shí),與指定的IP、端口建立Socket連接;輸入流線程:接收輸入流,并根據(jù)輸入流數(shù)據(jù)對(duì)顯示區(qū)進(jìn)行設(shè)置;命令代碼確定按鈕:將輸入的命令代碼通過已經(jīng)建立的Socket通信通道已數(shù)據(jù)流的形式發(fā)送出去。
3 結(jié) 論
本文設(shè)計(jì)的家用無線防盜報(bào)警系統(tǒng)是基于單片機(jī)和Android平臺(tái),實(shí)現(xiàn)了以下幾個(gè)功能:
(1) 自動(dòng)檢測(cè)功能,超聲波測(cè)距模塊檢測(cè)陌生人與用戶住宅的實(shí)際距離,振動(dòng)檢測(cè)模塊檢測(cè)窗戶的振動(dòng),該模塊與單片機(jī)的I/O口直接連接,實(shí)時(shí)檢測(cè)模塊電平變化,紅外對(duì)射電路檢測(cè)房門的開關(guān),房門正常關(guān)閉情況下紅外接收電路接收紅外發(fā)射管發(fā)射的紅外線,與單片機(jī)相連的I/O口檢測(cè)到一定的模擬電壓,通過A/D轉(zhuǎn)換將電壓數(shù)值存儲(chǔ)在AVR單片機(jī)內(nèi)部,當(dāng)房門打開時(shí)紅外接收電路接收不到紅外線,該電壓值發(fā)生變化,單片機(jī)通過與存儲(chǔ)的電壓數(shù)值比較,判斷處理。
(2) 聲光報(bào)警功能,該功能主要有蜂鳴器和LED組成,該部分電路與單片機(jī)對(duì)應(yīng)的I/O口連接,當(dāng)單片機(jī)輸出相應(yīng)的電平時(shí),三級(jí)管導(dǎo)通,電路就會(huì)工作,實(shí)現(xiàn)報(bào)警功能。
(3) 液晶顯示,通過LCD12864將系統(tǒng)的狀態(tài)信息顯示出來供用戶查看,同時(shí)按鍵與單片機(jī)I/O口連接,通過對(duì)按鍵的判斷處理實(shí)現(xiàn)系統(tǒng)靈敏度的設(shè)置。
(4) 終端控制功能,該部分功能由HLK?RM04模塊和Android智能手機(jī)實(shí)現(xiàn),HLK?RM04模塊的串口與單片機(jī)的串口連接,單片機(jī)將狀態(tài)數(shù)據(jù)通過串口發(fā)送出去,HLK?RM04模塊自動(dòng)將串口接收的信息通過WiFi發(fā)送到空間,Android手機(jī)通過WiFi功能連接到該模塊,通過本設(shè)計(jì)編寫的客戶端就能實(shí)現(xiàn)信息的接收和顯示,同時(shí)發(fā)送對(duì)應(yīng)的命令代碼給單片機(jī),單片機(jī)接收到命令代碼解析后實(shí)現(xiàn)系統(tǒng)設(shè)置。
根據(jù)設(shè)計(jì)思想制作實(shí)物,經(jīng)驗(yàn)證功能實(shí)現(xiàn)良好。本系統(tǒng)利用單片機(jī)和Android平臺(tái)的結(jié)合,不僅實(shí)現(xiàn)低成本檢測(cè)、顯示和報(bào)警,而且通過串口?WiFi設(shè)備還能將系統(tǒng)數(shù)據(jù)無線傳輸?shù)接脩舻闹悄苁謾C(jī)上,真正實(shí)現(xiàn)了交互式的智能控制。
參考文獻(xiàn)
[1] 朱丹.基于GSM短信模塊的家庭防盜報(bào)警系統(tǒng)[J].紹興文理學(xué)院學(xué)報(bào),2010,30(10):69?72.
[2] 桑順,牛曉聰,趙媛媛,等.AVR單片機(jī)與51單片機(jī)的比較[J].企業(yè)技術(shù)開發(fā),2011,30(8):96?97.
[3] 牛睿,劉飛.基于AVR單片機(jī)的過采樣原理的實(shí)現(xiàn)方法[J].自動(dòng)化與儀器儀表,2008(3):72?74.
[4] 陳慧,王宏遠(yuǎn).一種基于AVR單片機(jī)的樹狀菜單界面的設(shè)計(jì)[J].電子工程師,2005,31(6):68?70.
[5] 呂立波.淺談紅外技術(shù)及其在安防領(lǐng)域中的應(yīng)用[J].中國(guó)安防,2008(6):61?64.
[6] 廖繼海,梁志明,羅廣君,等.基于AVR單片機(jī)的LED顯示屏的灰度設(shè)計(jì)與實(shí)現(xiàn)[J].現(xiàn)代電子技術(shù),2007,30(3):189?191.
[7] 鄭云卿,黃琦.基于Android 平臺(tái)的軟件自動(dòng)化監(jiān)控工具的設(shè)計(jì)開發(fā)[J].計(jì)算機(jī)應(yīng)用與軟件,2013,30(2):235?238.