基于XML的信息家電控制系統(tǒng)設(shè)計
引言
信息家電是信息技術(shù)與傳統(tǒng)消費類家電技術(shù)相結(jié)合而產(chǎn)生的新一代家用電子產(chǎn)品。信息家電是以計算機為平臺,集聲、光、圖像于一體的一種家用電器。它既不是計算機,也不是傳統(tǒng)的家電,而是集計算機的某些功能、視聽功能、通信功能、上網(wǎng)功能于一體的新型家電。信息家電實質(zhì)上就是電腦化的家電,是兼顧人們?nèi)粘I疃喾N需要(如娛樂、教育、通信、上網(wǎng)、理財?shù)?而開發(fā)的新產(chǎn)品。
如何實現(xiàn)信息家電的互操作與即插即用,成為信息家電的主要研究方向。
1 信息家電控制結(jié)構(gòu)
對信息家電的控制存在3種方式:集中控制,遠程控制,萬能遙控。集中控制,是以家中電腦作為控制中心,在電腦上能查看到所有家電的運行狀態(tài)信息,能根據(jù)需要通過圖形化操作方式對信息家電進行控制。遠程控制,即當(dāng)你在外工作或歸家途中可以通過辦公室電腦或者PDA設(shè)備對家中電器運行狀態(tài)信息查看,也可以對家電進行想要的操作。萬能遙控,是通過特殊設(shè)計的萬能遙控器對信息家電進行控制。
不管采用何種方式對信息家電的進行控制,首先要定義好信息家電接口,所謂接口主要包括了信息家電的狀態(tài)屬性和操作功能,其次要定義好控制命令包,各種控制方式根據(jù)要進行的操作形成控制命令包,并發(fā)送到家庭網(wǎng)絡(luò)中,各家電監(jiān)聽各自端口,一旦收到發(fā)送給自己的控制命令包就予以解析執(zhí)行。本文采用XML作為信息家電接口與控制命令的描述語言,給出了一種基于XML的信息家電控制的解決方案。如圖1所示。
信息家電生產(chǎn)商提供信息必須做到在信息家電設(shè)備中內(nèi)駐XML描述的接1:3定義文件,用戶將信息家電設(shè)備聯(lián)人家庭網(wǎng)絡(luò)中,信息家電主動將接口定義文件在集中控制設(shè)備(網(wǎng)關(guān))中注冊,并存人嵌入式數(shù)據(jù)庫中。集中控制能根據(jù)接口定義生成控制命令控制已注冊的各個信息家電設(shè)備。
萬能遙控與遠程控制在原理上是一致的,只是通信方式不同,萬能遙控一般是通過無線實現(xiàn)與集中控制的通信,遠程控制一般是通過互聯(lián)網(wǎng)實現(xiàn)與集中控制的通信。
兩者都首先從集中控制獲取信息家電的接口定義,由內(nèi)置的控制命令生成器生成控制命令發(fā)送到集中控制,由集中控制轉(zhuǎn)發(fā)至信息家電。最終由信息家電內(nèi)置的控制命令解釋器解釋執(zhí)行其控制命令。
2 信息家電接口定義
通過XML對家電設(shè)備接口進行了簡單的定義,其頭節(jié)點為IA,IA節(jié)點下包括4個子節(jié)點,分別表示設(shè)備名、設(shè)備屬性、設(shè)備狀態(tài)、設(shè)備操作集。這4個節(jié)點是固定的,但是這些節(jié)點之下包含些什么節(jié)點,就會因為家電設(shè)備的不同,家電生產(chǎn)商的不同而不同。如:
其中IAName表示設(shè)備名稱,Attribution表示設(shè)備屬性集合,例如生產(chǎn)商、保修日期等。Status表示該設(shè)備有哪些狀態(tài)名,例如空調(diào)有電源開關(guān)、溫度、濕度、風(fēng)力、是否掃風(fēng)等。控制設(shè)備可以通過這些節(jié)點的內(nèi)容得到設(shè)備的狀態(tài)信息。Operation表示該設(shè)備可以進行哪些操作,例如空調(diào)有提高或者降低溫度、濕度、風(fēng)力、開關(guān)電源等。
接口定義文件由生產(chǎn)商提供,集中控制只需要對其注冊即可。當(dāng)然,生產(chǎn)商可以根據(jù)發(fā)展的需要,對其信息家電產(chǎn)品的接I=1定義可以進行擴充,以滿足安全等方面的需要。3 控制命令定義
為了能夠描述控制命令信息以及能被解析執(zhí)行,通過XML我們定義了規(guī)范的控制命令包。控制中心或者遙控器對某家電設(shè)備進行操作后即生成如下格式的控制命令包:
根節(jié)點為Command,其下有TolP,F(xiàn)mmIP,Time,Ope—rationName,OperafionValue 5個節(jié)點。TolP表示要發(fā)送給哪個設(shè)備,F(xiàn)mmlPI/IJ表示由誰發(fā)出,Time是發(fā)出命令的時間,后面兩個節(jié)點分別是要執(zhí)行的操作名和操作參數(shù)。本例即是對IP為192.168.0.125的設(shè)備進行溫度增加2度的操作。這里的設(shè)計只是對基本功能的模擬, 由于XML的良好擴展性,控制命令包可以進行擴充。
4 集中控制
在集中控制方式下,控制中心中保存有已注冊的信息家電的接I=1定義,這樣,它可以通過輪詢方式以更新設(shè)備狀態(tài)信息,或當(dāng)設(shè)備狀態(tài)改變時主動通知控制中心。在控制中心,用戶可以查看現(xiàn)在所有設(shè)備的信息,可以圖形化操作對設(shè)備進行控制,這時控制中心調(diào)用命令生成器將用戶的操作打包成XML格式控制數(shù)據(jù)包,并發(fā)送到家庭局域網(wǎng)中。連接在家庭局域網(wǎng)上的信息家電設(shè)備將能夠在其接收控制包端I=1監(jiān)聽接收到控制命令包,這時只有被操作的家電設(shè)備才會調(diào)用內(nèi)置的命令解析器對控制數(shù)據(jù)包進行解析并予以執(zhí)行,這樣就完成了對家電設(shè)備的控制。
5 遙控器控制
在遙控方式下,可以通過遙控器完成對家電設(shè)備的控制。目前,不同的家電設(shè)備就有不同的遙控器,彼此間不兼容?,F(xiàn)在設(shè)想一種對所有設(shè)備都有控制作用的遙控器,這種遙控器具有一定的存儲功能,存有被控制設(shè)備的設(shè)備接口文件,要控制的時候通過菜單選出要控制的設(shè)備已經(jīng)要進行的操作,遙控器內(nèi)置的命令產(chǎn)生器將根據(jù)選擇生成命令包,并通過無線網(wǎng)絡(luò)發(fā)送至控制中心。
6 遠程控制
當(dāng)你在上班的時候,或者在歸家途中,想要控制家中的信息家電,就需要遠程控制。你可以通過PC或者PDA實現(xiàn)對家中電器的狀態(tài)查看以及操作控制。怎么實現(xiàn)遠程控制呢?一般可通過客戶端與家庭網(wǎng)關(guān)互聯(lián)通信來實現(xiàn)。也可以對家電的各種操作以及信息查看作為一個服務(wù)發(fā)布,引入WebJlt務(wù)的概念,再對請求的對象加上提交證書的限制,這樣可以保證只有擁有合法證書的用戶才能對自己的家電進行操作,還可以進行擴展以滿足其他更詳細的要求。當(dāng)前WebHt務(wù)技術(shù)正在深入研究和廣泛應(yīng)用,比傳統(tǒng)的Socket通信,WebBt務(wù)帶來的靈活性和松散耦舍性將遠程控制調(diào)用得更方便更靈活,更具擴展性。
7 總結(jié)
設(shè)計目的在于提出一種智能家居的實現(xiàn)方式,并對其進行模擬以深入了解其可行性以及優(yōu)缺點。關(guān)鍵在于對設(shè)備接口的定義,控制命令的定義,以及在這些定義的基礎(chǔ)上對其解析進行操作。