張麗靜,郭禹伶,高志強,袁曉磊,李帥華
(1.華北電力大學,河北 保定 071003;2.國網河北省電力公司電力科學研究院,石家莊 050021)
基于Android平臺的智能家居遠程客戶端設計
張麗靜1,郭禹伶1,高志強2,袁曉磊2,李帥華2
(1.華北電力大學,河北 保定 071003;2.國網河北省電力公司電力科學研究院,石家莊 050021)
針對傳統智能家居遠程客戶端操作繁瑣、效率低的問題,提出一種基于Android平臺的智能家居遠程客戶端,分析該客戶端總體結構、通信系統和數據庫的設計方案,重點介紹設備動態識別自適應技術,經安裝測試,該客戶端可滿足用戶的需求。
智能家居;遠程客戶端;Android
智能家居是以住宅為平臺,利用先進的網絡通信技術、綜合布線技術、安全防范技術、自動控制技術、語音視頻技術將家居生活有關的設施集成,構建高效的住宅設施與家庭日程事務的管理系統,提升家居安全性、便利性、舒適性、藝術性,并實現環保節能的居住環境[1]。隨著智能家居理念越來越深入人心,智能家居系統用戶對遠程控制需求日益迫切。因此,對智能家居遠程客戶端進行綜合設計和測試就成為必不可少的工作。
在實際應用中,遠程控制的響應速度和控制穩定性在很大程度上影響著智能家居系統的穩定與經濟指標。傳統智能家居系統的遠程控制方式有電話控制、Web頁面控制等。基于電話的智能家居控制裝置通常只具備單一功能,比如只能控制空調的啟停、熱水器電源的通斷等,該方式無法對復雜的用戶需求提供更豐富的控制手段,更不具備對用戶家庭環境的實時監測功能;基于Web頁面的智能家居控制方式是用戶利用網絡信號,使用瀏覽器建立智能設備與智能家居遠程客戶端[2]之間的聯系,其缺點是Web頁面刷新速度慢,工作效率低,無法處理大批量的數據,而且完成正常的智能家居控制,通常需要多個Web頁面同時工作,操作繁瑣,通信流量大,大大降低了智能家居控制系統的效率。
基于Android平臺的智能家居遠程客戶端(Smart House Remote Client)是通過 Andorid智能家居軟件控制的以通信網絡為紐帶的智能家居遠程控制系統,用來實現對用戶家庭智能家居系統及設備的遠程控制,其基本思想是智能控制、分類操作、分級管理、配置靈活[3]。Android智能家居遠程客戶端按功能可劃分為五部分:登陸控制單元、信息存儲單元、智能控制單元、智能情景模式及人機界面。其中,智能控制單元是智能家居遠程客戶端的基本組成部分,完成對智能家居系統的設備數據同步、智能實時控制和智能情景模式控制等控制級功能,其組成部分主要包括智能家居系統數據同步接口、TCP/IP網絡控制接口、SMS短信控制接口。根據智能家居系統設備的多樣性,有多種類型的數據通信接口,以滿足用戶智能家居系統設備的需要。數據通信接口的類型有繼電器類型、無線發送類型、情景模式類型、無線轉紅外類型和無線發送類型(自編碼)。
基于Android平臺的智能家居遠程客戶端控制結構如圖1所示。智能家居遠程客戶端主要由用戶安全信息驗證模塊、智能家居設備控制模塊、情景模式控制模塊三部分組成。

圖1 基于Android平臺的智能家居遠程客戶端控制結構示意
a. 用戶安全信息驗證模塊。用戶輸入用戶名和密碼等驗證信息,通過網絡遠程登錄智能家居主機,與智能家居主機所認證的用戶信息進行對比,如果信息通過驗證,則登錄智能家居主機,建立穩定、可靠的通信連接,為用戶的實時控制操作提供接口;同時記錄認證后的用戶驗證信息,加密存儲到用戶的Android智能手機/平板電腦上,方便用戶再次登錄使用。
b. 智能家居設備控制模塊。用戶根據智能設備的控制方式和采用的通信媒介,讀取智能設備的控制信息,并加以存儲;基于用戶安全信息驗證模塊提供的接口,動態生成與用戶家庭智能設備操作一致的操作界面;用戶可以直接點擊人機界面上的操作按鈕,實時遠程操作家庭智能設備,達到身臨其境的控制效果。
c. 情景模式控制模塊。用戶根據已經設定好的智能家居設備信息,自定義智能設備的控制組合,滿足用戶在不同場合的復雜需求,包括回家模式、離家模式、休息模式、夜燈模式、起夜模式;用戶可以一鍵實現不同場合下的所有操作,無需繁瑣的連續控制操作,為用戶提供最大程度的便利和舒適性。
3.1 通信接口設計
客戶端能夠根據用戶智能家居控制系統的不同設備,提供各種類型的通信接口。無線信號的通信頻率采用315 MHz和433 MHz射頻頻段,可以覆蓋200 m2左右的用戶家庭范圍,可以保證智能家居設備的可靠控制,能夠滿足智能家居系統的控制要求。常用的通信接口類型有:
a. 繼電器接口,即有線IO接口,共有5路,為智能家居控制系統提供外圍的硬件接口。采用占位符的方式記錄當前繼電器通道是否與家庭智能設備相關聯,即當前繼電器通道占位符的值為1,則表示有智能設備可以操作;當前繼電器通道占位符的值為0,則表示無智能設備可以操作,可忽略不計。
b. 無線發送接口,共有70路,采用占位符的方式記錄當前設備是否與家庭智能設備相關聯,即當前路無線發送占位符的值為1,則表示有智能設備可以操作;當前路無線發送占位符的值為0,則表示無智能設備可以操作,可忽略不計。
c. 情景模式接口,共有8路,采用占位符的方式記錄當前情景模式是否與多路家庭智能設備相關聯,即當前路情景模式占位符的值為1,則表示有多路智能設備可以操作;當前路情景模式占位符的值為0,則表示無多路智能設備可以操作,可忽略不計。
d. 無線轉紅外接口,共有80路,采用占位符的方式記錄當前紅外遙控設備是否與家庭紅外設備相關聯,即當前路無線轉紅外占位符的值為1,則表示有多路智能設備可以操作;當前路無線轉紅外占位符的值為0,則表示無多路智能設備可以操作,可忽略不計。
e. 無線發送接口(自編碼),共有40路,采用占位符的方式記錄當前自編碼無線設備是否與家庭智能設備相關聯,即當前路無線自編碼占位符的值為1,則表示有智能設備可以操作;當前路無線自編碼占位符的值為0,則表示無智能設備可以操作,可忽略不計。
3.2 客戶端與主機通信的通信協議設計
基于Android平臺的智能家居遠程客戶端與智能家居主機系統之間的數據通信采用TCP/IP網絡控制方式和SMS短信控制方式,通信協議一致。
通信協議的命令字格式為:數據頭STX,2 Byte ASCⅡ碼,固定為0xFF;密碼PASSWORD,8 Byte長度,以ASCII方式設置和通信;命令類型ComType,2 Byte的命令;命令值Command, 0~100 Byte,具體意義和長度由命令類型決定通信數據格式。
“k”“o”命令,該命令功能是輸出設備點擊觸發。該命令的第1個參數RxdBuf[11]表示輸出設備編號,第2個參數RxdBuf[12]表示輸出類型,其中包括1高電平,2低電平;3點觸型。輸出設備的編號約定為:1-8,繼電器類型;11-90,無線發送類型;91-98,情景模式類型;101-180,無線轉紅外類型;181-220,無線發送類型(自編碼);221-255,保留。觸發成功后返回“0001+此時繼電器狀態密碼錯誤反饋”;密碼錯誤反饋“0002”;其他錯誤反饋“0003”。
“c”“s”命令,該命令的功能是輸入輸出有效查詢。用戶端接收的第1個參數RxdBuf[0]表示返回字節數;第2個參數RxdBuf[1]表示1-8號繼電器是否默認,如果是相應位為1,如果否相應位為0;第3個參數RxdBuf[2]表示情景輸出是否有效,如果是相應位為1,如果否相應位為0;第4個參數RxdBuf[3]表示無線輸出是否有效,如果是相應位為1,如果否相應位為0;第5個參數RxdBuf[4]表示無線轉紅外是否有效,如果是相應位為1,如果否相應位為0;第6個參數RxdBuf[5]表示無線輸出(自動生成)是否有效,如果是相應位為1,如果否相應位為0。用戶端可以根據該數據表,來確認哪些輸入輸出需要重新獲得信息,以此來減少通信壓力。密碼錯誤反饋“0002”;其他錯誤反饋“0003”。
根據智能家居控制系統的特點,以XML為引擎,建立了通用性良好、簡單易用、功能齊全的Android智能遠程客戶端數據庫系統。根據不同種類的Android系統,客戶端會在數據庫中創建相應的數據表,內容為智能家居設備信息。
[ID],在數據庫中用于識別的唯一ID,類型為AUTOINC(4)。
[房間號],用戶定義的智能家居控制系統的房間編號,類型為INT(3)。
[房間名稱],用戶定義的智能家居控制系統的房間名稱,類型為CHAR(100)。
[房間圖片編號],用戶定義的智能家居控制系統的房間圖片編號,類型為INT(3)。
[設備編號],用戶定義的智能家居控制系統的設備編號,類型為INT(10)。
[設備名稱],用戶定義的智能家居控制系統的設備名稱,類型為CHAR(10)。
[設備圖片編號],用戶定義的智能家居控制系統的設備圖片編號,類型為INT(10)。
[情景模式編號],用戶定義的智能家居控制系統的情景模式編號,類型為INT(10)。
[情景模式圖片編號],用戶定義的智能家居控制系統的情景模式圖片編號,類型為INT(10)。
[情景模式名稱],用戶定義的智能家居控制系統的情景模式名稱,類型為CHAR(10)。
目前,不同手機/平板電腦廠家都推出了各自的Android系統。通過開發“設備動態識別自適應技術”,可以使智能家居遠程客戶端自動識別手機/平板電腦Android系統的版本、設備分辨率及配置。用戶無需操作,客戶端后臺自動執行分辨率調整、顏色微調、系統權限提升等一系列操作。這樣用戶只需一鍵安裝Android系統客戶端就可以正常使用。
設備動態識別自適應技術的特點是動態分辨率調整、動態顏色微調、高速緩存交換機制,采用異步網絡通信架構,多線程DOM模型,區別于傳統Android系統的操作方法,在自定義智能家居通信協議基礎上增加SAX-XML綜合數據云處理層,提供用戶功能性定義接口[4]。高速緩存交換機制是根據實際智能家居系統的情況,以設備或者情景模式為單位將智能家居數據綜合處理。系統中開辟了兩塊相同容量的緩沖區,一塊緩沖區進行實時智能家居設備數據通信,另外一塊及時讀取當前操作設備相鄰的設備數據信息,待用戶下一次點擊設備操作,立即從第2塊緩沖區查詢是否存在此設備操作信息。2塊緩沖區如此循環,獲得極高的處理效率。
a. 將設計的智能家居客戶端安裝后,經過反復測試,該客戶端可實現對智能家居設備的集中管理和控制,隨時隨地掌控家中設備狀態。
b. 通過Android手機/平板電腦對智能家居進行控制,采用設備動態識別自適應技術,與以往控制方式相比,能穩定、高效地處理用戶的請求,而且操作簡單,易于推廣。
[1] 高 闖,李海平.基于Android 平臺的智能家居手機客戶端軟件設計[J].電子測試,2013 (12):71-72.
[2] 徐 鋒,劉 欣,方加寶.智能家居遠程控制系統設計[J].低壓電器, 2009,4:21-24.
[3] 王朝華,陳德艷. 基于Android 的智能家居系統的研究與實現[J].計算機技術與發展,2012,22(6):225-228.
[4] 袁曉磊.基于遺傳編程的系統辨識研究[D].北京:華北電力大學,2010.
本文責任編輯:齊勝濤
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—),女,教授,主要從事人工智能及應用、數據庫與信息系統、圖形與圖像處理等方向的研究。
TN926
B
1001-9898(2014)01-0025-03