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