倪亞玲 李曉寧 張小紅,2
1(電子科技大學(xué)機(jī)械電子工程學(xué)院 四川 成都 611731) 2(國(guó)網(wǎng)四川省電力公司德陽(yáng)供電公司 四川 德陽(yáng) 618000)
基于Android的無(wú)線智能家居系統(tǒng)設(shè)計(jì)與研究
倪亞玲1李曉寧1張小紅1,2
1(電子科技大學(xué)機(jī)械電子工程學(xué)院 四川 成都 611731)2(國(guó)網(wǎng)四川省電力公司德陽(yáng)供電公司 四川 德陽(yáng) 618000)
伴隨著智能手機(jī)產(chǎn)業(yè)的快速發(fā)展,網(wǎng)絡(luò)通信技術(shù)的日新月異,物聯(lián)網(wǎng)浪潮的推波助瀾,智能家居逐漸成為當(dāng)代家居生活的發(fā)展方向。家庭網(wǎng)絡(luò)需要具備便捷性、模塊化、擴(kuò)展性及獨(dú)立性的通信特點(diǎn),而無(wú)線網(wǎng)絡(luò)技術(shù)能夠?yàn)橹悄芗揖酉到y(tǒng)提供更大的靈活性、移動(dòng)性,所以把無(wú)線網(wǎng)絡(luò)技術(shù)融入到家庭網(wǎng)絡(luò)中已經(jīng)成為當(dāng)今智能家居市場(chǎng)主流趨勢(shì)。由此設(shè)計(jì)開發(fā)基于Android的無(wú)線智能家居系統(tǒng)。此外,在完成設(shè)計(jì)以后對(duì)無(wú)線智能家居系統(tǒng)的各項(xiàng)功能進(jìn)行測(cè)試,系統(tǒng)在各項(xiàng)測(cè)試中性能優(yōu)良,達(dá)到了系統(tǒng)設(shè)計(jì)預(yù)期的要求。
Android 智能家居 系統(tǒng)設(shè)計(jì) WiFi
時(shí)代的推移,人們生活水平的提高,改善生存、生活環(huán)境成為當(dāng)今社會(huì)的熱門話題。智能家居的普及在家居環(huán)境改善的過(guò)程中有舉足輕重的作用,智能家居控制系統(tǒng)是家居智能化的核心,扮演著最為重要的角色[1-2]。
美國(guó)、俄羅斯都認(rèn)為物聯(lián)網(wǎng)行業(yè)的發(fā)展是經(jīng)濟(jì)騰飛,奪取當(dāng)今世界的霸主地位的關(guān)鍵因素,而智能家居的普及對(duì)物聯(lián)網(wǎng)行業(yè)的發(fā)展中有舉足輕重的作用[7]。在中國(guó)也不例外,國(guó)家五大新興戰(zhàn)略性產(chǎn)業(yè),智能家居物聯(lián)網(wǎng)產(chǎn)業(yè)赫然在列。由此可見(jiàn),在未來(lái)的幾十年時(shí)間里,智能家居作為一個(gè)新興藍(lán)海項(xiàng)目,市場(chǎng)前景不可估量,智能家居產(chǎn)業(yè)將會(huì)是中國(guó)最具發(fā)展?jié)摿Φ漠a(chǎn)業(yè)之一[3]。
本文將基于ZigBee技術(shù)、WiFi技術(shù)、Android技術(shù)完成無(wú)線智能家居系統(tǒng)的設(shè)計(jì)與研究。從結(jié)構(gòu)上講,本文的無(wú)線智能家居控制系統(tǒng)分成智能家居APP、服務(wù)器、中央控制器、子控制器四大部分。智能家居APP基于Android操作系統(tǒng)進(jìn)行設(shè)計(jì),完成遠(yuǎn)程監(jiān)視和控制功能;服務(wù)器基于TCP協(xié)議的Socket通信進(jìn)行設(shè)計(jì)的,完成轉(zhuǎn)發(fā)數(shù)據(jù)的功能;中央控制器基于OpenWrt操作系統(tǒng)進(jìn)行設(shè)計(jì),完成WiFi和ZigBee信號(hào)的相互轉(zhuǎn)換;子控制器則利用CC2530單片機(jī),完成設(shè)備動(dòng)作的控制和ZigBee信號(hào)的上傳和下達(dá)。一個(gè)有機(jī)的無(wú)線智能家居控制系統(tǒng)在APP、服務(wù)器、中央控制器、子控制器的協(xié)調(diào)配合下穩(wěn)定的運(yùn)行。
智能家居將多項(xiàng)高新技術(shù)融入到家庭生活中,旨在讓每家每戶都享用人類的科技成果,為每家每戶提供方便、高效、安全的居家體驗(yàn)。用戶通過(guò)手機(jī),就能夠?qū)译娫O(shè)備、居家環(huán)境乃至整個(gè)家實(shí)現(xiàn)統(tǒng)一的控制與管理。
無(wú)線智能家居網(wǎng)絡(luò)系統(tǒng)主要由無(wú)線信息通信網(wǎng)絡(luò)、自動(dòng)化控制網(wǎng)絡(luò)、攝像機(jī)監(jiān)視網(wǎng)絡(luò)三部分構(gòu)成,主要被應(yīng)用于家庭范圍或相似用途的地方。智能家居網(wǎng)絡(luò)系統(tǒng)既能本地局域網(wǎng)也能通過(guò)互聯(lián)網(wǎng)遠(yuǎn)程實(shí)現(xiàn):智能燈光、智能窗簾、智能空調(diào)等智能電器設(shè)備的監(jiān)測(cè)和控制;智能插座的開關(guān)及電量信息采集與監(jiān)控;視頻監(jiān)護(hù)、危險(xiǎn)預(yù)警、安防監(jiān)控等功能。
1.1 WiFi無(wú)線網(wǎng)絡(luò)設(shè)計(jì)
本系統(tǒng)的WiFi無(wú)線網(wǎng)絡(luò)是由中央控制器的RT5350WIFI網(wǎng)關(guān),Android手機(jī)終端和服務(wù)器組成。其軟件設(shè)計(jì)主要包括OpenWrt操作系統(tǒng)設(shè)計(jì)、服務(wù)器設(shè)計(jì)、Android應(yīng)用程序設(shè)計(jì)。
1.1.1 OpenWrt操作系統(tǒng)設(shè)計(jì)
OpenWRT操作系統(tǒng)具備高度模塊化、高度自動(dòng)化的特點(diǎn),并且具備十分強(qiáng)大的網(wǎng)絡(luò)組件和擴(kuò)展性[4-5]。本系統(tǒng)在進(jìn)行智能家居OpenWrt開發(fā)時(shí),采用F403科技創(chuàng)意室的RT5350開發(fā)板,其開發(fā)步驟如下:
(1) 在PC機(jī)上編譯U-boot,然后通過(guò)SPI Flash燒寫器燒入單板。
(2) 在PC機(jī)上編譯OpenWrt,通過(guò)U-boot燒入單板或直接啟動(dòng)。一個(gè)可以在單板上運(yùn)行的OpenWrt是進(jìn)行后續(xù)開發(fā)的基礎(chǔ)。
(3) 在PC機(jī)上編譯各種應(yīng)用程序,經(jīng)過(guò)驗(yàn)證成功后再燒入開發(fā)板。
1.1.2 服務(wù)器設(shè)計(jì)
本系統(tǒng)用戶的手機(jī)、中央控制器都作為WIFI網(wǎng)絡(luò)的客戶端與服務(wù)器交換數(shù)據(jù),服務(wù)器是手機(jī)與中央控制器通信的橋梁。設(shè)置好服務(wù)器的固定IP和端口號(hào)以后,用戶的手機(jī)可以在任何地方通過(guò)WiFi連接上服務(wù)器,與中央控制器進(jìn)行通信,從而實(shí)現(xiàn)對(duì)家里各個(gè)子控制器的控制。本文設(shè)計(jì)的服務(wù)器是基于TCP協(xié)議的服務(wù)器,TCP傳輸控制協(xié)議是一種面向連接的,提供端到端全雙工傳輸?shù)耐ㄐ欧绞?。TCP的傳輸有三個(gè)過(guò)程,它們分別是:建立連接、傳送數(shù)據(jù)、釋放連接[6-8]。圖1呈現(xiàn)了TCP三次握手流程。
圖1 TCP三次握手
TCP/IP協(xié)議網(wǎng)絡(luò)通信的基本操作單元就是Socket通信,它是網(wǎng)絡(luò)通信的基礎(chǔ)。“套接字”是Socket通信的俗稱,Socket是一個(gè)通信鏈的句柄,用來(lái)指明IP地址和端口。應(yīng)用程序網(wǎng)絡(luò)發(fā)出請(qǐng)求或者應(yīng)答網(wǎng)絡(luò)請(qǐng)求都是通過(guò)Socket進(jìn)行的。
應(yīng)用程序的Socket通信是建立與平臺(tái)其他應(yīng)用協(xié)調(diào)工作的基礎(chǔ)。在Java源程序中建立Socket對(duì)象以后,開發(fā)人員就是可以用它來(lái)接受發(fā)送網(wǎng)絡(luò)中的輸入輸出流。Android的Socket通信模型如圖2所示。
圖2 Socket通信模塊
圖3展示了服務(wù)器和客戶端的工作流程,在服務(wù)器端首先利用Socket()函數(shù)創(chuàng)建Socket對(duì)象,然后用Bind()函數(shù)綁定端口號(hào),最后利用Listen()函數(shù)來(lái)監(jiān)聽(tīng)無(wú)線網(wǎng)絡(luò)中的數(shù)據(jù)請(qǐng)求[9-10]。
圖3 服務(wù)器與客戶端Socket通信程序流程圖
1.1.3 Android應(yīng)用程序設(shè)計(jì)
智能控制界面就是應(yīng)用程序中直接與用戶進(jìn)行交互的可視界面。智能控制界面、Socket通信、數(shù)據(jù)庫(kù)是實(shí)現(xiàn)基于Android無(wú)線智能家居系統(tǒng)軟件設(shè)計(jì)必備元素。智能控制軟件的組成如圖4所示。
圖4 智能控制軟件組成圖
(1) 智能控制界面
登錄界面,控制中心主界面和無(wú)線智能家居系統(tǒng)各房間子界面三部分組成了智能控制界面。其整體的結(jié)構(gòu)框圖如圖5所示。
圖5 智能控制界面的整體結(jié)構(gòu)框圖
創(chuàng)建開發(fā)登錄界面的目的是為了確保家庭網(wǎng)絡(luò)的安全和用戶的隱私,智能控制軟件只能被家的主人或其授權(quán)的人使用,開發(fā)者設(shè)置了智能控制軟件原始用戶名和密碼,用戶登錄后可以在設(shè)置界面內(nèi)根據(jù)需求自主改動(dòng)用戶名和密碼。
(2) 通信功能實(shí)現(xiàn)
本系統(tǒng)的服務(wù)器采用的是TCP服務(wù)器,所以要與服務(wù)器進(jìn)行通信,需要建立TCP客戶端,在知道服務(wù)器IP地址和端口號(hào)的情況下,通過(guò)socket = new Socket(conIP, port)建立Socket套接字連接,通過(guò)connect()函數(shù)連接服務(wù)器即可完成通信。
(3) 數(shù)據(jù)庫(kù)設(shè)計(jì)
由于本文智能家居系統(tǒng)中使用的數(shù)據(jù)量比較小,于是本系統(tǒng)使用了Android系統(tǒng)自帶的SQLite數(shù)據(jù)庫(kù)來(lái)儲(chǔ)存登錄密碼,情景模式的家用電器設(shè)備以及插座控制模塊等數(shù)據(jù)信息。
1.2 Android應(yīng)用程序界面設(shè)計(jì)
1.2.1 登錄界面的設(shè)計(jì)與實(shí)現(xiàn)
Android系統(tǒng)的界面設(shè)計(jì)通常都包含三個(gè)部分:xml資源文件中實(shí)現(xiàn)相應(yīng)界面的結(jié)構(gòu)布局;Java源代碼文件中實(shí)現(xiàn)對(duì)應(yīng)界面的顯示和具體功能的實(shí)現(xiàn);系統(tǒng)文件完成對(duì)登錄界面中組件的描述以便系統(tǒng)的識(shí)別。圖6完整地展示了登錄界面的組成成分。
圖6 登錄界面成分
本系統(tǒng)的登錄界面軟件的設(shè)計(jì)流程如圖7所示。
圖7 登錄界面程序流程圖
連接服務(wù)器,接受用戶輸入的用戶名和密碼是智能控制軟件在登錄時(shí)主要的功能,對(duì)用戶輸入的賬號(hào)和密碼進(jìn)行比較驗(yàn)證,只有它們都正確時(shí)才能進(jìn)入智能家居系統(tǒng)主控界面。開發(fā)完成的登錄界面如圖8所示。
圖8 登錄界面
1.2.2 主控界面的設(shè)計(jì)與實(shí)現(xiàn)
當(dāng)用戶點(diǎn)擊Login按鈕后,如果用戶名和密碼驗(yàn)證成功,則智能控制軟件從登錄界面跳轉(zhuǎn)到主控界面。整個(gè)無(wú)線智能家居系統(tǒng)的各房間、情景、安防、設(shè)置圖標(biāo)在主控界面上顯示,界面還具有提供進(jìn)入這些房間和公共模塊的接口的任務(wù)。智能家居系統(tǒng)主要的功能模塊包括:客廳、主臥、次臥、廚房、安防、情景、設(shè)置。在Java源代碼文件中,通過(guò)setContentView()函數(shù)來(lái)關(guān)聯(lián)maintest.xml布局文件后,智能控制軟件就能夠顯示主控界面。界面上的每個(gè)房間以及公共模塊都有其對(duì)應(yīng)的功能,它不會(huì)實(shí)現(xiàn)這些具體功能,只是為用戶進(jìn)入各房間和公共模塊提供一系列的接口。
在登錄界面的Activity中設(shè)置事件偵聽(tīng)器,當(dāng)偵聽(tīng)到事件時(shí)Activity通過(guò)意圖組件來(lái)實(shí)現(xiàn)跳轉(zhuǎn),從而實(shí)現(xiàn)讓用戶從登錄界面順利地過(guò)渡到主控界面。同理如圖9所示,要從主控界面跳轉(zhuǎn)到各個(gè)房間和公共模塊,也必須給主控界面上對(duì)應(yīng)的圖標(biāo)設(shè)置事件偵聽(tīng)器,并在偵聽(tīng)到按鈕事件后利用意圖組件來(lái)實(shí)現(xiàn)界面的跳轉(zhuǎn)。主控界面如圖10所示。
圖9 主控界面程序流程圖
圖10 主控界面
1.2.3 各房間界面的設(shè)計(jì)與實(shí)現(xiàn)
每個(gè)房間的結(jié)構(gòu)和功能基本一致,它們都包含燈光控制、窗簾控制、插座控制、環(huán)境檢測(cè)模塊,所以本部分以主臥為例來(lái)介紹房間界面設(shè)計(jì)與實(shí)現(xiàn)。主臥房間的邏輯結(jié)構(gòu)圖如圖11所示。
圖11 主臥界面結(jié)構(gòu)圖
其程序流圖與主控界面大同小異,開發(fā)完成的主臥界面如圖12所示。
圖12 主臥界面
1.2.4 情景模式界面的設(shè)計(jì)與實(shí)現(xiàn)
連鎖控制在智能家居系統(tǒng)中指的就是智能家居情景模式,例如智能家居回家模式:下班以后,用戶只需點(diǎn)擊手機(jī)上的一個(gè)按鈕即可打開所有想要打開的電器,與此同時(shí)智能軟件后臺(tái)自動(dòng)開啟回家安防系統(tǒng)。智能家居系統(tǒng)在用戶回家之前,將家居環(huán)境調(diào)節(jié)到用戶最喜歡的狀態(tài)。本系統(tǒng)的情景模式采取自主添加的模式,用戶可以把數(shù)據(jù)庫(kù)中的任意電器添加到情景模式中,也可以將已經(jīng)添加到情景模式中的電器給刪除,給予用戶更多的自主選擇權(quán)。
如圖13所示,用戶進(jìn)入情景界面,點(diǎn)擊添加按鈕進(jìn)入電器選擇界面,用戶根據(jù)喜好選擇相應(yīng)的電器。然后點(diǎn)擊確認(rèn)添加按鈕,將已經(jīng)選擇好的電器添加到情景模式數(shù)據(jù)庫(kù)中,情景界面刷新顯示出情景模式數(shù)據(jù)庫(kù)中的所有電器,用戶點(diǎn)擊控制按鈕,即可實(shí)現(xiàn)對(duì)這些電器的連鎖控制。若用戶想刪除情景數(shù)據(jù)庫(kù)中的電器,只需長(zhǎng)按對(duì)應(yīng)的電器,界面就會(huì)彈出刪除與否的對(duì)話框,點(diǎn)擊確定即可刪除相應(yīng)的電器。開發(fā)完成后的情景界面如圖14所示,電器選擇界面如圖15所示。
圖13 情景模式程序流程圖
圖14 情景界面
圖15 電器選擇界面
2.1 智能燈測(cè)試
如圖16所示,平板、服務(wù)器、中央控制器、智能燈子控制器、觸摸面板和燈組成智能燈測(cè)試系統(tǒng)。將觸摸面板和燈串聯(lián)起來(lái),組網(wǎng)成功以后,點(diǎn)擊平板界面上的主光源開關(guān)按鈕,通過(guò)WiFi將信號(hào)發(fā)送出去。服務(wù)器在收到信號(hào)后,將控制指令轉(zhuǎn)發(fā)給中央控制器,中央控制又將指令通過(guò)ZigBee的形式發(fā)送給智能燈子控制器,子控制器以射頻的方式去控制觸摸面板中的晶閘管的開關(guān),從而實(shí)現(xiàn)對(duì)燈的智能控制。
圖16 智能燈控制測(cè)試對(duì)比圖
2.2 智能窗簾測(cè)試
如圖17展示了智能窗簾的測(cè)試過(guò)程,平板、服務(wù)器、中央控制器、智能窗簾控制模塊和杜亞電機(jī)組成智能窗簾測(cè)試系統(tǒng)。當(dāng)系統(tǒng)上電以后,當(dāng)點(diǎn)擊平板上的開窗簾按鈕時(shí),智能窗簾控制模塊上的LED2亮起,杜亞電機(jī)隨后正轉(zhuǎn)表明正在進(jìn)行開窗簾的動(dòng)作;當(dāng)點(diǎn)擊平板上的合窗簾按鈕時(shí),智能窗簾控制模塊上的LED2閃爍,杜亞電機(jī)隨后反轉(zhuǎn)表明正在進(jìn)行合窗簾的動(dòng)作;當(dāng)點(diǎn)擊平板上的停止按鈕時(shí),智能窗簾控制模塊上的LED2熄滅,杜亞電機(jī)隨后停止轉(zhuǎn)動(dòng)表明窗簾停止了動(dòng)作。
圖17 智能窗簾控制測(cè)試對(duì)比圖
2.3 情景模式測(cè)試
情景模式在智能家居系統(tǒng)中實(shí)際上就是指連鎖控制,所謂連鎖控制即幾種家用電器通過(guò)一個(gè)按鈕就可以完成控制。如圖18所示,以智能插座和智能窗簾為例進(jìn)行情景模式測(cè)試,為了凸顯效果智能插座上依然接上了燈泡。用戶通過(guò)添加界面將智能插座和智能窗簾添加到情景模式界面中,當(dāng)用戶點(diǎn)擊開情景模式按鈕時(shí),智能插座接通,燈泡亮起,窗簾電機(jī)轉(zhuǎn)動(dòng)起來(lái)。這樣就通過(guò)一個(gè)情景模式按鈕實(shí)現(xiàn)智能插座和智能窗簾的連鎖控制。
圖18 情景模式測(cè)試對(duì)比圖
智能手機(jī)的迅速普及,無(wú)線通信技術(shù)的快速發(fā)展為智能家居帶來(lái)了新的契機(jī)。本文以ZigBee模塊作為子控制器,以RT5350開發(fā)板作為中央控制器,利用Socket套接字機(jī)制建立TCP服務(wù)器,以當(dāng)下最熱門的Android手機(jī)作為智能家居手持終端,開發(fā)了一套無(wú)線智能家居系統(tǒng)。
本文所設(shè)計(jì)的無(wú)線智能家居系統(tǒng)的優(yōu)點(diǎn)在于:
(1) 子控制器的硬件設(shè)計(jì)采用底座加模塊的形式,底座具有通用性,節(jié)約批量生產(chǎn)和售后的服務(wù)的成本。
(2) 智能家居系統(tǒng)控制軟件對(duì)網(wǎng)絡(luò)通信安全方面做了基礎(chǔ)的研究工作,為以后的改進(jìn)奠定了基礎(chǔ)。
(3) 采用ZigBee、 WiFi無(wú)線通信方式,結(jié)合兩種通信方式的優(yōu)點(diǎn)設(shè)計(jì)出成本低、功耗低、性價(jià)比高的智能家居系統(tǒng)。
[1] Suyang Zhou,Zhi Wu,Jianing Li,et al.Real-time Energy Control Approach for Smart Home Energy Management System[J].Electric Power Components & Systems,2014,42(3-4):315-326.
[2] 孫浩.基于Wi-Fi技術(shù)和Android系統(tǒng)的智能家居系統(tǒng)設(shè)計(jì)[D].北京:中國(guó)礦業(yè)大學(xué),2014.
[3] Han D M,Lim J H.Design and implementation of smart home energy management systems based on zigbee[J].IEEE Transactions on Consumer Electronics,2010,56(3):1417-1425.
[4] International Federation of Library Association and Institutions.Names of Persons: national usages for entry in catalogues[M].3rd ed. London:IFLA International Office for UBC,1997.
[5] 張榮.Android開發(fā)與應(yīng)用[M].北京:人民郵電出版社,2014:141-163.
[6] 王朝華,陳德艷,黃國(guó)宏,等.基于Android的智能家居系統(tǒng)的研究與實(shí)現(xiàn)[J].計(jì)算機(jī)技術(shù)與發(fā)展,2012,22(6):225-233.
[7] 鄧中祚.智能家居控制系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)[D].哈爾濱:哈爾濱工業(yè)大學(xué),2015.
[8] 耿東久,索岳,陳渝,等.基于Android手機(jī)的遠(yuǎn)程訪問(wèn)和控制系統(tǒng)[J].計(jì)算機(jī)應(yīng)用,2011,31(2):559-571.
[9] 張雅楠,楊璐,鄭麗敏.基于Android手機(jī)的遠(yuǎn)程視頻監(jiān)控系統(tǒng)的設(shè)計(jì)與開發(fā)[J].計(jì)算機(jī)應(yīng)用,2013,33(S1):283-286.
[10] 許東,操文元,孫茜.基于CC2530的環(huán)境監(jiān)測(cè)無(wú)線傳感器網(wǎng)絡(luò)節(jié)點(diǎn)設(shè)計(jì)[J].計(jì)算機(jī)應(yīng)用,2013,33(S2):17-20,24.
DESIGNANDRESEARCHOFWIRELESSSMARTHOMESYSTEMBASEDONANDROID
Ni Yaling1Li Xiaoning1Zhang Xiaohong1,2
1(SchoolofMechatronicsEngineering,UniversityofElectronicScienceandTechnologyofChina,Chengdu611731,Sichuan,China)2(StateGridSichuanElectricPowerCompanyDeyangPowerSupplyCompany,Deyang618000,Sichuan,China)
With the rapid development of the smart phone industry, the development of network communication technology, the surge of Internet of things, smart home has gradually become the development direction of contemporary home life. The home network needs to be convenient, modular, scalable and independent of the communication features, and wireless network technology can provide greater flexibility and mobility for the smart home system. So the wireless network technology into the home network has become the mainstream of today’s smart home market trends. Therefore, we design and develop a wireless smart home system based on Android. In addition, after the completion of the design, the functions of the wireless smart home system are tested. The system has good performance in various tests and meets the requirements of the system design.
Android Smart home System design WiFi
2016-12-05。倪亞玲,碩士生,主研領(lǐng)域:智能家居系統(tǒng)設(shè)計(jì)研究。李曉寧,高工。張小紅,碩士生。
TP3
A
10.3969/j.issn.1000-386x.2017.11.018