金礪 嚴(yán)武軍 高靜
摘要:為了解決在傳統(tǒng)的智能家居系統(tǒng)中存在的諸多問(wèn)題,比如使用成本較高、涉及的硬件設(shè)備較復(fù)雜、布局不能靈活搭建等,設(shè)計(jì)了一套基于zigbee技術(shù)的輕智能家居視頻監(jiān)控系統(tǒng),該監(jiān)控系統(tǒng)具備低功耗、低成本、便捷操作、靈活多樣的布局和可自由搭配所需功能等優(yōu)點(diǎn),可以在生活中被大家廣泛認(rèn)可和使用,并且具有一定的參考和使用價(jià)值。
關(guān)鍵詞:輕智能家居 ; Zigbee技術(shù) ; XBee模塊 ; 監(jiān)控系統(tǒng)
中圖分類號(hào):TP311 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1009-3044(2018)09-0178-04
Abstract:In order to solve the problems existing in the intelligent Home Furnishing in the traditional system, such as the use of hardware equipment, high cost, involving more complex, flexible layout cannot build, design a set of intelligent video monitoring system based on light Home Furnishing ZigBee technology, the monitoring system has low power consumption, low cost, convenient operation, flexible layout and the free collocation required function etc. in daily life is widely recognized and used, and has certain reference value and practical value.
Key words:Light intelligent home; Zigbee technology; XBee module; monitoring system
21世紀(jì)儼然是互聯(lián)網(wǎng)和高科技橫行的時(shí)代,通信技術(shù)也在不斷發(fā)展,并且隨著生活質(zhì)量和水平的提高,智能家居不斷地走進(jìn)千家萬(wàn)戶并被人們所熟知。而傳統(tǒng)的智能家居系統(tǒng)布線復(fù)雜、功能無(wú)法自由搭配且成本較高,不能夠被廣泛推廣和投入使用。隨著時(shí)代的發(fā)展,輕智能家居應(yīng)運(yùn)而生,其優(yōu)化了傳統(tǒng)智能家居的種種不足和缺陷,而且也能夠直接針對(duì)用戶進(jìn)行銷售產(chǎn)品或應(yīng)用系統(tǒng),這種系統(tǒng)可以直接連接用戶手機(jī)設(shè)備,方便進(jìn)行遠(yuǎn)程監(jiān)控和控制家居智能設(shè)備。本文設(shè)計(jì)的監(jiān)控系統(tǒng)是基于Zigbee協(xié)議的系統(tǒng),采用的是EM357芯片,該芯片可開(kāi)發(fā)空間大,傳輸速率快,穩(wěn)定性能也更好,能夠更好地滿足現(xiàn)代用戶對(duì)于智能家居的需求。
1 系統(tǒng)總體方案設(shè)計(jì)
該監(jiān)控系統(tǒng)主要由三個(gè)模塊組成:監(jiān)控節(jié)點(diǎn)部分、網(wǎng)關(guān)部分和監(jiān)控終端部分。監(jiān)控節(jié)點(diǎn)模塊的主要功能是利用傳感器收集家庭周圍的環(huán)境信息,比如溫度、濕度、光照的強(qiáng)度以及家庭安防情況,是ZigBee無(wú)線傳感網(wǎng)絡(luò)的終端節(jié)點(diǎn),能夠收發(fā)傳送回來(lái)的指令。網(wǎng)關(guān)模塊是負(fù)責(zé)發(fā)送、接收、分析、處理、解析數(shù)據(jù)。終端監(jiān)控模塊則是用戶的智能手機(jī),連接到該監(jiān)控系統(tǒng)中時(shí)就可以即時(shí)監(jiān)控家中的各種信息,起到監(jiān)控的作用,而且也可以向連接到該系統(tǒng)中的智能家電發(fā)送實(shí)時(shí)指令。本系統(tǒng)的總體功能結(jié)構(gòu)圖如圖1所示:
2 系統(tǒng)硬件設(shè)計(jì)
2.1 監(jiān)控節(jié)點(diǎn)模塊的硬件設(shè)計(jì)
監(jiān)控節(jié)點(diǎn)模塊是Zigbee無(wú)線傳感網(wǎng)絡(luò)的基礎(chǔ)組成單元。關(guān)鍵是進(jìn)行各種數(shù)據(jù)采集、無(wú)線傳輸和命令控制的,按照其功能可以分為傳感器模塊、家電控制模塊、主控制器模塊、無(wú)線傳輸模塊和電源模塊等五個(gè)部分。監(jiān)控節(jié)點(diǎn)的硬件結(jié)構(gòu)框圖如圖2所示。
傳感器模塊的功能是監(jiān)測(cè)家中各種信息數(shù)據(jù),并將這些數(shù)據(jù)進(jìn)行發(fā)送。接收回來(lái)的信息主要分為環(huán)境信息和安防信息,把接收回來(lái)的數(shù)據(jù)信息經(jīng)過(guò)分析再發(fā)送給主控制器去處理,當(dāng)主控制器接收到這些信息后便會(huì)通過(guò)無(wú)線傳感器連接無(wú)線網(wǎng)發(fā)送給用戶的智能手機(jī),提醒用戶當(dāng)前家中的信息情況。
家電控制模塊主要是用來(lái)控制該系統(tǒng)中連接的各種智能終端設(shè)備,比如智能空調(diào)、智能電飯煲、智能臺(tái)燈等。這些智能設(shè)備會(huì)接收到一系列傳感器采集回來(lái)的數(shù)據(jù)并進(jìn)行分析。如智能空調(diào)就是通過(guò)監(jiān)測(cè)溫度傳感器采集的溫度情況再結(jié)合智能終端的控制進(jìn)行調(diào)節(jié)溫度的。每個(gè)智能家電都會(huì)對(duì)應(yīng)自己獨(dú)有的識(shí)別碼進(jìn)行分辨。
主控制模塊是監(jiān)控節(jié)點(diǎn)最主要的部分,主要是針對(duì)傳感器接收的數(shù)據(jù)進(jìn)行處理和分析。該模塊的主控制器選用8位ATmega128微控制器[1]。因?yàn)檩p智能家居系統(tǒng)要求具有功耗低、信號(hào)穩(wěn)定的特點(diǎn),因此采用Max Stream公司基于ZigBee技術(shù)的XBee-pro搭建家庭內(nèi)網(wǎng),IEEE802.15.4/ZigBee協(xié)議搭建無(wú)線傳感器網(wǎng)絡(luò)。
2.2 網(wǎng)關(guān)節(jié)點(diǎn)模塊硬件設(shè)計(jì)
網(wǎng)關(guān)模塊也是該系統(tǒng)的主要組成模塊,是針對(duì)數(shù)據(jù)收集、指令處理和ZigBee-Internet混合通信網(wǎng)絡(luò)。ARM11處理器是核心部分,由XBee-PRO模塊、以太網(wǎng)模塊、電源模塊構(gòu)成[1]。網(wǎng)關(guān)硬件結(jié)構(gòu)如圖3所示。
3 軟件設(shè)計(jì)
基于ZigBee的輕智能家居遠(yuǎn)程監(jiān)控系統(tǒng)的軟件設(shè)計(jì)包含監(jiān)控節(jié)點(diǎn)設(shè)計(jì)、網(wǎng)關(guān)節(jié)點(diǎn)設(shè)計(jì)、用戶手機(jī)端監(jiān)控軟件設(shè)計(jì)3個(gè)模塊[1],便可實(shí)現(xiàn)對(duì)于傳感器信息的實(shí)時(shí)收集、傳輸、顯示、家電監(jiān)控和報(bào)警功能。
3.1 監(jiān)控節(jié)點(diǎn)軟件設(shè)計(jì)
在該視頻監(jiān)控系統(tǒng)中,首先需要進(jìn)行應(yīng)用的初始化,這一步是需要連接網(wǎng)絡(luò)進(jìn)行初始化的,初始化完成后會(huì)開(kāi)啟總中斷,該程序的主要流程和環(huán)節(jié)便會(huì)相繼打開(kāi),這些模塊可以行數(shù)據(jù)的收發(fā)來(lái)監(jiān)控家中所有的智能家電終端。每個(gè)監(jiān)控節(jié)點(diǎn)會(huì)依次將各傳感器發(fā)送回來(lái)的數(shù)據(jù)進(jìn)行分析和處理并且將得到的數(shù)據(jù)信息保存在存儲(chǔ)器中。而且還會(huì)分析這些數(shù)據(jù),比如計(jì)算平均值或者方差、均值,再把他們傳送給網(wǎng)關(guān)控制器。如計(jì)算平均之后,會(huì)把該值與得到的閥值作比較,如果閥值小,則說(shuō)明有緊急情況發(fā)生,此時(shí)會(huì)通過(guò)手機(jī)發(fā)送給用戶。并且同時(shí)監(jiān)控節(jié)點(diǎn)控制器也會(huì)執(zhí)行程序中斷處理,如檢測(cè)到空氣中有害氣體濃度增大則會(huì)自動(dòng)打開(kāi)排氣扇進(jìn)行物理處理,等候用戶回來(lái)。監(jiān)控節(jié)點(diǎn)程序流程圖如圖4所示。
3.2 網(wǎng)關(guān)節(jié)點(diǎn)程序設(shè)計(jì)
網(wǎng)關(guān)節(jié)點(diǎn)程序部分主要使用C語(yǔ)言編寫(xiě)的。需要完成的工作有兩個(gè)部分:一個(gè)是要與zigbee連接,另一個(gè)是與以太網(wǎng)連接命令控制字和數(shù)據(jù)發(fā)送。該部分主要分為環(huán)境監(jiān)測(cè)、安防監(jiān)測(cè)和智能家電監(jiān)測(cè),為了提高使用效率,該系統(tǒng)是利用多線程技術(shù)進(jìn)行開(kāi)發(fā)設(shè)計(jì)的。主要代碼如下所示:
String str_Cam="vfw:Microsoft WDM Image Capture (Win32):0"; //載入設(shè)備驅(qū)動(dòng)程序
CaptureDeviceInfo di_Cam= CaptureDeviceManager.getDevice(str_Cam); //搜索采集設(shè)備
MediaLocator ml = di_Cam.getLocator();//建立數(shù)據(jù)源對(duì)象
try{
Player player=Manager.createRealizedPlayer(ml);
player.start();//取得圖像流,線程啟動(dòng)
}catch(Exception e){...}
//線程資源準(zhǔn)備就緒,開(kāi)始讀幀數(shù)據(jù)到緩沖區(qū)
FrameGrabbingControl fgc=
(FrameGrabbingControl)player.getControl("javax.media.control.FrameGrabbingControl");
...;//此處省略了C++內(nèi)存環(huán)境異常等處理
Buffer bufFrame= fgc.grabFrame(); //此處調(diào)用抓幀方法,先捕獲一幀數(shù)據(jù),將其讀入緩存
BufferToImage btoi=new BufferToImage((VideoFormat) buf.getFormat()); //該幀存圖片
3.3 智能手機(jī)遠(yuǎn)程監(jiān)控軟件設(shè)計(jì)
監(jiān)控軟件部分主要是以Android平臺(tái)開(kāi)發(fā)為基礎(chǔ)的APP應(yīng)用軟件,通過(guò)軟件編程,在Android模塊上安裝數(shù)據(jù)交互apk。
預(yù)測(cè)是視頻中常用的提高壓縮比的方法,在本系統(tǒng)的開(kāi)發(fā)過(guò)程中,使用的是H. 264 的模式選擇算法,直接計(jì)算各種預(yù)測(cè)模式下當(dāng)前宏塊與預(yù)測(cè)宏塊的絕對(duì)差,選取具有最小SAD( sums of absolute difference) /SSD( sums of squared difference) /MSE( mean squared error) 開(kāi)銷的模式作為最優(yōu),計(jì)算公式如下所示:
[SAD=i∈Fn,mFin,m-Fin,mSSD=i∈Fn,mFin,m-Fin,m2MSE=1W*HSSD]
該APP需要監(jiān)測(cè)該系統(tǒng)中的連接的IP地址,如果終端上要用連接在該系統(tǒng)中,則可連接同一局域網(wǎng)。該系統(tǒng)程序的設(shè)計(jì)是利用安卓開(kāi)發(fā)的myeclipse編寫(xiě)的,其中用到的各個(gè)模塊都會(huì)用安卓開(kāi)發(fā)中的一些插件,只要調(diào)用API中的方法便可實(shí)現(xiàn),主要的方法如下:
String str = getIntent().getStringExtra("rtsp");
if (str != null)
{
VideoView localVideoView3 =this.videoView;
Uri localUri = Uri.parse(str);
localVideoView3.setVideoURI(localUri);
}
該監(jiān)控系統(tǒng)主要有4個(gè)界面,登錄注冊(cè)頁(yè)面、環(huán)境監(jiān)控界面(如圖5)、家居安防界面(如圖6)和家電控制界面(如圖7)。環(huán)境監(jiān)測(cè)模塊用來(lái)呈現(xiàn)家中的溫濕度情況,家居安防模塊是對(duì)家中進(jìn)行布防監(jiān)控,并顯示報(bào)警情況。智能家電模塊則是用來(lái)對(duì)家電進(jìn)行遠(yuǎn)程開(kāi)關(guān)操控。
4 系統(tǒng)測(cè)試
基于zigbee的無(wú)線視頻監(jiān)控系統(tǒng)在實(shí)現(xiàn)之后,主要通過(guò)測(cè)試用戶現(xiàn)場(chǎng)測(cè)試各個(gè)功能模塊,其依據(jù)設(shè)計(jì)的測(cè)試用例進(jìn)行測(cè)試,逐項(xiàng)測(cè)試,并記錄測(cè)試結(jié)果,最后對(duì)測(cè)試結(jié)果進(jìn)行分析。測(cè)試用例主要包含了正常的和非正常的測(cè)試,根據(jù)系統(tǒng)設(shè)計(jì)的操作界面,測(cè)試用例包含了界面中按鈕的點(diǎn)擊、字符輸入等。根據(jù)測(cè)試用例進(jìn)行系統(tǒng)的各個(gè)功能測(cè)試,并且記錄各個(gè)測(cè)試用例的測(cè)試結(jié)果,對(duì)比預(yù)期結(jié)果,系統(tǒng)中大部分功能的測(cè)試結(jié)果都和預(yù)期結(jié)果相同。
通過(guò)測(cè)試分析能夠發(fā)現(xiàn)系統(tǒng)的不足,當(dāng)然,測(cè)試需要大量的工作,需要不斷地進(jìn)行新的用例設(shè)計(jì),并且需要測(cè)試系統(tǒng)的性能方面。系統(tǒng)在大量測(cè)試之后,基本滿足需求分析的功能需求和性能需求??偨Y(jié)分析結(jié)果,在未來(lái)系統(tǒng)的擴(kuò)展和升級(jí)方面便可W借鑒測(cè)試結(jié)果和用例,添加或者更新更加符合系統(tǒng)要求和用戶使用的功能。
5 結(jié)語(yǔ)
本文通過(guò)介紹zigbee相關(guān)技術(shù)及輕智能家居的相關(guān)特點(diǎn),利用xbee模板組建家庭內(nèi)網(wǎng)、EM357芯片+windows設(shè)計(jì)家庭網(wǎng)關(guān),用以太網(wǎng)作為通信外網(wǎng),智能手機(jī)作為終端設(shè)備。通過(guò)監(jiān)控節(jié)點(diǎn)、網(wǎng)關(guān)節(jié)點(diǎn)和終端監(jiān)控三大模塊實(shí)現(xiàn)了該系統(tǒng)的三大功能:環(huán)境監(jiān)測(cè)、安全警報(bào)和家電控制的功能。因?yàn)樵摫O(jiān)控系統(tǒng)具備低功耗、低成本、簡(jiǎn)單便捷的操作、靈活多樣的布局和自由搭配所需功能等優(yōu)點(diǎn),可以在生活中被大家廣泛認(rèn)可和使用,并且具有一定的參考價(jià)值。
參考文獻(xiàn):
[1] 嚴(yán)武軍,趙鵬.基于3G機(jī)器人的視頻監(jiān)控系統(tǒng)設(shè)計(jì)[J].電腦開(kāi)發(fā)與應(yīng)用,2011,24(11):59-61.
[2] 金礪.軟件無(wú)線電技術(shù)[J].科技情報(bào)開(kāi)發(fā)與經(jīng)濟(jì),2004(4):146-14.
[3] 吳培亞,王鋼.基于ZigBee的智能家居遠(yuǎn)程監(jiān)控系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[J].微型機(jī)與應(yīng)用,2012,31(8):48-50+57.
[4] 霍娟娟,侯建軍,張海靜.基于ZigBee的智能家居監(jiān)控系統(tǒng)的設(shè)計(jì)[J].鐵路計(jì)算機(jī)應(yīng)用,2013,22(2):40-43.