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