高 瑞,雷文禮
(延安大學(xué) 物理與電子信息學(xué)院;陜西省能源大數(shù)據(jù)智能處理省市共建重點(diǎn)實(shí)驗(yàn)室,陜西 延安 716000)
智能化時(shí)代的到來(lái),給人們的生活帶來(lái)了巨大改變,隨著“智能家居”這一概念的提出,人們已不陌生,也將成為未來(lái)智能化生活的一個(gè)方向。智能家居是通過(guò)物聯(lián)網(wǎng)技術(shù)將物與物進(jìn)行互聯(lián)互通,實(shí)現(xiàn)智能交互[1]。傳統(tǒng)的安防系統(tǒng)具有布線復(fù)雜、維修困難,本文基于物聯(lián)網(wǎng)技術(shù)發(fā)展,結(jié)合安卓系統(tǒng),設(shè)計(jì)了一種智能家居安防系統(tǒng),實(shí)現(xiàn)智能交互,當(dāng)室內(nèi)環(huán)境異?;蛘哂腥送ㄟ^(guò)門(mén)窗非法闖入時(shí),系統(tǒng)自動(dòng)啟動(dòng)報(bào)警程序,并給用戶進(jìn)行短信通知,從而實(shí)現(xiàn)真正的智能化,滿足用戶對(duì)家居的安全性、舒適性等需求,具有很好的發(fā)展前景。
物聯(lián)網(wǎng)是采用新技術(shù)實(shí)現(xiàn)物與物的互聯(lián)。本文系統(tǒng)監(jiān)測(cè)單元采用是傳感器和無(wú)線通信模組、單片機(jī)組成網(wǎng)絡(luò)節(jié)點(diǎn),無(wú)數(shù)個(gè)網(wǎng)絡(luò)節(jié)點(diǎn)再將數(shù)據(jù)匯總到一個(gè)節(jié)點(diǎn),按照一定的協(xié)議要求轉(zhuǎn)換為可上傳的數(shù)據(jù)包,然后把這些數(shù)據(jù)包通過(guò)wifi上傳至應(yīng)用層,應(yīng)用層對(duì)數(shù)據(jù)進(jìn)行處理,對(duì)于環(huán)境異?;蛘哂腥送ㄟ^(guò)門(mén)窗非法闖入時(shí),系統(tǒng)自動(dòng)啟動(dòng)報(bào)警程序,并通過(guò)短信通知用戶。系統(tǒng)的整體框架結(jié)構(gòu)如圖1所示。
圖1 系統(tǒng)整體框架結(jié)構(gòu)圖
主控制器主要由產(chǎn)生wifi信號(hào)的高頻RFID節(jié)點(diǎn)和上位機(jī)組成,產(chǎn)生wifi信號(hào)的高頻RFID節(jié)點(diǎn)主要由CLRC632射頻模塊,無(wú)線收發(fā)模塊以及電源模塊等組成,上位機(jī)由安卓系統(tǒng)的移動(dòng)終端組成。具體的硬件實(shí)物圖如圖2所示。
圖2 硬件實(shí)物圖
無(wú)線傳感器是感知層的主要元件,用于采集數(shù)據(jù)[2],系統(tǒng)選用的傳感器有PM2.5傳感器、煙霧傳感器、人體檢測(cè)傳感器和玻璃破碎傳感器。
(1)霧霾監(jiān)測(cè)模塊:用于檢測(cè)空氣中的顆粒濃度,實(shí)時(shí)判斷PM2.5值是否在預(yù)設(shè)的范圍內(nèi),提醒用戶關(guān)窗,保持室內(nèi)空氣質(zhì)量良好。為用戶提供高效、便利、舒適和安全的居住環(huán)境。系統(tǒng)選用GP2Y1010AU0F型灰塵傳感器,通過(guò)光敏原理來(lái)工作[3]。
(2)煙霧傳感器:主要是對(duì)室內(nèi)煙霧濃度進(jìn)行檢測(cè),對(duì)于預(yù)防早期火災(zāi)具有一定意義。系統(tǒng)選用的是一種由氣敏材料組成的N型半導(dǎo)體MQ-2型煙霧傳感器,具體的工作原理是在200~300℃溫度時(shí),半導(dǎo)體材料通過(guò)吸附空氣中的氧進(jìn)而形成氧離子,使半導(dǎo)體中的電阻值增加,當(dāng)檢測(cè)到煙霧時(shí),就會(huì)引起表面電導(dǎo)率變化,實(shí)現(xiàn)對(duì)煙霧濃度的檢測(cè)[4]。
(3)人體檢測(cè)傳感器:用于檢測(cè)活動(dòng)的人體。系統(tǒng)選用HC-SR501人體感應(yīng)模塊進(jìn)行探測(cè),人進(jìn)入其感應(yīng)范圍則輸出高電平,人離開(kāi)感應(yīng)范圍則自動(dòng)延時(shí)關(guān)閉高電平,輸出低電平。感應(yīng)模塊檢測(cè)到人體的每一次活動(dòng)后會(huì)自動(dòng)順延一個(gè)延時(shí)時(shí)間段,并且以最后一次活動(dòng)的時(shí)間為延時(shí)時(shí)間的起始點(diǎn)[5]。具有靈敏度高,可靠性強(qiáng),超低電壓工作模式的優(yōu)點(diǎn)。
(4)玻璃破碎傳感器:用于探測(cè)是否有人員非法破窗入侵,是一種振動(dòng)傳感器,檢測(cè)玻璃破碎時(shí)的振動(dòng)輸出相應(yīng)的電信號(hào)[6]。系統(tǒng)選用PY-1A型玻璃破碎傳感器,由一個(gè)壓電陶瓷片和電阻并聯(lián)組成,具有尺寸小,成本低的優(yōu)點(diǎn)。
智能家居中報(bào)警方式有很多,常見(jiàn)的有現(xiàn)場(chǎng)聲光報(bào)警、電話遠(yuǎn)程報(bào)警和和手機(jī)短信報(bào)警[7]?,F(xiàn)場(chǎng)報(bào)警在一定程度上可以影響到盜賊,但是比較適合家里有人的情形;電話報(bào)警方便快捷,但是如果電話線被切斷,無(wú)法正常進(jìn)行;短信報(bào)警可以及時(shí)提醒主人,然后采取防護(hù)措施。
系統(tǒng)中選用的WIFI模塊是HLK-RM04,一種嵌入式轉(zhuǎn)串口的傳輸模塊,內(nèi)置的協(xié)議棧有TCP/IP和IEEE802.11協(xié)議棧,具有強(qiáng)大的功能,可以完成串口、以太網(wǎng)、無(wú)線網(wǎng)3個(gè)接口的任意轉(zhuǎn)換[8]。在該模塊下,傳統(tǒng)的串口設(shè)備可通過(guò)Internet網(wǎng)絡(luò)直接進(jìn)行數(shù)據(jù)的傳輸。
HLK-RM04模塊的串口引腳與主控MCU的串口對(duì)應(yīng)相接,通常工作在透?jìng)髂J较拢ぷ髟硎侵骺豈CU通過(guò)串口將控制指令發(fā)送到wifi模塊中,APP與WiFi模塊相連接之后,進(jìn)行數(shù)據(jù)的傳輸,實(shí)現(xiàn)控制交互。wifi模塊硬件實(shí)物圖如圖3所示。
圖3 Wifi模塊硬件實(shí)物圖
本系統(tǒng)是在window 7操作系統(tǒng)下,選擇集成開(kāi)發(fā)工具Eclipse和模擬器進(jìn)行開(kāi)發(fā)環(huán)境搭建的。而ADT(androiddevelopertools)是google提供的基于eclipse的Android開(kāi)發(fā)插件[9]。因此我們選擇Eclipse作為開(kāi)發(fā)的開(kāi)源集成環(huán)境IDE(Integrated Development Environment)。由于Android SDK和Eclipse都是用Java編寫(xiě)的,因此需要先在Windows上安裝JDK(Java Development Kit)。
JDK安裝完成之后,驗(yàn)證環(huán)境配置是否正確。在桌面選擇“開(kāi)始”/“運(yùn)行”命令,然后輸入“cmd”回車(chē),運(yùn)行輸入“javac”命令,如果出現(xiàn)如下JDK編譯器信息,其中包括修改命令的語(yǔ)法和參數(shù)選項(xiàng)等信息,說(shuō)明JDK環(huán)境搭建成功。如圖4所示。
圖4 JDK環(huán)境驗(yàn)證界面圖
在采集節(jié)點(diǎn)到安卓終端的設(shè)計(jì)中采用了C/S架構(gòu),使用TCP/IP協(xié)議[10]。Wifi模塊默認(rèn)情況下工作模式為透?jìng)髂J?,本系統(tǒng)通過(guò)設(shè)置無(wú)線傳輸模塊,使其工作與AP模式,安卓系統(tǒng)和模塊進(jìn)行通信,模塊作為無(wú)線傳輸網(wǎng)絡(luò)接入點(diǎn),通過(guò)設(shè)置AP接入點(diǎn)名稱(chēng)、密碼以及接入點(diǎn)IP地址、子網(wǎng)掩碼、網(wǎng)關(guān)等參數(shù),上電之后,通過(guò)安卓終端就可連接到名為“FRO_3A07”,密碼是“12345678”的熱點(diǎn),從而構(gòu)建嵌入式設(shè)備與上位機(jī)控制平臺(tái)進(jìn)行信息交互的無(wú)線網(wǎng)絡(luò),實(shí)現(xiàn)數(shù)據(jù)的傳輸和設(shè)備的智能控制。
控制報(bào)警模塊主要實(shí)現(xiàn)對(duì)環(huán)境數(shù)據(jù)的處理,打開(kāi)APP與硬件設(shè)備建立連接之后,即開(kāi)始數(shù)據(jù)傳輸,wifi數(shù)據(jù)接收過(guò)程在wifi服務(wù)Amarino Service類(lèi)中進(jìn)行,Receive Thread線程接收數(shù)據(jù)并對(duì)數(shù)據(jù)進(jìn)行判斷,當(dāng)Integer.value Of(msg).intValue()超過(guò)閾值時(shí)會(huì)觸發(fā)報(bào)警服務(wù)start Service,開(kāi)啟線程進(jìn)行報(bào)警并對(duì)執(zhí)行模塊進(jìn)行相應(yīng)的控制[11]。部分程序如下
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
context = this;
bindView();// 綁定控件
initData();// 初始化數(shù)據(jù)
// 事件監(jiān)聽(tīng)
initEvent();
//定時(shí)檢查是否有人才發(fā)送短信
task = new TimerTask() {
@Override
public void run() {
// 發(fā)送短信
if (Const.BODY!=null && Const.BODY && Const.SMS ) {
SmsManager manager= SmsManager.getDefault();
String phone = phoneEt.getText().toString();
String context = contextEt.getText().toString();
if (isCanUseSim() && manager != null && phone != null && context != null) {
Log.i(Const.TAG,"發(fā)送短信:"+phone+"-"+context);
manager.sendTextMessage(phone,null,context,null,null);
Const.SMS = false;// 只發(fā)送一次,發(fā)送完置false
} else {
Log.i(Const.TAG,"發(fā)送短信失??!");
}}}
};
timer.schedule(task,2000,2000); //定時(shí)
}
在完成系統(tǒng)的軟硬件模塊設(shè)計(jì)之后,要對(duì)硬件和軟件APP進(jìn)行測(cè)試,硬件測(cè)試主要是驗(yàn)證數(shù)據(jù)采集與傳輸功能,軟件APP測(cè)試主要是測(cè)試其數(shù)據(jù)接收、顯示功能、及預(yù)警功能。
系統(tǒng)啟動(dòng)后,環(huán)境感知裝置每隔一段時(shí)間會(huì)讀取一次數(shù)據(jù),傳感器只需單向通訊。單片機(jī)處理之后,通過(guò)UART異步通訊串口將數(shù)據(jù)轉(zhuǎn)發(fā)給wifi射頻模塊,接收數(shù)據(jù)后通過(guò)通訊協(xié)議與監(jiān)控系統(tǒng)APP通訊,進(jìn)行數(shù)據(jù)傳輸。監(jiān)控過(guò)程如圖5所示。
系統(tǒng)數(shù)據(jù)接收與顯示功能是在系統(tǒng)手機(jī)軟件端實(shí)現(xiàn)的,系統(tǒng)軟件界面如圖6所示,包括人體感應(yīng)模塊、煙霧濃度模塊、霧霾監(jiān)測(cè)模塊和玻璃破碎傳感器模塊,手機(jī)號(hào)碼和短信內(nèi)容,wifi連接模塊和狀態(tài)信息欄模塊,每個(gè)傳感器模塊內(nèi)含有用于設(shè)置采集周期及傳感器節(jié)點(diǎn)的IP地址和端口參數(shù)設(shè)置項(xiàng)和傳感器的數(shù)值上限或者是下限值。
圖5 硬件數(shù)據(jù)采集流程
圖6 系統(tǒng)界面
打開(kāi)手機(jī)APP系統(tǒng)進(jìn)行工作,首先進(jìn)行wifi連接,密碼是12345678,連接成功后,進(jìn)入對(duì)應(yīng)模塊的參數(shù)設(shè)置項(xiàng),設(shè)置采集周期,以及傳感器和控制器的IP地址和端口,以及對(duì)應(yīng)傳感器的數(shù)值上限或者是下限值,以及報(bào)警手機(jī)號(hào)碼和短信內(nèi)容,確認(rèn)之后,完成軟件端設(shè)置,進(jìn)行數(shù)據(jù)的傳輸,并在上位機(jī)進(jìn)行顯示。文中以人體感應(yīng)報(bào)警為例,報(bào)警界面圖如圖7所示。
本文將物聯(lián)網(wǎng)技術(shù)與Android系統(tǒng)相結(jié)合,設(shè)計(jì)一種基于物聯(lián)網(wǎng)的家居安防系統(tǒng),具有安防短信報(bào)警、空氣濃度顯示和煙霧濃度顯示、報(bào)警閥值的設(shè)置等功能,最終實(shí)現(xiàn)了Android手機(jī)端對(duì)家居環(huán)境信息的采集監(jiān)控以及安防報(bào)警,實(shí)驗(yàn)測(cè)試結(jié)果表明,該系統(tǒng)能夠靈敏檢測(cè)到異常信號(hào),并及時(shí)報(bào)警,讓家居人員有一個(gè)舒適的環(huán)境。