引言
隨著社會信息化、智能化的快速發(fā)展,市場上智能家居 應用軟件越來越多,控制的設備越來越復雜,給用戶操作帶來 了不便。支持界面定制的智能家居控制系統(tǒng),可以讓用戶根據 自己的意愿,定制個性化的控制界面,真正給用戶帶來最大 程度的高效、便利、舒適與安全。目前,只有少數(shù)國外公司提 供了相應開發(fā)工具,但是進口軟件價格昂貴,不利于推廣,無 法滿足用戶需求。因此,國內智能家居市場急需一種支持界面 定制的控制系統(tǒng),來滿足廣大用戶的需求。
本文提出一種基于智能終端可定制用戶界面(User Interface,UI)的智能家居控制系統(tǒng),并結合MVC設計模式, 展開了對家居設備控制界面定制技術的研究工作。家居設備 種類繁多,首先將設備歸類,用面向對象的思想將其抽象化, 并定義其控制屬性、參數(shù)和行為等;然后,針對不同種類設備, 設計運行在智能終端系統(tǒng)的各個顯示界面、操作界面等,將 家居設備控件化;最后,將對象控件相關聯(lián),設計界面生成器, 使用戶可以定制個性化界面,極大地提高了界面的友好性。同 時,本文還結合Android智能終端,給出了具體設計實例。因 此,對基于移動終端設備的智能家居系統(tǒng)界面定制技術的研 究,具有很高的現(xiàn)實價值和實際意義。
1智能家居系統(tǒng)概述
1.1智能家居系統(tǒng)分類
智能家居系統(tǒng)根據其功能主要可歸為以下幾大類:
1.1.1智能照明系統(tǒng)
室內照明燈具
室內照明燈具主要分為:吸頂燈、吊燈、壁燈、臺燈、節(jié)能燈、落地燈等。
按照光源劃分為:1)白熾燈:鹵素燈、石英燈;2)熒光 燈:日光燈、節(jié)能燈等;3) HID :高壓汞燈、低壓鈉燈等;4) LED :二極管、LED系列。
照明控制方式
照明控制方式有兩種,即開關控制和調光控制。開關控 制主要是開關調控,即靜態(tài)控制方式,主要利用斷路器控制; 調光控制是動態(tài)控制方式,即要實現(xiàn)改變光源的光通量的輸 出。
1.1.2電器控制系統(tǒng)
常見家用電器按控制方式可以分為兩種:一種是簡單控 制電路的通斷來控制電器的控制器,主要可控制冰箱、熱水 器等家電;另一種是模擬紅外遙控器發(fā)出信號的控制器,主 要可控制空調、電視機等使用紅外遙控器的家電。
1.1.3智能遮陽系統(tǒng)(電動窗簾)
系統(tǒng)對電動窗簾的控制,實際上是通過控制電機來實現(xiàn) 開、關、停的智能控制??刂茖ο罂梢允垢鞣N帶電機的設備, 如電動門、電動窗戶、電動投影幕等。
1.1.4安防監(jiān)空系統(tǒng)
系統(tǒng)通過燃氣探測器、煙霧探測器來監(jiān)測有無煤氣泄漏 及起火等危險情況發(fā)生;通過紅外探測器、門窗磁探測器、 網絡攝像機、智能門鎖來監(jiān)控有無外來人員入侵。如有發(fā)生 以上危急情況發(fā)生則自動發(fā)出報警信號。
1.1.5環(huán)境監(jiān)測系統(tǒng)
系統(tǒng)主要通過各傳感器檢測室內環(huán)境,包括溫度傳感器、 濕度傳感器、PM2.5監(jiān)測儀、甲醛監(jiān)測儀等。
1.2智能家居系統(tǒng)框架
智能家居系統(tǒng)框架可以劃為應用層、智能家居控制界面定制平臺、網絡層、感知層四個組成部分,圖1所示是智能家 居系統(tǒng)框架圖。
2控制對象分析
2.1屬性
家居設備定義的屬性有以下幾方面:
設備名:用以區(qū)分不同設備。
設備位置:用來說明每個設備在家中所處的位置。
設備圖片:每類設備配置一種圖像,用以在智能終端 上顯示,用戶操作時,選擇相應圖片即可。
設備種類:設備種類有受無線信號控制的燈類,受紅 外遙控器控制的電視機空調類、有消息傳遞到智能終端的傳 感器類等。
首先設計一個設備父類,該類為抽象類,家居系統(tǒng)內各 類型的可控設備,都可以繼承設備類來實現(xiàn)??稍O計空調類、 燈類、冰箱類、傳感器類等繼承設備父類。
在操作時,使用類生成的對象描述具體家居設備。例如 操作某個燈具時,使用燈類生成對象并分配資源,操作結束后, 對象消亡,回收資源。
2.2操作
將設備提供的功能,以函數(shù)接口的形式對外提供,最終 用戶也是通過這些接口信息,來定位某個特定設備上的具體功 能叫 該功能函數(shù)的基本特性:函數(shù)名、功能說明、函數(shù)返回值、 函數(shù)的參數(shù)、參數(shù)方向、類型和取值范圍。
函數(shù)返回值的類型主要有:無返回值型、整型、浮點型、 字符串型。
函數(shù)參數(shù)方向有三種:1)參數(shù)是由客戶端發(fā)送給服務器 端的,不需要返回值;2)參數(shù)是由服務器端發(fā)送給客戶端;3) 參數(shù)是由客戶端初始化,發(fā)送給服務器端,服務器能夠修改 參數(shù)的值。
2.3狀態(tài)
一般情況下,對設備的操作是對設備某一狀態(tài)的改變。 描述設備的狀態(tài),狀態(tài)聲明應在操作聲明之前。狀態(tài)的描述 包括:狀態(tài)名、狀態(tài)說明、狀態(tài)值類型、期望狀態(tài)值、實際 狀態(tài)值、異常信息。
狀態(tài)名與改變該狀態(tài)的函數(shù)名直接相關;狀態(tài)說明和操 作中功能說明一樣,是一個字符串對象;狀態(tài)值類型可以是 短整型、浮點型、字符串型和枚舉類型。
2.4常見家居設備功能和參數(shù)
家居設備種類繁多,本文針對幾種常見家居設備進行了 抽象,其功能和參數(shù)描述如表1所列。
表1幾種常見家居設備功能和參數(shù)描述由表1可知,家居設備控制對象按其功能屬性和參數(shù)數(shù) 據類型,主要可以歸為以下幾類:
(1)開關類:主要是具有請求/響應兩種狀態(tài)的設備, 如燈的熄滅、電器電源的通斷等。
(2)可調控類:主要是控制和調節(jié)具有連續(xù)/非連續(xù)狀 態(tài)變化的設備,如燈的亮度調節(jié)、空調和冰箱的溫度調節(jié), 電視機的音量調節(jié)等。
(3)數(shù)值類:主要是包含數(shù)據信息的設備,如傳感器的 數(shù)據顯示。
(4)菜單類:主要是受紅外遙控器控制的設備,如電視機、 空調等具有功能設置菜單。
3智能終端界面設計
3.1 MVC模式
在智能終端用戶界面的開發(fā)過程中,采用的是MVC的軟 件開發(fā)模式,圖2所示是MVC模式結構圖。該軟件框架中, 包含了提供處理用戶輸入的控制器,顯示用戶界面和圖像的視 圖以及用來保存數(shù)據和代碼的模型。根據MVC的設計原則, UI與程序邏輯是完全分離的。
3.3控制對象與控件的映射關系
根據對家居設備功能服務中操作屬性以及變量類型的分
析,抽象形成的設備功能服務操作屬性和智能終端設備UI控 件之間的基本映射關系如表2所列。
圖2MVC模式結構圖
3.4業(yè)務邏輯控制
業(yè)務邏輯控制的自動實現(xiàn),相當于將家居設備功能服務 操作集合的描述信息,映射到UI模塊中的控件事件上,以此 實現(xiàn)對控件的邏輯控制功能叫
首先,根據該操作的輸入輸出屬性的判斷完成UI模塊中 的控件的選擇和映射;通過控件的狀態(tài)變化屬性事件,自動 生成綁定到控件事件的業(yè)務邏輯代碼;然后,通過操作該控件, 調用處理控件事件的邏輯控制代碼;最后,采用終端系統(tǒng)中的 線程機制完成與設備的通信,獲取相關的信息,并將之在用戶 的控制界面上反映出來。
表2家居設備操作與UI控件映射關系
設備操作屬性 |
UI控件 |
設備操作屬性 |
UI控件 |
布爾型變量請求/響應 |
雙狀態(tài) |
連續(xù)區(qū)間 |
滑動條 |
操作屬性 |
按鈕控件 |
特定變量 |
控件 |
枚舉變量類型 |
單狀態(tài) |
非連續(xù)區(qū)間 |
可調節(jié)的 |
(變量在三個以內) |
按鈕控件 |
特定變量 |
文本框控件 |
枚舉變量類型 |
下拉列表 |
有輸入操作 |
單選框 |
(變量在三個以上) |
控件 |
(單參數(shù)列表) |
控件 |
字符串類型 |
文本顯示框 |
有輸入操作 |
復選框 |
(只有輸出操作屬性) |
控件 |
(多參數(shù)列表) |
控件 |
字符串類型 |
可編輯文本 |
圖片類型 |
圖片按鈕 |
(輸入輸出操作屬性) |
框控件 |
(輸入輸出操作) |
控件 |
4設計實例
本文結合Android平臺,將智能家居控制系統(tǒng)UI定制技 術實例化。在Android用戶界面設計過程中,都是采用XML 文件描述和配置用戶界面,同時,采用Java程序代碼實現(xiàn)業(yè) 務邏輯。
Android布局和基礎控件
Android界面設計主要由View和ViewGroup對象構建。
View主要完成接受用戶參數(shù)和實現(xiàn)用戶UI對象操作。View 對象在設計過程中,被系統(tǒng)作為一個數(shù)據流進行處理地 Android平臺本身已經內置了豐富的用戶界面控件,也可以構 建自定義UI控件図。用戶可通過修改控件屬性,以達到想要 的效果??丶幕緦傩匀绫?所列。
Android事件傳遞和處理
Android系統(tǒng)有多種辦法來攔截用戶與應用程序交互的 事件。View類提供了多個方法來捕獲用戶的交互事件。組成 應用程序用戶界面的各種UI控件都包含了與交互事件相關的 回調方法[1°]。當相應的事件在控件上發(fā)生時,系統(tǒng)將會調用 這些方法。
表3控件的基本屬性表
屬性 |
說明 |
屬性 |
說明 |
ID |
ID |
TopMargin |
上邊距 |
Height |
高度 |
Bot/m Margin |
下邊距 |
Widget |
寬度 |
LeftMargin |
左邊距 |
Background |
背景 |
RightMargin |
右邊距 |
Visib le |
可見性 |
Text |
文本 |
FontSize |
文本字號大小 |
TextColor |
文本顏色 |
FontS板le |
文本字體樣式 |
TextA lign |
文本對齊方式 |
4.3控件拖動
在智能家居控制系統(tǒng)使用過程中,用戶可通過布局及控 件的拖動完善控制系統(tǒng)界面。具體流程如圖3所示。
圖3添加控件的工作流程
Android控件拖動的實現(xiàn),首先要檢測觸摸事件,主要 是實現(xiàn)觸摸事件的監(jiān)聽,獲取觸碰點位置;通過實現(xiàn)onTouch ()方法來處理觸摸事件,對觸摸事件各種狀態(tài)進行定義與距 離判斷;最后,重新設置View的位置。
5結語
近幾年來,隨著4G技術的快速發(fā)展,移動終端越來越 受到用戶的青睞,便捷、友好的操作環(huán)境成為智能終端UI設 計的核心需求。Android設計實例結果表明,通過UI定制技 術,用戶能夠可視化操縱控制界面的布局生成,即使不熟悉系 統(tǒng)操作的用戶也實現(xiàn)美觀性和交互性強的界面。因此,本文 對智能家居控制系統(tǒng)UI定制技術的研究具有重要的市場價值 和現(xiàn)實意義。
20211223_61c36675308d4__智能家居系統(tǒng)界面定制技術的研究