冉琛雯 張珣
摘 要:為了滿足人們對智能家居系統(tǒng)終端控制界面的個性化需求,結(jié)合MVC設(shè)計模式,提出了一種可支持用戶界面定制的方法,并給出了智能家居系統(tǒng)的框架。通過該軟件架構(gòu),可以實現(xiàn)個性化用戶界面的快速生成,減少界面開發(fā)的工作量。同時,還給出了具體的設(shè)計思路和步驟,對智能家居系統(tǒng)進(jìn)行了歸類,并在此基礎(chǔ)上,對控制對象進(jìn)行了分析。最后,結(jié)合帶有Android系統(tǒng)的智能終端,給出了一種具體的實例設(shè)計。結(jié)果表明,該方法能有效提高用戶界面定制的效率。
關(guān)鍵詞:智能家居;MVC;界面定制;用戶界面
中圖分類號:TP311 文獻(xiàn)標(biāo)志碼:A 文章編號:2095-1302(2014)10-00-03
0 引 言
隨著社會信息化、智能化的快速發(fā)展,市場上智能家居應(yīng)用軟件越來越多,控制的設(shè)備越來越復(fù)雜,給用戶操作帶來了不便。支持界面定制的智能家居控制系統(tǒng),可以讓用戶根據(jù)自己的意愿,定制個性化的控制界面,真正給用戶帶來最大程度的高效、便利、舒適與安全。目前,只有少數(shù)國外公司提供了相應(yīng)開發(fā)工具,但是進(jìn)口軟件價格昂貴,不利于推廣,無法滿足用戶需求。因此,國內(nèi)智能家居市場急需一種支持界面定制的控制系統(tǒng),來滿足廣大用戶的需求。
本文提出一種基于智能終端可定制用戶界面(User Interface,UI)的智能家居控制系統(tǒng),并結(jié)合 MVC設(shè)計模式,展開了對家居設(shè)備控制界面定制技術(shù)的研究工作。家居設(shè)備種類繁多,首先將設(shè)備歸類,用面向?qū)ο蟮乃枷雽⑵涑橄蠡⒍x其控制屬性、參數(shù)和行為等;然后,針對不同種類設(shè)備,設(shè)計運行在智能終端系統(tǒng)的各個顯示界面、操作界面等,將家居設(shè)備控件化;最后,將對象控件相關(guān)聯(lián),設(shè)計界面生成器,使用戶可以定制個性化界面,極大地提高了界面的友好性。同時,本文還結(jié)合Android智能終端,給出了具體設(shè)計實例。因此,對基于移動終端設(shè)備的智能家居系統(tǒng)界面定制技術(shù)的研究,具有很高的現(xiàn)實價值和實際意義。
1 智能家居系統(tǒng)概述
1.1 智能家居系統(tǒng)分類
智能家居系統(tǒng)根據(jù)其功能主要可歸為以下幾大類:
1.1.1 智能照明系統(tǒng)
(1)室內(nèi)照明燈具
室內(nèi)照明燈具主要分為:吸頂燈、吊燈、壁燈、臺燈、節(jié)能燈、落地?zé)舻取?/p>
按照光源劃分為:1)白熾燈:鹵素?zé)?、石英燈?)熒光燈:日光燈、節(jié)能燈等;3)HID:高壓汞燈、低壓鈉燈等;4)LED:二極管、LED系列。
(2)照明控制方式
照明控制方式有兩種,即開關(guān)控制和調(diào)光控制。開關(guān)控制主要是開關(guān)調(diào)控,即靜態(tài)控制方式,主要利用斷路器控制;調(diào)光控制是動態(tài)控制方式,即要實現(xiàn)改變光源的光通量的輸出[1]。
1.1.2 電器控制系統(tǒng)
常見家用電器按控制方式可以分為兩種:一種是簡單控制電路的通斷來控制電器的控制器,主要可控制冰箱、熱水器等家電;另一種是模擬紅外遙控器發(fā)出信號的控制器,主要可控制空調(diào)、電視機(jī)等使用紅外遙控器的家電。
1.1.3 智能遮陽系統(tǒng)(電動窗簾)
系統(tǒng)對電動窗簾的控制,實際上是通過控制電機(jī)來實現(xiàn)開、關(guān)、停的智能控制??刂茖ο罂梢允垢鞣N帶電機(jī)的設(shè)備,如電動門、電動窗戶、電動投影幕等。
1.1.4 安防監(jiān)控系統(tǒng)
系統(tǒng)通過燃?xì)馓綔y器、煙霧探測器來監(jiān)測有無煤氣泄漏及起火等危險情況發(fā)生;通過紅外探測器、門窗磁探測器、網(wǎng)絡(luò)攝像機(jī)、智能門鎖來監(jiān)控有無外來人員入侵[2]。如有發(fā)生以上危急情況發(fā)生則自動發(fā)出報警信號。
1.1.5 環(huán)境監(jiān)測系統(tǒng)
系統(tǒng)主要通過各傳感器檢測室內(nèi)環(huán)境,包括溫度傳感器、濕度傳感器、PM2.5監(jiān)測儀、甲醛監(jiān)測儀等[3]。
1.2 智能家居系統(tǒng)框架
智能家居系統(tǒng)框架可以劃為應(yīng)用層、智能家居控制界面定制平臺、網(wǎng)絡(luò)層、感知層四個組成部分,圖1所示是智能家居系統(tǒng)框架圖。
2 控制對象分析
2.1 屬 性
家居設(shè)備定義的屬性有以下幾方面:
①設(shè)備名:用以區(qū)分不同設(shè)備。
②設(shè)備位置:用來說明每個設(shè)備在家中所處的位置。
③設(shè)備圖片:每類設(shè)備配置一種圖像,用以在智能終端上顯示,用戶操作時,選擇相應(yīng)圖片即可。
④設(shè)備種類:設(shè)備種類有受無線信號控制的燈類,受紅外遙控器控制的電視機(jī)空調(diào)類、有消息傳遞到智能終端的傳感器類等[4]。
圖1 智能家居系統(tǒng)框架圖
首先設(shè)計一個設(shè)備父類,該類為抽象類,家居系統(tǒng)內(nèi)各類型的可控設(shè)備,都可以繼承設(shè)備類來實現(xiàn)。可設(shè)計空調(diào)類、燈類、冰箱類、傳感器類等繼承設(shè)備父類。
在操作時,使用類生成的對象描述具體家居設(shè)備。例如操作某個燈具時,使用燈類生成對象并分配資源,操作結(jié)束后,對象消亡,回收資源。
2.2 操 作
將設(shè)備提供的功能,以函數(shù)接口的形式對外提供,最終用戶也是通過這些接口信息,來定位某個特定設(shè)備上的具體功能[5]。該功能函數(shù)的基本特性:函數(shù)名、功能說明、函數(shù)返回值、函數(shù)的參數(shù)、參數(shù)方向、類型和取值范圍。
函數(shù)返回值的類型主要有:無返回值型、整型、浮點型、字符串型。
函數(shù)參數(shù)方向有三種:1)參數(shù)是由客戶端發(fā)送給服務(wù)器端的,不需要返回值;2)參數(shù)是由服務(wù)器端發(fā)送給客戶端;3)參數(shù)是由客戶端初始化,發(fā)送給服務(wù)器端,服務(wù)器能夠修改參數(shù)的值。
2.3 狀 態(tài)
一般情況下,對設(shè)備的操作是對設(shè)備某一狀態(tài)的改變。描述設(shè)備的狀態(tài),狀態(tài)聲明應(yīng)在操作聲明之前。狀態(tài)的描述包括:狀態(tài)名、狀態(tài)說明、狀態(tài)值類型、期望狀態(tài)值、實際狀態(tài)值、異常信息。
狀態(tài)名與改變該狀態(tài)的函數(shù)名直接相關(guān);狀態(tài)說明和操作中功能說明一樣,是一個字符串對象;狀態(tài)值類型可以是短整型、浮點型、字符串型和枚舉類型。
2.4 常見家居設(shè)備功能和參數(shù)
家居設(shè)備種類繁多,本文針對幾種常見家居設(shè)備進(jìn)行了抽象,其功能和參數(shù)描述如表1所列。
表1 幾種常見家居設(shè)備功能和參數(shù)描述
設(shè)備名 設(shè)備位置 功能設(shè)置 參數(shù)數(shù)據(jù)類型
燈 整個家 開關(guān)狀態(tài)設(shè)置 布爾型
亮度調(diào)節(jié) 短整型
空調(diào) 臥室
客廳 模式調(diào)節(jié)、風(fēng)速和風(fēng)向設(shè)置 字符串型
溫度設(shè)置 短整型
開關(guān)狀態(tài)設(shè)置 布爾型
冰箱 廚房 溫度設(shè)置 短整型
開關(guān)狀態(tài)設(shè)置 布爾型
電視機(jī) 客廳
臥室 節(jié)目菜單
屏幕亮度、音量調(diào)節(jié)
開關(guān)狀態(tài)設(shè)置 字符串型
短整型
布爾型
溫度
傳感器 整個家 模式設(shè)置
溫度調(diào)節(jié) 字符串型
短整型
由表1可知,家居設(shè)備控制對象按其功能屬性和參數(shù)數(shù)據(jù)類型,主要可以歸為以下幾類:
(1)開關(guān)類:主要是具有請求/響應(yīng)兩種狀態(tài)的設(shè)備,如燈的熄滅、電器電源的通斷等。
(2)可調(diào)控類:主要是控制和調(diào)節(jié)具有連續(xù)/非連續(xù)狀態(tài)變化的設(shè)備,如燈的亮度調(diào)節(jié)、空調(diào)和冰箱的溫度調(diào)節(jié),電視機(jī)的音量調(diào)節(jié)等。
(3)數(shù)值類:主要是包含數(shù)據(jù)信息的設(shè)備,如傳感器的數(shù)據(jù)顯示。
(4)菜單類:主要是受紅外遙控器控制的設(shè)備,如電視機(jī)、空調(diào)等具有功能設(shè)置菜單。
3 智能終端界面設(shè)計
3.1 MVC模式
在智能終端用戶界面的開發(fā)過程中,采用的是MVC的軟件開發(fā)模式,圖2所示是MVC模式結(jié)構(gòu)圖。該軟件框架中,包含了提供處理用戶輸入的控制器,顯示用戶界面和圖像的視圖以及用來保存數(shù)據(jù)和代碼的模型[6]。根據(jù) MVC 的設(shè)計原則,UI與程序邏輯是完全分離的。
3.3 控制對象與控件的映射關(guān)系
根據(jù)對家居設(shè)備功能服務(wù)中操作屬性以及變量類型的分析,抽象形成的設(shè)備功能服務(wù)操作屬性和智能終端設(shè)備UI控件之間的基本映射關(guān)系如表2所列。
圖2 MVC模式結(jié)構(gòu)圖
3.4 業(yè)務(wù)邏輯控制
業(yè)務(wù)邏輯控制的自動實現(xiàn),相當(dāng)于將家居設(shè)備功能服務(wù)操作集合的描述信息,映射到UI模塊中的控件事件上,以此實現(xiàn)對控件的邏輯控制功能[7]。
首先,根據(jù)該操作的輸入輸出屬性的判斷完成 UI 模塊中的控件的選擇和映射;通過控件的狀態(tài)變化屬性事件,自動生成綁定到控件事件的業(yè)務(wù)邏輯代碼;然后,通過操作該控件,調(diào)用處理控件事件的邏輯控制代碼;最后,采用終端系統(tǒng)中的線程機(jī)制完成與設(shè)備的通信,獲取相關(guān)的信息,并將之在用戶的控制界面上反映出來。
表2 家居設(shè)備操作與UI控件映射關(guān)系
設(shè)備操作屬性 UI控件 設(shè)備操作屬性 UI控件
布爾型變量請求/響應(yīng)操作屬性 雙狀態(tài)
按鈕控件 連續(xù)區(qū)間
特定變量 滑動條
控件
枚舉變量類型
(變量在三個以內(nèi)) 單狀態(tài)
按鈕控件 非連續(xù)區(qū)間
特定變量 可調(diào)節(jié)的
文本框控件
枚舉變量類型
(變量在三個以上) 下拉列表
控件 有輸入操作
(單參數(shù)列表) 單選框
控件
字符串類型
(只有輸出操作屬性) 文本顯示框
控件 有輸入操作
(多參數(shù)列表) 復(fù)選框
控件
字符串類型
(輸入輸出操作屬性) 可編輯文本框控件 圖片類型
(輸入輸出操作) 圖片按鈕
控件
4 設(shè)計實例
本文結(jié)合Android平臺,將智能家居控制系統(tǒng)UI定制技術(shù)實例化。在Android 用戶界面設(shè)計過程中,都是采用 XML 文件描述和配置用戶界面,同時,采用 Java程序代碼實現(xiàn)業(yè)務(wù)邏輯。
4.1 Android布局和基礎(chǔ)控件
Android界面設(shè)計主要由View和ViewGroup對象構(gòu)建。View主要完成接受用戶參數(shù)和實現(xiàn)用戶UI對象操作。View對象在設(shè)計過程中,被系統(tǒng)作為一個數(shù)據(jù)流進(jìn)行處理[8]。 Android平臺本身已經(jīng)內(nèi)置了豐富的用戶界面控件,也可以構(gòu)建自定義UI控件[9]。用戶可通過修改控件屬性,以達(dá)到想要的效果。控件的基本屬性如表3所列。
4.2 Android事件傳遞和處理
Android系統(tǒng)有多種辦法來攔截用戶與應(yīng)用程序交互的事件。View類提供了多個方法來捕獲用戶的交互事件。組成應(yīng)用程序用戶界面的各種UI控件都包含了與交互事件相關(guān)的回調(diào)方法[10]。當(dāng)相應(yīng)的事件在控件上發(fā)生時,系統(tǒng)將會調(diào)用這些方法。
表3 控件的基本屬性表
屬性 說明 屬性 說明
ID ID Top Margin 上邊距
Height 高度 Bottom Margin 下邊距
Widget 寬度 Left Margin 左邊距
Background 背景 Right Margin 右邊距
Visible 可見性 Text 文本
Font Size 文本字號大小 Text Color 文本顏色
Font Style 文本字體樣式 Text Align 文本對齊方式
4.3 控件拖動
在智能家居控制系統(tǒng)使用過程中,用戶可通過布局及控件的拖動完善控制系統(tǒng)界面。具體流程如圖3所示。
圖3 添加控件的工作流程
Android控件拖動的實現(xiàn),首先要檢測觸摸事件,主要是實現(xiàn)觸摸事件的監(jiān)聽,獲取觸碰點位置;通過實現(xiàn)onTouch()方法來處理觸摸事件,對觸摸事件各種狀態(tài)進(jìn)行定義與距離判斷;最后,重新設(shè)置View的位置。
5 結(jié) 語
近幾年來,隨著4G技術(shù)的快速發(fā)展,移動終端越來越受到用戶的青睞,便捷、友好的操作環(huán)境成為智能終端UI設(shè)計的核心需求。Android設(shè)計實例結(jié)果表明,通過UI定制技術(shù),用戶能夠可視化操縱控制界面的布局生成,即使不熟悉系統(tǒng)操作的用戶也實現(xiàn)美觀性和交互性強(qiáng)的界面。因此,本文對智能家居控制系統(tǒng)UI定制技術(shù)的研究具有重要的市場價值和現(xiàn)實意義。
參考文獻(xiàn)
[1]閆展坤. 智能照明控制系統(tǒng)研究[D]. 杭州:浙江大學(xué), 2013.
[2]馬曉鵬,馮源,郭忠文. 智能家居監(jiān)控原型系統(tǒng)設(shè)計[J]. 現(xiàn)代電子技術(shù), 2012,35(14): 1-3.
[3]邢欣,陸曉. 物聯(lián)網(wǎng)中的窗簾遠(yuǎn)程控制系統(tǒng)設(shè)計[J]. 信息化研究, 2012(3): 60-63.
[4] Anido L E, Valladares S M, Fernandez-Iglesias M J, et al. Adapted interfaces and interactive electronic devices for the smart home[C]. IEEE, 2013:472-477.
[5]劉洋. 智能家居控制系統(tǒng)設(shè)計[D]. 北京:北方工業(yè)大學(xué), 2013.
[6]劉萍芬. MVC模式下多界面控制的設(shè)計和實現(xiàn)[J]. 電腦知識與技術(shù), 2013(9): 2227-2230.
[7]孫詠. 智能家居系統(tǒng)的軟件方案設(shè)計與實現(xiàn)[D]. 南京:南京郵電大學(xué), 2012.
[8]楊威,高文華. 基于Android的智能家居終端設(shè)計與研究[J]. 計算機(jī)技術(shù)與發(fā)展, 2013(7): 245-248.
[9]王博. Android系統(tǒng)UI定制關(guān)鍵技術(shù)研究[D]. 武漢:武漢理工大學(xué), 2013.
[10] Lee W T, Nisar H, Malik A S, et al. A brain computer interface for smart home control[Z]. IEEE, 2013, 35-36.
圖3 添加控件的工作流程
Android控件拖動的實現(xiàn),首先要檢測觸摸事件,主要是實現(xiàn)觸摸事件的監(jiān)聽,獲取觸碰點位置;通過實現(xiàn)onTouch()方法來處理觸摸事件,對觸摸事件各種狀態(tài)進(jìn)行定義與距離判斷;最后,重新設(shè)置View的位置。
5 結(jié) 語
近幾年來,隨著4G技術(shù)的快速發(fā)展,移動終端越來越受到用戶的青睞,便捷、友好的操作環(huán)境成為智能終端UI設(shè)計的核心需求。Android設(shè)計實例結(jié)果表明,通過UI定制技術(shù),用戶能夠可視化操縱控制界面的布局生成,即使不熟悉系統(tǒng)操作的用戶也實現(xiàn)美觀性和交互性強(qiáng)的界面。因此,本文對智能家居控制系統(tǒng)UI定制技術(shù)的研究具有重要的市場價值和現(xiàn)實意義。
參考文獻(xiàn)
[1]閆展坤. 智能照明控制系統(tǒng)研究[D]. 杭州:浙江大學(xué), 2013.
[2]馬曉鵬,馮源,郭忠文. 智能家居監(jiān)控原型系統(tǒng)設(shè)計[J]. 現(xiàn)代電子技術(shù), 2012,35(14): 1-3.
[3]邢欣,陸曉. 物聯(lián)網(wǎng)中的窗簾遠(yuǎn)程控制系統(tǒng)設(shè)計[J]. 信息化研究, 2012(3): 60-63.
[4] Anido L E, Valladares S M, Fernandez-Iglesias M J, et al. Adapted interfaces and interactive electronic devices for the smart home[C]. IEEE, 2013:472-477.
[5]劉洋. 智能家居控制系統(tǒng)設(shè)計[D]. 北京:北方工業(yè)大學(xué), 2013.
[6]劉萍芬. MVC模式下多界面控制的設(shè)計和實現(xiàn)[J]. 電腦知識與技術(shù), 2013(9): 2227-2230.
[7]孫詠. 智能家居系統(tǒng)的軟件方案設(shè)計與實現(xiàn)[D]. 南京:南京郵電大學(xué), 2012.
[8]楊威,高文華. 基于Android的智能家居終端設(shè)計與研究[J]. 計算機(jī)技術(shù)與發(fā)展, 2013(7): 245-248.
[9]王博. Android系統(tǒng)UI定制關(guān)鍵技術(shù)研究[D]. 武漢:武漢理工大學(xué), 2013.
[10] Lee W T, Nisar H, Malik A S, et al. A brain computer interface for smart home control[Z]. IEEE, 2013, 35-36.
圖3 添加控件的工作流程
Android控件拖動的實現(xiàn),首先要檢測觸摸事件,主要是實現(xiàn)觸摸事件的監(jiān)聽,獲取觸碰點位置;通過實現(xiàn)onTouch()方法來處理觸摸事件,對觸摸事件各種狀態(tài)進(jìn)行定義與距離判斷;最后,重新設(shè)置View的位置。
5 結(jié) 語
近幾年來,隨著4G技術(shù)的快速發(fā)展,移動終端越來越受到用戶的青睞,便捷、友好的操作環(huán)境成為智能終端UI設(shè)計的核心需求。Android設(shè)計實例結(jié)果表明,通過UI定制技術(shù),用戶能夠可視化操縱控制界面的布局生成,即使不熟悉系統(tǒng)操作的用戶也實現(xiàn)美觀性和交互性強(qiáng)的界面。因此,本文對智能家居控制系統(tǒng)UI定制技術(shù)的研究具有重要的市場價值和現(xiàn)實意義。
參考文獻(xiàn)
[1]閆展坤. 智能照明控制系統(tǒng)研究[D]. 杭州:浙江大學(xué), 2013.
[2]馬曉鵬,馮源,郭忠文. 智能家居監(jiān)控原型系統(tǒng)設(shè)計[J]. 現(xiàn)代電子技術(shù), 2012,35(14): 1-3.
[3]邢欣,陸曉. 物聯(lián)網(wǎng)中的窗簾遠(yuǎn)程控制系統(tǒng)設(shè)計[J]. 信息化研究, 2012(3): 60-63.
[4] Anido L E, Valladares S M, Fernandez-Iglesias M J, et al. Adapted interfaces and interactive electronic devices for the smart home[C]. IEEE, 2013:472-477.
[5]劉洋. 智能家居控制系統(tǒng)設(shè)計[D]. 北京:北方工業(yè)大學(xué), 2013.
[6]劉萍芬. MVC模式下多界面控制的設(shè)計和實現(xiàn)[J]. 電腦知識與技術(shù), 2013(9): 2227-2230.
[7]孫詠. 智能家居系統(tǒng)的軟件方案設(shè)計與實現(xiàn)[D]. 南京:南京郵電大學(xué), 2012.
[8]楊威,高文華. 基于Android的智能家居終端設(shè)計與研究[J]. 計算機(jī)技術(shù)與發(fā)展, 2013(7): 245-248.
[9]王博. Android系統(tǒng)UI定制關(guān)鍵技術(shù)研究[D]. 武漢:武漢理工大學(xué), 2013.
[10] Lee W T, Nisar H, Malik A S, et al. A brain computer interface for smart home control[Z]. IEEE, 2013, 35-36.