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