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