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