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