近年來,隨著物聯網、移動互聯網、人工智能等信息技術的發展,多種不同功能的安防、娛樂、節能、健康等智能家居系統開始融入千家萬戶,*技術的廣泛應用使普通大眾日常生活質量顯著提高。復雜的智能家居系統通常會存在多種不同功能的智能設備,物聯網感知模塊從家居設備獲取感知數據后,通過家庭智能整合平臺所提供的功能,把這些功能轉換為面向用戶的終端遠程控制、監測等服務。
盡管智能家居技術發展取得較大進步,但真正實現智能家居“以人為本”的服務本質,還存在較大距離。未來的智能家居應當重點體現在對家庭主人服務的“智能”上,即根據家庭環境、主人位置、主人情緒、時間等因素的變化,主動的提供適應的服務。為此,需要持續關注智能家居關鍵技術發展,本文研究了一種支持語義推理的智能家居系統,通過在智能家居物聯網系統中引入語義元素,實現智能家居語義推理,達到真正智能家居服務的目的。
1 物聯網語義架構 為解決物聯網技術快速發展過程中出現的異構互聯及平臺智能化問題,眾多學者和組織對物聯網語義技術進行了廣泛研究。標準化組織OneM2M在制定物聯網標準時,將語義技術引入到物聯網中,使其支持知識推理功能,增強了物聯網的智能性。結合智能家居環境中對語義物聯網的需求,本文對oneM2M語義功能模型進行改進,提出了圖1所示的語義架構。主要改進體現在以下兩方面:增加與設備控制功能相關的內容,包括指令集和指令處理模塊;設置設備對象池,存儲設備對象,包括與物理設備對應的設備實例、由物理設備基本功能抽象出的抽象設備、mash-up產生的虛擬設備。
圖1改進后的物聯網語義架構圖
語義分析與查詢:對應用端指令進行語義解析(包括直接解析,或調用推理過程),轉換為對資源URL進行CRUD操作的REST指令,發送給數據處理或指令處理模塊。
推理:針對語義分析與查詢模塊發送的指令,基于預設規則,在已有設備(包括設備實例和虛擬設備)中獲取對象資源,并確定指令類型;當未獲取到*對象資源時,調用語義組合模塊。
語義組合:按照特定規則,通過對不同來源的抽象設備和虛擬設備進行聚合,向用戶提供新的服務。該過程可由用戶需求觸發,也可由平臺主動觸發。
本體建模:離線過程,針對每種新資源(包括設備、用戶等),預先創建本體模型。
語義標注:為設備實例及抽象設備添加語義信息。
設備抽象:新物理設備上線時,創建與之一一對應的設備實例,并對物理設備的主要功能進行抽象,產生若干抽象設備。
指令處理:將平臺內部指令轉換為物理設備可識別的私有指令,并完成指令的封裝。
數據處理:一方面,對物理設備發來的數據進行正確性及有效性驗證,轉換為統一格式后存入數據庫;另一方面,建立并維護數據庫,按需對數據庫中的數據進行修改、刪除等操作。
本體庫:用于存儲本體模型。
設備對象池:包括3部分,設備實例與物理設備一一對應,抽象設備是對物理設備基本功能的抽象,虛擬設備通過mash-up過程產生。
指令庫:用于存儲物理設備可識別的私有指令集(如機器碼),并維護平臺內部指令和設備私有指令之間的映射關系。
數據庫:用于存儲經過處理的設備數據。
2智能家居本體構建與查詢
2.1智能家居本體構建
現代家庭對生活質量的要求日益提高,智能家居系統需要滿足家庭主人的各種生活服務需求,多數文章中僅對家庭監控、照明中的單種需求進行分析。為此,從全面性出發,本文對家庭安全、健康、舒適、通信、理財、教育、娛樂等各種服務需求進行了分析,因篇幅原因僅給出結構圖,如圖2所示。
圖2智能家居服務結構圖
由圖可見,在復雜智能家居環境中要為家庭提供眾多的人性化服務需要家用電器類、設備類、器械類、傳感器類等近百種智能設備的支持。在上述物聯網語義架構中,智能家居環境中的設備本體構建是語義推理的基礎,對于每一個具體型號的智能家居設備,都需要建立與之對應的本體模型,本文中設計了如圖3所示的本體模型結構,包括設備基本信息DeviceInfo、設備運行狀態Running Status、功能Function、規則Rule、數據Data等5部分。
圖3智能家居設備本體模型結構
其中,DeviceInfo家庭設備基本信息包括了設備id號、設備名稱、本體模型資源標識、設備型號、設備制造商、設備類型等信息;RunningStatus設備運行狀態用于描述設備的運行模式、各項功能on/off狀態等信息;Function設備功能記錄了對應的設備私有指令、參數列表、是否支持自動mash-up等信息;Rule設備規則記錄了設備的運行或數據處理規則等;Data設備數據記錄了數據類型、當前值、數據單位及數據的處理規則等信息。
本文采用W3C推薦的OWL語言對家居設備進行本體建模,OWL主要包括類Class和屬性Property兩個元素,類與類之間的關系可通過三元組的方式來表達,可使用Object Property表示對象類之間的關系,使用Data Property表示對象類與數據類之間的關系。利用Protégé軟件構建了一個智能家居的設備本體OWL描述文件,由于篇幅原因僅截取部分,如下所示:
2.2智能家居語義查詢
在家居設備本體模型設計好后,對于實例模型資源的描述可根據設備資源的信息以語義本體為基礎進行注釋。另外,在眾多語義數據中搜索目標對象,使用SPARQL語言進行查詢,其基本格式如下所示:
查詢時根據SPARQL描述的三元組關系對.owl文件中的參數數據進行匹配,從而找到目標對象。
3智能家居服務語義推理 以本體模型為基礎的語義技術隨著業務關系復雜程度的提高得到不斷發展,語義網規則語言(SWRL)以語義網本體語言(OWL)為基礎,融合了RuleML多規則描述方式,具有較強的規則描述能力和語義推理能力。本文采用SWRL技術對智能家居中的眾多復雜服務進行語義表達和規則建立,并結合JENA推理機進行推理。
在智能家居環境中要為用戶提供個性化服務,可定義各種不同的服務模式。在各種家居設備功能定義的規則基礎上,通過定義新的SWRL規則進行語義組合向用戶提供人性化服務。SWRL規則由antecedent前提部分、consequent結論部分及多個元素atom組成,并使用統一資源定位符URI,其形式表達如下:
其中,元素可以是數據型函數C(x)與關系型函數P(x,y),sameAs(x,y),differentFrom(x,y)或者是builtIn(r,x)組成,其中可用“?”表示x變量。
以家庭有害氣體一氧化碳、揮發性有機化合物(VOC)氣體(例如甲醛)、二手煙、家庭油煙、家庭周邊有害氣體等防備服務為例,對各種氣體檢測傳感器、新風、門窗、報警等設備給出了如表1的部分規則定義。
表1家庭有害氣體防備服務規則定義
4系統實現
系統平臺采用Apache嵌入式Web服務器,開發語言及環境使用Java和Eclipse,數據庫選用輕量級Sqlite數據庫。本體建模使用Protégé本體編輯工具并采用OWL語言進行形式化描述,zui后使用Jena推理機進行本體模型的包含性、一致性的檢驗及自定義規則的推理。系統運行界面如圖4所示。
圖4智能家居服務管理平臺運行界面(截圖)
5小結 隨著“以人為本”觀念的普及,人們對基于物聯網的智能家居系統已不再滿足簡單的遠程控制和管理功能,而更多關注其自動性和智能性。本文在分析多種智能家居服務的基礎上,構建了智能家居本體知識,研究實現了具有語義推理功能的智能家居系統,該工作對智能家居系統的智能化應用發展具有指導意義。