專利名稱:一種基于sdf數字家庭中間件的智能家居控制系統的制作方法
技術領域:
本發明涉及數字家庭智能家居設備外部控制領域,尤其涉及一種基于SDF數字 家庭中間件的智能家居控制系統。
背景技術:
以數字技術為核心的信息技術發展,引發了電視傳輸技術和方式的革命,催生 了視頻點播業務、數字家庭等技術。我國數字電視迅速發展,截止到目前,我國有 線電視已在一級城市及沿海城市完成數字化整體平移,數字電視用戶已經突破1200 萬戶。
智能家居一般是以住宅為基礎平臺,綜合建筑裝潢、網絡通信、信息家電、設 備自動化等技術,將系統、結構、服務、管理集成為一體的高效、安全、便利、環 保的居住環境。智能家居可以定義為一個目標或者一個系統。利用先進的計算機、 網絡通信、自動控制等技術,將與家庭生活有關的各種應用子系統有機地結合在一 起,通過綜合管理,讓家庭生活更舒適、安全、有效和節能。
雙向數字機頂盒增加CM和硬盤,支持MPEG-2媒體流處理,通過周圍的網關 可以和各戶聯網。雙向數字機頂盒集成了符合MHP標準的中間件軟件系統,除提 供增強型機頂盒的主要功能外,還可以基于MHP提供交互式應用、網頁信息瀏覽 等多種增值業務。雙向數字機頂盒新增功能有集成MHP中間件系統;支持交互 式應用,如視頻點播、互動游戲、網上沖浪等。
總的來說,目前雙向數字機頂盒具有較為強大的數據處理能力,提供雙向交互 的業務模式,結合家庭中數字電視,使得基于數字機頂盒的智能家居控制方法,具 有充分利用現有技術,資源,能有效降低建設智能家居的成本的特點。
發明內容
本發明目的在于為數字電視提供一種智能家居控制實現方案,提出一種基于
SDF數字家庭中間件的智能家居控制系統,以滿足數字電視用戶通過遙控器與電視 實現對智能家居設備監視、設置和控制。
為了達到上述目的,本發明提出的一種基于SDF數字家庭中間件的智能家居控 制系統,通過以下技術方案予以實現整個系統由智能家居控制頻道客戶端和智能家居網關兩部分組成,智能家居控 制頻道客戶端包括數字電視和雙向數字機頂盒兩部分。雙向數字機頂盒包含了 SDF 中間件和通信程序。SDF中間件解析智能家居頻道的SDF文件,在數字電視上呈現 畫面,為數字家庭用戶提供智能家居控制界面;通信程序與智能家居網關通信,獲 取智能家居設備、樓層、房間等信息,并對設備進行監視、設置和控制。智能家居 網關則是一套完整的智能家居控制系統,包含智能家居外部接口。
所述的智能家居控制頻道SDF文件是用于呈現畫面的頁面描述文件。雙向數字 機頂盒通過解析智能家居控制頻道的SDF文件,在數字電視上呈現電視畫面,從而 為數字家庭用戶提供智能家居監視,設置和控制的圖形客戶端界面。雙向機頂盒使 用的中間件為SDF中間件,用于解析SDF語言。SDF (Scene Description File),又 稱場景描述文件,是一種操作流程中間描述語言,它支持的元素類型有圖片、視頻、 文字、輸入框等,只需要使用SDF現成的元素,對SDF文件進行微調,就可以快 速得到智能家居控制頻道的圖形化界面描述。以SDF中間件為中間件的雙向機頂盒 通過解析SDF文件,就能在數字電視上呈現電視頻道畫面。
智能家居控制頻道客戶端通過數字家居遠程控制協議與智能家居網關進行通 信,通信運行在TCP/IP網絡協議之上,可通過Internet、以太網、WIFI以及有線電 視網絡方式進行通信。
所述的通信程序是運行在雙向數字機頂盒上,與智能家居網關進行通信,獲取 智能家居設備、樓層、房間信息,并對設備進行監視、設置和控制。上述的智能家 居控制頻道SDF文件在SDF中間件中進行解析時,所需要顯示的樓層、房間、設 備和設備狀態等信息,均是由通信程序與智能家居網關通信來獲取。通信程序啟動 之后,自動連接到指定的智能家居網關,下載房間、樓層、場景、設備等信息,并 按照一定的格式,高效地保存在一塊大小是16K的共享內存上。除了下載上述信息, 此程序還維護每個設備的最新狀態信息,使得智能家居頻道顯示的總是最新的狀態 信息。為了方便讀取共享內存的信息,通信程序同時提供了按照存取房間、樓層、 場景和設備數據的接口。
所述的智能家居網關,是一個安裝有windows CE系統的嵌入式設備,它包含一 個智能家居外部接口,接受外部系統的設置和控制命令,解釋命令,并根據命令發 出實際控制各個智能設備的指令。智能家居外部接口程序使用C訴吾言編寫,它使用 TCP/IP對外提供控制服務,對內通過電力線或者無線網絡對智能設備進行監視、控制。智能家居網關外部接口程序提供服務采取的通信協議遵循了 "數字家居遠程通 訊協議規范",這是廣東地方數字家庭標準之一。
本發明中通信程序使用Socket技術與智能家居網關通信。雙向數字機頂盒中使 用的是uCLinux操作系統,該操作系統提供了 Socket網絡庫為開發人員提供網絡編 程的接口。通信程序只需要新建一個socket標識,按照固定的格式提供網絡地址, 成功連接后,使用write函數即可向智能家居網關外部接口程序發送設置與控制命 令,使用read函數即可從智能家居網關外部接口程序獲取房間、樓層、場景、防區、 設備等信息。
本發明中通信程序與SDF中間件的使用Linux內存共享技術和消息隊列共享智 能家居數據。雙向數字機頂盒中使用的是uCLinux操作系統,該操作系統提供了一 些方便進程之間共享數據的方法,本發明靈活使用了其中的共享內存和消息隊列的 方法。共享內存用于保存通信程序從智能家居網關獲取的房間、樓層、場景、防區、 設備及其狀態等數據,通信程序對共享內存中的數據進行維護,而SDF中間件可以 直接從共享內存讀取智能家居數據即可滿足顯示的需要;消息隊列用于通信程序與
SDF中間件互通消息,例如智能家居網關檢測有一個燈熄滅了,即可發送一個消息 到通信程序,通信程序將共享內存中此燈的狀態進行更新,并通過消息隊列發送一 個消息到SDF中間件,通知燈狀態有變化,SDF中間件就根據需要更新顯示的圖形 界面。
本發明具有以下有益效果
(1) 實現了數字家庭用戶用過遙控器和數字電視畫面,監視、設置、控制智能 家居設備,充分利用了數字機頂盒的數據處理能力和數字電視的顯示能力,降低了 實施智能家居的成本,也擴大了數字電視的業務范圍。
(2) 本發明使用SDF技術描述智能家居頻道畫面,因為SDF只是一種描述語 言,并非實際繪圖的代碼,所以,只需要對SDF文件稍作改動,便可得到多種風格 的頻道換面,在一定程度上實現顯示與數據的分離。
(3) 本發明運用網關技術實現智能家居控制,可以適應不同的智能家居網關產 品,具有良好的通用性。
圖1是本發明實現的系統結構圖2是智能家居頻道客戶端程序流程圖;圖3是智能家居頻道客戶端SDF中間件與通信程序交互示意圖; 圖4是實現的智能家居控制頻道主界面;
圖5是實現的智能家居控制頻道控制界面。
具體實施例方式
下面結合附圖對本發明的結構和實施方式做進一步的描述
如圖1所示,智能家居控制頻道客戶端包括數字電視和雙向數字機頂盒兩部分。
雙向數字機頂盒包含了 SDF中間件和通信程序。SDF中間件解析智能家居頻道的 SDF文件,在數字電視上呈現畫面,為數字家庭用戶提供智能家居控制界面;通信 程序與智能家居網關通信,獲取智能家居設備、樓層、房間等信息,并對設備進行 監視、設置和控制。智能家居網關則是一套完整的智能家居控制系統,包含智能家 居外部接口。
1、 SDF文件。智能家居控制頻道SDF文件是用于呈現畫面的頁面描述文件。 雙向數字機頂盒通過解析智能家居控制頻道的SDF文件,在數字電視上呈現電視畫 面,從而為數字家庭用戶提供智能家居監視、設置和控制的圖形客戶端界面。如圖 4所示的界面,用SDF文件表示,需要定義5個元素l個背景元素和4個按鈕元 素,然后再賦予4個按鈕元素位置信息和單擊動作信息。
2、 通信程序。通信程序是運行在雙向數字機頂盒上,與智能家居網關進行通信, 獲取智能家居設備、樓層、房間信息,并對設備進行監視、設置和控制。上述的智 能家居控制頻道SDF文件在SDF中間件中進行解析時,所需要顯示的樓層、房間、 設備和設備狀態等信息,均是由通信程序與智能家居網關通信來獲取。通信程序啟 動之后,自動連接到指定的智能家居網關,下載房間、樓層、場景、設備等信息, 并按照一定的格式,高效地保存在一塊大小是16K的共享內存上。除了下載上述信 息,此程序還維護每個設備的最新狀態信息,使得智能家居頻道顯示的總是最新的 狀態信息。為了方便讀取共享內存的信息,通信程序同時提供了按照存取房間、樓 層、場景和設備數據的接口。
3、 智能家居網關。是一個安裝有windows CE系統的嵌入式設備,它包含一個 智能家居外部接口,接受外部系統的設置和控制命令,解釋命令,并根據命令發出 實際控制各個智能設備的指令。智能家居外部接口程序使用C針吾言編寫,它使用 TCP/IP對外提供控制服務,對內通過電力線或者無線網絡對智能設備進行監視、控 制。智能家居網關外部接口程序提供服務采取的通信協議遵循了 "數字家居遠程通訊協議規范",這是廣東地方數字家庭標準之一。
本發明中智能家居客戶端實現的方法如圖2所示。
(1) 進入智能家居控制頻道,SDF中間件開始解析SDF文件,繪制頻道主界 面,為用戶提供圖形操作界面;
(2) 通信程序啟動,初始化網絡連接,根據預先定義好智能家居網關網絡地址 及端口,與智能網關外部接口程序建立連接。本步驟中,使用了 Linux下的Socket 網絡編程技術,設Socket連接sockfd建立成功,初始化緩沖區buff為如下
〃80000001\rConnect\b200710010000\bN0RMAL\f〃 其中buff中的V、 \b、 V與C語言的轉義字符語義一致。執行語句
write (sockfd, buff, strlen(buff)) 語句執行完畢,與智能家居網關外部程序連接建立成功。
(3) 通信程序從智能家居網關獲取樓層、房間、場景、防區、設備等數據,以 設備為例,信息包括有ID、名稱、所在的樓層、所屬的房間等,將下載的所有信息 保存在一塊大小為16K的共享內存中。
(4) 通信程序從智能家居網關獲取所有設備的最新狀態數據,并更新共享內存 中的設備的狀態信息。
(5) 用戶在圖形界面選擇一個設備進行監視、設置或控制。
(6) SDF中間件通知通信程序用戶需要對一個設備進行控制。本步驟中,使用 了 Linux下的消息隊列技術。消息結構體如下
struct sendctrl{ char datatype[2]5 char devid[13]; char devvalue[5]s char valueattri[2];
struct MSG{
long msgtype; sendctrl sendvalue;
當SDF中間件向通信程序發送通知消息時,新建一個MSG結構體message,往其中sendvalue元素中的datatype字段填充"1", devid字段填充設備id, devalue字段填充控制值,valueattri字段填充控制屬性,msgtype填充"1"; 設通信程序使用的消息隊列id是com—msgjd,那么SDF中間件執行如下語句完 成將控制設備的消息發送到通信程序
msgsnd(com—msg—id, &message, sizeof(message), 0);
(7) 通信程序向智能家居網關發送控制設備命令。本步驟中,使用了 Linux下 的Socket網絡編程技術。設Socket連接sockfd建立成功,新建緩沖區buff,往 buff中填充如下內容
〃80000001\rSetvalue\bl\bdevid\bdevvalue\bvalueattri\f〃 其中buff中的V、 \b、 Vf與C語言的轉義字符語義一致,devid為13字節的設備id, devvalue為控制值,valueattri為控制屬性。執行語句
write (sockfd, buff, strlen(buff)) 語句執行完畢,通信程序向智能家居網關發出了控制命令。
(8) 智能家居網關發出智能設備控制指令。智能家居網關對來自通信程序的命 令進行解析,轉變為實際的智能設備控制指令,并對設備進行控制。
(9) 智能家居網關通知通信程序設備狀態更新。智能家居網關對設備進行控制 導致設備狀態發生了變化,智能家居網關將設備狀態更新的消息發送到通信程序。
(10) 通信程序通知SDF中間件設備狀態更新。通信程序接到來自智能家居網 關的設備狀態更新消息,先更新機頂盒上的智能家居設備狀態數據,然后通知SDF 中間件。
(11) SDF中間件更新圖形界面。 例如用戶瀏覽到一樓大廳的所有類型為電燈的設備,SDF中間件根據頁面的需
要,從共享內存中讀取一樓大廳所有電燈設備,并繪制圖形界面,如果此時其中一 盞燈狀態發生變化——從開到關,這個變化會在圖形界面馬上呈現出來。如果用戶 選中操作一盞燈,將燈從關到開,SDF中間件通過通信程序向智能家居網關發出控 制命令,將燈打開,如果燈打開成功,這個狀態的變化會在圖形界面馬上呈現出來。 本發明中智能家居客戶端中SDF中間件與通信程序的交互方法如圖3所示。 (1) SDF中間件向通信程序發送設備控制消息。用戶選擇了一個設備,進行了 設置或者控制等動作時,SDF中間件將控制消息發送到通信程序,通信程序將控制 命令發送到智能家居網關,以完成用戶的設置或者控制動作。(2) 通信程序向SDF中間件發送設備狀態更新消息。當通信程序從智能家居 網關中接到設備狀態更新消息,新建一個消息,并發送到SDF中間件,通知提示設 備狀態變化。
(3) 通信程序從16K共享內存中讀取樓層、房間、場景、防區和設備等數據。
(4) 通信程序將樓層、房間、場景、防區和設備等數據保存再16K共享內存。 通信程序將從智能家居網關得到樓層、房間、場景、防區和設備等數據,保存到16K 共享內存中,并根據設備的最新狀態信息對共享內存進行維護,維持數據總能反映
智能家居設備的最新狀態。
(5) SDF中間件從16K共享內存讀取樓層、房間、場景、防區和設備等數據, 完成顯示圖形界面的需要。智能家居客戶端SDF中間件繪制圖形界面所需要的所有 關于樓層、房間、場景、防區和設備的數據,都是從16共享內存中讀取,SDF中 間件對共享內存只作讀取動作。
本發明實現的智能家居控制頻道的主界面布局。如圖4所示,智能控制頻道提 供四大功能控制、安防、場景和娛樂。控制功能實現對智能家居設備的監視、設 置和控制;安防功能實現對家居所有安防設備的監視、設置和控制;場景功能實現 一次設置和控制多種設備;娛樂功能實現機頂盒與家居娛樂設施有機結合,提供更 具特色的娛樂內容。
本發明實現的智能家居控制頻道中"控制"界面的布局。如圖5所示,控制界 面將設備分為燈、電視、空調、音響、DVD、窗簾、洗衣機、電風扇和微波爐。進入 每種分類,就可以監視、設置和控制設備。
權利要求
1、一種基于SDF數字家庭中間件的智能家居控制系統,其特征在于該系統由智能家居頻道客戶端和智能家居網關兩部分組成;所述的智能家居頻道客戶端由雙向數字機頂盒和數字電視組成,雙向數字機頂盒包含SDF中間件和通信程序;SDF中間件解析智能家居頻道的SDF文件,在數字電視上呈現畫面,為數字家庭用戶提供智能家居控制界面;通信程序與智能家居網關通信,獲取智能家居設備、樓層、房間信息,并對設備進行監視、設置和控制;所述的智能家居網關,包含一個智能家居外部接口,接受外部系統的設置和控制命令,解釋命令,并根據命令發出實際控制各個智能設備的指令。
2、 根據權利要求1所述的一種基于SDF數字家庭中間件的智能家居控制系統, 其特征在于用戶通過遙控器査看各個智能家居設備、場景和防區的信息,對設備、 場景和防區進行設置,對具體的設備進行控制,數字電視的畫面呈現用戶在査看、 設置和控制智能家居設備的過程。
3、 根據權利要求1所述的一種基于SDF數字家庭中間件的智能家居控制系統, 其特征在于智能家居控制頻道客戶端通過數字家居遠程控制協議與智能家居網關 進行通信,通信運行在TCP/IP網絡協議之上,可通過Internet、以太網、WIFI以及 有線電視網絡方式進行通信。
4、 根據權利要求1所述的一種基于SDF數字家庭中間件的智能家居控制系統, 其特征在于智能家居控制頻道客戶端使用了 Linux共享內存的技術,保存智能家 居中的樓層、房間、設備、場景、防區數據。
全文摘要
本發明公開了一種基于SDF數字家庭中間件的智能家居控制系統,整個系統由智能家居控制頻道客戶端和智能家居網關兩部分組成,智能家居控制頻道客戶端包括數字電視和雙向數字機頂盒兩部分。雙向數字機頂盒包含了SDF中間件和通信程序。本系統允許用戶根據電視顯示的圖形界面提示,操作遙控器與數字機頂盒交互,繼而進一步與智能家居網關交互,以達到監視、設置、控制一定范圍內的智能家居產品。基于雙向數字機頂盒、運用網關技術實現智能家居控制的系統,充分利用了家庭中數字機頂盒的運算能力和大屏幕電視優秀的顯示功能,同時可以適應不同的智能家居網關,實現用一套機頂盒去控制不同的智能家居產品的目的。
文檔編號H04N5/44GK101540829SQ20091003890
公開日2009年9月23日 申請日期2009年4月23日 優先權日2009年4月23日
發明者丁衛彬, 王建民, 芳 由, 羅笑南 申請人:中山大學