安徽?。ㄋ炕春铀瘑T會(huì))水利科學(xué)研究院 馬 順
2013年2月,工信部發(fā)布物聯(lián)網(wǎng)“十二五”發(fā)展規(guī)劃,把智能家居列入9個(gè)重點(diǎn)領(lǐng)域應(yīng)用示范工程之中。數(shù)據(jù)顯示,我國(guó)2012年智能家居市場(chǎng)規(guī)模達(dá)600億元,預(yù)計(jì)2013年至2020年平均增長(zhǎng)率將達(dá)到25%。而在智能家居市場(chǎng)中,智能家電領(lǐng)域的競(jìng)爭(zhēng)尤為激烈。
智能家居是以住宅為平臺(tái),利用綜合布線技術(shù)、通信技術(shù)及自動(dòng)控制等技術(shù)實(shí)現(xiàn)家居設(shè)施的互聯(lián),構(gòu)建智能的住宅設(shè)施管理系統(tǒng),從而實(shí)現(xiàn)安全舒適且環(huán)保節(jié)能的居住環(huán)境[1]。當(dāng)前,智能家居技術(shù)主要從兩個(gè)方面發(fā)展,一方面是單一家具本身更具智能化,比如通過(guò)有針對(duì)性的APP軟件控制空調(diào)、冰箱、彩電等家具;另一方面通過(guò)物聯(lián)網(wǎng)技術(shù),將家居鏈接在一起,開(kāi)發(fā)綜合PC端或手機(jī)端軟件,手動(dòng)實(shí)現(xiàn)對(duì)家具的綜合控制。從當(dāng)前技術(shù)來(lái)看,都需要一個(gè)控制平臺(tái)[2],由人工通過(guò)控制平臺(tái)操作各種家具的使用,難以做到通過(guò)感知、分析、處理等全自動(dòng)化、智能化過(guò)程實(shí)現(xiàn)對(duì)人居室內(nèi)生活環(huán)境的綜合調(diào)控。因此,本文利用低功耗ZigBee模塊、WI-FI模塊、紅外學(xué)習(xí)模塊以及溫度傳感器等硬件設(shè)備再加上合法手機(jī)信號(hào)和家用空調(diào),設(shè)計(jì)并實(shí)現(xiàn)一個(gè)全自動(dòng)感知、分析、處理控制人居室內(nèi)溫度系統(tǒng)。
該系統(tǒng)由ZigBee模塊與WI-FI模塊集成構(gòu)成智能網(wǎng)關(guān),ZigBee模塊與溫度傳感器集成構(gòu)成溫度感知器、ZigBee模塊與紅外學(xué)習(xí)模塊構(gòu)成溫度控制器。智能網(wǎng)關(guān)作為整個(gè)系統(tǒng)的控制中心,負(fù)責(zé)感知指定區(qū)域內(nèi)是否存在合法手機(jī)用戶,如果存在合法手機(jī)用戶,則向溫度感知器下達(dá)溫度檢測(cè)指令,然后接收并分析來(lái)自溫度感知器傳來(lái)的實(shí)時(shí)溫度,最后根據(jù)分析結(jié)果決策是否向溫度控制器下達(dá)溫度控制命令。溫度感知器只負(fù)責(zé)感知環(huán)境溫度并將結(jié)果實(shí)時(shí)傳送給智能網(wǎng)關(guān)做分析處理。溫度控制器接收到智能網(wǎng)關(guān)調(diào)控溫度指令后,通過(guò)紅外學(xué)習(xí)模塊向空調(diào)發(fā)送紅外指令實(shí)現(xiàn)對(duì)空調(diào)的控制。
該系統(tǒng)的總體設(shè)計(jì)在第一節(jié)、軟硬件設(shè)計(jì)在第二、三節(jié)描述,第四節(jié)是實(shí)驗(yàn)驗(yàn)證。
圖1 系統(tǒng)結(jié)構(gòu)圖
整個(gè)系統(tǒng)分為三大部分:智能網(wǎng)關(guān),溫度感知器、溫度控制器,三部分基于Zigbee技術(shù),通過(guò)IEEE 802.15.4通信協(xié)議實(shí)現(xiàn)相互鏈接,智能網(wǎng)關(guān)通過(guò)WI-FI探測(cè)手機(jī)信號(hào)的存在,溫度控制器通過(guò)集成在控制器上的紅外學(xué)習(xí)模塊發(fā)送紅外信號(hào)控制空調(diào)調(diào)節(jié)溫度。根據(jù)本系統(tǒng)特點(diǎn),拓?fù)浣Y(jié)構(gòu)選擇星型網(wǎng)絡(luò)拓?fù)鋄3],系統(tǒng)結(jié)構(gòu)圖見(jiàn)圖1。
如圖1所示,其中智能網(wǎng)關(guān)主要由ZigBee模塊、WI-FI模塊集成,負(fù)責(zé)探測(cè)指定范圍內(nèi)是否存在合法手機(jī),如存在,則對(duì)溫度感知器發(fā)送檢測(cè)溫度指令,并及時(shí)回傳來(lái)自溫度感知器的實(shí)時(shí)溫度,分析處理后決定是否向溫度控制器下達(dá)溫度調(diào)節(jié)指令。
溫度感知器主要由ZigBee模塊和DS18B20溫度傳感器組成,負(fù)責(zé)獲取周邊溫度數(shù)據(jù)并傳送給智能網(wǎng)關(guān)處理。
溫度控制器主要由ZigBee模塊和紅外模塊組成,負(fù)責(zé)接收網(wǎng)關(guān)調(diào)控溫度的指令,并發(fā)射紅外信號(hào)對(duì)空調(diào)進(jìn)行控制。
智能網(wǎng)關(guān)是該系統(tǒng)的核心,主要由ZigBee模塊和WI-FI模塊構(gòu)成。本設(shè)計(jì)采用以CC2530為核的ZigBee模塊,WI-FI模塊采用海凌科電子生產(chǎn)的低成本、高性能、嵌入式HLK-RMO4模塊。網(wǎng)關(guān)硬件結(jié)構(gòu)圖如圖2所示。
圖2 智能網(wǎng)關(guān)硬件結(jié)構(gòu)圖
CC2530是TI公司推出的基于IEEE 802.15.4協(xié)議的一個(gè)真正片上系統(tǒng)(SoC)解決方案,內(nèi)置ZigBee協(xié)議棧[4],該芯片有三個(gè)不同的存儲(chǔ)器訪問(wèn)總線,以單周期訪問(wèn)SFR、DATA和主SRAM。CC2530包括許多諸如調(diào)試接口、I/O控制器、定時(shí)器、ADC等不同外設(shè),使得設(shè)計(jì)者可開(kāi)發(fā)更先進(jìn)的應(yīng)用。CC2530設(shè)備系列提供2.4 GHz 兼容增強(qiáng)的無(wú)線收發(fā)器[5]-[6],另外還提供了MCU和無(wú)線設(shè)備之間的一個(gè)接口,這使得可以發(fā)出命令、讀取狀態(tài)、自動(dòng)操作和確定無(wú)線設(shè)備事件的順序。
HLK-RMO4模塊基于通用串行接口的、符合網(wǎng)絡(luò)標(biāo)準(zhǔn)的嵌入式模塊,內(nèi)置TCP/IP協(xié)議,能夠?qū)崿F(xiàn)用戶串口、以太網(wǎng)、無(wú)線網(wǎng)(WI-FI)3個(gè)接口之間的轉(zhuǎn)換。
溫度感知器由ZigBee模塊和DS18B20溫度傳感器組成,如圖3所示。基于CC2530芯片的ZigBee無(wú)線模塊,溫度傳感器采用美國(guó)DALLAS半導(dǎo)體公司的DS18B20無(wú)線溫度傳感器。DS18B20傳感器是一款智能數(shù)字溫度傳感器,具有優(yōu)良的性能,與傳統(tǒng)的熱敏電阻相比,DS18B20傳感器能直接讀出被測(cè)溫度,并且可根據(jù)實(shí)際要求通過(guò)簡(jiǎn)單的編程實(shí)現(xiàn)9-12位的數(shù)字值讀數(shù)方式。同時(shí),DS18B20傳感器可以在極短時(shí)間內(nèi)讀出溫度數(shù)字量,并且從DS18B20讀出的信息或?qū)懭隓S18B20的信息僅需要一根口線[7]-[8]。
圖3 溫度感知器硬件結(jié)構(gòu)圖
紅外控制器由ZigBee模塊和萬(wàn)能學(xué)習(xí)型紅外模塊組成,如圖4所示。
圖4 溫度控制器結(jié)構(gòu)圖
其中ZigBee模塊依然采用以CC2530為核心,學(xué)習(xí)型紅外發(fā)射模塊主要由MCU、紅外編解碼、紅外發(fā)射、學(xué)習(xí)指示燈、發(fā)射指示燈、串口通信組成,采用NEC紅外協(xié)議[9]控制家用空調(diào)相應(yīng)部件。
整個(gè)系統(tǒng)主要包括智能網(wǎng)關(guān)、溫度感知器和溫度控制器三大部分,其軟件部分分別設(shè)計(jì)如下:
智能網(wǎng)關(guān)作為系統(tǒng)控制中心,它承載著探測(cè)指定區(qū)域內(nèi)是否存在合法手機(jī)用戶,同時(shí)負(fù)責(zé)向溫度感知器、溫度控制器下達(dá)相應(yīng)指令的任務(wù),其功能實(shí)施步驟如下:
(1)由WI-FI模塊探測(cè)指定區(qū)域內(nèi)是否存在合法手機(jī)用戶;
(2)如果指定區(qū)域內(nèi)存在合法手機(jī)用戶,則轉(zhuǎn)3),否則轉(zhuǎn)1);
(3)由ZigBee模塊向溫度感知器下達(dá)檢測(cè)實(shí)時(shí)溫度指令;
圖5 智能網(wǎng)關(guān)控制程序流程圖
(4)等待回收來(lái)自溫度感知器回傳的實(shí)時(shí)溫度C;
(5)如果C大于調(diào)控上限sup,則向溫度控制器下達(dá)制冷指令及目標(biāo)溫度C1,
如果C小于調(diào)控下限inf ,則向溫度控制器下達(dá)制熱指令及目標(biāo)溫度C2;
(6)轉(zhuǎn)(1)。
其程序流程圖如圖5所示。
其中用于探測(cè)指定區(qū)域內(nèi)是否存在合法手機(jī)用戶的定位系統(tǒng),采用百度地圖Android定位SDK,它是為Android移動(dòng)端應(yīng)用提供的一套簡(jiǎn)單易用的LBS定位服務(wù)接口,專注于為廣大開(kāi)發(fā)者提供最好的綜合定位服務(wù),通過(guò)使用百度定位SDK,開(kāi)發(fā)者可以輕松為應(yīng)用程序?qū)崿F(xiàn)智能、精準(zhǔn)、高效的定位功能[10]。該定位SDK采用WI-FI、基站、GPS混合定位(默認(rèn)GPS定位),返回百度坐標(biāo),并能正確地顯示在百度坐標(biāo)系的地圖上,其中WI-FI定位精度為27m,基站定位為240m,而GPS定位的精度最高可達(dá)10m。
本設(shè)計(jì)通過(guò)在自主開(kāi)發(fā)的手機(jī)監(jiān)控軟件中預(yù)先設(shè)置智能網(wǎng)關(guān)的經(jīng)緯度,然后通過(guò)定位SDK,周期獲得自身經(jīng)緯度,通過(guò)計(jì)算即可獲得二者之間的實(shí)時(shí)距離S。一旦手機(jī)進(jìn)入WI-FI有效連接距離,即可將S值通過(guò)socket通信傳給智能網(wǎng)關(guān)進(jìn)行判斷。本設(shè)計(jì)中設(shè)置的啟/閉距離a為15米,當(dāng)智能網(wǎng)關(guān)接收到S小于等于15米時(shí),啟動(dòng)系統(tǒng)并進(jìn)行相關(guān)動(dòng)作;當(dāng)S大于15米時(shí),若規(guī)定時(shí)間內(nèi)無(wú)連接請(qǐng)求,智能網(wǎng)關(guān)即刻關(guān)閉系統(tǒng)。
以下為實(shí)現(xiàn)距離S計(jì)算的核心代碼:
溫度感知器由ZigBee模塊(為區(qū)別起見(jiàn),稱為Collect.ZigBee模塊)和溫度傳感器(型號(hào)為DS18B20)模塊集成,功能實(shí)施步驟如下:
(1)Collect.ZigBee模塊接收來(lái)自智能網(wǎng)關(guān)中Gateway.ZigBee模塊的溫度檢測(cè)指令;
(2)將溫度測(cè)試指令傳送給溫度傳感器;
(3)溫度傳感器接到測(cè)試指令后,感應(yīng)環(huán)境溫度,獲得模擬溫度數(shù)據(jù),并將其回傳給Collect.ZigBee模塊;
(4)Collect.ZigBee將模擬量溫度數(shù)據(jù)轉(zhuǎn)換為數(shù)字量溫度數(shù)據(jù);
(5)Collect.ZigBee將實(shí)時(shí)的數(shù)字量溫度數(shù)據(jù)回傳給Gateway.ZigBee模塊。
圖6 溫度檢測(cè)模塊程序流程圖
其程序流程圖如圖6所示。
溫度控制器由ZigBee模塊(為區(qū)別起見(jiàn),稱為Control.ZigBee模塊)和紅外學(xué)習(xí)模塊集成,步驟如下:
(1)Control.ZigBee接收來(lái)自智能網(wǎng)關(guān)Gateway.ZigBee模塊的調(diào)控溫度指令及目標(biāo)溫度;
(2) 如果是制冷指令,則Control.ZigBee將制冷指令及目標(biāo)溫度傳送給紅外學(xué)習(xí)模塊,進(jìn)一步傳送給家用空調(diào),啟動(dòng)制冷模式,并設(shè)置目標(biāo)溫度;
否則Control.ZigBee將制熱指令及目標(biāo)溫度傳送給紅外學(xué)習(xí)模塊,進(jìn)一步傳送給家用空調(diào),啟動(dòng)制熱模式,并設(shè)置目標(biāo)溫度;
其程序流程圖如圖7所示。
圖7 溫度控制模塊程序流程圖
(1)ZigBee模塊及射頻天線各3個(gè),DS18B20溫度傳感器1個(gè),萬(wàn)能學(xué)習(xí)型紅外模塊1個(gè),WI-FI模塊1個(gè);
(2)型號(hào)為KFR-50LW/K(50520L)A-N2格力藍(lán)精靈系列立式空調(diào)1臺(tái),配套遙控器1個(gè);
(3)小米1S手機(jī),系統(tǒng)版本為Android 4.0.4;
(4)PC機(jī)1臺(tái)。
(1)64位Windows 7;
(2)IAR編譯器:IAR Embedded Workbench for 8051 8.10 Evaluation;
(3)ZigBee協(xié)議棧:ZStack-CC2530-2.5.1a(ZigBee 2007);
(4)電腦端軟件開(kāi)發(fā)環(huán)境為Eclipse 4.2、JDK 1.8.0_25,手機(jī)端運(yùn)行環(huán)境為:Android 4.2.2(API17)、ADT 23.0.2.1259578、Android定位SDK v5.1。
圖8 手機(jī)APP軟件界面截屏
在本系統(tǒng)通過(guò)開(kāi)發(fā)手機(jī)端APP軟件實(shí)現(xiàn)相關(guān)全自動(dòng)控制功能,界面截圖如圖8所示。
(1)進(jìn)入APP軟件 “學(xué)習(xí)空調(diào)命令”界面,選中空調(diào)狀態(tài)“開(kāi)”,此時(shí)紅外模塊指示燈長(zhǎng)亮,在此過(guò)程中,按下被學(xué)習(xí)的格力遙控器的“開(kāi)”鍵,看到燈閃爍5次,表示學(xué)習(xí)成功。重復(fù)以上過(guò)程,依次學(xué)習(xí)“關(guān)”、“制暖模式”、“制冷模式”、“除濕模式”、“通風(fēng)模式”、“自動(dòng)模式”、“溫度 +”、“溫度 -”等按鍵。
(2)所有按鍵學(xué)習(xí)完畢后,在智能網(wǎng)關(guān)代碼中設(shè)置調(diào)控下限溫度為13度、調(diào)控上限溫度為30度,目標(biāo)溫度為25度,預(yù)設(shè)觸發(fā)/關(guān)閉系統(tǒng)的距離為15米,然后燒寫(xiě)進(jìn)智能網(wǎng)關(guān)。系統(tǒng)組建成功后,將空調(diào)設(shè)置為18度后關(guān)閉空調(diào),打開(kāi)手機(jī)監(jiān)控軟件,在手機(jī)監(jiān)控軟件中預(yù)先設(shè)置智能網(wǎng)關(guān)的經(jīng)緯度,點(diǎn)擊APP軟件中“開(kāi)始定位”。
(3)對(duì)系統(tǒng)整體性能進(jìn)行驗(yàn)證。標(biāo)記距離智能網(wǎng)關(guān)15米的參考標(biāo)志,然后在距離智能網(wǎng)關(guān)40米遠(yuǎn)的地方,手持手機(jī)往15米處的參考標(biāo)志點(diǎn)靠近,直到越過(guò)標(biāo)志點(diǎn)進(jìn)入測(cè)試環(huán)境。
測(cè)試結(jié)果:在距離網(wǎng)關(guān)約20米處,手機(jī)監(jiān)控APP軟件中溫度數(shù)據(jù)開(kāi)始跳動(dòng)刷新為16度,進(jìn)入測(cè)試環(huán)境后空調(diào)已開(kāi)啟并被調(diào)節(jié)至25度;逆過(guò)程測(cè)試時(shí),在距離測(cè)試環(huán)境約25米處,APP軟件中溫度數(shù)值消失,系統(tǒng)自動(dòng)關(guān)閉空調(diào),說(shuō)明手機(jī)APP軟件與智能網(wǎng)關(guān)連通正常,且系統(tǒng)能準(zhǔn)確進(jìn)行溫度監(jiān)測(cè)及對(duì)空調(diào)的相應(yīng)控制。由于系統(tǒng)設(shè)計(jì)采用的百度地圖Android定位SDK提供GPS定位功能存在10米左右的誤差,實(shí)驗(yàn)中誤差屬正常,但卻實(shí)現(xiàn)了自動(dòng)提前開(kāi)啟、延遲關(guān)閉監(jiān)控系統(tǒng)的目的。另外,在測(cè)試環(huán)境內(nèi),依次點(diǎn)擊“開(kāi)”、“制暖模式”、“制冷模式”、“除濕模式”、“通風(fēng)模式”、“自動(dòng)模式”、“溫度 +”、“溫度 -”、“關(guān)”等按鍵,空調(diào)都可實(shí)現(xiàn)正確響應(yīng),由此表明紅外學(xué)習(xí)指令準(zhǔn)確。
實(shí)驗(yàn)結(jié)果表明,該系統(tǒng)能準(zhǔn)確學(xué)習(xí)空調(diào)遙控器紅外信號(hào),Zig-Bee網(wǎng)絡(luò)組網(wǎng)迅速,結(jié)合開(kāi)發(fā)的手機(jī)端APP軟件,在實(shí)現(xiàn)對(duì)家居溫度自動(dòng)監(jiān)測(cè)、空調(diào)自動(dòng)控制的同時(shí),又能通過(guò)手機(jī)端實(shí)現(xiàn)對(duì)空調(diào)的各種控制。本系統(tǒng)各性能指標(biāo)達(dá)到前期設(shè)計(jì)要求,驗(yàn)證了系統(tǒng)硬、軟件設(shè)計(jì)的合理性。
基于ZigBee技術(shù),通過(guò)IEEE 802.15.4通信協(xié)議將WI-FI模塊、溫度傳感器、紅外學(xué)習(xí)模塊鏈接形成以智能網(wǎng)關(guān)為控制中心的無(wú)線通信網(wǎng)絡(luò),WI-FI模塊負(fù)責(zé)與手機(jī)通訊,紅外模塊與家用空調(diào)通訊,通過(guò)相應(yīng)軟件驅(qū)動(dòng)各硬件實(shí)現(xiàn)對(duì)室內(nèi)溫度全自動(dòng)智能檢測(cè)與調(diào)控。與傳統(tǒng)溫度監(jiān)控系統(tǒng)相比,本系統(tǒng)不僅脫離計(jì)算機(jī)控制也可以脫離手機(jī)客戶端控制,實(shí)現(xiàn)由手機(jī)WI-FI信號(hào)驅(qū)動(dòng)系統(tǒng),無(wú)需人工參與,從而對(duì)指定環(huán)境中溫度的檢測(cè)與控制。
[1]申斌,張桂青,汪明,等.基于物聯(lián)網(wǎng)的智能家居設(shè)計(jì)與實(shí)現(xiàn)[J].自動(dòng)化與儀表,2013,28(2):452-456.
[2]袁曉平,馬滿福.基于ARM11的家電遠(yuǎn)程控制系統(tǒng)[J].計(jì)算機(jī)應(yīng)用與軟件,2013,30(10):288-292.
[3]張文梅.基于ZigBee的家居監(jiān)控系統(tǒng)設(shè)計(jì)[J].計(jì)算機(jī)應(yīng)用與軟件,2015,32(3):313-316.
[4]李鴻,王林珠,張文,等.RFID技術(shù)與ZigBee網(wǎng)絡(luò)融合的幼兒園安全管理系統(tǒng)[J].智能系統(tǒng)學(xué)報(bào),2013,8(5):465-471.
[5]劉輝,趙麗芬,孫番典,等.基于CC2530的ZigBee射頻發(fā)射模塊設(shè)計(jì)[J].云南民族大學(xué)學(xué)報(bào),2012,21(6):6-10.
[6]梅海彬,張明華,黃冬梅.基于無(wú)線傳感器網(wǎng)絡(luò)的實(shí)時(shí)近海環(huán)境監(jiān)測(cè)系統(tǒng)設(shè)計(jì)[J].計(jì)算機(jī)應(yīng)用與軟件,2015,32(1):110-113.
[7]湯鍇杰,栗燦,王迪,等.基于DS18B20的數(shù)字式溫度采集報(bào)警系統(tǒng)設(shè)計(jì)[J].傳感器與微系統(tǒng),2014,33(3):99-102.
[8]李萍.基于DS18B20的多路溫度監(jiān)測(cè)系統(tǒng)設(shè)計(jì)與仿真[J].現(xiàn)代電子技術(shù),2013,36(10):122-124,127.
[9]陳子銘,汪紅.基于學(xué)習(xí)型紅外模塊的智能家居系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[J].鞍山師范學(xué)院學(xué)報(bào),2012,14(2):65-70.
[10]關(guān)玉東.基于Android平臺(tái)的物探測(cè)量輔助軟件平臺(tái)研發(fā)[J].物探裝備,2015,25(5):326-328.