摘要:本文先介紹了中間件技術(shù)的基本概念和目前在實(shí)現(xiàn)家庭網(wǎng)絡(luò)平臺(tái)中較有影響的主流中間件技術(shù), 然后提出的一種基于中間件的智能家居系統(tǒng)原型的設(shè)計(jì)與實(shí)現(xiàn)。
關(guān)鍵詞:中間件;智能家居
中圖分類號(hào):TP273文獻(xiàn)標(biāo)識(shí)碼:A文章編號(hào):1009-3044(2008)15-20ppp-0c
Based on Information Middleware Smart Home System Design and Implementation
LI Zhi-yong
(Computer Academy,National University of Defense Technology,Changsha 410073,China)
Abstract:This article first introduced the basic concept of middleware technology and the current network platform in the family the more influential mainstream middleware technology, and then a middleware based on the intelligent home system prototype design and implementation.
Key words:Middleware;Smart Home
1 引言
隨著計(jì)算機(jī)網(wǎng)絡(luò)通信越來越改變?nèi)藗兊纳罘绞胶凸ぷ鞣绞�。智能家居技術(shù)業(yè)務(wù)一例外的受到新技術(shù)的影響而具有新的軟硬件結(jié)構(gòu)和功能,其中影響最大的就是網(wǎng)絡(luò)技術(shù)的興起和應(yīng)用。
基于網(wǎng)絡(luò)的智能家居系統(tǒng)除了具有一般智能家居系統(tǒng)的基本功能以外,還可以發(fā)揮每一個(gè)家庭和整個(gè)社區(qū)聯(lián)網(wǎng)的優(yōu)勢(shì)成為整個(gè)小區(qū)的一個(gè)智能終端。但是目前各廠商或機(jī)構(gòu)提出的網(wǎng)絡(luò)化智能家居的解決方案科研精力放在智能家居內(nèi)部電器的通信和組網(wǎng)上,忽略了家庭設(shè)備與外界的互聯(lián)互通,設(shè)備的遠(yuǎn)程監(jiān)控。有的提出家用設(shè)備與外界的互聯(lián)也多為家庭網(wǎng)關(guān)中嵌入WEB服務(wù)模塊,是一種單一家庭的智能家居系統(tǒng)解決方案,沒有和智能小區(qū)有效結(jié)合起來,存在很多的信息孤島;這樣的智能家居系統(tǒng)擴(kuò)展性也很差,
2 智能家居系統(tǒng)中間件技術(shù)
2.1 中間件技術(shù)簡(jiǎn)介
中間件技術(shù)是伴隨網(wǎng)絡(luò)而發(fā)展起來的一種面向?qū)ο蟮募夹g(shù)。它的主要作用是用來屏蔽網(wǎng)絡(luò)硬件平臺(tái)的差異性和操作系統(tǒng)與網(wǎng)絡(luò)協(xié)議的異構(gòu)性,使應(yīng)用軟件能夠比較平滑地運(yùn)行于不同平臺(tái)上。同時(shí)中間件在負(fù)載平衡、連接管理和調(diào)度方面起了很大的作用,使企業(yè)級(jí)應(yīng)用的性能得到大幅提升,滿足了關(guān)鍵業(yè)務(wù)的需求。
程序員通過調(diào)用中間件(middleware)提供的大量API,實(shí)現(xiàn)異構(gòu)環(huán)境的通訊,從而屏蔽異構(gòu)系統(tǒng)中復(fù)雜的操作系統(tǒng)和網(wǎng)絡(luò)協(xié)議。
中間件(middleware)提供客戶機(jī)與服務(wù)器之間的連接服務(wù),這些服務(wù)具有標(biāo)準(zhǔn)的程序接口和協(xié)議。針對(duì)不同的操作系統(tǒng)和硬件平臺(tái),它們可以有符合接口和協(xié)議規(guī)范的多種實(shí)現(xiàn)。
我們智能家居系統(tǒng)就是在家庭設(shè)備終端和控制設(shè)備終端之間加入一層通信中間件層,這個(gè)通信中間件提供服務(wù)接口,隔離底層設(shè)備通信與應(yīng)用層,兼具業(yè)務(wù)軟件的管理功能,可以根據(jù)控制設(shè)備終端的的指令,控制家庭設(shè)備加載、配置、運(yùn)行。
2.2 智能家居系統(tǒng)中的中間件技術(shù)
現(xiàn)在有一些構(gòu)建好的基于中間件的智能小區(qū)/家居系統(tǒng),這些系統(tǒng)基本都是將中間件建立在家庭網(wǎng)關(guān)的部分,然后用戶利用一些控制終端控制通過家庭網(wǎng)關(guān)訪問家庭設(shè)備,這樣也能做到對(duì)家庭設(shè)備的控制和監(jiān)控。
為了提高不同系統(tǒng)之間的互操作能力,涌現(xiàn)出很多家庭網(wǎng)絡(luò)中間件規(guī)范,其中包括OSGi、UPnP、HAVi、jini、OpenCable等。在這些中間件的規(guī)范中,根據(jù)設(shè)計(jì)目的、覆蓋范圍和出發(fā)點(diǎn)不同,可以大致分為兩類,一類是以家庭網(wǎng)關(guān)為中心形成的集中式控制的家庭網(wǎng)絡(luò)中間件規(guī)范,如OSGi、OpenCable等;另一類式分布式控制的家庭網(wǎng)絡(luò)中間件規(guī)范,如UPnP、HAVi、Jini等,它們致力于設(shè)備與設(shè)備之間的自動(dòng)識(shí)別與相互通信,設(shè)備之間構(gòu)成的是對(duì)等連接。
在上述的兩類智能家居解決方案中,都是關(guān)注家庭內(nèi)部家庭設(shè)備的的連接,第一類是家庭設(shè)備與家庭網(wǎng)關(guān)相連,利用家庭網(wǎng)關(guān)通信,第二類則是家庭設(shè)備能夠互聯(lián)互通,然后在家庭網(wǎng)關(guān)上集成了對(duì)外的通信模塊,將家庭網(wǎng)關(guān)作為對(duì)外的唯一接口,這樣所有的家庭設(shè)備數(shù)據(jù)信息將集中在家庭網(wǎng)關(guān)上進(jìn)行處理、轉(zhuǎn)發(fā),家庭網(wǎng)關(guān)成為系統(tǒng)的最關(guān)鍵部件,我們?cè)诖藢⑦@種系統(tǒng)稱為嵌入式智能家居系統(tǒng)。這兩類智能家居系統(tǒng)為了用戶能夠訪問、控制設(shè)備,設(shè)計(jì)者一般在家庭網(wǎng)關(guān)上嵌入web服務(wù)或者無線模塊,通過web頁面或者無線遙控設(shè)備控制家庭設(shè)備。
通過上面的分析,我們可以發(fā)現(xiàn)這種嵌入式智能家居系統(tǒng)多為單一家庭提出的解決方案,沒有和智能小區(qū)連接起來,存在的很多的信息孤島,不利于信息的管理和分析。
而且,嵌入式智能家居系統(tǒng)也不是很利于系統(tǒng)的擴(kuò)展,由于所有的功能控制全部集中在家庭網(wǎng)關(guān)部分,每當(dāng)要為系統(tǒng)增加新的功能時(shí),我們需要修改每個(gè)家庭網(wǎng)關(guān)的設(shè)置,有些時(shí)候,還需要徹底更換一臺(tái)新的家庭網(wǎng)關(guān)設(shè)備。
基于上面對(duì)嵌入式智能家居系統(tǒng)中間件放在家庭網(wǎng)關(guān)的考慮,我們沒有把數(shù)據(jù)的處理全部放在家庭網(wǎng)關(guān),然后利用家庭網(wǎng)關(guān)把數(shù)據(jù)直接傳遞給用戶,而是利用家庭網(wǎng)關(guān)把數(shù)據(jù)傳到一臺(tái)服務(wù)器,用戶通過訪問服務(wù)器上的用戶門戶,間接訪問家庭設(shè)備。在服務(wù)器端,我們?cè)O(shè)計(jì)了另外一個(gè)數(shù)據(jù)通訊的通信中間件——通信網(wǎng)關(guān),通信網(wǎng)關(guān)主要的功能是完成不同通信協(xié)議之間的轉(zhuǎn)換,并把家庭設(shè)備的信息發(fā)送給用戶,接收用戶對(duì)家庭設(shè)備的控制/查詢命令,轉(zhuǎn)發(fā)到家庭網(wǎng)關(guān)。
3 基于消息中間件智能家居系統(tǒng)的設(shè)計(jì)
3.1 整體思想
在前面的分析中,我們提到目前大多實(shí)現(xiàn)的智能家居系統(tǒng)實(shí)際是為單一家庭設(shè)計(jì)的嵌入式智能家居系統(tǒng)解決方案,沒有和智能小區(qū)有效結(jié)合起來,存在很多的信息孤島,為了解決這個(gè)問題,我們整個(gè)智能家居系統(tǒng)由遠(yuǎn)程控制端、帶有大型數(shù)據(jù)庫的高性能服務(wù)器、家庭網(wǎng)絡(luò)控制監(jiān)控設(shè)備三部分組成。該系統(tǒng)的層次說明如下:
1)客戶的查詢控制終端主要通過瀏覽器實(shí)現(xiàn),應(yīng)該也可以是手機(jī)、PDA等終端設(shè)備,控制命令通過有線\無線網(wǎng)絡(luò)和后臺(tái)服務(wù)器通信,后臺(tái)的服務(wù)器驗(yàn)證用戶的身份和任務(wù),轉(zhuǎn)化為數(shù)據(jù)庫中的查詢控制記錄和參數(shù)。
2)數(shù)據(jù)庫中記載了用戶和屬于該用戶的詳細(xì)信息,并且兩個(gè)用戶之間的電器設(shè)備可以互不干擾,動(dòng)態(tài)添加。當(dāng)用戶的任務(wù)到達(dá)數(shù)據(jù)庫中的時(shí)候,該任務(wù)就通過通信接口向下傳遞。這樣做的好處是,服務(wù)器的通信程序可以只寫一次而提供用戶和用戶家庭內(nèi)部控制端兩部分使用,簡(jiǎn)化了系統(tǒng)通信結(jié)構(gòu)。
3)家庭內(nèi)部網(wǎng)絡(luò)系統(tǒng)由于需要控制硬件,所以需要系統(tǒng)駐留程序來不斷完成控制離散設(shè)備的開關(guān)、狀態(tài)等信號(hào)的任務(wù)。
通過以上分析,我們可以得出系統(tǒng)的結(jié)構(gòu)模型,圖1是系統(tǒng)架構(gòu)設(shè)計(jì)圖。
3.2 各模塊的設(shè)計(jì)思路及功能介紹
1)端設(shè)備—家庭網(wǎng)關(guān)(Home Gatway)是網(wǎng)絡(luò)化智能家居的節(jié)點(diǎn)。在家庭中,通過485總線連接各中家庭設(shè)備,然后通過一個(gè)串口服務(wù)器設(shè)備(Serial to IP)完成RS-232/RS485格式和以太網(wǎng)傳輸?shù)腎P包之間的數(shù)據(jù)雙向轉(zhuǎn)換,從而給傳統(tǒng)的串行設(shè)備增加聯(lián)網(wǎng)功能。
家庭網(wǎng)關(guān)安裝在每個(gè)家庭中,負(fù)責(zé)收集家用設(shè)備的狀態(tài)信息、控制家用設(shè)備的狀態(tài)。家庭網(wǎng)關(guān)負(fù)責(zé)完成以下事情:解析通訊網(wǎng)關(guān)發(fā)過來的TCP報(bào)文并向家用設(shè)備發(fā)送控制命令;接受家用設(shè)備發(fā)過來的狀態(tài)信息,向通訊網(wǎng)關(guān)發(fā)送家用設(shè)備的狀態(tài)(包括家用設(shè)備的狀態(tài)改變即時(shí)發(fā)送和家用設(shè)備狀態(tài)的定期發(fā)送)的TCP報(bào)文。
2)通訊網(wǎng)關(guān)(Communication Gateway)是系統(tǒng)核心部分。它獲取來自家庭網(wǎng)關(guān)經(jīng)由通信網(wǎng)絡(luò)傳送過來的數(shù)據(jù),將數(shù)據(jù)解析后,保存到數(shù)據(jù)庫中,并把數(shù)據(jù)轉(zhuǎn)換后通過消息發(fā)布/訂閱引擎發(fā)布給用戶/小區(qū)保安。它主要的功能是完成不同通信協(xié)議之間的轉(zhuǎn)換;并把家庭設(shè)備的信息發(fā)送給用戶;接收用戶對(duì)家庭設(shè)備的控制/查詢命令,轉(zhuǎn)發(fā)到家庭網(wǎng)關(guān)。
3)系統(tǒng)數(shù)據(jù)庫(System Database)是通過對(duì)整個(gè)軟件功能的考慮來搭建的community數(shù)據(jù)源,在數(shù)據(jù)源中建立表格、視圖、字段來存儲(chǔ)用戶信息、模塊信息、費(fèi)用信息、安防報(bào)警信息等。
JDBC(Java 數(shù)據(jù)庫連接,Java Database Connectivity)是一種基于X/Open的SQL命令級(jí)接口,它有一組用JAVA語言編寫的類和接口組成,使得程序開發(fā)人員可以建立一個(gè)與數(shù)據(jù)庫無關(guān)、與平臺(tái)無關(guān)的編程接口建立數(shù)據(jù)庫應(yīng)用程序。通訊網(wǎng)關(guān)和系統(tǒng)服務(wù)平臺(tái)都是通過JDBC API訪問數(shù)據(jù)庫。
4)系統(tǒng)管理平臺(tái)(System Manage portal)基于J2EE三層B/S架構(gòu),實(shí)現(xiàn)管理通訊模塊通訊格式、家庭通訊設(shè)備、使用通訊設(shè)備的用戶,這是一個(gè)系統(tǒng)運(yùn)行的支撐平臺(tái),它提供、管理系統(tǒng)運(yùn)行需要的信息和資源。
5)控制終端(Control Terminal)主要用于用戶實(shí)現(xiàn)對(duì)家庭設(shè)備的查詢和控制以及接收家庭設(shè)備信息。用戶可以通過WEB\WAP\SMS的方式連接上后臺(tái)的服務(wù)程序后,實(shí)現(xiàn)對(duì)家庭設(shè)備的查詢和控制,同時(shí)可以使用預(yù)先定制的設(shè)備信息通知通道(SMS\MMS\eMail)接收家庭設(shè)備的狀態(tài)信息。
4 結(jié)束語
在基于消息中間件的智能家居系統(tǒng)中,為了避免大多嵌入式智能家居系統(tǒng)中出現(xiàn)的信息孤島孤島和擴(kuò)展性差的問題,我們?cè)O(shè)計(jì)了一個(gè)面向消息的中間件(message-Oriented middleware),完成異構(gòu)隔離、消息傳遞、數(shù)據(jù)交換和模塊管理等功能,為系統(tǒng)的可擴(kuò)展性提供了良好的支持。
參考文獻(xiàn):
[1]李華飚,郭英奎.Java中間件開發(fā)技術(shù)[M].北京:中國(guó)水利水電出版社,2005.
[2]COMER DOUGLAS E.用TCP/IP 進(jìn)行網(wǎng)際互連——TCP/IP 詳解,卷1:協(xié)議[M].林瑤,譯.北京:電子工業(yè)出版社,2001.
[3]李志生,李利新.基于網(wǎng)絡(luò)的集成型智能家居系統(tǒng)(CIHAS)發(fā)展趨勢(shì)初探[J].廣東工業(yè)大學(xué)學(xué)報(bào),2002,19(2):73-74.
[4]蘇洋.分布式應(yīng)用對(duì)象間JMS消息服務(wù)原理與消息處理過程[J].微型機(jī)與應(yīng)用,2002.
[5]David Reilly,Michael Reilly.java網(wǎng)絡(luò)編程與分布式計(jì)算[M].沈鳳,譯.北京:機(jī)械工業(yè)出版社,2003.
收稿日期:2008-03-11
作者簡(jiǎn)介:李志勇(1974-),男,湖南長(zhǎng)沙人,系統(tǒng)分析師,軟件工程碩士,研究方向:大型網(wǎng)絡(luò)應(yīng)用系統(tǒng)架構(gòu),J2EE技術(shù)。
關(guān)鍵詞:中間件;智能家居
中圖分類號(hào):TP273文獻(xiàn)標(biāo)識(shí)碼:A文章編號(hào):1009-3044(2008)15-20ppp-0c
Based on Information Middleware Smart Home System Design and Implementation
LI Zhi-yong
(Computer Academy,National University of Defense Technology,Changsha 410073,China)
Abstract:This article first introduced the basic concept of middleware technology and the current network platform in the family the more influential mainstream middleware technology, and then a middleware based on the intelligent home system prototype design and implementation.
Key words:Middleware;Smart Home
1 引言
隨著計(jì)算機(jī)網(wǎng)絡(luò)通信越來越改變?nèi)藗兊纳罘绞胶凸ぷ鞣绞�。智能家居技術(shù)業(yè)務(wù)一例外的受到新技術(shù)的影響而具有新的軟硬件結(jié)構(gòu)和功能,其中影響最大的就是網(wǎng)絡(luò)技術(shù)的興起和應(yīng)用。
基于網(wǎng)絡(luò)的智能家居系統(tǒng)除了具有一般智能家居系統(tǒng)的基本功能以外,還可以發(fā)揮每一個(gè)家庭和整個(gè)社區(qū)聯(lián)網(wǎng)的優(yōu)勢(shì)成為整個(gè)小區(qū)的一個(gè)智能終端。但是目前各廠商或機(jī)構(gòu)提出的網(wǎng)絡(luò)化智能家居的解決方案科研精力放在智能家居內(nèi)部電器的通信和組網(wǎng)上,忽略了家庭設(shè)備與外界的互聯(lián)互通,設(shè)備的遠(yuǎn)程監(jiān)控。有的提出家用設(shè)備與外界的互聯(lián)也多為家庭網(wǎng)關(guān)中嵌入WEB服務(wù)模塊,是一種單一家庭的智能家居系統(tǒng)解決方案,沒有和智能小區(qū)有效結(jié)合起來,存在很多的信息孤島;這樣的智能家居系統(tǒng)擴(kuò)展性也很差,
2 智能家居系統(tǒng)中間件技術(shù)
2.1 中間件技術(shù)簡(jiǎn)介
中間件技術(shù)是伴隨網(wǎng)絡(luò)而發(fā)展起來的一種面向?qū)ο蟮募夹g(shù)。它的主要作用是用來屏蔽網(wǎng)絡(luò)硬件平臺(tái)的差異性和操作系統(tǒng)與網(wǎng)絡(luò)協(xié)議的異構(gòu)性,使應(yīng)用軟件能夠比較平滑地運(yùn)行于不同平臺(tái)上。同時(shí)中間件在負(fù)載平衡、連接管理和調(diào)度方面起了很大的作用,使企業(yè)級(jí)應(yīng)用的性能得到大幅提升,滿足了關(guān)鍵業(yè)務(wù)的需求。
程序員通過調(diào)用中間件(middleware)提供的大量API,實(shí)現(xiàn)異構(gòu)環(huán)境的通訊,從而屏蔽異構(gòu)系統(tǒng)中復(fù)雜的操作系統(tǒng)和網(wǎng)絡(luò)協(xié)議。
中間件(middleware)提供客戶機(jī)與服務(wù)器之間的連接服務(wù),這些服務(wù)具有標(biāo)準(zhǔn)的程序接口和協(xié)議。針對(duì)不同的操作系統(tǒng)和硬件平臺(tái),它們可以有符合接口和協(xié)議規(guī)范的多種實(shí)現(xiàn)。
我們智能家居系統(tǒng)就是在家庭設(shè)備終端和控制設(shè)備終端之間加入一層通信中間件層,這個(gè)通信中間件提供服務(wù)接口,隔離底層設(shè)備通信與應(yīng)用層,兼具業(yè)務(wù)軟件的管理功能,可以根據(jù)控制設(shè)備終端的的指令,控制家庭設(shè)備加載、配置、運(yùn)行。
2.2 智能家居系統(tǒng)中的中間件技術(shù)
現(xiàn)在有一些構(gòu)建好的基于中間件的智能小區(qū)/家居系統(tǒng),這些系統(tǒng)基本都是將中間件建立在家庭網(wǎng)關(guān)的部分,然后用戶利用一些控制終端控制通過家庭網(wǎng)關(guān)訪問家庭設(shè)備,這樣也能做到對(duì)家庭設(shè)備的控制和監(jiān)控。
為了提高不同系統(tǒng)之間的互操作能力,涌現(xiàn)出很多家庭網(wǎng)絡(luò)中間件規(guī)范,其中包括OSGi、UPnP、HAVi、jini、OpenCable等。在這些中間件的規(guī)范中,根據(jù)設(shè)計(jì)目的、覆蓋范圍和出發(fā)點(diǎn)不同,可以大致分為兩類,一類是以家庭網(wǎng)關(guān)為中心形成的集中式控制的家庭網(wǎng)絡(luò)中間件規(guī)范,如OSGi、OpenCable等;另一類式分布式控制的家庭網(wǎng)絡(luò)中間件規(guī)范,如UPnP、HAVi、Jini等,它們致力于設(shè)備與設(shè)備之間的自動(dòng)識(shí)別與相互通信,設(shè)備之間構(gòu)成的是對(duì)等連接。
在上述的兩類智能家居解決方案中,都是關(guān)注家庭內(nèi)部家庭設(shè)備的的連接,第一類是家庭設(shè)備與家庭網(wǎng)關(guān)相連,利用家庭網(wǎng)關(guān)通信,第二類則是家庭設(shè)備能夠互聯(lián)互通,然后在家庭網(wǎng)關(guān)上集成了對(duì)外的通信模塊,將家庭網(wǎng)關(guān)作為對(duì)外的唯一接口,這樣所有的家庭設(shè)備數(shù)據(jù)信息將集中在家庭網(wǎng)關(guān)上進(jìn)行處理、轉(zhuǎn)發(fā),家庭網(wǎng)關(guān)成為系統(tǒng)的最關(guān)鍵部件,我們?cè)诖藢⑦@種系統(tǒng)稱為嵌入式智能家居系統(tǒng)。這兩類智能家居系統(tǒng)為了用戶能夠訪問、控制設(shè)備,設(shè)計(jì)者一般在家庭網(wǎng)關(guān)上嵌入web服務(wù)或者無線模塊,通過web頁面或者無線遙控設(shè)備控制家庭設(shè)備。
通過上面的分析,我們可以發(fā)現(xiàn)這種嵌入式智能家居系統(tǒng)多為單一家庭提出的解決方案,沒有和智能小區(qū)連接起來,存在的很多的信息孤島,不利于信息的管理和分析。
而且,嵌入式智能家居系統(tǒng)也不是很利于系統(tǒng)的擴(kuò)展,由于所有的功能控制全部集中在家庭網(wǎng)關(guān)部分,每當(dāng)要為系統(tǒng)增加新的功能時(shí),我們需要修改每個(gè)家庭網(wǎng)關(guān)的設(shè)置,有些時(shí)候,還需要徹底更換一臺(tái)新的家庭網(wǎng)關(guān)設(shè)備。
基于上面對(duì)嵌入式智能家居系統(tǒng)中間件放在家庭網(wǎng)關(guān)的考慮,我們沒有把數(shù)據(jù)的處理全部放在家庭網(wǎng)關(guān),然后利用家庭網(wǎng)關(guān)把數(shù)據(jù)直接傳遞給用戶,而是利用家庭網(wǎng)關(guān)把數(shù)據(jù)傳到一臺(tái)服務(wù)器,用戶通過訪問服務(wù)器上的用戶門戶,間接訪問家庭設(shè)備。在服務(wù)器端,我們?cè)O(shè)計(jì)了另外一個(gè)數(shù)據(jù)通訊的通信中間件——通信網(wǎng)關(guān),通信網(wǎng)關(guān)主要的功能是完成不同通信協(xié)議之間的轉(zhuǎn)換,并把家庭設(shè)備的信息發(fā)送給用戶,接收用戶對(duì)家庭設(shè)備的控制/查詢命令,轉(zhuǎn)發(fā)到家庭網(wǎng)關(guān)。
3 基于消息中間件智能家居系統(tǒng)的設(shè)計(jì)
3.1 整體思想
在前面的分析中,我們提到目前大多實(shí)現(xiàn)的智能家居系統(tǒng)實(shí)際是為單一家庭設(shè)計(jì)的嵌入式智能家居系統(tǒng)解決方案,沒有和智能小區(qū)有效結(jié)合起來,存在很多的信息孤島,為了解決這個(gè)問題,我們整個(gè)智能家居系統(tǒng)由遠(yuǎn)程控制端、帶有大型數(shù)據(jù)庫的高性能服務(wù)器、家庭網(wǎng)絡(luò)控制監(jiān)控設(shè)備三部分組成。該系統(tǒng)的層次說明如下:
1)客戶的查詢控制終端主要通過瀏覽器實(shí)現(xiàn),應(yīng)該也可以是手機(jī)、PDA等終端設(shè)備,控制命令通過有線\無線網(wǎng)絡(luò)和后臺(tái)服務(wù)器通信,后臺(tái)的服務(wù)器驗(yàn)證用戶的身份和任務(wù),轉(zhuǎn)化為數(shù)據(jù)庫中的查詢控制記錄和參數(shù)。
2)數(shù)據(jù)庫中記載了用戶和屬于該用戶的詳細(xì)信息,并且兩個(gè)用戶之間的電器設(shè)備可以互不干擾,動(dòng)態(tài)添加。當(dāng)用戶的任務(wù)到達(dá)數(shù)據(jù)庫中的時(shí)候,該任務(wù)就通過通信接口向下傳遞。這樣做的好處是,服務(wù)器的通信程序可以只寫一次而提供用戶和用戶家庭內(nèi)部控制端兩部分使用,簡(jiǎn)化了系統(tǒng)通信結(jié)構(gòu)。
3)家庭內(nèi)部網(wǎng)絡(luò)系統(tǒng)由于需要控制硬件,所以需要系統(tǒng)駐留程序來不斷完成控制離散設(shè)備的開關(guān)、狀態(tài)等信號(hào)的任務(wù)。
通過以上分析,我們可以得出系統(tǒng)的結(jié)構(gòu)模型,圖1是系統(tǒng)架構(gòu)設(shè)計(jì)圖。
3.2 各模塊的設(shè)計(jì)思路及功能介紹
1)端設(shè)備—家庭網(wǎng)關(guān)(Home Gatway)是網(wǎng)絡(luò)化智能家居的節(jié)點(diǎn)。在家庭中,通過485總線連接各中家庭設(shè)備,然后通過一個(gè)串口服務(wù)器設(shè)備(Serial to IP)完成RS-232/RS485格式和以太網(wǎng)傳輸?shù)腎P包之間的數(shù)據(jù)雙向轉(zhuǎn)換,從而給傳統(tǒng)的串行設(shè)備增加聯(lián)網(wǎng)功能。
家庭網(wǎng)關(guān)安裝在每個(gè)家庭中,負(fù)責(zé)收集家用設(shè)備的狀態(tài)信息、控制家用設(shè)備的狀態(tài)。家庭網(wǎng)關(guān)負(fù)責(zé)完成以下事情:解析通訊網(wǎng)關(guān)發(fā)過來的TCP報(bào)文并向家用設(shè)備發(fā)送控制命令;接受家用設(shè)備發(fā)過來的狀態(tài)信息,向通訊網(wǎng)關(guān)發(fā)送家用設(shè)備的狀態(tài)(包括家用設(shè)備的狀態(tài)改變即時(shí)發(fā)送和家用設(shè)備狀態(tài)的定期發(fā)送)的TCP報(bào)文。
2)通訊網(wǎng)關(guān)(Communication Gateway)是系統(tǒng)核心部分。它獲取來自家庭網(wǎng)關(guān)經(jīng)由通信網(wǎng)絡(luò)傳送過來的數(shù)據(jù),將數(shù)據(jù)解析后,保存到數(shù)據(jù)庫中,并把數(shù)據(jù)轉(zhuǎn)換后通過消息發(fā)布/訂閱引擎發(fā)布給用戶/小區(qū)保安。它主要的功能是完成不同通信協(xié)議之間的轉(zhuǎn)換;并把家庭設(shè)備的信息發(fā)送給用戶;接收用戶對(duì)家庭設(shè)備的控制/查詢命令,轉(zhuǎn)發(fā)到家庭網(wǎng)關(guān)。
3)系統(tǒng)數(shù)據(jù)庫(System Database)是通過對(duì)整個(gè)軟件功能的考慮來搭建的community數(shù)據(jù)源,在數(shù)據(jù)源中建立表格、視圖、字段來存儲(chǔ)用戶信息、模塊信息、費(fèi)用信息、安防報(bào)警信息等。
JDBC(Java 數(shù)據(jù)庫連接,Java Database Connectivity)是一種基于X/Open的SQL命令級(jí)接口,它有一組用JAVA語言編寫的類和接口組成,使得程序開發(fā)人員可以建立一個(gè)與數(shù)據(jù)庫無關(guān)、與平臺(tái)無關(guān)的編程接口建立數(shù)據(jù)庫應(yīng)用程序。通訊網(wǎng)關(guān)和系統(tǒng)服務(wù)平臺(tái)都是通過JDBC API訪問數(shù)據(jù)庫。
4)系統(tǒng)管理平臺(tái)(System Manage portal)基于J2EE三層B/S架構(gòu),實(shí)現(xiàn)管理通訊模塊通訊格式、家庭通訊設(shè)備、使用通訊設(shè)備的用戶,這是一個(gè)系統(tǒng)運(yùn)行的支撐平臺(tái),它提供、管理系統(tǒng)運(yùn)行需要的信息和資源。
5)控制終端(Control Terminal)主要用于用戶實(shí)現(xiàn)對(duì)家庭設(shè)備的查詢和控制以及接收家庭設(shè)備信息。用戶可以通過WEB\WAP\SMS的方式連接上后臺(tái)的服務(wù)程序后,實(shí)現(xiàn)對(duì)家庭設(shè)備的查詢和控制,同時(shí)可以使用預(yù)先定制的設(shè)備信息通知通道(SMS\MMS\eMail)接收家庭設(shè)備的狀態(tài)信息。
4 結(jié)束語
在基于消息中間件的智能家居系統(tǒng)中,為了避免大多嵌入式智能家居系統(tǒng)中出現(xiàn)的信息孤島孤島和擴(kuò)展性差的問題,我們?cè)O(shè)計(jì)了一個(gè)面向消息的中間件(message-Oriented middleware),完成異構(gòu)隔離、消息傳遞、數(shù)據(jù)交換和模塊管理等功能,為系統(tǒng)的可擴(kuò)展性提供了良好的支持。
參考文獻(xiàn):
[1]李華飚,郭英奎.Java中間件開發(fā)技術(shù)[M].北京:中國(guó)水利水電出版社,2005.
[2]COMER DOUGLAS E.用TCP/IP 進(jìn)行網(wǎng)際互連——TCP/IP 詳解,卷1:協(xié)議[M].林瑤,譯.北京:電子工業(yè)出版社,2001.
[3]李志生,李利新.基于網(wǎng)絡(luò)的集成型智能家居系統(tǒng)(CIHAS)發(fā)展趨勢(shì)初探[J].廣東工業(yè)大學(xué)學(xué)報(bào),2002,19(2):73-74.
[4]蘇洋.分布式應(yīng)用對(duì)象間JMS消息服務(wù)原理與消息處理過程[J].微型機(jī)與應(yīng)用,2002.
[5]David Reilly,Michael Reilly.java網(wǎng)絡(luò)編程與分布式計(jì)算[M].沈鳳,譯.北京:機(jī)械工業(yè)出版社,2003.
收稿日期:2008-03-11
作者簡(jiǎn)介:李志勇(1974-),男,湖南長(zhǎng)沙人,系統(tǒng)分析師,軟件工程碩士,研究方向:大型網(wǎng)絡(luò)應(yīng)用系統(tǒng)架構(gòu),J2EE技術(shù)。