賈振堂
(上海電力學院 計算機與信息工程學院,上海 200090)
目前在全世界范圍內(nèi),手機已經(jīng)成為人們生活的必需品,具有便攜性和移動性。因此,若以手機作為遠程家電控制的終端,使用起來將非常方便。目前,智能家居的信號傳輸方式大體可分為:電力載波、無線射頻和集中布線。有影響力的家庭網(wǎng)絡通信規(guī)范有X-10、PLC-BUS,CEBus、LonWorks、UPnP 協(xié)議、ECHONET、KNX、Zigbee 和國內(nèi)“e家佳”聯(lián)盟推廣標準等。
這些技術提供了一種局域網(wǎng)絡的智能家居控制方式,主要面向家庭環(huán)境或者小區(qū)環(huán)境,無法直接實現(xiàn)遠程控制。為了實現(xiàn)遠程控制,需要引入家電控制網(wǎng)關,可通過電話、Internet以及手機[1-3](短信、電話、彩信)等方式與家庭網(wǎng)絡連接。
然而,以上方式都不能實現(xiàn)所見即所得的“可視化”效果,反饋信號可能是一個布爾變量、一個短信、或者一個話音的自動回復,不能真實看到設備執(zhí)行后的視覺情況,甚至不知道所發(fā)出的命令是否真的被執(zhí)行,即處于“盲”控狀態(tài)。因此,筆者結合現(xiàn)有的PLC-BUS家電控制模塊實現(xiàn)可視化的遠程家電控制,研究一種基于手機的可視化遠程家電控制系統(tǒng)。實現(xiàn)基于視頻的操控界面,同時使控制結果“看得見”。
移動通信數(shù)據(jù)傳輸能力的提高使視頻傳輸成為可能。數(shù)字移動通信從最初低速率的電路數(shù)據(jù)到分組GPRS(稱為2.5代),再到3G,數(shù)據(jù)速率在不斷提高。通常條件下,GPRS的實際數(shù)據(jù)傳輸速率可達到30 kbit/s以上。3G的最大數(shù)據(jù)傳輸速率可達到2 Mbit/s,盡管在多用戶情況下實際速率可能達不到這么高,但是達到114 kbit/s的低速率標準是不成問題的[4]。
手機已經(jīng)具備視頻處理能力。目前智能手機的CPU處理速度都比較高,主頻通常在200~450 MHz,同時具備32 Mbyte以上的主存儲器。對于 QCIF(176×144)的視頻,H.264解碼速率可以達到15 f/s(幀/秒)以上,足以滿足視頻處理的需求。
另外,手機可視控制在花費上是可以承受的。手機上不適合開展IPTV,VoD之類的業(yè)務,因為這些業(yè)務需要長時間的視頻流,花費很高。而手機視頻監(jiān)控,一個操作通常在1 min內(nèi)即可完成,不需要長時間、大流量的傳輸。因此,不會有過高的流量花費,也可以采用包月或包年的方法進一步降低費用。
基于手機的可視化遠程家電控制系統(tǒng)由家庭控制中心裝置、手機、服務器三部分組成,三個部分之間通過Internet連接在一起。服務器具有公開的IP地址或域名以及公開的端口。手機通過移動通信網(wǎng)絡提供的數(shù)據(jù)業(yè)務(GPRS/CDMA-1X)實現(xiàn)與Internet的連接,家庭控制中心裝置通過家庭寬帶與Internet連接,三個部分之間通過TCP/IP進行分組數(shù)據(jù)通信,如圖1所示。
服務器采用專用服務器或高檔計算機,并安裝服務器軟件,實現(xiàn)如下功能:
1)用戶信息管理。包括用戶基本信息、用戶賬戶計費。
2)提供公開的域名(或IP地址)和端口號,接受用戶的登錄,并對用戶端進行鑒權。
3)數(shù)據(jù)中轉(zhuǎn)或地址信息交換。支持直接中轉(zhuǎn)數(shù)據(jù),或為家庭控制中心裝置與手機之間進行P2P通信提供連接信息交換服務。
4)報警信息或報警視音頻數(shù)據(jù)的暫存與回放。
5)短信息發(fā)送。當報警發(fā)生而手機未在線時,發(fā)送報警信息給手機。也可由運營商發(fā)送增值服務短信息給手機。
家庭控制中心裝置(HCC)和手機都登錄到服務器,從而使手機獲得HCC的有關信息。在服務器中,以家庭為單位實行分組管理,每個手機只能獲取自家HCC的有關信息。手機用戶可隨時瀏覽HCC的視頻畫面,并在視頻屏幕上直接對家電“視頻對象”進行操控,包括家電的初始位置設置、家電的參數(shù)設置、發(fā)出家電的操控命令、看到操控的視頻結果等。
HCC和手機之間的通信,可由服務器中轉(zhuǎn)全部命令和數(shù)據(jù);也可從服務器得到HCC地址和Listening端口之后向HCC發(fā)起TCP連接,從而進行直接的P2P通信[5]。服務器支持兩種方式的服務。
家庭控制中心裝置(HCC)是實現(xiàn)可視化遠程控制的核心設備,它由主控模塊、網(wǎng)絡通信模塊、家電控制模塊(含PLC-BUS發(fā)送器)、視音頻處理模塊、攝像機控制單元以及家電等外部設備組成,如圖2所示。HCC通過家庭寬帶網(wǎng)絡連接服務器,并通過服務器實現(xiàn)與手機的信息交換。具體來說,HCC實現(xiàn)如下功能:1)登錄服務器,將自身的信息報告給服務器,從而進一步傳遞給手機。2)可選地接受來自手機的TCP連接請求。3)接收和執(zhí)行來自手機的控制命令,包括視頻瀏覽、家電操控命令等。4)家電控制功能,能夠向家電發(fā)出控制命令、接受反饋信息,并實現(xiàn)攝像機視頻聯(lián)動。5)視頻采集、壓縮和發(fā)送及流量控制。6)報警信息的處理以及攝像機視頻聯(lián)動。
HCC中,CPU的主要負載來源于視頻處理,一方面是耗時的視頻壓縮任務,另一方面是視頻對象的定位與跟蹤所涉及的圖像處理。本文系統(tǒng)采用TI公司的TMS320DM642(以下簡稱DM642)作為處理器,視頻壓縮算法采用H.264。全部軟件處理都在DM642中完成,包括以上軟件模塊及相關的內(nèi)部數(shù)據(jù)表。
同時,為了完成設備的智能聯(lián)動,需要維護內(nèi)部數(shù)據(jù)表。這些數(shù)據(jù)表至少包括攝像機當前方位、客戶終端表、受控設備表和命令代碼表。
家電的控制通常采用家庭局部網(wǎng)絡的方式,主要區(qū)別在于底層通信手段和具體的通信協(xié)議。目前可采用的通信方式包括紅外、無線傳輸、RS-485、電力線載波和LAN。鑒于電力線載波不需要額外布線,即插即用,同時PLC-BUS技術比X-10具有更高的數(shù)據(jù)速率、更高的可靠性、更多的地址空間,同時能實現(xiàn)雙向通信,所以筆者直接采用荷蘭ATS電力線通信有限公司研發(fā)的PLCBUS電力總線技術,并將其發(fā)送器嵌入到HCC中。PLCBUS發(fā)送器與DM642之間采用RS-232串口通信,發(fā)送器與接收器之間為電力線載波通信方式。
以手機作為控制終端,采用瘦客戶的方式,將視頻對象(設備)的位置信息、定位與查詢都放到HCC中完成,而操作界面放到手機中。因此,實際上是一個手機與HCC的交互過程。
1)設備信息表
云臺的轉(zhuǎn)動通常以度為單位,分為水平(pan)和上下(tilt)兩個自由度,每個自由度的度量單位為“度(°)”,范圍為[0,360),最小可分辨值通常為 0.01°[2]。 由于具有鏡頭伸縮能力的攝像機使用不多,這里暫時不考慮鏡頭伸縮(zoom)的自由度。在HCC中考慮一個虛擬的位置全景圖,該圖中每個設備都有一個p方向坐標和一個t方向坐標,分別對應云臺的 pan和tilt方位角。攝像機可視范圍內(nèi)的所有設備都在該圖中有一個具體的位置,如圖3a所示。圖中,(p0,t0)為攝像機目前的畫面中心位置,對應于手機畫面的(x0,y0)。
由于設備的數(shù)目是有限的(稀疏的),因此可用列表來表示。這樣,在HCC中實際上維護了一個設備信息列表,該表中每一行表示一個設備,包括設備的位置信息(p,t,w,h)以及設備名稱、設備(電力線載波)地址碼等參數(shù)。該設備列表初始化為空。
2)坐標變換
攝像機(云臺)有一個初始位置,該位置為(0,0),所有設備位置均以此為參考。家電對象在畫面中的實際位置信息,還與攝像機的安裝方位密切相關,這實際上涉及到攝像機的參數(shù)標定問題。由于在家電控制這一特殊應用環(huán)境中,攝像機的位置是固定的(與機器人視覺不同),因此不需要進行復雜的標定。盡管如此,依然涉及畫面位置(x,y)與全景位置(p,t)之間的坐標換算。 這是由于操作界面為畫面坐標,而HCC只知道目前攝像機的方位(p0,t0),若設備對象正處于圖像中心,則目前攝像機的方位(p0,t0)即為設備的全景位置。而實際上,要求用戶每次都把設備對象準確移動到屏幕中心后再進行操作是不人性的。也就是說允許對屏幕上任意位置(x,y)的設備進行操控,該位置與中心位置(x0,y0)存在(△x,△y)的位置差。需要由(△x,△y)計算出全景圖中的位置差(△p,△t)才可確定該設備在全景圖中的位置。
假設攝像機不存在圖像畸變,則可僅考慮尺度變換。
a,b的求解可采用特征圖像的方法。設置一個特定的目標,控制攝像頭沿水平方向轉(zhuǎn)動一定的角度△p,通過手機程序測量目標對象在畫面中的像素位移△x,則可計算出a和b。
在系統(tǒng)中,手機作為遠程操作終端,具備視頻解碼顯示的能力,在視頻畫面的基礎上進行可視操控。這需要自行開發(fā)手機程序。目前的智能手機都支持用戶程序的加入,常見的操作系統(tǒng)有Windows Mobile(Smart phone以及 Pocket PC),Symbian,CDMA 中的 Brew,以及 Linux。這里選用Pocket PC的手機,它可通過嵌入式VC++(eVC)集成開發(fā)環(huán)境進行軟件開發(fā)。
手機軟件的主要功能有:通過GPRS或CDMA連接服務器,并取得家庭控制中心設備的有關信息,包括家電信息列表??刂泼畹陌l(fā)送和接收處理,包括視頻數(shù)據(jù)的接收、解壓縮以及顯示。對視頻畫面中的設備對象進行位置標定和操控。
設備位置標記實際上就是在HCC設備列表中添加一個設備行。這個過程是一個手機與HCC的交互過程,通過手機的人機界面完成。設備位置標記采用人工標注方法,手機登錄服務器后即可看到自己家中的HCC,發(fā)送視頻瀏覽命令,即可看到家中的實際畫面。通過云臺控制命令(按鈕)可轉(zhuǎn)動攝像機,使目標設備位于畫面中(最好是中心位置附近)。
然后,用手寫筆或者手機鍵盤選定所要標記的設備,得到一個矩形框,如圖3b所示,即得位置信息(x,y,w,h)。同時,手機界面上會彈出其他信息的輸入框,包括設備名稱、地址代碼等。最后點擊確定,手機便將這些信息發(fā)送給HCC,HCC將位置換算成全景位置,并添加到設備列表中,即完成一個設備的標定。逐個操作,可完成所有設備的標記。
當操控某個家電設備時,可點擊攝像機云臺方向按鈕,使目標設備處于畫面中。然后點擊該設備,即可彈出該設備允許的操控命令。選擇一個命令,手機則向HCC發(fā)送控制命令,該指令包含指定設備的屏幕位置坐標和控制代碼編號。
HCC收到該指令后根據(jù)屏幕位置坐標在設備數(shù)據(jù)單元中查找 (比較該坐標落在哪個設備的位置范圍內(nèi)),從而得到設備號,取出設備的地址代碼,并將控制命令發(fā)送到該設備,使設備得到控制。
若設備目前不在畫面中,且不想進行手動的云臺搜索,則可在手機的設備列表中選擇一個設備(如圖4b所示),并發(fā)出搜索命令,然后手機自動切換到視頻界面。HCC將根據(jù)設備編號,查找到設備的位置信息,并將攝像機對準該設備。
筆者研究了一種基于手機的可視化遠程家電控制系統(tǒng)。由服務器、家庭中心控制裝置(HCC)和手機三部分組成。HCC采用了TI公司的DM642作為處理器,以H.264為壓縮標準,并采用PLC-BUS收發(fā)模塊。手機軟件在Pocket PC上實現(xiàn)。系統(tǒng)將視頻技術引入遠程控制過程,實現(xiàn)了在手機屏幕上依據(jù)視頻畫面進行設備信息輸入、設備遠程操作控制的功能,滿足了人們“眼見為實”的心理要求。今后,將對現(xiàn)有各種智能家居系統(tǒng)作進一步研究,提出切實可行的技術融合方法以及接口規(guī)范,同時開發(fā)更多款式的手機軟件,推進其產(chǎn)業(yè)化的進程。
[1] LOUISE B,ANNA V.Smart home in your pocket[EB/OL].[2010-05-14].http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.131.3802&rep=rep1&type=pdf.
[2]PELCO.PELCO′D′protocol manual[EB/OL].[2010-05-31].http://wenku.baidu.com/view/5bcfd4c30c22590102029dd5.html.
[3] 吳立爽,胡建平.智能電話遠程家電控制系統(tǒng)的設計[J].信息技術,2005(9):152-154.
[4] 張美琴,龔衛(wèi)國,李正浩,等.基于智能手機的遠程家電控制及安防監(jiān)測系統(tǒng)的設計[J].測控技術,2007,26(8):72-74.
[5] 賈振堂,呂海蓮,韓艷芳.手機視頻監(jiān)控系統(tǒng)及其性能[J].電視技術,2007,31(11):81-83.
賈振堂(1969-),博士,副教授,長期從事視頻通信技術以及遠程無線控制技術的研究與產(chǎn)品開發(fā)。