本發(fā)明的示例實施例涉及智能對象的控制,并且更特別地涉及通過使用標(biāo)準(zhǔn)化用戶接口描述符的拼貼用戶接口來控制智能對象。
背景技術(shù):
隨著例如智能設(shè)備的物聯(lián)網(wǎng)增加,新類型的設(shè)備將可控制。這些設(shè)備中的一些設(shè)備將配置具有因特網(wǎng)連接,并且其它設(shè)備在沒有連接至因特網(wǎng)的同時將是智能的。用戶要求在最大舒適程度上以最小的延遲煩惱來控制所有的這些設(shè)備。
一些當(dāng)前的智能設(shè)備控制技術(shù)被垂直創(chuàng)立的,每個設(shè)備具有專用應(yīng)用和/或網(wǎng)站。這向用戶提供對各個設(shè)備的控制,但是可能需要消耗大量處理功率來運行多個設(shè)備應(yīng)用,并且設(shè)備與用戶接口之間缺乏相互連結(jié)性。
技術(shù)實現(xiàn)要素:
根據(jù)示例實施例,提供了一種方法和裝置,以便通過使用標(biāo)準(zhǔn)化用戶接口描述符的拼貼用戶接口來控制智能對象。在示例實施例中,提供了一種方法,其包括從多個實用設(shè)備接收用戶接口描述數(shù)據(jù)。用戶接口描述數(shù)據(jù)可以包括與相應(yīng)實用設(shè)備相關(guān)聯(lián)的訪問和控制數(shù)據(jù)。方法還包括基于用戶接口描述數(shù)據(jù)來生成拼貼用戶接口;接收與第一用戶接口描述數(shù)據(jù)相關(guān)聯(lián)的信號,該信號將第一用戶接口描述數(shù)據(jù)與第二用戶接口描述數(shù)據(jù)相關(guān)聯(lián);以及引起拼貼用戶接口被顯示在用戶設(shè)備用戶接口上。
在示例實施例中,方法還包括接收控制信號指示;以及引起控制信號到多個實用設(shè)備中的至少一個實用設(shè)備。在方法的示例實施例中,使第一用戶接口描述數(shù)據(jù)與第二用戶接口描述數(shù)據(jù)相關(guān)聯(lián)的信號包括訂閱或發(fā)布消息。示例實施例的方法還包括接收實用設(shè)備數(shù)據(jù);以及基于所接收的實用設(shè)備數(shù)據(jù)來更新拼接用戶接口。在方法的示例實施例中,用戶接口描述數(shù)據(jù)還包括資源標(biāo)識符。
在示例實施例中,提供了一種方法,其包括引起實用設(shè)備用戶接口描述數(shù)據(jù)的傳輸。實用設(shè)備用戶接口描述數(shù)據(jù)包括與實用設(shè)備相關(guān)聯(lián)的訪問和控制數(shù)據(jù)。方法還包括基于用戶接口描述數(shù)據(jù)從用戶設(shè)備接收控制信號,接口;以及引起實用設(shè)備數(shù)據(jù)的傳輸。在示例實施例中,方法還包括基于控制信號執(zhí)行命令。
在示例實施例中,提供了一種裝置,其包括至少一個處理器以及包括計算機程序代碼的至少一個存儲器,至少一個存儲器和計算機程序代碼被配置成與處理器一起引起裝置至少從多個實用設(shè)備接收用戶接口描述數(shù)據(jù)。用戶接口描述數(shù)據(jù)包括與相應(yīng)實用設(shè)備相關(guān)聯(lián)的訪問和控制數(shù)據(jù)。至少一個存儲器和計算機程序代碼還可以被配置成:基于用戶接口描述數(shù)據(jù)生成拼貼用戶接口;接收與第一用戶接口描述數(shù)據(jù)相關(guān)聯(lián)的信號,該信號將第一用戶接口描述數(shù)據(jù)與第二用戶接口描述數(shù)據(jù)相關(guān)聯(lián);以及引起拼貼用戶接口被顯示在用戶設(shè)備用戶接口上。
至少一個存儲器和計算機程序代碼還可以被配置成與處理器一起引起示例實施例的裝置接收控制信號指示;以及引起控制信號到多個實用設(shè)備中的至少一個實用設(shè)備的傳輸。在裝置的示例實施例中,使第一和第二用戶接口描述數(shù)據(jù)相關(guān)聯(lián)的信號包括訂閱或發(fā)布消息。至少一個存儲器和計算機程序代碼還可以被配置成與處理器一起引起示例實施例的裝置接收實用設(shè)備數(shù)據(jù);以及基于所接收的實用設(shè)備數(shù)據(jù)更新拼接用戶接口。
在示例實施例中,提供了一種裝置,其包括至少一個處理器以及包括計算機程序代碼的至少一個存儲器,至少一個存儲器和計算機程序代碼被配置成與處理器一起引起裝置至少:引起實用設(shè)備用戶接口描述數(shù)據(jù)的傳輸。實用設(shè)備用戶接口描述數(shù)據(jù)包括與實用設(shè)備相關(guān)聯(lián)的訪問和控制數(shù)據(jù)。至少一個存儲器和計算機程序代碼還可以被配置成與處理器一起基于用戶接口描述數(shù)據(jù)引起裝置從用戶設(shè)備接收控制信號,接口以及引起實用設(shè)備數(shù)據(jù)的傳輸。
至少一個存儲器和計算機程序代碼還可以被配置成與處理器一起引起示例實施例的裝置基于控制信號執(zhí)行命令。在裝置的示例實施例中,用戶接口描述數(shù)據(jù)還包括支持許可請求數(shù)據(jù)。
在示例實施例中,提供了一種計算機程序產(chǎn)品,其包括至少一個非暫態(tài)計算機可讀存儲介質(zhì),至少一個非暫態(tài)計算機可讀存儲介質(zhì)中存儲有計算機可執(zhí)行程序部分,計算機可執(zhí)行程序部分包括被配置成從多個實用設(shè)備接收用戶接口描述數(shù)據(jù)的程序代碼指令。用戶接口描述數(shù)據(jù)包括與相應(yīng)實用設(shè)備相關(guān)聯(lián)的訪問和控制數(shù)據(jù)。計算機程序產(chǎn)品的示例實施例的計算機可執(zhí)行程序代碼部分還可以包括被配置成進(jìn)行以下操作的程序代碼指令:基于用戶接口描述數(shù)據(jù)生成拼貼用戶接口;接收與第一用戶接口描述數(shù)據(jù)相關(guān)聯(lián)的信號,該信號將第一用戶接口描述數(shù)據(jù)與第二用戶接口描述數(shù)據(jù)相關(guān)聯(lián);以及引起拼貼用戶接口被顯示在用戶設(shè)備用戶接口上。
計算機程序產(chǎn)品的示例實施例的計算機可執(zhí)行程序代碼部分還可以包括被配置成進(jìn)行以下操作的程序代碼指令:接收控制信號指示,以及引起控制信號到多個實用設(shè)備中的至少一個實用設(shè)備的傳輸。在計算機程序產(chǎn)品的示例實施例中,使第一和第二用戶接口描述數(shù)據(jù)相關(guān)聯(lián)的信號包括訂閱或發(fā)布消息。
計算機程序產(chǎn)品的示例實施例的計算機可執(zhí)行程序代碼部分還可以包括被配置成進(jìn)行以下操作的程序代碼指令:接收實用設(shè)備數(shù)據(jù),以及基于所接收的實用設(shè)備數(shù)據(jù)來更新拼接用戶接口。
在示例實施例中,提供了一種計算機程序產(chǎn)品,其包括至少一個非暫態(tài)計算機可讀存儲介質(zhì),至少一個非暫態(tài)計算機可讀存儲介質(zhì)中存儲有計算機可執(zhí)行程序部分,計算機可執(zhí)行程序代碼部分包括被配置成進(jìn)行以下操作的程序代碼指令:引起實用設(shè)備用戶接口描述數(shù)據(jù)的傳輸,其中實用設(shè)備用戶接口描述數(shù)據(jù)包括與實用設(shè)備相關(guān)聯(lián)的訪問和控制數(shù)據(jù);從用戶設(shè)備接收控制信號,其中控制信號基于用戶接口描述數(shù)據(jù);以及引起實用設(shè)備數(shù)據(jù)的傳輸。計算機程序產(chǎn)品的示例實施例的計算機可執(zhí)行程序代碼部分還可以包括被配置成進(jìn)行以下操作的程序代碼指令:基于控制信號來執(zhí)行命令。
在又一示例實施例中,提供了一種裝置,其包括:用于從多個實用設(shè)備接收用戶接口描述數(shù)據(jù)的部件。用戶接口描述數(shù)據(jù)包括與相應(yīng)實用設(shè)備相關(guān)聯(lián)的訪問和控制數(shù)據(jù)。裝置還可以包括:用于基于用戶接口描述數(shù)據(jù)生成拼貼用戶接口的部件;用于接收與第一用戶接口描述數(shù)據(jù)相關(guān)聯(lián)的信號的部件,該信號將第一用戶接口描述數(shù)據(jù)與第二用戶接口描述數(shù)據(jù)相關(guān)聯(lián);以及用于引起拼貼用戶接口被顯示在用戶設(shè)備用戶接口上的部件。在示例實施例中,裝置還包括用于接收控制信號指示的部件;以及用于引起控制信號到多個實用設(shè)備中的至少一個實用設(shè)備的傳輸?shù)牟考J纠龑嵤├难b置還包括用于接收實用設(shè)備數(shù)據(jù)的部件以及用于基于所接收的實用設(shè)備數(shù)據(jù)來更新拼貼用戶接口的部件。
在示例實施例中,提供了一種裝置,其包括引起實用設(shè)備用戶接口描述數(shù)據(jù)的傳輸?shù)牟考?。實用設(shè)備用戶接口描述數(shù)據(jù)包括與實用設(shè)備相關(guān)聯(lián)的訪問和控制數(shù)據(jù)。裝置還包括:用于從用戶設(shè)備接收控制信號的部件,其中控制信號基于用戶接口描述數(shù)據(jù);以及用于引起實用設(shè)備數(shù)據(jù)的傳輸?shù)牟考?。在示例實施例中,裝置還包括用于基于控制信號來執(zhí)行命令的部件。
附圖說明
因此已經(jīng)概括地描述了本發(fā)明的示例實施例,現(xiàn)在參考附圖,這些附圖不一定按比例繪制,在附圖中:
圖1圖示根據(jù)本發(fā)明的示例實施例的通信圖;
圖2是根據(jù)本發(fā)明的示例實施例的可以具體地被配置用于通過使用標(biāo)準(zhǔn)化用戶接口描述符的拼貼用戶接口來控制智能對象的裝置的框圖;
圖3圖示根據(jù)本發(fā)明的實施例的示例簡單拼貼用戶接口渲染;以及
圖4和5是圖示根據(jù)本發(fā)明的示例實施例的諸如由圖2的裝置所執(zhí)行的操作的流程圖。
具體實施方式
現(xiàn)在將在下文中參考其中示出本發(fā)明的一些而非全部實施例的附圖而更加全面地描述本發(fā)明的一些實施例。實際上,本發(fā)明的各種實施例可以用很多不同形式來實施,而不應(yīng)當(dāng)被解釋為限于本文所給出的實施例;這些實施例被提供以使得本公開滿足可申請的法律要求。相似的附圖標(biāo)記始終指代相似的元件。如本文所使用的,術(shù)語“數(shù)據(jù)”、“內(nèi)容”、“信息”和類似術(shù)語可以可互換地使用以指代根據(jù)本發(fā)明的實施例的能夠被傳輸、接收和/或存儲的數(shù)據(jù)。因此,任何這樣的術(shù)語的使用都不應(yīng)當(dāng)被理解為限制本發(fā)明的實施例的精神和范圍。
相應(yīng)地,如本文中使用的,術(shù)語“電路系統(tǒng)”指代(a)僅硬件電路實現(xiàn)(例如模擬電路系統(tǒng)和/或數(shù)字電路系統(tǒng)中的實現(xiàn));(b)電路和計算機程序產(chǎn)品的組合,包括存儲在一個或多個計算機可讀存儲器上的軟件和/或固件指令,這些指令一起工作以引起裝置執(zhí)行本文所描述的一個或多個功能;以及(c)需要軟件或固件用于操作的電路(諸如例如微處理器或微處理器的部分),即使軟件或固件未在物理上呈現(xiàn)?!半娐废到y(tǒng)”的這一定義適用于這一術(shù)語在本文中的所有用途,包括在任何權(quán)利要求中。作為另外的示例,如本文中使用的,術(shù)語“電路系統(tǒng)”還包括具有一個或多個處理器和/或其部分以及伴隨的軟件和/或固件的實現(xiàn)。作為另一示例,如在本文中所使用的,術(shù)語“電路系統(tǒng)”還包括例如用于移動電話的基帶集成電路或應(yīng)用處理器集成電路或者服務(wù)器、蜂窩網(wǎng)絡(luò)設(shè)備、其它網(wǎng)絡(luò)設(shè)備和/或其它計算設(shè)備中的類似的集成電路。
如本文中定義的,指代非暫態(tài)物理存儲介質(zhì)(例如易失性或非易失性存儲器設(shè)備)的“計算機可讀存儲介質(zhì)”可以區(qū)別于指代電磁信號的“計算機可讀傳輸介質(zhì)”。
根據(jù)示例實施例提供了用于通過拼接用戶接口使用標(biāo)準(zhǔn)化用戶接口描述符來控制智能對象的方法、裝置和計算機程序產(chǎn)品。在示例實施例中,可以提供實用設(shè)備,諸如智能設(shè)備、節(jié)點致動器等,其向用戶設(shè)備(UE)提供供應(yīng)商獨立的標(biāo)準(zhǔn)化用戶接口描述數(shù)據(jù)文件。用戶接口描述數(shù)據(jù)可以使得UE、外部設(shè)備或者在UE上運行的軟件模塊能夠訪問和控制實用設(shè)備。用戶接口描述數(shù)據(jù)還使得能夠以供應(yīng)商所期望的方式來生成和顯示控制用戶接口。在一些實例中,用戶接口描述數(shù)據(jù)可以實現(xiàn)隱藏功能,例如沒有用戶接口被顯示用于實用設(shè)備。在多于一個實用設(shè)備用戶接口描述數(shù)據(jù)被提供的示例實施例中,UE可以生成并且在單個用戶接口中顯示包括針對相應(yīng)實用設(shè)備的控制用戶接口的拼貼用戶接口。
在示例實施例中,UE被設(shè)置為從在UE的范圍內(nèi)的一個或多個實用設(shè)備接收用戶接口描述數(shù)據(jù),用戶接口描述數(shù)據(jù)包括訪問和控制信息。用戶接口描述數(shù)據(jù)可以實現(xiàn)被包括在不同用戶接口描述中的軟件、外部設(shè)備、使用標(biāo)準(zhǔn)化應(yīng)用編程接口(API)(諸如發(fā)布/訂閱API(pubsub API))在UE內(nèi)部運行的軟件模塊之間的相互通信。在示例實施例中,用戶接口描述數(shù)據(jù)可以將相互通信許可考慮在內(nèi)。例如,用戶接口描述符可能需要請求UE或用戶的許可來利用受限資源來進(jìn)行通信。
圖1圖示了通信圖,包括UE 110、實用設(shè)備130以及外部系統(tǒng)150、160、和170。UE 110可以通過本地連接120與實用設(shè)備130進(jìn)行數(shù)據(jù)通信。UE 110可以與諸如因特網(wǎng)服務(wù)器150的外部系統(tǒng)通信,通過局域網(wǎng)與外部系統(tǒng)160通信,并且通過因特網(wǎng)連接140與外部系統(tǒng)170通信。實用設(shè)備可以具有存儲器135。外部系統(tǒng)150、160、和170可以分別具有相關(guān)聯(lián)的存儲器或數(shù)據(jù)庫155、165、和175。UE 110可以具有實用設(shè)備控制模塊180,實用設(shè)備控制模塊180管理UI描述符并且可以使用一個或多個諸如發(fā)布/訂閱API的應(yīng)用程序接口190來與以下各項通信以及允許與以下各種以及在以下各項之間通信:軟件模塊200、實用設(shè)備130和/或外部資源150、160或170。API 190也可以由UI描述數(shù)據(jù)來使用,如下文討論的。實用設(shè)備可以包括智能設(shè)備、節(jié)點、傳感器、致動器等。UE 110可以是移動電話、平板計算機、膝上型計算機、個人數(shù)字助理(PDA)、數(shù)字電視、臺式計算機等。
UE 110可以通過本地連接120連接至一個或多個實用設(shè)備130。本地連接可以是無線近場通信(NFC)、低能量(BLE)、Wi-Fi、IEEE 802.15.4、ZigBee、Z-Wave、多播傳輸、廣播傳輸、或者有線連接(諸如IEEE 802.3、CAN總線、電力線通信(PLC)等)。實用設(shè)備130可以具有被本地存儲在存儲器135中的用戶接口(UI)描述數(shù)據(jù)。UI描述數(shù)據(jù)可以包括相關(guān)聯(lián)的實用設(shè)備130的供應(yīng)商獨立的和標(biāo)準(zhǔn)化的控制和訪問信息。在一些示例實施例中,利用API 190的可執(zhí)行代碼可以被包括在UI描述數(shù)據(jù)中。實用設(shè)備130可以向UE 110傳輸或傳達(dá)UI描述數(shù)據(jù),如下文描述的。在UE 110接收和加載UI描述數(shù)據(jù)之后,UE可以使用實用設(shè)備控制模塊180來執(zhí)行UI描述數(shù)據(jù),實用設(shè)備控制模塊180可以允許訪問實用設(shè)備130,在用戶接口上渲染控制或拼貼UI,并且執(zhí)行UI描述數(shù)據(jù)中所包含的控制。實用設(shè)備控制模塊180可以與單個UI描述數(shù)據(jù)相關(guān)聯(lián),或者替代地與多個UI描述數(shù)據(jù)相關(guān)聯(lián)。在拼貼UI的生成以及控制的執(zhí)行期間,實用設(shè)備控制模塊180可以從外部數(shù)據(jù)源請求數(shù)據(jù),外部數(shù)據(jù)源例如是將請求數(shù)據(jù)存儲在數(shù)據(jù)庫155中的因特網(wǎng)服務(wù)器150。UE 110可以通過因特網(wǎng)連接140與外部源通信,因特網(wǎng)連接140可以被實現(xiàn)為GSM、GPRS、WCDMA、CDMA、WiMAX、LTE、CDMA2000、IEEE 802.11Wi-Fi等無線無線電連接或者固定因特網(wǎng)連接(諸如IEEE 802.3以太網(wǎng)、xDSL、線纜網(wǎng)絡(luò)、光網(wǎng)絡(luò)等)。實用設(shè)備控制模塊180和由實用設(shè)備控制模塊180所執(zhí)行的UI描述符然后可以使用API 190來彼此通信,與UE 110中的軟件模塊200通信,與外部系統(tǒng)160通信,與局域網(wǎng)中的數(shù)據(jù)源165通信,或者通過因特網(wǎng)連接140與具有數(shù)據(jù)源175的外部系統(tǒng)170通信。在一些實例中,UE 110可以將UI描述數(shù)據(jù)存儲在高速緩存存儲器中,以使得UE 110能夠從高速緩存加載UI描述數(shù)據(jù),而不是在每個使用實例中從實用設(shè)備130請求UI描述數(shù)據(jù)。
在示例實施例中,UI描述數(shù)據(jù)可以包括超文本標(biāo)記語言(版本5)(HTML,HTML5),其可以使得能夠由多數(shù)UE來渲染UI。另外地或者替代地,UI描述標(biāo)記語言可以是HTML4、XAML、XML、QML、語言的混合等。在一些實例中,UI描述編程語言可以是解釋語言,諸如(或其它形式的ECMAscript)、Qt、Java、C#、C、C++等。UI描述數(shù)據(jù)可以使用層疊樣式表(CSS)或者類似的樣式表語言用于規(guī)定控制或拼貼UI的用戶接口布局的外觀和格式化。
UE 110可以從實用設(shè)備130直接或間接地接收UI描述數(shù)據(jù)或者UI描述數(shù)據(jù)的部分。例如,UE 110可以通過NFC接收UI描述數(shù)據(jù),讀取QR代碼,從實用設(shè)備取回UI作為CoAP資源,從實用設(shè)備取回UI描述數(shù)據(jù)作為HTML資源,從實用設(shè)備取回UI描述作為BLE資源,接收多播傳輸,使用多播消息傳送,監(jiān)聽被動(passive)廣告等。在其中UI描述數(shù)據(jù)被取回作為CoAP或HTML資源的實例中,資源可以是HTML5或類似的標(biāo)記語言。在其中UI描述數(shù)據(jù)通過多播傳輸來接收的實例中,實用設(shè)備可以通過實用設(shè)備數(shù)據(jù)來多播其UI描述數(shù)據(jù)用于顯示,實用設(shè)備數(shù)據(jù)可以是實用設(shè)備的傳感器數(shù)據(jù),諸如溫度、致動器狀態(tài)、圖像數(shù)據(jù)、開關(guān)位置等。在其中UI描述數(shù)據(jù)使用多播消息傳送來接收的實例中,UE 110可以發(fā)送針對鏈路上的所有節(jié)點的多播CoAP請求并且請求UI描述資源數(shù)據(jù)。
在示例實施例中,可以壓縮、例如壓縮(zip)UI描述數(shù)據(jù)以使用最小能量以及最少量的字節(jié)來允許從實用設(shè)備130到UE 110傳輸。在UI標(biāo)記語言以人類可理解的格式來書寫的實例(這可能需要明顯更多的數(shù)據(jù)使用)中,UI描述數(shù)據(jù)的壓縮可能特別重要。在UI標(biāo)記語言以二進(jìn)制格式來書寫的實例中,由于傳輸較少數(shù)據(jù),壓縮可能不太重要。UI描述數(shù)據(jù)的壓縮在使用BLE或其它低能量無線電來傳輸UI描述數(shù)據(jù)時可能是有利的。
UI描述數(shù)據(jù)可以被高速緩存在UE 110中或者由代理高速緩存或儲存庫節(jié)點來提供。例如,家庭路由器可以托管包含連接至家庭網(wǎng)絡(luò)的相應(yīng)實用設(shè)備的UI描述數(shù)據(jù)的儲存庫。例如,UE 110可以從家庭路由器儲存庫檢索UI描述數(shù)據(jù),而不是從每個單個實用設(shè)備130接收UI描述數(shù)據(jù)。
在示例實施例中,UI描述數(shù)據(jù)可以被采集并且在多于一個UE 110之間共享。例如,智能電話可以自動地或者在請求的情況下向附近的智能電話發(fā)送UI描述數(shù)據(jù)集合。在另一示例中,網(wǎng)狀網(wǎng)絡(luò)可以采集參與網(wǎng)狀網(wǎng)絡(luò)的所有節(jié)點的UI描述數(shù)據(jù),這可以產(chǎn)生網(wǎng)絡(luò)(mesh)的所有當(dāng)前元件的共同UI描述數(shù)據(jù)集。例如,在UE 110可訪問四個實用設(shè)備130的實例中,UE可以通過網(wǎng)狀網(wǎng)絡(luò)或者最近的UE來接收所有四個實用設(shè)備的UI描述數(shù)據(jù)。另外地或者替代地,UE 110可以檢測多個實用設(shè)備130并且從每個所檢測到的實用設(shè)備來接收UI描述數(shù)據(jù)。
UI描述數(shù)據(jù)可以包含對于從源而非實用設(shè)備加載的元件的引用。例如,UI描述數(shù)據(jù)可以包含對于廣告服務(wù)的引用;實用設(shè)備控制模塊180可以引起UE 110從因特網(wǎng)資源動態(tài)地加載廣告,同時靜態(tài)地維持來自實用設(shè)備130的控制信息。
在示例實施例中,諸如JavaScript API的pubsub API使得能夠通過具體的平臺軟件與UE 110軟件模塊200交互工作。實用設(shè)備控制模塊180可以使得UI描述符能夠使用pubsub API 190來發(fā)布UI描述數(shù)據(jù)資源標(biāo)識符和資源值。UI描述數(shù)據(jù)資源標(biāo)識符和資源值可以被映射并且在UE 110內(nèi)被分發(fā)。實用設(shè)備控制模塊180還可以使得UI描述符能夠訂閱即將到來的命令,向軟件模塊200發(fā)送消息對象命令以監(jiān)聽新的實用設(shè)備130。在UE 110已經(jīng)標(biāo)識實用設(shè)備130的出現(xiàn)的實例中,軟件模塊200可以以對象消息命令的形式向這些設(shè)備發(fā)送命令,這些命令由pubsub API模塊190所接收。pubsub API模塊190然后可以向?qū)嵱迷O(shè)備控制模塊180遞送對象消息命令用于處理以及向已經(jīng)訂閱以接收這樣的命令的UI描述符遞送。這使得能夠?qū)崿F(xiàn)UE 110中的應(yīng)用以及實用設(shè)備的平滑集成和相互操作。
例如,在設(shè)備中,pubsub API可以集成于Android目的(Intent)和廣播框架。實用設(shè)備控制模塊180可以使用pubsub API 190發(fā)布UI描述數(shù)據(jù)資源標(biāo)識符和資源值。資源標(biāo)識符和資源值可以被映射到UE 110內(nèi)部的目的廣播。另外,實用設(shè)備控制模塊180可以訂閱即將到來的命令,以例示新的BroadcastReceiver。在UE 110中運行的軟件可以例示BroadcastReceiver用于監(jiān)聽新的實用設(shè)備(諸如智能對象、節(jié)點等)的出現(xiàn)。在檢測到實用設(shè)備130的出現(xiàn)時,軟件模塊220可以用目的(intent)的形式向?qū)嵱迷O(shè)備130發(fā)送命令,其可以由pubsub API 190BroadcastReceiver來接收并且被遞送給實用設(shè)備控制模塊180用于處理。
在訪問信息存儲在另一設(shè)備(例如因特網(wǎng)服務(wù)器150、本地外部系統(tǒng)160、或因特網(wǎng)可訪問外部系統(tǒng)170)中的實例中,資源標(biāo)識符可以指向外部設(shè)備。資源標(biāo)識符可以由pubsub API 190來接收,pubsub API 190可以自動訪問外部設(shè)備,而沒有與訪問過程有關(guān)的用戶交互。在一些示例實施例中,pubsub API 190可以實現(xiàn)用于外部設(shè)備通信的翻譯器,諸如CoAP代理。pubsub API 190可以將pubsub API動作翻譯成CoAP GET/REPLY消息用于與局域網(wǎng)或因特網(wǎng)中的節(jié)點通信。
在示例實施例中,pubsub API可以包含描述資源標(biāo)識符、資源RUL、資源數(shù)據(jù)、發(fā)布/訂閱范圍等的參數(shù)。發(fā)布/訂閱范圍可以限制UI描述符僅與其它UI描述符180、與UE 110內(nèi)的軟件模塊200、通過局域網(wǎng)與外部設(shè)備160、與因特網(wǎng)外部設(shè)備170或者與其任意組合進(jìn)行通信。
在UI描述數(shù)據(jù)引起實用設(shè)備控制模塊180訪問來自外部設(shè)備或UE 110內(nèi)的其它模塊(諸如設(shè)備位置數(shù)據(jù)或全球定位系統(tǒng)(GPS))的服務(wù)的實例中,UE 110可以請求來自用戶的許可。UI描述數(shù)據(jù)可以支持許可框架,其可以被映射成UE 110的各種性能框架。例如,在UI描述符請求對GPS功能的訪問的實例中,實用設(shè)備控制模塊180可以請求被映射到GPS功能的許可。作為示例,在Android平臺中,實用設(shè)備控制模塊180許可請求可以被映射到ACCESS_FINE_LOCATION。
在示例實施例中,UI描述數(shù)據(jù)可以引起實用設(shè)備控制模塊180驗證UE設(shè)備110類型和所支持的API。在UE 110沒有執(zhí)行實用設(shè)備UI描述數(shù)據(jù)的全部功能的能力的實例中,UI描述符或?qū)嵱迷O(shè)備控制模塊180可以生成并且在用戶接口上顯示用于安裝相應(yīng)實用設(shè)備的專用應(yīng)用的指令。
在示例實施例中,UI描述數(shù)據(jù)可以包括設(shè)備特定的屬性和功能名稱。設(shè)備特定的名稱可以使用針對每個設(shè)備的地址,諸如媒體訪問控制(MAC)地址。設(shè)備特定的名稱的使用可以允許功能的運行時間集成而沒有命名沖突。例如,在具有來自相同的供應(yīng)商的兩個實用設(shè)備的實例中,可以利用諸如02030405_setup_function()和03030405_setup_function()等功能。如上文所描述的,UE 110可以使得UI描述符和實用設(shè)備控制模塊180能夠自動地或者在用戶交互的情況下使用pubsub API 190以在實用設(shè)備130之間共享信息。除了上文討論的通信關(guān)聯(lián),實用設(shè)備控制模塊180可以基于用戶輸入(綁定元素)、或者自動地基于UI描述數(shù)據(jù)控制指令使兩個或多個UI描述數(shù)據(jù)元素相關(guān)聯(lián)。
在示例實施例中,UE 110可以支持用戶發(fā)起的實用設(shè)備130的綁定。實用設(shè)備130綁定可以包括作為第二實用設(shè)備的輸入數(shù)據(jù)的實用設(shè)備輸出數(shù)據(jù)的選擇。用戶可以使用用戶接口來選擇UI元件,響應(yīng)于此,UE 110可以通過使用pubsub API來使和第一實用設(shè)備130相關(guān)聯(lián)的UI描述數(shù)據(jù)元素與第二UI描述數(shù)據(jù)的UI描述數(shù)據(jù)元素相關(guān)聯(lián)。例如,用戶可以綁定與兩個實用設(shè)備130(諸如傳感器和致動器)相關(guān)聯(lián)的兩個UI描述數(shù)據(jù)元素,以引起傳感器的輸出被發(fā)送給致動器作為輸入。在本示例中,UE 110用作使用實用設(shè)備控制模塊180的中間方或者數(shù)據(jù)流,并且傳感器和致動器不需要在彼此之間直接發(fā)送數(shù)據(jù)。例如,UI元素的綁定可以引起或觸發(fā)第一UI描述數(shù)據(jù)以引起相關(guān)聯(lián)的實用設(shè)備控制模塊180發(fā)布實用設(shè)備輸出數(shù)據(jù)。另外地或者替代地,UI描述數(shù)據(jù)元素的綁定可以引起或觸發(fā)第二UI描述數(shù)據(jù)引起相關(guān)聯(lián)的實用設(shè)備控制模塊180訂閱或監(jiān)聽來自第一實用設(shè)備控制模塊180的發(fā)布。
在示例實施例中,UE 110可以基于實用設(shè)備中的至少一個實用設(shè)備的UI描述數(shù)據(jù)來使UI描述數(shù)據(jù)元素相關(guān)聯(lián)。在一些示例實施例中,UI描述數(shù)據(jù)可以包括響應(yīng)于標(biāo)識具體的第二實用設(shè)備或?qū)嵱迷O(shè)備類型來將第一實用設(shè)備描述數(shù)據(jù)元素綁定到第二UI描述數(shù)據(jù)的指令。例如,在第一實用設(shè)備是家庭或建筑物照明控制器的實例中,UI描述數(shù)據(jù)可以包括在沒有用戶輸入的情況下自動使任何新標(biāo)識的照明實用設(shè)備的UI描述數(shù)據(jù)相關(guān)聯(lián)的指令。與第一和第二實用設(shè)備相關(guān)聯(lián)的UI描述數(shù)據(jù)元素可以使用pubsub API來綁定或關(guān)聯(lián),如上文討論的。
在示例實施例中,UE 110可以生成和渲染包括相應(yīng)UI描述數(shù)據(jù)的拼貼UI,以在相同的運行時間環(huán)境中運行,UI描述數(shù)據(jù)在專用運行時間、在網(wǎng)絡(luò)瀏覽器中或者在本機應(yīng)用中運行。拼貼UI可以是單個視覺表示中的用戶接口顯示器或控件的集合,如圖3中描繪的。在其中UE 110生成并且在本機應(yīng)用(諸如8應(yīng)用)中渲染拼貼UI的實例中,本機應(yīng)用可以使用全景視圖,其中每個實用設(shè)備在單獨的片(tile)中,如圖3所示。
關(guān)于UE 110的安全和隱私,UE可以分析UI描述數(shù)據(jù)所包括的代碼以驗證實用設(shè)備控制模塊180僅正在調(diào)用和訪問針對其的訪問被許可的資源。在多個UI描述符180在相同的運行時間環(huán)境中運行的實施例中,代碼驗證可能更加重要。另外地或者替代地,UE 110可以針對每個UI描述符或UI描述符組生成單獨的運行時間環(huán)境。如上文所討論的,UI描述數(shù)據(jù)可以使用API 190用于單獨的運行時間環(huán)境實用設(shè)備控制模塊180之間的通信。在實用設(shè)備控制模塊180在單獨的運行時間環(huán)境中的實施例中,拼貼UI渲染可以在單個運行時間環(huán)境實施例中不呈現(xiàn)為不同,從而提供對用戶透明的安全性。
示例裝置
UE 110或?qū)嵱迷O(shè)備130可以包括如圖2所示的裝置20或者與裝置20相關(guān)聯(lián)。諸如圖3所示裝置的裝置根據(jù)本發(fā)明的示例實施例被具體配置成提供通過使用標(biāo)準(zhǔn)化用戶接口描述符的拼貼用戶接口來控制智能對象。裝置還可以包括以下各項或者另外與其通信:處理器22、存儲器設(shè)備24、通信接口26、和用戶接口28。在一些實施例中,處理器(和/或協(xié)處理器或者幫助處理器或另外與處理器相關(guān)聯(lián)的任何其它處理電路系統(tǒng))可以經(jīng)由總線與存儲器設(shè)備通信用于在裝置的部件之間傳遞信息。存儲器設(shè)備可以是非暫態(tài)的,并且可以包括例如一個或多個易失性和/或非易失性存儲器。換言之,例如,存儲器設(shè)備可以是電子存儲設(shè)備(例如計算機可讀存儲介質(zhì)),其包括被配置成存儲可以由機器(例如計算設(shè)備,如處理器)可檢索的數(shù)據(jù)(例如比特)的門。存儲器設(shè)備可以被配置成存儲信息、數(shù)據(jù)、內(nèi)容、應(yīng)用、指令等用于使得裝置能夠執(zhí)行根據(jù)本發(fā)明的示例實施例的各種功能。例如,存儲器設(shè)備可以被配置成緩沖輸入數(shù)據(jù)用于由處理器來處理。另外地或者替代地,存儲器設(shè)備可以被配置成存儲指令用于由處理器來執(zhí)行。
如上文所指出的,裝置20可以由UE 110或者實用設(shè)備130來實施。然而,在一些實施例中,裝置可以被實施為芯片或芯片集合。換言之,裝置可以包括一個或多個物理封裝件(例如芯片),這些物理封裝件包括在結(jié)構(gòu)化組件(例如基板)上的材料、部件和/或?qū)Ь€。結(jié)構(gòu)組件可以提供被包括在其上的組成電路系統(tǒng)的物理強度、大小的保持、和/或電氣交互的限制。裝置因此在一些情況下可以被配置成在單個芯片上實現(xiàn)本發(fā)明的實施例,或者將本發(fā)明的實施例實現(xiàn)為單個“芯片上系統(tǒng)”。這樣,在一些情況下,芯片或芯片集合可以構(gòu)成用于執(zhí)行提供本文中描述的功能的一個或多個操作的裝置。
處理器22可以用大量不同方式來實施。例如,處理器可以實施為各種硬件處理裝置中的一個或多個,諸如協(xié)處理器、微處理器、控制器、數(shù)字信號處理器(DSP)、具有或沒有附屬DSP的處理元件、或者包括集成電路(諸如例如ASIC(專用集成電路)、FPGA(現(xiàn)場可編程門陣列)、微控制器單元(MCU)、硬件加速器、專用計算機芯片等)的各種其它處理電路系統(tǒng)。因此,在一些實施例中,處理器可以包括被配置成獨立地執(zhí)行的一個或多個處理核。多核處理器可以實現(xiàn)單個物理封裝件內(nèi)的多處理。另外地或者替代地,處理器可以包括經(jīng)由總線被串聯(lián)配置以實現(xiàn)指令、流水線和/或多線程的獨立執(zhí)行的一個或多個處理器。
在示例實施例中,處理器22可以被配置成執(zhí)行存儲器設(shè)備24中存儲的或者處理器可訪問的指令。替代地或者另外地,處理器可以被配置成執(zhí)行硬編碼的功能。因此,不管是通過硬件或軟件方法來配置還是通過其組合來配置,處理器可以表示在相應(yīng)地配置時能夠執(zhí)行根據(jù)本發(fā)明的實施例的操作的實體(例如物理地具體化在電路系統(tǒng)中)。因此,例如,當(dāng)處理器實施為ASIC、FPGA等時,處理器可以是用于進(jìn)行本文中描述的操作的具體地配置的硬件。替代地,作為另一示例,當(dāng)處理器實施為執(zhí)行器或軟件指令時,在指令被執(zhí)行時,指令可以具體地配置處理器執(zhí)行本文中描述的算法和/或操作。然而,在一些情況下,處理器可以是通過指令進(jìn)行的處理器的進(jìn)一步配置而被配置成采用本發(fā)明的實施例的具體設(shè)備(例如固定計算設(shè)備的移動終端)用于執(zhí)行本文中描述的算法和/或操作的處理器。處理器可以包括被配置成支持處理器的操作的時鐘、計算邏輯單元(ALU)和邏輯門等。
示例實施例的裝置20還可以包括通信接口26,通信接口26可以是用硬件或者硬件和軟件的組合來實施的任何裝置,諸如設(shè)備或電路系統(tǒng),該任何裝置被配置成從與裝置通信的通信設(shè)備接收和/或向與裝置通信的通信設(shè)備傳輸數(shù)據(jù),從而促進(jìn)與一個或多個用戶設(shè)備110、實用設(shè)備等的通信。在這一點上,通信接口可以包括例如天線(或多個天線)以及支持硬件和/或軟件用于實現(xiàn)與無線通信網(wǎng)絡(luò)的通信。另外地或者替代地,通信接口可以包括用于與天線交互以引起信號經(jīng)由天線的傳輸或者以處理經(jīng)由天線所接收的信號的接收的電路系統(tǒng)。在一些環(huán)境中,通信接口可以替代地或者還支持有線通信。因此,例如,通信接口可以包括通信調(diào)制解調(diào)器和/或其它硬件和/或軟件用于經(jīng)由線纜、數(shù)字用戶線(DSL)、通用串行總線(USB)或其它機制來支持通信。
裝置20還可以包括用戶接口28,用戶接口28進(jìn)而可以與處理器22通信以向用戶提供輸出并且在一些實施例中以接收用戶輸入的指示。因此,用戶接口可以包括顯示器并且在一些實施例中還可以包括鍵盤、鼠標(biāo)、游戲桿、觸摸屏、觸摸區(qū)域、軟鍵、一個或多個麥克風(fēng)、多個揚聲器、或者其它輸入/輸出機制。在一個實施例中,處理器可以包括用戶接口電路系統(tǒng),用戶接口電路系統(tǒng)被配置成控制一個或多個用戶接口元件(諸如顯示器)的至少一些功能,并且在一些實施例中控制多個揚聲器、振鈴器、一個或多個麥克風(fēng)等的至少一些功能。處理器和/或包括處理器的用戶接口電路系統(tǒng)可以被配置成通過存儲在處理器可訪問的存儲器(例如存儲器設(shè)備24等)中的計算機程序指令(例如軟件和/或固件)來控制一個或多個用戶接口元件的一個或多個功能。
示例拼貼UI渲染
圖3圖示簡單拼貼UI渲染的示例。拼貼UI渲染包括五個UI描述,每個UI描述包括兩個文件:JavaScript文件和HTML文件。拼貼UI可以由UE 110使用包括JavaScript代碼的HTML框架來生成。在UE 110上運行的腳本如下文所述來合并文件。首先是來自框架的HTML頭文件,然后是來自UI描述數(shù)據(jù)的JavaScript文件,然后是從框架到中間的HTML文件,然后是來自UI描述數(shù)據(jù)的HTML文件,然后是來自HTML框架的頁腳(footer)??蚣苋缓罂梢哉{(diào)用所有設(shè)置功能,這發(fā)起并且開始與每個實用設(shè)備130(諸如傳感器1-5)有關(guān)的實用設(shè)備控制模塊180的動作。來自UI描述數(shù)據(jù)的HTML文件定義針對每個相應(yīng)傳感器的每個片的大小、顏色等。UE 110然后渲染拼貼UI,如圖3所示。
傳感器1描繪每一秒增加其值的實用設(shè)備傳感器計時器。傳感器2描繪每兩秒增加其值的實用設(shè)備傳感器。傳感器3描繪每次在其被點擊或選中時增加其值的實用設(shè)備傳感器。傳感器4和5被UE 110綁定。傳感器4描繪每一秒增加其值并且發(fā)布針對相同框架中運行的其它實用設(shè)備的值以進(jìn)行利用的實用設(shè)備傳感器。傳感器5接收傳感器4所發(fā)布的輸出值并且將其乘以二并且顯示所得到的值。
在示例實施例中,與片相關(guān)聯(lián)的UI描述符可以使用API 190來從遠(yuǎn)程傳感器取回數(shù)據(jù),例如諸如通過BLE,或者向這些實用設(shè)備傳感器推送數(shù)據(jù)。在另外的實施例中,可以使用UI描述數(shù)據(jù)的JavaScript代碼來觸發(fā)實用設(shè)備控制模塊180下載廣告或其它媒體內(nèi)容。
用于實用設(shè)備的控制的示例過程
現(xiàn)在參考圖4,圖示了諸如由圖2的裝置20所執(zhí)行的用于控制實用設(shè)備的操作。如圖4的塊402中所示,裝置可以包括諸如處理器22、存儲器24、通信接口26等被配置成引起UI描述數(shù)據(jù)的傳輸?shù)难b置。UI描述數(shù)據(jù)可以包括與相應(yīng)實用設(shè)備相關(guān)聯(lián)的供應(yīng)商獨立的標(biāo)準(zhǔn)化控制和訪問數(shù)據(jù)。處理器22可以從存儲器24檢索UI描述數(shù)據(jù)。處理器22可以引起通信接口26向UE 110或者在一些實例中向網(wǎng)絡(luò)中的其它設(shè)備傳輸UI描述數(shù)據(jù)。通信接口26可以使用NFC、BLE、多播傳輸?shù)葋韨鬏擴I描述數(shù)據(jù)。
在示例實施例中,UI描述數(shù)據(jù)可以包括超文本標(biāo)記語言(版本5)(HTML,HTML5),其可以實現(xiàn)多數(shù)UE對UI的渲染。另外地或者替代地,UI描述標(biāo)記語言可以是HTML4、XAML、XML、QML、語言的混合等。在一些實例中,UI描述編程語言可以是解釋語言,諸如(或其它形式的ECMAscript)、Qt、Java、C#、C、C++等。UI描述數(shù)據(jù)可以使用層疊樣式表(CSS)或者類似的樣式表語言用于規(guī)定控制或拼接UI的用戶接口布局的外觀和格式化。
在示例實施例中,可以壓縮、例如壓縮(zip)UI描述數(shù)據(jù)以允許使用最小能量以及最少量的字節(jié)來從實用設(shè)備130到UE 110的傳輸。在UI標(biāo)記語言以人類可理解的格式來書寫的實例(這可能需要明顯更多的數(shù)據(jù)使用)中,UI描述數(shù)據(jù)的壓縮可能特別重要。在其中UI標(biāo)記語言以二進(jìn)制格式來書寫的實例中,由于傳輸較少數(shù)據(jù),壓縮可能不太重要。UI描述數(shù)據(jù)的壓縮在使用BLE或其它低能量無線電來傳輸UI描述數(shù)據(jù)時可能是有利的。
如圖4的塊404中所示,裝置20可以包括諸如處理器22、通信接口26等被配置成接收控制信號的裝置。通信接口可以通過無線通信(諸如NFC、BLE等)從UE 110接收控制信號??刂菩盘柨梢园ㄒ裳b置來執(zhí)行的命令。例如,命令可以是開啟閥門、調(diào)節(jié)伺服位置、關(guān)閉、打開、發(fā)送數(shù)據(jù)等。過程可以在406繼續(xù)以引起實用設(shè)備數(shù)據(jù)的傳輸,或者在408處繼續(xù)以基于控制信號來執(zhí)行命令。
如圖4的塊406中所示,裝置20可以包括諸如處理器22、通信接口26等被配置成引起實用設(shè)備數(shù)據(jù)的傳輸?shù)难b置。處理器22可以引起通信接口26向UE 110傳輸實用設(shè)備數(shù)據(jù)。例如,在實用設(shè)備是傳感器的實例中,實用設(shè)備數(shù)據(jù)可以包括溫度數(shù)據(jù)、光線數(shù)據(jù)、運動數(shù)據(jù)、位置數(shù)據(jù)、聲音數(shù)據(jù)、圖像數(shù)據(jù)等。在示例實施例中,處理器可以以預(yù)定間隔或者響應(yīng)于激勵(諸如聲音、運動、光等的檢測)來傳輸實用設(shè)備數(shù)據(jù)。在另一示例中,處理器22可以響應(yīng)于控制信號中的命令來引起實用設(shè)備數(shù)據(jù)的傳輸,如塊408中所討論的。
如圖4的塊408中所示,裝置20可以包括諸如處理器22等被配置成基于控制信號來執(zhí)行命令的裝置。例如,處理器22可以引起實用設(shè)備關(guān)閉或打開其本身或者次級設(shè)備,激活閥門、改變伺服位置等。在控制信號包括傳輸實用設(shè)備數(shù)據(jù)的命令的實例中,過程可以在406繼續(xù),如上文所描述的。傳輸實用設(shè)備數(shù)據(jù)的命令在一些實施例中可以包括命令執(zhí)行狀態(tài)(例如被令人滿意地執(zhí)行或者沒有被執(zhí)行)的指示的傳輸。
用于生成拼貼UI和實用設(shè)備控制信號的示例過程
現(xiàn)在參考圖5,諸如由圖2的裝置20執(zhí)行的用于生成拼貼UI和實用設(shè)備控制信號的操作。如圖5的塊502所示,裝置20可以包括諸如處理器22、存儲器24、通信接口26等被配置成從多個實用設(shè)備接收UI描述數(shù)據(jù)的裝置。接口描述數(shù)據(jù)可以包括與相應(yīng)實用設(shè)備130相關(guān)聯(lián)的供應(yīng)商獨立的標(biāo)準(zhǔn)化控制和訪問信息。在示例實施例中,UI描述數(shù)據(jù)還可以使用API來促進(jìn)裝置20內(nèi)部和外部的通信。通信接口26可以從實用設(shè)備130直接或間接地接收UI描述數(shù)據(jù)。例如,通信接口26可以通過NFC接收UI描述數(shù)據(jù),讀取QR代碼,從實用設(shè)備取回UI作為CoAP資源,從實用設(shè)備取回UI描述數(shù)據(jù)作為HTML資源,從實用設(shè)備取回UI描述作為BLE資源,接收多播傳輸,使用多播消息傳送,監(jiān)聽被動廣告等。在其中UI描述數(shù)據(jù)被取回作為CoAP或HTML資源的實例中,資源可以是HTML5或類似的標(biāo)記語言。在其中UI描述數(shù)據(jù)通過多播傳輸來接收的實例中,實用設(shè)備可以通過值來多播其UI描述數(shù)據(jù)用于顯示,在UI描述數(shù)據(jù)使用多播消息來接收的實例中,處理器22可以引起通信接口26發(fā)送對于鏈路上的所有節(jié)點的多播CoAP請求并且請求UI描述資源數(shù)據(jù)。
UI描述數(shù)據(jù)可以被高速緩存在存儲器24中或者由代理高速緩存或儲存庫節(jié)點來提供。例如,家庭路由器可以托管包含連接至家庭網(wǎng)絡(luò)的相應(yīng)實用設(shè)備的UI描述數(shù)據(jù)的儲存庫。例如,處理器22可以引起通信接口26從家庭路由器儲存庫檢索UI描述數(shù)據(jù),而不是從每個單個實用設(shè)備130接收UI描述數(shù)據(jù)。
在示例實施例中,UI描述數(shù)據(jù)可以被采集并且在UE 110之間共享。例如,智能電話可以自動地或者在經(jīng)請求的情況下向附近的智能電話發(fā)送UI描述數(shù)據(jù)集。在另一示例中,網(wǎng)狀網(wǎng)絡(luò)可以采集參與網(wǎng)狀網(wǎng)絡(luò)的所有節(jié)點的UI描述數(shù)據(jù),這可以產(chǎn)生網(wǎng)絡(luò)(mesh)的所有當(dāng)前元件的共同UI描述數(shù)據(jù)集。
如圖5的塊504中所示,裝置20可以包括諸如處理器22、通信接口26等被配置成生成多個實用設(shè)備130的拼貼UI的裝置。處理器22可以基于UI描述數(shù)據(jù)生成拼貼UI。拼貼UI可以是單個視覺表示中的用戶接口顯示器或控件的集合,如圖3中描繪的。
在示例實施例中,諸如JavaScript API的pubsub API使得能夠通過具體的平臺軟件將處理器與UE 110軟件模塊200交互工作。處理器22可以使用pubsub API 190來發(fā)布UI描述數(shù)據(jù)資源標(biāo)識符和資源值。UI描述數(shù)據(jù)資源標(biāo)識符和資源值可以被映射并且在裝置20內(nèi)分發(fā)。處理器22還可以訂閱即將到來的命令,從而向軟件模塊200發(fā)送消息對象命令以監(jiān)聽新的實用設(shè)備130。UI描述數(shù)據(jù)可以包含對于從源而不是實用設(shè)備定位的元件的引用。例如,UI描述數(shù)據(jù)可以包含對于廣告服務(wù)的引用;UI描述數(shù)據(jù)可以引起處理器22從因特網(wǎng)資源動態(tài)地加載廣告,同時靜態(tài)地維護(hù)來自實用設(shè)備130的控制信息。
在訪問信息存儲在另一設(shè)備(例如因特網(wǎng)服務(wù)器150、本地外部系統(tǒng)160、或因特網(wǎng)可訪問外部系統(tǒng)170)中的實例中,資源標(biāo)識符可以指向外部設(shè)備。資源標(biāo)識符可以由處理器22來接收,處理器22可以引起通信接口26自動訪問外部設(shè)備,而沒有與訪問過程有關(guān)的用戶交互。在一些示例實施例中,處理器22可以實現(xiàn)用于外部設(shè)備通信的翻譯器,諸如CoAP代理。處理器可以將pubsub API動作翻譯成CoAP GET/REPLY消息用于與局域網(wǎng)或因特網(wǎng)中的節(jié)點進(jìn)行通信。
在示例實施例中,pubsub API可以包含描述資源標(biāo)識符、資源RUL、資源數(shù)據(jù)、發(fā)布/訂閱范圍等的參數(shù)。發(fā)布/訂閱范圍可以限制在處理器22上運行的UI描述數(shù)據(jù)僅與裝置20內(nèi)的軟件模塊200、通過局域網(wǎng)與外部設(shè)備160、與因特網(wǎng)外部設(shè)備170或者與其任意組合進(jìn)行通信。
在UI描述數(shù)據(jù)可以訪問來自外部設(shè)備或裝置內(nèi)的其它模塊(諸如設(shè)備位置數(shù)據(jù)或全球定位系統(tǒng)(GPS))的服務(wù)的實例中,處理器22可以請求來自用戶的許可。UI描述數(shù)據(jù)可以支持許可框架,其可以被映射成裝置20的各種性能框架。例如,在UI描述符請求對GPS功能的訪問的實例中,處理器22可以請求被映射到GPS功能的許可。
在示例實施例中,處理器22可以生成包括相應(yīng)UI描述數(shù)據(jù)的拼貼UI,以在相同的運行時間環(huán)境中運行,UI描述數(shù)據(jù)在專用運行時間、在網(wǎng)絡(luò)瀏覽器中或者在本機應(yīng)用中運行。
如圖5的塊506處所示,裝置20可以包括諸如主處理器22、用戶接口28等被配置成引起拼貼UI被顯示在用戶接口28上的裝置。在其中處理器在本機應(yīng)用(諸如8應(yīng)用)中顯示拼貼UI的實例中,本機應(yīng)用可以使用全景視圖,其中每個實用設(shè)備在單獨的片(tile)中,如圖3所示。拼貼UI可以顯示每個實用設(shè)備的控制UI、實用設(shè)備數(shù)據(jù)等。例如,拼貼UI可以包括閥門致動器的控制UI,例如打開或關(guān)閉、光和聲傳感器數(shù)據(jù)以及伺服定位控制。
如圖5的塊508處所示,裝置20可以包括諸如處理器22、用戶接口28等被配置成接收控制信號指示的裝置??刂菩盘栔甘究梢酝ㄟ^與拼貼UI的用戶交互來生成,諸如選擇打開實用設(shè)備130,定位伺服系統(tǒng),或者致動閥門。在示例實施例中,處理器可以被配置成在沒有用戶交互的情況下接收例如自動控制信號指示,其可以是UI描述數(shù)據(jù)的部分,例如實用設(shè)備數(shù)據(jù)請求命令。
在另一實施例中,控制信號指示可以涉及通過綁定實用設(shè)備來鏈接至少兩個實用設(shè)備UI描述符數(shù)據(jù)和控制功能。過程可以在510處繼續(xù),以綁定至少兩個實用設(shè)備,或者在512處繼續(xù),以引起實用設(shè)備控制信號的傳輸。
如圖5的塊510處所示,裝置20可以包括諸如處理器22等被配置成綁定至少兩個實用設(shè)備的裝置。實用設(shè)備130綁定可以包括作為第二實用設(shè)備的輸入數(shù)據(jù)的實用設(shè)備輸出數(shù)據(jù)的選擇。處理器可以綁定或者關(guān)聯(lián)與兩個或多個實用設(shè)備130(諸如傳感器和致動器)相關(guān)聯(lián)的兩個或多個UI描述數(shù)據(jù)元素,以引起傳感器的輸出被發(fā)送給致動器作為輸入。綁定或關(guān)聯(lián)實用設(shè)備元件可以響應(yīng)于諸如塊508處討論的所接收的控制信,,或者可以基于UI描述數(shù)據(jù)控制信息自動進(jìn)行,而沒有用戶交互。裝置20處理器22用作使用UI描述數(shù)據(jù)的數(shù)據(jù)流的中間方,并且傳感器和致動器不需要在彼此之間直接發(fā)送數(shù)據(jù)。處理器22可以發(fā)布與第一實用設(shè)備130的實用設(shè)備輸出數(shù)據(jù)相關(guān)聯(lián)的UI描述數(shù)據(jù)元素。處理器也可以訂閱或監(jiān)聽與第一實用設(shè)備相關(guān)聯(lián)的UI描述數(shù)據(jù)元素,其可以用作第二實用設(shè)備130的輸入數(shù)據(jù)。例如,運動或聲音傳感器可以輸出運動或聲音數(shù)據(jù),其可以用作第二實用設(shè)備的觸發(fā)輸入,諸如光,以打開。在示例實施例中,處理器22可以基于實用設(shè)備數(shù)據(jù)來執(zhí)行確定并且生成觸發(fā)或控制信號作為第二實用設(shè)備的輸入。過程可以在塊514處繼續(xù)以接收實用設(shè)備數(shù)據(jù)。
如圖5的塊512處所示,裝置20可以包括諸如處理器22、通信接口26等被配置成引起實用設(shè)備控制信號的傳輸?shù)难b置。處理器22可以引起通信接口基于如塊508處討論的所接收的控制指示來傳輸實用設(shè)備控制信號,或者如510處討論的觸發(fā)。實用設(shè)備控制信號可以包括要由實用設(shè)備來執(zhí)行的命令,諸如調(diào)節(jié)伺服系統(tǒng)的位置、打開、關(guān)閉、定位致動器等。通信接口可以使用NFC、BLE等來傳輸實用設(shè)備控制信號。
如圖5的塊514處所示,裝置20可以包括諸如處理器22、通信接口26等被配置成接收實用設(shè)備數(shù)據(jù)的裝置。通信接口可以從實用設(shè)備130接收實用設(shè)備數(shù)據(jù),實用設(shè)備數(shù)據(jù)可以包括傳感器數(shù)據(jù)、命令執(zhí)行狀態(tài)數(shù)據(jù)、位置指示數(shù)據(jù)等。如塊516中討論的,處理器22可以更新拼接用戶接口。
在其中實用設(shè)備綁定至實用設(shè)備實用設(shè)備數(shù)據(jù)的實例中,過程可以在512繼續(xù),以引起實用設(shè)備控制信號的傳輸。例如,在壓力傳感器綁定至閥門致動器的實例中,處理器22可以接收滿足預(yù)定門限的壓縮數(shù)據(jù)的實用設(shè)備數(shù)據(jù),并且引起實用設(shè)備控制信號的傳輸以打開閥門致動器。
如圖5的塊516處所示,裝置20可以包括諸如處理器22、用戶接口28等被配置成更新拼接UI的裝置。處理器22可以基于所接收的實用設(shè)備數(shù)據(jù)(諸如傳感器數(shù)據(jù)或命令執(zhí)行狀態(tài))來更新拼接UI。如506中討論的,處理器22可以引起經(jīng)更新的拼接UI被顯示在用戶接口28上。
示例實施例使得能夠在沒有網(wǎng)絡(luò)連接的情況下來控制新的實用設(shè)備,不需要安裝專用應(yīng)用,并且提供拼接UI以控制實用設(shè)備。Pubsub API框架使得UI描述符能夠彼此交互,并且提供和訪問UE內(nèi)部和外部的服務(wù)。
如上文所描述的,圖4和5圖示了根據(jù)本發(fā)明的示例實施例的裝置20、方法和計算機程序產(chǎn)品的流程圖。應(yīng)當(dāng)理解,流程圖的每個塊、以及流程圖中的塊的組合可以用各種裝置來實現(xiàn),諸如硬件、固件、處理器、電路系統(tǒng)、和/或與包括一個或多個計算機程序指令的軟件的執(zhí)行相關(guān)聯(lián)的其它通信設(shè)備。例如,上文所描述的過程中的一個或多個過程可以由計算機程序指令來實施。在這一點上,實施以上描述的過程的計算機程序指令可以由采用本發(fā)明的實施例的裝置的存儲器設(shè)備24來存儲,并且由裝置的處理器22來執(zhí)行。應(yīng)當(dāng)理解,任何這樣的程序指令可以被加載到計算機或其它可編程裝置(例如硬件)上以生產(chǎn)機器,使得所得到的計算機或其它可編程裝置實現(xiàn)流程圖的塊中所規(guī)定的功能。這些計算機程序指令也可以存儲在計算機可讀存儲器中,計算機可讀存儲器可以指示計算機或其它可編程裝置按照特定方式工作,使得計算機可讀存儲器中存儲的指令生產(chǎn)制造品,該制造品執(zhí)行實現(xiàn)流程圖的塊中所規(guī)定的功能。計算機程序指令也可以被加載到計算機或其它可編程裝置上以引起一系列操作在計算機或其它可編程裝置上被執(zhí)行以產(chǎn)生計算機實現(xiàn)的過程,使得在計算機或其它可編程裝置上執(zhí)行的指令提供用于實現(xiàn)流程圖的塊中規(guī)定的功能的操作。
相應(yīng)地,流程圖的塊支持用于執(zhí)行所規(guī)定的功能的裝置的組合以及用于執(zhí)行所規(guī)定的功能的操作的組合,以執(zhí)行所規(guī)定的功能。還應(yīng)當(dāng)理解,流程圖的一個或多個塊、以及流程圖中的塊的組合可以用執(zhí)行規(guī)定的功能的基于專用硬件的計算機系統(tǒng)、專用硬件和計算機指令的組合來實現(xiàn),
在一些實施例中,以上操作中的某些操作可以修改或進(jìn)一步放大。另外,在一些實施例中,可以包括附加的可選操作,諸如圖4和5中用塊408、508、510、512、514和516的虛線輪廓所圖示的。對以上操作的修改、添加或放大可以按照任何順序或者以任意組合的方式來執(zhí)行。
與這些發(fā)明相關(guān)的領(lǐng)域的技術(shù)人員在得益于以上描述和相關(guān)聯(lián)的附圖中所呈現(xiàn)的教導(dǎo)的基礎(chǔ)上能夠想到本文中給出的本發(fā)明的很多修改和其它實施例。因此,應(yīng)當(dāng)理解,這些發(fā)明不限于所公開的具體實施例,修改和其它實施例旨在被包括在所附權(quán)利要求的范圍內(nèi)。另外,雖然以上描述和相關(guān)聯(lián)的附圖在元件和/或功能的某些示例組合的上下文中描述示例實施例,然而應(yīng)當(dāng)理解,可以在不偏離所附權(quán)利要求的范圍的情況下由替代實施例提供元件和/或功能的不同組合。在這一點上,例如,與上文清楚地描述的不同的元件和/或功能的組合也被理解為可以在所附權(quán)利要求中的一些權(quán)利要求中給出。雖然本文中采用具體術(shù)語,然而它們僅在一般和描述性意義上而非出于限制目的而被使用。