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