李月恒,段志強(qiáng),楊棟偉
(北方工業(yè)大學(xué) 電氣與控制工程學(xué)院, 北京 100144)
摘要:隨著智能手機(jī)、物聯(lián)網(wǎng)和云服務(wù)的快速發(fā)展,家庭的智能化已成為了一種發(fā)展趨勢(shì)?;?a class="innerlink" href="http://theprogrammingfactory.com/tags/Android" title="Android" target="_blank">Android平臺(tái)、云平臺(tái)、S5PV210微處理器、ZigBee和多種傳感器實(shí)現(xiàn)對(duì)家庭狀況的采集和顯示以及對(duì)家庭設(shè)備的控制。該系統(tǒng)進(jìn)一步可結(jié)合數(shù)據(jù)挖掘和大數(shù)據(jù)分析,實(shí)現(xiàn)宏觀統(tǒng)籌節(jié)能環(huán)保。還可以將云技術(shù)和智能家具結(jié)合實(shí)現(xiàn)智慧小區(qū),乃至智慧城市。
關(guān)鍵詞:Android;云服務(wù);ZigBee;傳感器
0引言
隨著電子、通信、自動(dòng)控制等技術(shù)的快速發(fā)展及人們物質(zhì)精神生活的提高,家用電器、室內(nèi)環(huán)境的檢測(cè)以及安全防護(hù)等的智能化控制代替?zhèn)鹘y(tǒng)控制已經(jīng)成為一種大趨勢(shì)。伴隨智能手機(jī)的迅速普及和不斷提高,網(wǎng)絡(luò)性能的提高,以及移動(dòng)互聯(lián)網(wǎng)的盛行,基于Android平臺(tái)的智能控制在智能家居控制中扮演了重要角色。由于人們對(duì)智能化準(zhǔn)確性和性能要求更高,這就需要各種的傳感器對(duì)家庭信息的采集,并對(duì)采集的大量的數(shù)據(jù)進(jìn)行存儲(chǔ)和可視化的處理,智能家居網(wǎng)關(guān)就難以實(shí)現(xiàn)對(duì)高并發(fā)大量數(shù)據(jù)的存儲(chǔ)和可視化。基于以上原因,本文設(shè)計(jì)了一種基于Android和云服務(wù)智能家居系統(tǒng)。在Android平臺(tái)實(shí)現(xiàn)智能家居用戶界面,在云服務(wù)平臺(tái)實(shí)現(xiàn)對(duì)大量數(shù)據(jù)的存儲(chǔ)、分析,智能家居廠商可以在統(tǒng)一的平臺(tái)實(shí)現(xiàn)對(duì)變量的組態(tài),方便對(duì)變量的添加、修改、更新。在網(wǎng)關(guān)部分,采用Android平臺(tái),接收和發(fā)送由傳感器傳送的數(shù)據(jù),加強(qiáng)了與用戶之間的可視化和交互性。即使在所有的Android設(shè)備出現(xiàn)故障時(shí),也可以通過(guò)網(wǎng)關(guān)實(shí)現(xiàn)對(duì)家里智能設(shè)備的管理。
1系統(tǒng)總體設(shè)計(jì)
智能家居系統(tǒng)總體架構(gòu)如圖1所示,主要包括用戶端(Android智能終端)、智能家居云服務(wù)、智慧家庭網(wǎng)關(guān)(WiFi接入點(diǎn)、ZigBee和各種傳感器、設(shè)備組成的無(wú)線網(wǎng)絡(luò)終端、顯示屏)。
(1)用戶端主要負(fù)責(zé)本地和遠(yuǎn)程對(duì)家里的智能產(chǎn)品、環(huán)境等的控制和顯示。
(2)智能家居云服務(wù)主要負(fù)責(zé)不同智能家居廠商對(duì)自己產(chǎn)品變量的添加、更改、刪除、顯示等操作,以及與用戶、智慧家庭網(wǎng)關(guān)的通信和對(duì)它們傳輸?shù)臄?shù)據(jù)的存儲(chǔ)、分析等的處理。
(3)智慧家庭網(wǎng)關(guān)主要負(fù)責(zé)接收、解析、發(fā)送和顯示來(lái)自用戶端發(fā)送給云服務(wù)的控制命令,以及接收、解析、發(fā)送和顯示來(lái)自ZigBee和各種傳感器、設(shè)備組成的無(wú)線網(wǎng)絡(luò)終端傳來(lái)的數(shù)據(jù)。
2系統(tǒng)的硬件設(shè)計(jì)
本系統(tǒng)智慧家庭網(wǎng)關(guān)主控芯片選用Samsung公司的32位精簡(jiǎn)指令集(RISC)微處理器S5PV210。該處理器的內(nèi)部架構(gòu)采用64/32位總線架構(gòu),CPU采用ARM CortexTM-A8內(nèi)核,具有運(yùn)行速度快、運(yùn)算能力強(qiáng)、硬件編解碼功能強(qiáng)大的特點(diǎn),同時(shí)具有完整的通用系統(tǒng)外設(shè)、高性能、低功耗等優(yōu)點(diǎn),減少了系統(tǒng)的整體成本。該系統(tǒng)采用WiFi模塊、4G模塊、ZigBee和各種傳感器、設(shè)備組成的無(wú)線網(wǎng)絡(luò)節(jié)點(diǎn)等作為外部擴(kuò)充,搭建了一個(gè)穩(wěn)定、功能齊全的智慧家庭網(wǎng)關(guān)控制系統(tǒng)。智慧家庭網(wǎng)關(guān)硬件結(jié)構(gòu)框圖如圖2所示。
本系統(tǒng)控制終端采用TI 公司的ZigBee芯片CC2530,它以8051微處理器為內(nèi)核,自身攜帶的射頻發(fā)射器實(shí)現(xiàn)網(wǎng)絡(luò)的無(wú)線通信。該控制終端由ZigBee無(wú)線網(wǎng)絡(luò)節(jié)點(diǎn)組成,包括ZigBee協(xié)調(diào)器和ZigBee組成的終端設(shè)備。ZigBee協(xié)調(diào)器完成自組網(wǎng),維持無(wú)線網(wǎng)絡(luò)的正常通信,以及與網(wǎng)關(guān)主控芯片之間的通信。ZigBee組成的終端設(shè)備完成對(duì)家庭的控制和信息數(shù)據(jù)圖3ZigBee組成的終端設(shè)備的結(jié)構(gòu)框圖的采集。ZigBee組成的終端設(shè)備的結(jié)構(gòu)框圖如圖3所示,實(shí)物圖如圖4。
3系統(tǒng)的軟件設(shè)計(jì)
系統(tǒng)軟件設(shè)計(jì)包括Android客戶端、智慧家居云、智慧家庭網(wǎng)關(guān)3部分。
3.1Android客戶端
根據(jù)客戶端的需求和軟件的特點(diǎn),客戶端軟件設(shè)計(jì)如圖5所示。
Android客戶端軟件設(shè)計(jì)是在Android平臺(tái)上開(kāi)發(fā)的,實(shí)現(xiàn)對(duì)電視、空調(diào)、窗簾、門禁、燈等的控制和室內(nèi)環(huán)境狀況(溫、濕度等)的顯示。本客戶端由登錄界面和控制界面組成,登錄界面如圖6所示。先調(diào)用4G/WiFi網(wǎng)絡(luò)服務(wù),確保打開(kāi)WiFi/4G,再通WebService 傳入賬號(hào)和密碼進(jìn)入控制界面,如圖7所示。同時(shí)需要在Android Mainfest.xml文件中設(shè)置獲取聯(lián)網(wǎng)權(quán)限,代碼如下[1]:
<usespermission android:name”android.permission.INTERNET”/>
智慧家居云(云服務(wù)平臺(tái))開(kāi)啟端口,等待客戶端HttpCliet發(fā)送HTTP請(qǐng)求,經(jīng)過(guò)3次TCP/IP握手,雙方建立連接,通過(guò)Socket實(shí)現(xiàn)數(shù)據(jù)的處理和發(fā)送[2]。云服務(wù)器接收客戶端的控制命令,存儲(chǔ)在數(shù)據(jù)庫(kù)中,客戶端接收云服務(wù)器的狀態(tài)信息,進(jìn)行顯示。云服務(wù)平臺(tái)和客戶端的通信框圖如圖8所示。
3.2智慧家居云
智慧家居云建立在云平臺(tái)上之上,實(shí)現(xiàn)智能家居服務(wù)。云平臺(tái)總架構(gòu)采用IaaS(Infrastructure as a Service) 和PaaS(Platform as a Service)整合的方式來(lái)構(gòu)建云應(yīng)用平臺(tái)[3]。
IaaS為上層應(yīng)用平臺(tái)提供存儲(chǔ)、網(wǎng)絡(luò)、操作系統(tǒng)、異常處理和其他一些應(yīng)用程序。PaaS在IaaS提供的虛擬機(jī)群基礎(chǔ)上為客戶提供Web服務(wù)器和數(shù)據(jù)庫(kù)等應(yīng)用。這樣,智慧家居云應(yīng)用就可以在PaaS平臺(tái)上完成智能家居云服務(wù)應(yīng)用[4]。
智慧家居云應(yīng)用采用JavaWeb進(jìn)行開(kāi)發(fā),結(jié)合移動(dòng)服務(wù)和JavaEE的標(biāo)準(zhǔn),采取分層結(jié)構(gòu)模型管理[5]。結(jié)構(gòu)模型如圖9所示,按照邏輯結(jié)構(gòu)可分為對(duì)象訪問(wèn)層、業(yè)務(wù)邏輯層、訪問(wèn)控制層、界面顯示層、異常處理層、安全認(rèn)證層。這種分層的模型保證了操作的相對(duì)獨(dú)立性以及數(shù)據(jù)的安全性和有效性,便于管理和擴(kuò)展。
云應(yīng)用軟件設(shè)計(jì)包括智能家居開(kāi)發(fā)者服務(wù)軟件設(shè)計(jì),客戶端、智慧家居云和智慧家庭網(wǎng)關(guān)通信軟件設(shè)計(jì)。智能家居開(kāi)發(fā)者進(jìn)入登錄界面,如圖10所示,打開(kāi)服務(wù)界面,如圖11所示,建立不同廠商不同產(chǎn)品變量的數(shù)據(jù)表,服務(wù)界面實(shí)現(xiàn)對(duì)智能家居產(chǎn)品的組態(tài),即對(duì)不同廠商的產(chǎn)品進(jìn)行查詢、添加、更新、刪除和顯示,并將產(chǎn)品變量存儲(chǔ)于數(shù)據(jù)庫(kù)中。當(dāng)客戶端帶著廠商的ID號(hào)(Cid)參數(shù)向智慧家居云發(fā)生HTTP請(qǐng)求時(shí),云平臺(tái)接收到請(qǐng)求,查詢Cid對(duì)應(yīng)的廠商產(chǎn)品變量表,建立一個(gè)新的用戶數(shù)據(jù)表,并把傳過(guò)來(lái)的控制命令和數(shù)據(jù)進(jìn)行解析、存儲(chǔ)/回傳顯示。同樣,智慧家庭網(wǎng)關(guān)帶著參數(shù)用戶ID號(hào)(Uid)不斷向智慧家居云發(fā)生HTTP請(qǐng)求,獲取/上傳與Uid相對(duì)應(yīng)的數(shù)據(jù)。
3.3智慧家庭網(wǎng)關(guān)
智慧家庭網(wǎng)關(guān)軟件設(shè)計(jì)基于Android平臺(tái),包括網(wǎng)絡(luò)部分、控制部分、執(zhí)行部分3個(gè)部分。智慧家庭網(wǎng)關(guān)軟件設(shè)計(jì)框圖如12所示。
智慧家庭網(wǎng)關(guān)作為連接公網(wǎng)(智慧家居云平臺(tái))和家庭局域網(wǎng)(ZigBee組成的無(wú)線網(wǎng)絡(luò))的樞紐,既擔(dān)負(fù)家庭內(nèi)部對(duì)云端的訪問(wèn)和交互,又承擔(dān)互控用戶通過(guò)云端對(duì)家庭網(wǎng)絡(luò)的訪問(wèn)和控制,另外還負(fù)責(zé)家庭內(nèi)部設(shè)備的互聯(lián)、互控等操作。公網(wǎng)采用4G/WiFi,實(shí)現(xiàn)控制部分和控制部分的連接[6]??刂撇糠植捎梦⑻幚砥骷油鈬刂齐娐罚ㄟ^(guò)串口和ZigBee實(shí)現(xiàn)與執(zhí)行部分的連接。執(zhí)行部分由ZigBee協(xié)調(diào)器、ZigBee終端設(shè)備、傳感器和執(zhí)行設(shè)備組成[7],采用ZigBee協(xié)議進(jìn)行通信,采用樹(shù)狀結(jié)構(gòu),如圖13所示[8]。
ZigBee協(xié)調(diào)器完成無(wú)線網(wǎng)絡(luò)的自組網(wǎng)、網(wǎng)絡(luò)的維護(hù)并實(shí)現(xiàn)與微處理器的通信,流程圖如圖14所示。ZigBee終端設(shè)備(ZigBee終端工作流程圖如圖15所示)、傳感器、執(zhí)行設(shè)備和外圍的控制電路組成ZigBee無(wú)線終端設(shè)備,實(shí)現(xiàn)對(duì)室內(nèi)的燈、窗簾、空調(diào)、電視、門禁等的控制[9]。
4系統(tǒng)測(cè)試
系統(tǒng)的測(cè)試分為客戶端和智能家居云之間功能測(cè)試、智能家居云和智慧家庭網(wǎng)關(guān)之間功能測(cè)試。第一部分為準(zhǔn)備工作,啟動(dòng)智能家居云服務(wù),連接好網(wǎng)絡(luò),智能家居提供商登錄云服務(wù)器,添加、更改、刪除不同廠家的產(chǎn)品變量并完成初始化,生成廠家的變量表。接著,打開(kāi)網(wǎng)絡(luò)連接,登錄智慧家庭網(wǎng)關(guān),并連接好ZigBee協(xié)調(diào)器和ZigBee無(wú)線終端設(shè)備,使其正常工作。第二部分為測(cè)試工作,登錄vi 客戶端Android界面,確保連接上網(wǎng)絡(luò),一切連接正常,進(jìn)行客戶端和智能家居云之間功能的測(cè)試,分為A組和B組兩組進(jìn)行測(cè)試,代表不同廠商AA和BB的產(chǎn)品,通過(guò)HTTP請(qǐng)求智能家居云服務(wù),請(qǐng)求的參數(shù)Cid不一樣,一個(gè)Cid=AA,另一個(gè)Cid=BB,客戶端A對(duì)客廳燈、電視機(jī)、室內(nèi)溫度進(jìn)行操作,客戶端B對(duì)臥室燈、空調(diào)、臥室窗簾進(jìn)行操作。接著智能家居云服務(wù)器接收客戶端發(fā)送來(lái)的請(qǐng)求,接收客戶端發(fā)送來(lái)的控制信息并進(jìn)行顯示,如圖16所示。最后進(jìn)行智能家居云和智慧家庭網(wǎng)關(guān)之間功能測(cè)試,確保連接網(wǎng)絡(luò),網(wǎng)關(guān)請(qǐng)求智能家居云端,獲得客戶端相應(yīng)的控制命令,測(cè)試結(jié)果如圖17所示。經(jīng)過(guò)測(cè)試,各項(xiàng)功能都正常實(shí)現(xiàn)。
5結(jié)論
隨著云和智能手機(jī)技術(shù)不斷提高和發(fā)展,智能家居云服務(wù)已成發(fā)展的趨勢(shì)。本文利用Android平臺(tái)實(shí)現(xiàn)與用戶的交互、對(duì)家庭智能化設(shè)備控制和對(duì)家里環(huán)境狀況的顯示,利用云服務(wù)實(shí)現(xiàn)對(duì)智能生活中大數(shù)據(jù)的存儲(chǔ)和數(shù)據(jù)的組態(tài)。進(jìn)一步可結(jié)合數(shù)據(jù)挖掘和大數(shù)據(jù)分析,實(shí)現(xiàn)宏觀統(tǒng)籌節(jié)能環(huán)保。還可以將云技術(shù)和智能家具結(jié)合實(shí)現(xiàn)智慧小區(qū),乃至智慧城市[10]。
參考文獻(xiàn)
[1] 楊豐盛. Android應(yīng)用開(kāi)發(fā)揭秘[M]. 北京:機(jī)械工業(yè)出版社, 2010.
?。?] 李剛. 瘋狂Android講義[M]. 北京:電子工業(yè)出版社, 2011.[3] 裴超. 基于云計(jì)算的智能家居系統(tǒng)架構(gòu)研究[J]. 軟件導(dǎo)刊, 2014, 13(3):8082.
?。?] 徐鵬, 陳思, 蘇森. 互聯(lián)網(wǎng)應(yīng)用PaaS平臺(tái)體系結(jié)構(gòu)[J]. 北京郵電大學(xué)學(xué)報(bào), 2012, 35(1):120124.
[5] 岳敬華. 基于云服務(wù)的智能家居系統(tǒng)的研究與設(shè)計(jì)[D]. 杭州:杭州電子科技大學(xué), 2013.
?。?] 徐繼寧,張暕,胡敦利,等.基于ZigBee和WiFi的智能家居系統(tǒng)[J].微型機(jī)與應(yīng)用,2015,34(12):5760.
?。?] 王權(quán)平, 王莉. ZigBee技術(shù)及其應(yīng)用[J]. 現(xiàn)代電信科技, 2004(1):3337.
?。?] 安康,張慧熙,王李冬,等.基于ZigBee技術(shù)的多節(jié)點(diǎn)設(shè)備無(wú)線物聯(lián)自組網(wǎng)設(shè)計(jì)[J].微型機(jī)與應(yīng)用,2014,33(8):5154.
?。?] 林鈴, 于德海. 自學(xué)習(xí)紅外遙控器的設(shè)計(jì)與實(shí)現(xiàn)[J]. 電腦知識(shí)與技術(shù), 2008, 3(24):12571259.
[10] 巫細(xì)波, 楊再高. 智慧城市理念與未來(lái)城市發(fā)展[J]. 城市發(fā)展研究, 2010, 17(11):5660.