第二章 技術背景
2.3 相關研究
2.3.1 UPnP階層式架構及室內燈控系統
國立交通大學碩士—劉育志的研究「適用於家庭自動化的通用隨插即用感測與促動器基 礎架構」[7] 裡曾經提及以通用隨插即用(UPnP)的技術建立一套家庭自動化網路裝置,
這篇論文主要貢獻在於將UPnP的架構階層化,其功能模塊如同圖 5。圖中將高、中、
低三層裝置,低層介面直接與廠商自訂裝置介面作互動,中層為通用裝置介面與低層聯 繫,高層為即時反應服務介面控制中層的裝置。數位家庭伺服器(eHome Server)這個高 層系統的控制中心,與階層化架構這兩部份將會與我們的研究有密切的相關性,接下來 的部份將會詳細說明。
圖 5: 感測與促動器基礎架構功能模塊
低層:廠商自訂裝置與服務介面
實作 UPnP 低層裝置主要是做為一個與實體裝置溝通的介面,描述的實體裝置可為無線 感測網路的微型監測器(Node)、感測裝置(Sensor)或促動器裝置(Actuator)等。由於是與 實體裝置接觸,所以 UPnP 裝置介面必須描述製造實際硬體的廠商所提供的所有功能及
服務。除此之外,低層裝置也提供與環境相關的資訊,例如放置地點、裝置狀態、及管 理功能等。而每一個微型監測器(Node)、感測裝置與促動器裝置都會具有一個對應的 UPnP 裝置。
中層:通用裝置與服務介面
中層裝置是一個標準化介面,目的是提供各種控制系統一套標準的功能介面,如燈光控 制系統具有一套標準的燈光控制功能,具備調整光亮值功能、燈光開關控制;空調控制 系統標準功能,具備偵測調控溫度,調整風速,開關控制等等。由於是一個標準的裝置 介面,UPnP 論壇對於某些控制裝置以提供了標準描述文件(Standardized Description)來 使用,如促動器裝置;而 UPnP 論壇無提供標準裝置的部份,則可以自行開發標準定義。
中層的介面所提供的服務,都會與低層的 UPnP 裝置作對應,藉由低層裝置服務真正的 來控制實體裝置。
高層:虛擬裝置與服務介面
高層裝置為一個虛擬裝置,可以作為與實際使用者溝通的介面,此層裝置是發展即時反 應系統所需要具備。當開發者知道有哪些中層裝置時,則可以挑選欲控制的裝置系統加 以開發高層系統。開發高層裝置也提供了模組化的概念,使系統易於開發、維護及增加 可利用性。
數位家庭伺服器(eHome Server)
數位家庭伺服器(eHome Server)是利用高層裝置介面做自動化系統的流程與控制,而藉 由標準化的中層裝置來實際調整裝置參數。此伺服器中為了控制中層的裝置服務所以具 有 UPnP 控制點(Control Point),以及啟動高層虛擬裝置自動化的控制系統。自動化控制 流程也在伺服器中的操作模組(Operation Module)中來實作。
室內燈控系統(Indoor Luminance System)
劉育志的研究中,以他自己的架構完成了裝置在UPnP架構上的室內燈控系統,此室內 燈控系統可以自動化的調控室內中各不同區域的亮度,藉由遍佈在室內各個區域的感測 器所感測到的外界光亮值,來與區域的燈光控制器作一個協調的自動控制。此外界光亮
值包括了燈光所給予的光亮度及外界環境(陽光)所給予的光亮度,透過演算法計算後得 到對應的自動化控制 [圖 6]。
圖 6: 室內燈光控制方法
階層化的 UPnP 裝置讓開發及維護一個智能系統變得更容易且便利。對於實體裝置而言,
不同的廠商所提供的功能以及與實體裝置的溝通協定會有所不同,當智能系統中的實體 裝置有所改變,也就是可能換了一個不同廠商的實體裝置時,此階層化使得智能系統只 需要調整低層與實體裝置溝通的介面,中高層完全不需要重新修改;而當開發者重新定 義高層自動化控制流程的時候,也只需抽離高層裝置重新改過即可。此階層化架構讓智 能系統具有更大的彈性,也因此讓我們的研究能更好的在其架構上進行擴充。
在自動化控制的開發中,劉育志的研究以大量程式碼開發出控制流程,對於要去維護此 自動化控制流程的其他開發者來說,並不容易被瞭解,甚至對於僅僅只是想利用舊有自 動化控制流程來開發新流程的智能家電開發商來說,還需要去瞭解舊有程式碼內容,重 新編寫其程式碼。而在我們的研究中,將會把數位家庭伺服器(eHome Server)中的自動 化流程部份以 Workflow 的技術來取代大量程式碼編寫的流程,圖形化介面不但讓開發 者更快瞭解整體的流程,且將操作中、高層 UPnP 裝置的部份用 Workflow 封裝,讓未 來的開發者透過 Workflow 技術的好處快速維護及使用自動化流程。
2.3.2 智慧型置物櫃(Smart Pantry)
智慧型置物櫃出自於「Smart Pantries for Homes」[8]這篇論文,目的在於增進居家環境 生活的便利性,讓智能環境走入一般家庭,提昇生活品質。此論文中的智慧型置物櫃分 為兩種,其中一種稱為BAC Pantry,是因為此置物櫃將會以物品的bar code作為判別物 品的依據。BAC Pantry的每個櫃子都佈有感測器,是為了偵測櫃子是否有物品放置在其 中,當放入新物品到置物櫃時,會啟動bar code掃描器,掃描物品的bar code,並提示哪 些櫃子是空的。接著將物品放入空置物櫃中,感測器則會收到物品放入的訊息,儲存物 品資訊(包括bar code、物品名稱、放入日期等)[圖 7];而當物品從置物櫃中被取走後,
感測器即會反應告知使用者物品已用完,是否需要重新填補等等的訊息[圖 8];當然因 為由於牽扯到人類行為,所以還會有很多例外狀況的處理,在這篇論文皆有討論到。
圖 7: Load Pantry 流程
圖 8: Remove Pantry 流程