張麗靜,郭禹伶,高志強(qiáng),袁曉磊,李帥華
(1.華北電力大學(xué),河北 保定 071003;2.國(guó)網(wǎng)河北省電力公司電力科學(xué)研究院,石家莊 050021)
基于Android平臺(tái)的智能家居遠(yuǎn)程客戶端設(shè)計(jì)
張麗靜1,郭禹伶1,高志強(qiáng)2,袁曉磊2,李帥華2
(1.華北電力大學(xué),河北 保定 071003;2.國(guó)網(wǎng)河北省電力公司電力科學(xué)研究院,石家莊 050021)
針對(duì)傳統(tǒng)智能家居遠(yuǎn)程客戶端操作繁瑣、效率低的問(wèn)題,提出一種基于Android平臺(tái)的智能家居遠(yuǎn)程客戶端,分析該客戶端總體結(jié)構(gòu)、通信系統(tǒng)和數(shù)據(jù)庫(kù)的設(shè)計(jì)方案,重點(diǎn)介紹設(shè)備動(dòng)態(tài)識(shí)別自適應(yīng)技術(shù),經(jīng)安裝測(cè)試,該客戶端可滿足用戶的需求。
智能家居;遠(yuǎn)程客戶端;Android
智能家居是以住宅為平臺(tái),利用先進(jìn)的網(wǎng)絡(luò)通信技術(shù)、綜合布線技術(shù)、安全防范技術(shù)、自動(dòng)控制技術(shù)、語(yǔ)音視頻技術(shù)將家居生活有關(guān)的設(shè)施集成,構(gòu)建高效的住宅設(shè)施與家庭日程事務(wù)的管理系統(tǒng),提升家居安全性、便利性、舒適性、藝術(shù)性,并實(shí)現(xiàn)環(huán)保節(jié)能的居住環(huán)境[1]。隨著智能家居理念越來(lái)越深入人心,智能家居系統(tǒng)用戶對(duì)遠(yuǎn)程控制需求日益迫切。因此,對(duì)智能家居遠(yuǎn)程客戶端進(jìn)行綜合設(shè)計(jì)和測(cè)試就成為必不可少的工作。
在實(shí)際應(yīng)用中,遠(yuǎn)程控制的響應(yīng)速度和控制穩(wěn)定性在很大程度上影響著智能家居系統(tǒng)的穩(wěn)定與經(jīng)濟(jì)指標(biāo)。傳統(tǒng)智能家居系統(tǒng)的遠(yuǎn)程控制方式有電話控制、Web頁(yè)面控制等?;陔娫挼闹悄芗揖涌刂蒲b置通常只具備單一功能,比如只能控制空調(diào)的啟停、熱水器電源的通斷等,該方式無(wú)法對(duì)復(fù)雜的用戶需求提供更豐富的控制手段,更不具備對(duì)用戶家庭環(huán)境的實(shí)時(shí)監(jiān)測(cè)功能;基于Web頁(yè)面的智能家居控制方式是用戶利用網(wǎng)絡(luò)信號(hào),使用瀏覽器建立智能設(shè)備與智能家居遠(yuǎn)程客戶端[2]之間的聯(lián)系,其缺點(diǎn)是Web頁(yè)面刷新速度慢,工作效率低,無(wú)法處理大批量的數(shù)據(jù),而且完成正常的智能家居控制,通常需要多個(gè)Web頁(yè)面同時(shí)工作,操作繁瑣,通信流量大,大大降低了智能家居控制系統(tǒng)的效率。
基于Android平臺(tái)的智能家居遠(yuǎn)程客戶端(Smart House Remote Client)是通過(guò) Andorid智能家居軟件控制的以通信網(wǎng)絡(luò)為紐帶的智能家居遠(yuǎn)程控制系統(tǒng),用來(lái)實(shí)現(xiàn)對(duì)用戶家庭智能家居系統(tǒng)及設(shè)備的遠(yuǎn)程控制,其基本思想是智能控制、分類操作、分級(jí)管理、配置靈活[3]。Android智能家居遠(yuǎn)程客戶端按功能可劃分為五部分:登陸控制單元、信息存儲(chǔ)單元、智能控制單元、智能情景模式及人機(jī)界面。其中,智能控制單元是智能家居遠(yuǎn)程客戶端的基本組成部分,完成對(duì)智能家居系統(tǒng)的設(shè)備數(shù)據(jù)同步、智能實(shí)時(shí)控制和智能情景模式控制等控制級(jí)功能,其組成部分主要包括智能家居系統(tǒng)數(shù)據(jù)同步接口、TCP/IP網(wǎng)絡(luò)控制接口、SMS短信控制接口。根據(jù)智能家居系統(tǒng)設(shè)備的多樣性,有多種類型的數(shù)據(jù)通信接口,以滿足用戶智能家居系統(tǒng)設(shè)備的需要。數(shù)據(jù)通信接口的類型有繼電器類型、無(wú)線發(fā)送類型、情景模式類型、無(wú)線轉(zhuǎn)紅外類型和無(wú)線發(fā)送類型(自編碼)。
基于Android平臺(tái)的智能家居遠(yuǎn)程客戶端控制結(jié)構(gòu)如圖1所示。智能家居遠(yuǎn)程客戶端主要由用戶安全信息驗(yàn)證模塊、智能家居設(shè)備控制模塊、情景模式控制模塊三部分組成。
圖1 基于Android平臺(tái)的智能家居遠(yuǎn)程客戶端控制結(jié)構(gòu)示意
a. 用戶安全信息驗(yàn)證模塊。用戶輸入用戶名和密碼等驗(yàn)證信息,通過(guò)網(wǎng)絡(luò)遠(yuǎn)程登錄智能家居主機(jī),與智能家居主機(jī)所認(rèn)證的用戶信息進(jìn)行對(duì)比,如果信息通過(guò)驗(yàn)證,則登錄智能家居主機(jī),建立穩(wěn)定、可靠的通信連接,為用戶的實(shí)時(shí)控制操作提供接口;同時(shí)記錄認(rèn)證后的用戶驗(yàn)證信息,加密存儲(chǔ)到用戶的Android智能手機(jī)/平板電腦上,方便用戶再次登錄使用。
b. 智能家居設(shè)備控制模塊。用戶根據(jù)智能設(shè)備的控制方式和采用的通信媒介,讀取智能設(shè)備的控制信息,并加以存儲(chǔ);基于用戶安全信息驗(yàn)證模塊提供的接口,動(dòng)態(tài)生成與用戶家庭智能設(shè)備操作一致的操作界面;用戶可以直接點(diǎn)擊人機(jī)界面上的操作按鈕,實(shí)時(shí)遠(yuǎn)程操作家庭智能設(shè)備,達(dá)到身臨其境的控制效果。
c. 情景模式控制模塊。用戶根據(jù)已經(jīng)設(shè)定好的智能家居設(shè)備信息,自定義智能設(shè)備的控制組合,滿足用戶在不同場(chǎng)合的復(fù)雜需求,包括回家模式、離家模式、休息模式、夜燈模式、起夜模式;用戶可以一鍵實(shí)現(xiàn)不同場(chǎng)合下的所有操作,無(wú)需繁瑣的連續(xù)控制操作,為用戶提供最大程度的便利和舒適性。
3.1 通信接口設(shè)計(jì)
客戶端能夠根據(jù)用戶智能家居控制系統(tǒng)的不同設(shè)備,提供各種類型的通信接口。無(wú)線信號(hào)的通信頻率采用315 MHz和433 MHz射頻頻段,可以覆蓋200 m2左右的用戶家庭范圍,可以保證智能家居設(shè)備的可靠控制,能夠滿足智能家居系統(tǒng)的控制要求。常用的通信接口類型有:
a. 繼電器接口,即有線IO接口,共有5路,為智能家居控制系統(tǒng)提供外圍的硬件接口。采用占位符的方式記錄當(dāng)前繼電器通道是否與家庭智能設(shè)備相關(guān)聯(lián),即當(dāng)前繼電器通道占位符的值為1,則表示有智能設(shè)備可以操作;當(dāng)前繼電器通道占位符的值為0,則表示無(wú)智能設(shè)備可以操作,可忽略不計(jì)。
b. 無(wú)線發(fā)送接口,共有70路,采用占位符的方式記錄當(dāng)前設(shè)備是否與家庭智能設(shè)備相關(guān)聯(lián),即當(dāng)前路無(wú)線發(fā)送占位符的值為1,則表示有智能設(shè)備可以操作;當(dāng)前路無(wú)線發(fā)送占位符的值為0,則表示無(wú)智能設(shè)備可以操作,可忽略不計(jì)。
c. 情景模式接口,共有8路,采用占位符的方式記錄當(dāng)前情景模式是否與多路家庭智能設(shè)備相關(guān)聯(lián),即當(dāng)前路情景模式占位符的值為1,則表示有多路智能設(shè)備可以操作;當(dāng)前路情景模式占位符的值為0,則表示無(wú)多路智能設(shè)備可以操作,可忽略不計(jì)。
d. 無(wú)線轉(zhuǎn)紅外接口,共有80路,采用占位符的方式記錄當(dāng)前紅外遙控設(shè)備是否與家庭紅外設(shè)備相關(guān)聯(lián),即當(dāng)前路無(wú)線轉(zhuǎn)紅外占位符的值為1,則表示有多路智能設(shè)備可以操作;當(dāng)前路無(wú)線轉(zhuǎn)紅外占位符的值為0,則表示無(wú)多路智能設(shè)備可以操作,可忽略不計(jì)。
e. 無(wú)線發(fā)送接口(自編碼),共有40路,采用占位符的方式記錄當(dāng)前自編碼無(wú)線設(shè)備是否與家庭智能設(shè)備相關(guān)聯(lián),即當(dāng)前路無(wú)線自編碼占位符的值為1,則表示有智能設(shè)備可以操作;當(dāng)前路無(wú)線自編碼占位符的值為0,則表示無(wú)智能設(shè)備可以操作,可忽略不計(jì)。
3.2 客戶端與主機(jī)通信的通信協(xié)議設(shè)計(jì)
基于Android平臺(tái)的智能家居遠(yuǎn)程客戶端與智能家居主機(jī)系統(tǒng)之間的數(shù)據(jù)通信采用TCP/IP網(wǎng)絡(luò)控制方式和SMS短信控制方式,通信協(xié)議一致。
通信協(xié)議的命令字格式為:數(shù)據(jù)頭STX,2 Byte ASCⅡ碼,固定為0xFF;密碼PASSWORD,8 Byte長(zhǎng)度,以ASCII方式設(shè)置和通信;命令類型ComType,2 Byte的命令;命令值Command, 0~100 Byte,具體意義和長(zhǎng)度由命令類型決定通信數(shù)據(jù)格式。
“k”“o”命令,該命令功能是輸出設(shè)備點(diǎn)擊觸發(fā)。該命令的第1個(gè)參數(shù)RxdBuf[11]表示輸出設(shè)備編號(hào),第2個(gè)參數(shù)RxdBuf[12]表示輸出類型,其中包括1高電平,2低電平;3點(diǎn)觸型。輸出設(shè)備的編號(hào)約定為:1-8,繼電器類型;11-90,無(wú)線發(fā)送類型;91-98,情景模式類型;101-180,無(wú)線轉(zhuǎn)紅外類型;181-220,無(wú)線發(fā)送類型(自編碼);221-255,保留。觸發(fā)成功后返回“0001+此時(shí)繼電器狀態(tài)密碼錯(cuò)誤反饋”;密碼錯(cuò)誤反饋“0002”;其他錯(cuò)誤反饋“0003”。
“c”“s”命令,該命令的功能是輸入輸出有效查詢。用戶端接收的第1個(gè)參數(shù)RxdBuf[0]表示返回字節(jié)數(shù);第2個(gè)參數(shù)RxdBuf[1]表示1-8號(hào)繼電器是否默認(rèn),如果是相應(yīng)位為1,如果否相應(yīng)位為0;第3個(gè)參數(shù)RxdBuf[2]表示情景輸出是否有效,如果是相應(yīng)位為1,如果否相應(yīng)位為0;第4個(gè)參數(shù)RxdBuf[3]表示無(wú)線輸出是否有效,如果是相應(yīng)位為1,如果否相應(yīng)位為0;第5個(gè)參數(shù)RxdBuf[4]表示無(wú)線轉(zhuǎn)紅外是否有效,如果是相應(yīng)位為1,如果否相應(yīng)位為0;第6個(gè)參數(shù)RxdBuf[5]表示無(wú)線輸出(自動(dòng)生成)是否有效,如果是相應(yīng)位為1,如果否相應(yīng)位為0。用戶端可以根據(jù)該數(shù)據(jù)表,來(lái)確認(rèn)哪些輸入輸出需要重新獲得信息,以此來(lái)減少通信壓力。密碼錯(cuò)誤反饋“0002”;其他錯(cuò)誤反饋“0003”。
根據(jù)智能家居控制系統(tǒng)的特點(diǎn),以XML為引擎,建立了通用性良好、簡(jiǎn)單易用、功能齊全的Android智能遠(yuǎn)程客戶端數(shù)據(jù)庫(kù)系統(tǒng)。根據(jù)不同種類的Android系統(tǒng),客戶端會(huì)在數(shù)據(jù)庫(kù)中創(chuàng)建相應(yīng)的數(shù)據(jù)表,內(nèi)容為智能家居設(shè)備信息。
[ID],在數(shù)據(jù)庫(kù)中用于識(shí)別的唯一ID,類型為AUTOINC(4)。
[房間號(hào)],用戶定義的智能家居控制系統(tǒng)的房間編號(hào),類型為INT(3)。
[房間名稱],用戶定義的智能家居控制系統(tǒng)的房間名稱,類型為CHAR(100)。
[房間圖片編號(hào)],用戶定義的智能家居控制系統(tǒng)的房間圖片編號(hào),類型為INT(3)。
[設(shè)備編號(hào)],用戶定義的智能家居控制系統(tǒng)的設(shè)備編號(hào),類型為INT(10)。
[設(shè)備名稱],用戶定義的智能家居控制系統(tǒng)的設(shè)備名稱,類型為CHAR(10)。
[設(shè)備圖片編號(hào)],用戶定義的智能家居控制系統(tǒng)的設(shè)備圖片編號(hào),類型為INT(10)。
[情景模式編號(hào)],用戶定義的智能家居控制系統(tǒng)的情景模式編號(hào),類型為INT(10)。
[情景模式圖片編號(hào)],用戶定義的智能家居控制系統(tǒng)的情景模式圖片編號(hào),類型為INT(10)。
[情景模式名稱],用戶定義的智能家居控制系統(tǒng)的情景模式名稱,類型為CHAR(10)。
目前,不同手機(jī)/平板電腦廠家都推出了各自的Android系統(tǒng)。通過(guò)開(kāi)發(fā)“設(shè)備動(dòng)態(tài)識(shí)別自適應(yīng)技術(shù)”,可以使智能家居遠(yuǎn)程客戶端自動(dòng)識(shí)別手機(jī)/平板電腦Android系統(tǒng)的版本、設(shè)備分辨率及配置。用戶無(wú)需操作,客戶端后臺(tái)自動(dòng)執(zhí)行分辨率調(diào)整、顏色微調(diào)、系統(tǒng)權(quán)限提升等一系列操作。這樣用戶只需一鍵安裝Android系統(tǒng)客戶端就可以正常使用。
設(shè)備動(dòng)態(tài)識(shí)別自適應(yīng)技術(shù)的特點(diǎn)是動(dòng)態(tài)分辨率調(diào)整、動(dòng)態(tài)顏色微調(diào)、高速緩存交換機(jī)制,采用異步網(wǎng)絡(luò)通信架構(gòu),多線程DOM模型,區(qū)別于傳統(tǒng)Android系統(tǒng)的操作方法,在自定義智能家居通信協(xié)議基礎(chǔ)上增加SAX-XML綜合數(shù)據(jù)云處理層,提供用戶功能性定義接口[4]。高速緩存交換機(jī)制是根據(jù)實(shí)際智能家居系統(tǒng)的情況,以設(shè)備或者情景模式為單位將智能家居數(shù)據(jù)綜合處理。系統(tǒng)中開(kāi)辟了兩塊相同容量的緩沖區(qū),一塊緩沖區(qū)進(jìn)行實(shí)時(shí)智能家居設(shè)備數(shù)據(jù)通信,另外一塊及時(shí)讀取當(dāng)前操作設(shè)備相鄰的設(shè)備數(shù)據(jù)信息,待用戶下一次點(diǎn)擊設(shè)備操作,立即從第2塊緩沖區(qū)查詢是否存在此設(shè)備操作信息。2塊緩沖區(qū)如此循環(huán),獲得極高的處理效率。
a. 將設(shè)計(jì)的智能家居客戶端安裝后,經(jīng)過(guò)反復(fù)測(cè)試,該客戶端可實(shí)現(xiàn)對(duì)智能家居設(shè)備的集中管理和控制,隨時(shí)隨地掌控家中設(shè)備狀態(tài)。
b. 通過(guò)Android手機(jī)/平板電腦對(duì)智能家居進(jìn)行控制,采用設(shè)備動(dòng)態(tài)識(shí)別自適應(yīng)技術(shù),與以往控制方式相比,能穩(wěn)定、高效地處理用戶的請(qǐng)求,而且操作簡(jiǎn)單,易于推廣。
[1] 高 闖,李海平.基于Android 平臺(tái)的智能家居手機(jī)客戶端軟件設(shè)計(jì)[J].電子測(cè)試,2013 (12):71-72.
[2] 徐 鋒,劉 欣,方加寶.智能家居遠(yuǎn)程控制系統(tǒng)設(shè)計(jì)[J].低壓電器, 2009,4:21-24.
[3] 王朝華,陳德艷. 基于Android 的智能家居系統(tǒng)的研究與實(shí)現(xiàn)[J].計(jì)算機(jī)技術(shù)與發(fā)展,2012,22(6):225-228.
[4] 袁曉磊.基于遺傳編程的系統(tǒng)辨識(shí)研究[D].北京:華北電力大學(xué),2010.
本文責(zé)任編輯:齊勝濤
Smart Home Remote Client Software Development Based on Android Platform
Aiming at the traditional smart home remote client complicated operation,low efficiency problem,this paper proposes a smart home remote clients based on Android,introduces the client structure,communication systems, database design project,introdues dynamic recognition adaptive technology,considers that the design can reach the client requirement after installation and test.
smart home;remote client software;Android
2013-08-09
張麗靜(1958—),女,教授,主要從事人工智能及應(yīng)用、數(shù)據(jù)庫(kù)與信息系統(tǒng)、圖形與圖像處理等方向的研究。
TN926
B
1001-9898(2014)01-0025-03