Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Ce07ncs002006000056

260 views

Published on

Published in: Technology
  • Be the first to comment

  • Be the first to like this

Ce07ncs002006000056

  1. 1. Web Services 在家庭自動化及遠距居家照護之應用 涂嘉壽 沈鈺翔 林文瑋 工業技術研究院電腦與通訊工業研究所 aso@itri.org.tw norman_sheng@itri.org.tw wenwei@itri.org.tw 本文主要以 Web Service 作為外界網路提供 服務的窗口,讓家中的所有裝置能夠藉由 OSGi 摘要 Service Platform 存取外部網路所提供的服務。舉例 來說,家用閘道器能透過開放式服務平台(OSGi 在 2002 年左右的一波在家中佈建網路的熱 Service Platform) 存 取 氣 象 局 所 提 供 的 Web潮之後,開發家庭與外界網路互動的相關服務自然 Services 服務,並依據所萃取的資訊隨時調整家庭成 為 下 一 個 值 得 深 入 研 究 的 課 題 。 OSGi(Open 內部相關裝置的狀態(例如:通知窗簾向下調整或Service Gateway Initiative)Service Platform 正好能 建議用戶應該搭配什麼衣服)。作為家庭中與外界網路的界接;本文即是從 WebServices 與家庭網路環境的結合為主題,規劃出一 因 此 , 在 本 文 中 我 們 提 出 了 結 合 Home個將家庭內網路結合外部網路所提供之 Home Automation 與 Home Telecare 之家庭網路架構。在Telecare 與 Home Automation 服務之架構。而外界 Home Automation 方面,我們所採用的數位家電裝網路可以透過能夠串聯各種平台及程式語言並提 置則是以 LonWorks 及 UPnP 兩種技術為主,並且供服務的 Web Services,使家庭內的自動化環境能 利用我們所自行設計的 OSGi Service Platform 來整夠與家庭外的網路環境所提供的網路服務結合。 合這兩種異質性網路。至於 Home Telecare 方面, 本架構在於為了解決需長期照護的患者、行動不便關鍵詞:網路服務、家庭網路、OSGi 的患者在醫院與居家之間來回奔走所造成的困擾 以及改善醫院病床不足等問題。另一方面,我們也 以“個人家庭醫療照護”模擬情境來驗證本文 Home Abstract Telecare 建構之可行性。We’ve planed an infrastructure to connect the homenetwork and external network, and provide home 1. 相關技術介紹networking environment Home Telecare and HomeAutomation services that is provided by externalnetwork. The OSGi(Open Service Gateway Initiative) 1.1 Web Servicesservice platform can be the interface between Internetand Home Network. External network can connect all Web Services [4] [5] [6] 是服務導向架構的關kinds of platforms and programming languages by 鍵技術之一,可透過網際網路使用企業內原有的商using Web Services. 業邏輯程式.微軟、IBM 這幾家大廠投入研發開發 工具、應用程式和平台,使用該技術的應用案例也Keywords: Web Services、home network、OSGi 越來越多。Web Services所使用到的技術如下: 1. 前言 HTTP:網際網路上最為通用的通訊協定,用以與 Web Server 溝通,取得 Web Server 所提供的內容。 在網路愈加發達的現代,越來越多的便利性由於網路的普及而被開發出來。數位家電的興起使 簡易物件存取協定(SOAP):以 XML 為基礎的得數位產業與家庭生活的結合更加的緊密,數位家 通訊協定。SOAP 通訊協定多架構於 HTTP 之庭的願景也逐漸成形。接著在 2002 年左右的一波 上.SOAP 的功能為遠端呼叫和要求 Web 服務。在家中佈建網路的熱潮之後,為了更方便我們日常 這項協定會描述訊息內容、使用者處理的方式、由生活,開發家庭與外界網路互動的相關服務自然成 誰處理、以及這個訊息的優先順序(一定要處理或為下一個值得深入研究的課題。 不處理也沒關係) 。SOAP 便會按照內容決定某些 服務可由誰使用以及如何使用。 1
  2. 2. Web 服務描述語言(WSDL):另一種以 XML 為 mBedded Server)等多樣化產品。基礎的規格,讓服務的廠商能說明各項 Web 服務的介面。WSDL 提供的是各項服務的基本定義,也就是說這項協定能提供使用者某項應用程式,或 1.3 Universal Plug and Play把一連串的處理作業組合起來變成一項服務。 UPnP(Universal Plug and Play)是 UPnP Forum在 1999 年提出的通訊協定[11] 。為了能夠簡化所有1.2 OSGi Gateway 數位裝置的設定及安裝程序,也不需要將所有數位 裝置都連接到我們的電腦上,便於使用;並且還額 OSGi(Open Service Gateway Initiative ) 於 外提供了對數位裝置與服務項目做搜尋(discovery)1999 年 3 月所成立[10] ,主要期望能制定一個整 與控制(control)的動作。合性的資訊服務平台 並將之整合至OSGi Gateway ,中。在此開放性的架構下,不同廠商所開發出來的 在UPnP的架構中有兩種物件:控制設備(CD)服務軟體、設備就能彼此溝通或搭配使用[2] [12] 。 和控制點(CP),以及六種狀態:定址(Addressing)、 發 現 (Discovery) 、 描 述 (Description) 、 控 制 如下 圖 1所示,OSGi制定標準的最主要目 (Control)、事件(Eventing)、陳述(Presentation),各的,是為了提供遠端的軟體服務供應商與本地端的 種狀態的描述及圖解如下圖 2所示:設備,一個點對點的服務傳送方案。使得遠端軟體服務供應商能視使用者需求,將應用程式或加值性服務,動態的透過網際網路下載至用戶端的OSGiGateway上,並且自動執行安裝服務[5] [7] [9] 。 圖 2 UPnP 六種狀態架構圖 定址(Addressing) 對於支援 UPnP 的裝置(CD : 或是 CP)來說,在打開電源之後,必須先取 得 IP 位址並加入網域中,藉由 Ethernet 與其 他的 UPnP 裝置相互聯繫。 發現(Discovery): 在加入網域之後,CP 會 送 出 SSDP(Simple Service Discovery 圖 1 OSGi 服務平台架構 Protocol,簡單服務發現協定)封包,獲得目 前網路上所有 UPnP 裝置的服務描述檔案。OSGi 架 構 [1] 主 要 由 三 種 元 件 所 組 成 : 描述(Description):CP 會紀錄接收到的服務Framework、Bundle和Service。Framework架構在 描述檔案中描述的所有服務及功能,以便於Java VM(Java Virtual Machine)上,Bundle則是執行 之後控制網路上的 UPnP 裝置。於Framework 上的應用程式,而Service是Bundle 控 制 (Control) : CP 可 發 送 SOAP(Simple所提供(Export)或所需(Import)的介面服務。從遠端 Object Access Protocol,簡單物件存取通訊協下載的Bundle會在OSGi Framework上自動安裝 執 、 定)封包,對之前發現的 CD 作服務及功能的行,並跟OSGi平台註冊Bundle所提供分享或所需 控制。要的服務(Service)。 事件(Eventing):由於 CD 的狀態會因為不同 CP 的控制而改變,CD 必須在狀態改變時以目前IBM、Prosyst、Gatespace及Atinav等廠商均己 含 有 GENA(General Event Notification依 據 OSGi 規 格 開 發 出 相 關 的 服 務 平 台 (IBM Architecture,通用事件通告結構)架構的 httpService Management Framework 、 Gatespace 封包通知所有對 CD 註冊的 CP。Ubiserv 、 ProSyst mBedded Server 和 Atinav 陳述(Presentation):CD 可選擇性提供一個aveLink™) 與 應 用 開 發 工 具 (IBM Websphere 、 HTML 的介面讓 CP 對 CD 進行控制與管理 。Prosyst mBedded Builder)。然而,目前市面上搭配 、OSGi服務平台有Cisco iHG(Gatespace Ubiserv) TulSG 2100 系列(IBM SMF)和Philips iPronto(ProSyst 1.4 LonWorks 2
  3. 3. LonWorks技術由美國Echelon公司 90 年代開發推出[8] ,可分成四個主要部分:LonWorks通訊協定、Neuron Chip、控制及連接裝置以及LonWorks網路服務(LonWorks Network Services)。LonWorks所使用的通訊協定為LonTalk,它涵蓋了國際標準化組織(ISO)的OSI(Open Systems Interconnection,開放系統互連)模型中的所有七層協定。NeuronChip裡面則是包含了 LonWorks的主要硬體以及LonWorks所用到的通訊協定。LonWorks所具備的特點如下: 涵蓋所有 ISO/OSI 模式的一至七層協定:互 通性高,可建構大型網路而不需借助 Gateway。 圖 3 本文家庭網路示意圖 多重通訊介質:可使用雙絞線、電源線、無 線(RF)、同軸電纜、紅外線、光纖等不同介 質來傳輸,彈性較大。 全方位的服務能力:支援廣大範圍的應用。 2.1 Home Automation 與網際網路溝通容易:能夠讓 LonWorks 網 路與 Internet 相當容易連結,當然也方便進行 在 Home Automation 方 面 , 我 們 採 用 遠端監控動作。 LonWorks(電燈、電風扇、空氣清淨機、紅外線感 已開發成功:目前已在世界各地成千上百的 測器、溫度感測器、煙霧感測器、警報器)和 應用系統內使用中,較為穩定及可靠。 UPnP(影音多媒體播放器、攝影機和 Control Point) 等技術所架構而成。鑑於上述等技術,加上市面上已有越來越多採用UPnP 及 LonWorks 技術的裝置產生,證明 UPnP 但由於家庭網路的協定過於繁雜,缺乏共同及 LonWorks 的技術已逐漸成熟,因此我們使用這 依循的標準,以致於裝置與裝置之間的互通性兩種技術及 OSGi Gateway 做為家庭網路和網際網 (interoperability)問題難以解決。對用戶而言,這種路的溝通橋樑,來建構出本文家庭網路之雛型。除 不相容的情形只會帶來困擾,同時也會阻礙相關市此之外,我們也運用泛用控制台的技術,作為使用 場的推廣與應用服務的後續發展。者對數位家電控制介面的解決方案,不僅提升數位家庭的便利性,更是提供一個真正未來化的「數位家庭網路」。 因 此 , 在 本 文 中 我 們 利 用 OSGi Service Platform 來解決裝置間互通性的問題(例如:透過 UPnP Control Point 能夠 discovery 到 LonWorks 裝 2. 家庭網路主要架構 置的存在,並加以控制),並且結合 Web Services 讓家庭內部所有裝置能夠存取外部所提供的一切 資源。舉例來說,家用閘道器能透過 OSGi Service 下圖 3為本文建構而成的家庭網路概觀圖, Platform 存取氣象局所提供的 Web Services 服務,主要是Home Automation與Home Telecare兩種應用 並依據所萃取的資訊隨時調整相關家庭內部裝置情境所組成。 (例如:根據天氣資訊動態通知窗簾加以調整或是 建議用戶應該搭配什麼衣服)。 另外,我們在 Home Automation 方面主要以 cell phone、Home Portal 和 UPnP Control Point 來做 為使用者界面三種不同的呈現方式,讓用戶能夠隨 時隨地藉能夠藉由這三種呈現方式來監控家庭的 內部狀態。 3
  4. 4. 2.2 Home Telecare 本文所提出之 Home Telecare 對患者而言,可 提供遠距醫療照護 Web 界面應用程式,達到預約 看診時間/查詢個人病歷記錄等多項服務。對醫院 如下圖 4所示,在Home Telecare方面我們利 而言,透過 Web Services 客戶端應用程式將患者在用OSGi-Compliant血醣檢測計、OSGi-Compliant血 家裡搭配醫療裝置檢測的結果回傳至院方,並加以壓 檢 測 計 並 搭 配 OSGi Service Platform 及 Web 有效管理。Services技術來建構出一家庭醫療照護架構雛型。 2.3 OSGi Service Platform 鑑於上述本文所提出的家庭網路架構說明, 我 們 得 知 OSGi Service Platform 在 Home Automation 與 Home Telecare 兩方面都扮演著非常 重要的角色。它不僅僅是家庭內部網路與外部網際 網路唯一的溝通橋樑,也提供各種不同傳輸介面讓 遵循不同協定的裝置能夠快速、方便地進行網路資 料的分享、轉換和移轉等應用。 圖 4 家庭醫療照護架構雛型 本文建構此架構雛型在於為了解決需長期照護的患者、行動不便的患者在醫院與居家之間來回奔走所造成的困擾以及改善醫院病床不足等問題。另一方面,我們也以“個人家庭醫療照護”模擬情境來驗證本文 Home Telecare 建構之可行性,主要的內容說明如下: 患者能夠購買符合 OSGi-Compliant 且具備藍芽功能的血醣檢測計,一旦攜帶進入家庭環境中,放置家庭內部的 OSGi Service Platform 將會自動偵測到該新裝置的存在,並透過藍芽存取該血糖計的識別碼向遠端驅動程式目錄服務(Driver DirectoryService)查詢血醣檢測計驅動程式服務包(Driver 圖 5 OSGi Service Platform StackService Bundle)的下載位址,自動下載並安裝至 如圖 5所示,本文OSGi Service Platform設計OSGi Service Platform,並啓動該服務包。另外, 概 念 大 略 可 區 分 為 OSGi Framework 、 Visual提供驅動程式服務包的服務廠商也會在服務包裡 Machine 、 Operating System 與 Communication內嵌一個 Web 的管理介面,讓患者可以透過該管 Interface四個部份所架構組成。其中,最重要的部理介面查看自身血醣檢測的歷史紀錄。 份在於OSGi Framework方面,我們依據本文所架 構的家庭網路環境嵌入一系列我們自行研發的服 至於與 Web Services 搭配之目的在於能夠直 務包(Custom Bundles),讓OSGi Service Platform能接與醫院進行溝通連接,讓擁有符合 藉由這些服務包來完成Home Automation和HomeOSGi-Compliant 裝置的患者能夠在家裡進行個人 Telecare之實現。遠距醫療照護。首先,患者只要在院方/線上申請填寫相關資料(如:個人基本資料,家裡 OSGiService Platform IP 位址等),一旦申請完成,院方 3. 相關實作將利用 Service Provisioning 的方式將相關的服務包(如:醫療裝置搜尋應用程式、遠距醫療照護 Web 在本章節中,我們將針對本文所提出的家庭界面應用程式和 Web Services 客戶端應用程式等) 網路架構分別說明 Web Services、OSGi Service下載至患者家中的 OSGi Service Platform,並啓動 platform、Home Automation、Home Telecare 之實這些服務包。 作設計。 4
  5. 5. 3.1 開發環境及相關工具 3.2.1 LonProxy OSGi Service Platform LonProxy 服 務 包 主 要 為 OSGi Service Platform 與 iLon100 進 行 溝 通 的 唯 一 窗 口 ( 以 : SBC VIA EPIA-MII 800MHz , 128RAM, SOAP/XML 方式溝通)。 1G HD OS:Linux 2.4.25 (Linux Kernel) VM:JVM1.4.2_05 OSGi Framework:Prosyst mbs5.2 Home Automation LonWorks:iLon100 與相關 LonWorks 裝置(燈泡、電風扇、空氣清淨機) UPnP:影音多媒體撥放器、攝影機、 TV 模擬應用程式 Home Telecare 圖 7 LonProxy 執行程序 血醣檢測計、血壓檢測計 如上圖 7所示,LonProxy主要負責的工作有: 程式開發相關工具 1. 向 iLon100 取得連接 LonWorks 網路所有裝置 JBuilder2005 、 LonMarker for 的資訊(例如: 裝置的識別碼-Neuron ID )。 Windows、Visual Studio.NET 2003 2. 接著,根據取得的資訊後自動向遠端驅動程 式目錄服務查詢且下載相對應的 Lon2UPnP3.2 Home Automation Driver 服 務 包 , 並 安 裝 至 OSGi Service Platform 且自動啓動執行。 如下圖 6所示,在Home Automation方面,我 3. 接 受 己 安 裝 在 OSGi Service Platform 裡們著重解決裝置與裝置之間的相互溝通問題,因此 LonDevice Driver 服 務 包 所 傳 來 的 請 求 訊利用OSGi技術將其LonWorks和UPnP兩種不同協 息,LonProxy 會將該訊息組合成 iLon100 能定的裝置整合。 夠解譯的格式轉而傳遞給 iLon100 讀取解譯 。 Register Driver Location Driver Device Manufacture Directory Service 3.2.2 Lon2UPnP Driver (soap) Prepare Ask Driver Location Get Driver Location Mobile 簡單來說,Lon2UPnP Driver 該服務包主要將 Driver For OSGi SP control LonWorks 的裝置 Exporter 成一個 UPnP 裝置。目Download UPnP control web 的 在 於 讓 UPnP Control Point 能 夠 藉 由 OSGi Get Driver Show UI Home Lamp Driver Portal Service Platform 與 LonWorks 裝置進行溝通。 control control Driver UPnP Download C.P. Download Location from Driver iLon100 如下 圖 8所示,若將該服務包安裝至OSGi Location Lon Lamp , Service Platform且啓動執行 UPnP Base Driver便會 收 到 通 知 的 訊 息 , 進 而 動 態 產 生 一 個 新 UPnP 圖 6 Home Automation 主要架構 Device Service Object並註冊至OSGi Registry裡。一 旦註冊完成,UPnP Control Point就立即收到新裝置 加入的通知訊息。因此,在這裡我們將該Device 另外,我們針對此 Home Automation 架構在 Service Object視為一個虛擬化的UPnP裝置。OSGi Service Platform 中設計了一系列的服務包(LonProxy、LonDevice Service Driver、Axis_Lib、UPnP Base Driver 等 Custom Bundles),以實現Home Automation 之需求。接著,我們將一一介紹這些服務包的實作內容。 5
  6. 6. 醫院需有支援 OSGi Provisioning Service 功能 的 Remote Manager,並且提供一個 web 服務供遠 端設備上傳資料用,本研究以個人電腦模擬。 3.3.1 CommPort_Driver 在本文醫療器材實作方面,我們選擇具備傳圖 8 透過 Lon2UPnP 將 LonWorks Exporter 成 UPnP 輸功能的血醣檢測計以序列埠連接至 PC,以該 PC裝置 來摸擬符合 OSGi-Compliant 規範且具備 Bluetooth 功能的血醣檢測計。另外,我們也以另一台 PC 來 架設模擬院方所提供的 Web Services 因此在 OSGi ,3.2.3 UPnP Base Driver Framework 部份,我們設計了與血醣檢測計連接的 CommPort_Driver 服務包。 在 UPnP Base Driver 方 面 , 我 們 使 用 由Domoware[3] 所提供的UPnP Base Driver服務包。 該服務包主要負責將患者使用血醣檢測計所目前 該服務包相 容 OSGi3.0 的規範 ,且己 經由 檢測出來的值回傳至 OSGi Service Platform,也就OSCAR所驗證測試過。該服務包設計之目的主要 是開啓 serial port 與血醣檢測計連接並將檢測的值是 讓 UPnP Control Point 能 夠 discovery 到 註 冊 在 傳送至該服務包中的應用程式。OSGi Registry裡的UPnP Device Service Object,並進一步做存取) 。 3.4 Web Services3.3 Home Telecare Web Services 的機制可分為 Dynamic Driver Install 與 Driver Directory Service 及 Directory Web Register Services,分別討論如下: Driver Location Driver Device Directory Manufacture Service (soap) 3.4.1 Dynamic Driver Install 與 Hospital Prepare Ask Driver Location Get Driver Location Driver Directory Service 的機制 Driver For OSGi SP Remote Download Install&Mngt. Get Driver Driver use Medical App Report data (soap) 首先設備商將該型號設備的驅動程式下載的 Drive 位置註冊到一個統一的驅動程式下載目錄服務。該 Driver Download Download Bluetooth Connection 目錄服務為一 Web Services 提供所有需要的 OSGi , Location from Driver Location 服務平台驅動程式下載的位置。OSGi 服務平台以 Glucose Measurement Device 設備的 ID 詢問目錄服務,目錄服務接收到詢問後 會回傳該驅動程式的下載位置。OSGi 服務平台到 圖 9 House Telecare 架構圖 該下載位置將驅動程式下載並且安裝後啟動該驅 動程式 即可驅動掛附在 OSGi 服務平台上的設備 , 。 假設某一第三方的組織建立一個 web service提供 osgi driver bundle 的下載資訊、認證廠商、讓 3.4.2 Directory Web Services 實廠商註冊其所提供設備的驅動程式下載點。本例的廠商是生產血糖計的廠商。而我們所使用的血糖計 作需有傳輸的功能,經由血糖計的序列埠轉接個人電腦,再透過個人電腦將其模擬為藍芽設備作為實驗 以 Microsoft VB.NET 開發的 Web Service。其的環境。 主要的介面如下: 家中的 OSGi 家庭閘道器要有支援藍芽的功 UpdateBundleURLwithNeuronID能,本研究以個人電腦模擬。 此方法可以更新已經存在於目錄服務中的資 6
  7. 7. 料。 就目前本文家庭網路而言,目前只支援 UPnP 與 LonWorks 兩種傳輸媒介,未來我們將依市場需 isExist 求分析進一步整合其他不同的傳輸媒介(如: 檢測該筆資料是否存在於目錄服務之中。 HomePlug、UWB、Zigbee 等)來加以驗證本文家庭 網路架構之可行性。 SetBundleURLwithNeuronID 建立一筆新的資料至目錄服務之中。 至於 Home Telecare 的血醣計部分,目前我們 GetBundleURLformNeuronID 是以連接個人電腦的方式將其模擬為藍芽設備;之 藉由設備 ID 取得 Bundle 驅動程式的 URL。 後可和廠商合作,將藍芽模組加入血醣計中。而伺 服器端未來也可整合至醫院的既有系統中,方便資 除此之外,為了方便輸入,也建立了一個給註 訊人員的管理。冊者使用的人性化使用者介面。 本研究目前尚未考慮安全性的相關問題. 5. 參考文獻 [1] Condry, M.; Gall, U.; Delisle, P., “Open Service Gateway architecture overview,” IEEE Industrial Electronics Society, pp. 735-742, 1999. [2] Dobrev, P.; Famolari, D.; Kurzke, C.; Miller, B.A., “Device and service discovery in home networks with OSGi,” IEEE Communications Magazine, pp. 86-92, August 2002. [3] DomoWare, http://domoware.isti.cnr.it/ [4] F Curbera, M Duftler, R Khalaf, W Nagy, N Mukhi, S … “Unraveling the Web Services Web” IEEE Internet Computing, 2002 - 圖 10 Directory Web Service WSDL ieeexplore.ieee.org [5] F Curbera, R Khalaf, N Mukhi, S Tai, S Weerawarana “The next step in Web services” Communications of the ACM, 2003 - portal.acm.org [6] H Kreger “Web Services Conceptual Architecture” IBMTechnical Report WCSA, 2001 [7] Hofrichter, K., “The residential gateway as service platform,” IEEE Consumer Electronics, pp. 304-305, 2001. [8] LonWorks, http://www.echelon.com [9] Marples, D.; Kriens, P., “The Open Services Gateway Initiative: An Introductory Overview,” 圖 11 UI for Input Data IEEE Communications Magazine, pp. 110-114, Dec 2001. [10] OSGi Alliance, http://www.osgi.org/ 4. 結論 [11] UPnP, http://www.upnp.org [12] Xie Li; Wenjun Zhang, “The design and 網路的串聯可以更加的提升生活的便利性。 implementation of home network system using OSGi compliant middleware,” IEEE Consumer在本文中主要提出了一個架構,將外部網路以提供 Electronics, pp. 528-534, May 2004.Web Service 的方式與家庭網路串聯;而本文中的家庭網路則以 OSGi Gateway 為中心與外部網路連通,家庭網路內部則是以支援 LonWorks 與 UPnP的數位家庭裝置為主,並且提出兩個可提升便利性的實例。 7

×