控制傳感器裝置的方法和設(shè)備的制作方法
【專利摘要】一種裝置控制系統(tǒng)設(shè)置,監(jiān)測(cè),并控制一個(gè)或一個(gè)以上接口裝置,這樣,接口裝置可以從一個(gè)或一個(gè)以上連接著的物理裝置獲得傳感器數(shù)據(jù)并將其傳播,上述物理裝置包括用于測(cè)量物理屬性的傳感器。在操作過程中,該系統(tǒng)可以通過建立與接口裝置的網(wǎng)絡(luò)連接來設(shè)置該接口裝置,并為該接口裝置確定一個(gè)或一個(gè)以上規(guī)則。一個(gè)規(guī)則可以指明為做出一個(gè)操作的一個(gè)操作描述,并指明一個(gè)條件,其指明處理規(guī)則的操作描述的標(biāo)準(zhǔn)。該系統(tǒng)可以設(shè)置接口裝置使其處理其相關(guān)聯(lián)的規(guī)則。
【專利說明】控制傳感器裝置的方法和設(shè)備
【技術(shù)領(lǐng)域】
[0001]本發(fā)明通常涉及多臺(tái)裝置的控制。更具體地說,本發(fā)明涉及多個(gè)裝置的智能控制?!颈尘凹夹g(shù)】
[0002]住宅自動(dòng)化,或智能住宅,提高了它們的用戶的生活質(zhì)量。
[0003]更具體地說,住宅自動(dòng)化系統(tǒng)實(shí)現(xiàn)了照明,HVAC (取暖,通風(fēng),空調(diào)),電器,和其他系統(tǒng)的集中控制,從而提供了更好的便利,舒適,節(jié)能,與安全。一些自動(dòng)化系統(tǒng)提供一種自動(dòng)的基于時(shí)間或環(huán)境因素的控制方法,例如在HVAC或自動(dòng)噴水系統(tǒng)上。然而,這樣的典型的自動(dòng)化系統(tǒng)僅為某個(gè)單獨(dú)類型的電器提供自動(dòng)化控制,不同的自動(dòng)化系統(tǒng)之間并不互相接入從而提供完整的住宅自動(dòng)化解決方案。
[0004]相反,在智能住宅中,所有電氣裝置/設(shè)備在屋里集成在一起,為其用戶提供方便和更好的生活經(jīng)驗(yàn)。此外,互聯(lián)網(wǎng)連接的普遍性,也使得用戶能夠遠(yuǎn)程監(jiān)測(cè)和/或控制自己的家。例如,在歐洲度假時(shí),用戶可以連接到一個(gè)用于監(jiān)控他在華盛頓特區(qū)的家的監(jiān)控系統(tǒng),以便監(jiān)控他家里的活動(dòng);或者,用戶在接收到華盛頓特區(qū)風(fēng)暴預(yù)測(cè)后可以相應(yīng)的關(guān)閉他的家庭自動(dòng)噴水系統(tǒng)。
[0005]典型的家庭自動(dòng)化技術(shù)通常使用專門設(shè)計(jì)的控制和監(jiān)測(cè)裝置來實(shí)施,該控制和監(jiān)測(cè)裝置使用專用的通信協(xié)議進(jìn)行相互間的通信。由于裝置之間的通信協(xié)議是專有的,業(yè)主難以定制這樣的系統(tǒng)以使其包括新的或不同的其他供應(yīng)商的監(jiān)控裝置。以家庭監(jiān)控系統(tǒng)為例,該監(jiān)控系統(tǒng)控制器連接到各種專門設(shè)計(jì)的,由同一供應(yīng)商制造的傳感器和/或攝像機(jī)上。此外,如要實(shí)現(xiàn)集中控制,電器(或至少每個(gè)電器的控制器)也需要由同一供應(yīng)商制造。在上述家庭監(jiān)控系統(tǒng)和自動(dòng)噴水系統(tǒng)例子中,如果要允許用戶使用一個(gè)接口接入這兩個(gè)系統(tǒng),該家庭監(jiān)控系統(tǒng)和自動(dòng)噴水系統(tǒng)(或這些系統(tǒng)的控制器)需要來自相同的供應(yīng)商。然而,安裝這些專用裝置或設(shè)備控制器可以是昂貴而浪費(fèi)的,因?yàn)樵S多現(xiàn)有的房屋可能已經(jīng)配備有不同的供應(yīng)商制造的傳感器和電器。
【發(fā)明內(nèi)容】
[0006]本發(fā)明的一個(gè)實(shí)施例提供了一種控制裝置用的系統(tǒng),其設(shè)置,監(jiān)測(cè),和/或控制一個(gè)或一個(gè)以上接口裝置。接口裝置可以從一個(gè)或一個(gè)以上連接著的物理裝置獲得和傳播傳感器數(shù)據(jù),上述物理裝置可以包括用于測(cè)量物理屬性的傳感器。在操作過程中,該系統(tǒng)可以通過建立與接口裝置的網(wǎng)絡(luò)連接來設(shè)置該接口裝置,并選擇一個(gè)或一個(gè)以上規(guī)則,該規(guī)則被接口裝置處理。該系統(tǒng)設(shè)置該接口裝置,使其處理和它相關(guān)聯(lián)的規(guī)則。
[0007]本發(fā)明的一個(gè)實(shí)施例提供一個(gè)系統(tǒng),該系統(tǒng)建立一網(wǎng)絡(luò)連接到多個(gè)網(wǎng)絡(luò)裝置,以便于接口裝置與裝置控制系統(tǒng)、對(duì)等接口裝置、或其他計(jì)算裝置建立通信。該系統(tǒng)可以從網(wǎng)絡(luò)裝置接收數(shù)據(jù),并轉(zhuǎn)發(fā)該數(shù)據(jù)到一個(gè)訂閱該數(shù)據(jù)的對(duì)等網(wǎng)絡(luò)裝置。通過與對(duì)等網(wǎng)絡(luò)裝置建立的網(wǎng)絡(luò)連接,該系統(tǒng)將數(shù)據(jù)發(fā)送到對(duì)等網(wǎng)絡(luò)裝置。
[0008]本發(fā)明的一個(gè)實(shí)施例提供了一個(gè)接口裝置,該接口裝置通過已建立的網(wǎng)絡(luò)連接與其他裝置通信,以發(fā)送和/或接收實(shí)時(shí)傳感器數(shù)據(jù)。在操作過程中,該本地裝置可以建立和遠(yuǎn)程網(wǎng)絡(luò)裝置的網(wǎng)絡(luò)連接,該遠(yuǎn)程網(wǎng)絡(luò)裝置例如是對(duì)等接口裝置,或數(shù)據(jù)轉(zhuǎn)發(fā)系統(tǒng)。該本地裝置可以保持對(duì)其它對(duì)等裝置的數(shù)據(jù)訂閱,以獲得與某規(guī)則相關(guān)的實(shí)時(shí)數(shù)據(jù)元素,實(shí)現(xiàn)方法例如通過已建立的網(wǎng)絡(luò)連接向能夠生成一個(gè)數(shù)據(jù)元素的對(duì)等網(wǎng)絡(luò)裝置發(fā)送數(shù)據(jù)訂閱請(qǐng)求。
[0009]本發(fā)明的一個(gè)實(shí)施例提供了一個(gè)本地控制器,其維護(hù)一本地?cái)?shù)據(jù)庫(kù),該數(shù)據(jù)庫(kù)用于存儲(chǔ)局域網(wǎng)上的一組接口裝置的相關(guān)信息。本地?cái)?shù)據(jù)庫(kù)可包括一個(gè)遠(yuǎn)程控制器的遠(yuǎn)程數(shù)據(jù)庫(kù)的數(shù)據(jù)庫(kù)鏡像,其用于為一組被供應(yīng)的接口裝置存儲(chǔ)信息。在操作過程中,本地控制器維護(hù)本地?cái)?shù)據(jù)庫(kù),使其與遠(yuǎn)程數(shù)據(jù)庫(kù)中的至少一個(gè)子集同步。然而,當(dāng)本地控制器確認(rèn)遠(yuǎn)程控制器離線時(shí),如果遠(yuǎn)程控制器擁有在局域網(wǎng)的接口裝置的主控制,本地控制器可以獲得局域網(wǎng)內(nèi)的接口裝置的主控制。
[0010]一個(gè)實(shí)施例提供了一個(gè)接口裝置,其被設(shè)置為基于傳感器數(shù)據(jù)處理一個(gè)或一個(gè)以上規(guī)則,以做出預(yù)定的操作。在操作過程中,該裝置可以接收裝置的配置,包括該接口裝置所用的規(guī)則。該規(guī)則可以包括用于做出一個(gè)操作的操作描述,還可以包括一個(gè)條件,該條件以傳感器數(shù)據(jù)作為輸入,并指明做出該操作的準(zhǔn)則。該裝置可以在規(guī)則庫(kù)中存儲(chǔ)該規(guī)則,并可確定一個(gè)遠(yuǎn)程接口裝置,該遠(yuǎn)程接口裝置生成與該規(guī)則的條件相關(guān)聯(lián)的數(shù)據(jù)。該裝置還可以從該遠(yuǎn)程接口裝置訂閱該數(shù)據(jù)。
[0011]一個(gè)實(shí)施例提供了一種傳感器監(jiān)測(cè)接口裝置,它連接到一個(gè)或更多的物理裝置上,該物理裝置包含有測(cè)量物理屬性的傳感器。在操作過程中,該接口裝置從物理裝置上獲取和處理傳感器數(shù)據(jù)。當(dāng)接口裝置基于傳感器數(shù)據(jù)確定一個(gè)規(guī)則的條件已得到滿足時(shí),該接口裝置可以處理該規(guī)則的操作描述以做出相應(yīng)的操作。
[0012]一個(gè)實(shí)施例提供了一種負(fù)載控制接口裝置,用于獲取和處理從用戶接口和/或從一遠(yuǎn)程接口裝置接收到的傳感器數(shù)據(jù)。在操作過程中,負(fù)載控制接口裝置基于傳感器數(shù)據(jù)處理規(guī)則,以便控制電氣負(fù)載,如一燈具。
[0013]一個(gè)實(shí)施例提供了一個(gè)負(fù)載監(jiān)控接口裝置,其獲取和處理從一個(gè)電氣負(fù)載來的傳感器數(shù)據(jù)。該接口裝置可以包括至少一個(gè)電源插座,用于為一個(gè)相應(yīng)的電氣負(fù)載供電。在操作過程中,該接口裝置可以從一個(gè)連接電氣負(fù)載的本地電源插座獲得傳感器數(shù)據(jù),這樣,該傳感器數(shù)據(jù)可以表明一個(gè)與該電負(fù)載相關(guān)的電氣測(cè)量數(shù)據(jù)。接口裝置可處理一個(gè)和傳感器數(shù)據(jù)相關(guān)聯(lián)的規(guī)則,如啟用或禁用電源插座,或做出其他任何預(yù)先確定的操作。
【專利附圖】
【附圖說明】
[0014]圖1A示出了根據(jù)本發(fā)明的一個(gè)實(shí)施例的一個(gè)示例性的監(jiān)測(cè)和控制系統(tǒng)的系統(tǒng)架構(gòu)。
[0015]圖1B示出了根據(jù)本發(fā)明的一個(gè)實(shí)施例的一個(gè)示例性的監(jiān)測(cè)和控制系統(tǒng)的系統(tǒng)架構(gòu),其包括一個(gè)部署在計(jì)算機(jī)集群上的,可通過廣域網(wǎng)(WAN)訪問的控制器。
[0016]圖2A示出了根據(jù)本發(fā)明的一個(gè)實(shí)施例的一個(gè)示例性的接口裝置的裝置架構(gòu)。
[0017]圖2B示出了根據(jù)本發(fā)明的一個(gè)實(shí)施例的一個(gè)示例性的接口裝置軟件架構(gòu)。
[0018]圖2C示出了根據(jù)本發(fā)明的一個(gè)實(shí)施例的一個(gè)示例性的mPort接口裝置的裝置架構(gòu)。[0019]圖2D示出了根據(jù)本發(fā)明的一個(gè)實(shí)施例的一個(gè)mPort接口裝置。
[0020]圖2E示出了根據(jù)本發(fā)明的一個(gè)實(shí)施例的一個(gè)示例性的mPower接口裝置的裝置架構(gòu)。
[0021]圖2F示出了根據(jù)本發(fā)明的一個(gè)實(shí)施例的一個(gè)mPower接口裝置。
[0022]圖2G示出了根據(jù)本發(fā)明的一個(gè)實(shí)施例的一個(gè)示例性的mDimmer或mSwitch接口裝置的裝置架構(gòu)。
[0023]圖2H示出了根據(jù)本發(fā)明的一個(gè)實(shí)施例的一個(gè)mDimmer接口裝置。
圖21示出了根據(jù)本發(fā)明的一個(gè)實(shí)施例的數(shù)個(gè)mDimmer接口裝置。
[0024]圖3A是一個(gè)流程圖,示出了一根據(jù)本發(fā)明的一個(gè)實(shí)施例的示例性方法,其用于設(shè)置一個(gè)裝置控制器。
[0025]圖3B是一個(gè)流程圖,示出了一根據(jù)本發(fā)明的一個(gè)實(shí)施例的示例性方法,其用于呈現(xiàn)配置數(shù)據(jù)和/或傳感器數(shù)據(jù)。
[0026]圖4A是一個(gè)流程圖,示出了一根據(jù)本發(fā)明的一個(gè)實(shí)施例的示例性方法,其用于在一空間視圖(space-view)圖形用戶界面(GUI)上設(shè)置一裝置布局空間(device-placementspace)。
[0027]圖4B是一個(gè)流程圖,示出了 一根據(jù)本發(fā)明的一個(gè)實(shí)施例的示例性方法,其用于展示和更新一空間視圖⑶I。
[0028]圖4C示出了根據(jù)本發(fā)明的一個(gè)實(shí)施例的一個(gè)示例性的控制器空間視圖GUI。
[0029]圖4D示出了根據(jù)本發(fā)明的一個(gè)實(shí)施例的一個(gè)示例性的控制器提供的空間視圖GUI。
[0030]圖4E示出了根據(jù)本發(fā)明的一個(gè)實(shí)施例的一個(gè)示例性的控制器提供的空間視圖GUI。
[0031]圖5A是一個(gè)流程圖,示出了一根據(jù)本發(fā)明的一個(gè)實(shí)施例的示例性方法,其用于生成并存儲(chǔ)用于控制裝置的規(guī)則。
[0032]圖4B示出了根據(jù)本發(fā)明的一個(gè)實(shí)施例的一個(gè)示例性的控制器規(guī)則視圖GUI。
[0033]圖5C展示了一個(gè)用戶界面,其示出了根據(jù)本發(fā)明的一個(gè)實(shí)施例的示例性的預(yù)先定義的條件,該條件可以被納入到一個(gè)規(guī)則的條件組中。
[0034]圖6A示出了根據(jù)本發(fā)明的一個(gè)實(shí)施例的一個(gè)示例性的控制器裝置視圖GUI。
[0035]圖6B示出了根據(jù)本發(fā)明的一個(gè)實(shí)施例的一個(gè)示例性的控制器數(shù)據(jù)視圖GUI。
[0036]圖6C示出了根據(jù)本發(fā)明的一個(gè)實(shí)施例的一個(gè)示例性的控制器事件視圖GUI。
[0037]圖7是一個(gè)流程圖,示出了一根據(jù)本發(fā)明的一個(gè)實(shí)施例的示例性方法,其用于在一個(gè)本地接口裝置處理一個(gè)規(guī)則。
[0038]圖8示出了一示例性的計(jì)算機(jī)系統(tǒng),其用于把一個(gè)服務(wù)器集群內(nèi)的一個(gè)控制器和一個(gè)局域網(wǎng)(LAN)內(nèi)的裝置連接起來。
[0039]圖9是一個(gè)流程圖,示出了一根據(jù)本發(fā)明的一個(gè)實(shí)施例的示例性方法,其用于建立一個(gè)到遠(yuǎn)程裝置的網(wǎng)絡(luò)連接,該連接的建立基于從一個(gè)該遠(yuǎn)程裝置的中央控制器接收到的網(wǎng)絡(luò)地址信息。
[0040]圖10是一個(gè)流程圖,示出了一根據(jù)本發(fā)明的一個(gè)實(shí)施例的示例性方法,其用于建立一個(gè)與遠(yuǎn)程裝置的網(wǎng)絡(luò)連接,該連接的建立基于被儲(chǔ)存的該遠(yuǎn)程裝置的網(wǎng)絡(luò)地址信息。[0041]圖11示出了根據(jù)本發(fā)明的一個(gè)實(shí)施例的一個(gè)示例性的系統(tǒng)架構(gòu),其包括一個(gè)mDimmer 裝置。
[0042]圖12A示出了一個(gè)示范性的系統(tǒng)架構(gòu),其包括一個(gè)中央控制器和一個(gè)或一個(gè)以上帶有數(shù)據(jù)庫(kù)鏡像的局域網(wǎng)控制器。
[0043]圖12B示出了根據(jù)本發(fā)明的一個(gè)實(shí)施例的一個(gè)示例性的系統(tǒng)架構(gòu),其包括一個(gè)在一局域網(wǎng)內(nèi)的局域網(wǎng)控制器,和一個(gè)在廣域網(wǎng)內(nèi)可接入的轉(zhuǎn)發(fā)服務(wù)。
[0044]圖13示出了根據(jù)本發(fā)明的一個(gè)實(shí)施例的一個(gè)示例性的計(jì)算機(jī)系統(tǒng),其用于裝置的智能監(jiān)測(cè)和控制。
[0045]圖14A示出了根據(jù)本發(fā)明的一個(gè)實(shí)施例的一個(gè)mPort接口裝置的成角度視圖。
[0046]圖14B示出了根據(jù)本發(fā)明的一個(gè)實(shí)施例的一個(gè)mPort接口裝置的側(cè)視圖。
[0047]圖14C示出了根據(jù)本發(fā)明的一個(gè)實(shí)施例的一個(gè)mPort接口裝置的側(cè)視圖。
[0048]圖15A示出了根據(jù)本發(fā)明的一個(gè)實(shí)施例的一個(gè)mPort接口裝置的成角度視圖。
[0049]圖15B示出了根據(jù)本發(fā)明的一個(gè)實(shí)施例的一個(gè)包含天線連接器的mPort接口裝置的成角度視圖。
[0050]圖15C示出了根據(jù)本發(fā)明的一個(gè)實(shí)施例的一個(gè)mPort接口裝置的側(cè)視圖。
[0051]圖MD示出了根據(jù)本發(fā)明的一個(gè)實(shí)施例的一個(gè)mPort接口裝置的側(cè)視圖。
【具體實(shí)施方式】
[0052]下面的描述的提供使本領(lǐng)域的普通技術(shù)人員可以制造和使用這些實(shí)施例,并且,下面的描述是在一個(gè)特定的應(yīng)用和其要求的背景下提供的。對(duì)本領(lǐng)域的技術(shù)人員來說,對(duì)所披露的實(shí)施例的各種修改將會(huì)是很明顯的,并且,本文中定義的一般原則可以被應(yīng)用于其它的實(shí)施例和應(yīng)用,而不脫離本發(fā)明的范圍和精神。因此,本發(fā)明并不限于所示的實(shí)施例,而是應(yīng)該和在此披露的原則和特征相一致的情況下被給予最寬的范圍。
[0053]概述
[0054]本發(fā)明的實(shí)施例提供一個(gè)控制器,它可以使用來自不同供應(yīng)商的各種傳感器和裝置來實(shí)現(xiàn)一個(gè)統(tǒng)一的“智能”環(huán)境,如智能家居系統(tǒng)或工業(yè)環(huán)境。更具體地說,這些不同的物理裝置被連接到一個(gè)或一個(gè)以上接口裝置,該接口裝置連續(xù)監(jiān)測(cè)和控制該物理裝置,這樣,這些接口裝置可以通過該控制器接入并設(shè)置。例如,集中控制器可以在一個(gè)服務(wù)器集群(例如,“云”)中,并允許用戶通過在用戶的計(jì)算機(jī)上的互聯(lián)網(wǎng)瀏覽器或應(yīng)用程序訪問一個(gè)控制用戶界面(UI)。同時(shí),該接口裝置和物理裝置可以分布在很廣的區(qū)域(例如,遍及一個(gè)城市,或在世界各地不同的城市)。用戶可以與集中控制器互動(dòng),以設(shè)置接口裝置,確定接口裝置怎樣近實(shí)時(shí)地監(jiān)測(cè)從物理裝置來的數(shù)據(jù),并控制接口裝置怎樣在被監(jiān)測(cè)到的數(shù)據(jù)的基礎(chǔ)上控制一個(gè)或更多的物理裝置。
[0055]每個(gè)接口裝置包括多個(gè)裝置連接器和一個(gè)或一個(gè)以上網(wǎng)絡(luò)接口,它們使接口裝置和集中控制器能夠通過一個(gè)公共的或私人的網(wǎng)絡(luò)相連接。在一個(gè)實(shí)施例中,該接口裝置通過一個(gè)基于互聯(lián)網(wǎng)協(xié)議(IP)的網(wǎng)絡(luò)連接到該控制器。該接口裝置和該集中控制器通過交換IP數(shù)據(jù)包實(shí)現(xiàn)通信。集中控制器可以提供一個(gè)圖形用戶界面(⑶I),其用戶可以在一個(gè)遠(yuǎn)程位置使用它,以監(jiān)測(cè)和控制裝置的操作。此外,該圖形用戶界面允許用戶設(shè)置自動(dòng)控制該裝置的操作的復(fù)合規(guī)則。[0056]系統(tǒng)架構(gòu)
[0057]圖1A示出了根據(jù)本發(fā)明的一個(gè)實(shí)施例的一個(gè)示例性的監(jiān)測(cè)和控制系統(tǒng)100的系統(tǒng)架構(gòu)。監(jiān)測(cè)和控制系統(tǒng)100包括一個(gè)控制器102,網(wǎng)絡(luò)106,若干接口裝置108 (例如,接口裝置108.1和108.m),每個(gè)接口裝置連接到若干被控制的物理裝置110。例如,接口裝置108.1連接到物理裝置110.1,110.2,和110.η。
[0058]控制器102可以包括任何和接口裝置108進(jìn)行通信,并執(zhí)行一個(gè)應(yīng)用軟件的計(jì)算設(shè)備,該軟件由用戶104使用,以監(jiān)測(cè)和控制連接到接口裝置108的物理裝置的操作。例如,控制器102可以存在并運(yùn)行在一個(gè)獨(dú)立的計(jì)算設(shè)備上,包括,但不限于一個(gè)臺(tái)式機(jī)或筆記本電腦102.1,個(gè)人數(shù)字助理(PDA)或智能手機(jī)102.2,平板電腦的102.3,或大型計(jì)算機(jī)102.k。在一些實(shí)施例中,控制器102存在并運(yùn)行在一個(gè)服務(wù)器云上。此外,在一些(未顯不的)實(shí)施例中,控制器102存在并運(yùn)行在一個(gè)或一個(gè)以上的接口裝置(例如,接口裝置108.1和/或108.m)上,以實(shí)現(xiàn)一個(gè)分布式控制器。
[0059]網(wǎng)絡(luò)106 —般可以包括任何類型的、有線或無線的、可將計(jì)算節(jié)點(diǎn)連接在一起的通信信道。網(wǎng)絡(luò)106包括,但不限于一個(gè)局域網(wǎng),廣域網(wǎng),一個(gè)專用網(wǎng)絡(luò),公共網(wǎng)絡(luò),或網(wǎng)絡(luò)的組合。此外,網(wǎng)絡(luò)106可以包括一個(gè)有線網(wǎng)絡(luò),無線網(wǎng)絡(luò),或它們的組合。在一些實(shí)施例中,網(wǎng)絡(luò)106包括一個(gè)基于IP的網(wǎng)絡(luò)。在另一個(gè)實(shí)施例中,網(wǎng)絡(luò)106包括互聯(lián)網(wǎng)。
[0060]每個(gè)接口裝置108,如接口裝置的108.1或108.m,包括若干物理端口,其使該接口裝置和若干物理裝置相連接。此外,物理裝置Iio (例如,裝置110.1-110.η)可以包括任何類型的物理裝置,如傳感器,機(jī)器,或任何類型的現(xiàn)在已知的或以后開發(fā)的電動(dòng)部件。該裝置可以包括傳感器(例如,溫度傳感器,濕度傳感器,電流傳感器,運(yùn)動(dòng)傳感器,和門/窗傳感器),或可控裝置(例如,燈開關(guān),電源插座,電源板,繼電器等)。
[0061]在一些實(shí)施例中,物理裝置110可以是“愚蠢的”裝置,其不具備任何智能,如計(jì)算或連接網(wǎng)絡(luò)的能力。在另一個(gè)實(shí)施例中,物理裝置110可以包括任何類型的現(xiàn)成的檢測(cè)環(huán)境因素的傳感器,所述環(huán)境因素包括但不限于溫度,聲音,光強(qiáng)度,濕度,運(yùn)動(dòng),電流,門/窗開或關(guān)等。一傳感器的輸出可以包括一個(gè)模擬或數(shù)字信號(hào)。例如,一個(gè)溫度傳感器的輸出可以是一個(gè)在一定范圍內(nèi)的模擬電壓信號(hào),一個(gè)運(yùn)動(dòng)傳感器的輸出可能是一個(gè)二進(jìn)制數(shù)字信號(hào),用“ I”表示動(dòng)作已經(jīng)被探測(cè)到。
[0062]在一些實(shí)施例中,接口裝置108可以包括一個(gè)串行端口(如RS232或RS485端口),并且裝置110可以是一個(gè)串行裝置,其與接口裝置108通過串行端口通信。例如,裝置110.1可以包括一個(gè)能夠通過串行端口來控制的裝置,接口裝置108.1可以通過串行端口連接到該裝置。因此,接口裝置108.1可以通過串行端口從該裝置接收狀態(tài)信息,并能通過串行端口傳達(dá)命令以控制該裝置。另一個(gè)例子是,裝置ΙΙΟ.η可以包括一個(gè)路由器,接口裝置108.1可以連接到該路由器的控制臺(tái)端口,從而實(shí)現(xiàn)遠(yuǎn)程監(jiān)測(cè)和控制該路由器。
[0063]圖1B示出了根據(jù)本發(fā)明的一個(gè)實(shí)施例的一個(gè)示例性的監(jiān)測(cè)和控制系統(tǒng)150的系統(tǒng)架構(gòu),其包括一個(gè)部署在計(jì)算機(jī)集群152上的,可通過廣域網(wǎng)154接入的控制器。在一些實(shí)施例中,計(jì)算機(jī)集群152可以包括多個(gè)服務(wù)器計(jì)算機(jī)152.1-152.k,使用負(fù)載均衡技術(shù)將其負(fù)載分布到計(jì)算機(jī)集群152各處。
[0064]隨著時(shí)間的推移,在計(jì)算機(jī)集群152的負(fù)載增加時(shí),系統(tǒng)管理員可以添加額外的服務(wù)器到計(jì)算機(jī)集群152上。具體來說,服務(wù)器計(jì)算機(jī)152.1-152.k可以分布在不同的地理位置,這樣一個(gè)特定的地理位置的服務(wù)器的數(shù)量可以根據(jù)該地理位置的需要進(jìn)行調(diào)整。這允許計(jì)算機(jī)集群152近實(shí)時(shí)地服務(wù)來自多個(gè)裝置的請(qǐng)求,以及推送數(shù)據(jù)到該多個(gè)裝置。
[0065]在操作過程中,計(jì)算機(jī)集群152可以保持到多個(gè)客戶端裝置(例如,計(jì)算機(jī)設(shè)備158,和/或接口裝置162)持續(xù)不斷的或連續(xù)的網(wǎng)絡(luò)連接。該網(wǎng)絡(luò)連接可以包括一個(gè)雙向通道,其用WebSocket協(xié)議建立,或者,網(wǎng)絡(luò)連接可以通過使用STUN協(xié)議,Comet協(xié)議,或任何其它的現(xiàn)在已知的或以后開發(fā)的通信協(xié)議保持。計(jì)算機(jī)集群152可以從這些客戶端裝置接收實(shí)時(shí)數(shù)據(jù),并能轉(zhuǎn)送實(shí)時(shí)數(shù)據(jù)到一個(gè)已訂閱該數(shù)據(jù)的客戶端裝置。例如,在一些實(shí)施例中,計(jì)算機(jī)集群152可以包括一個(gè)與控制器有關(guān)的數(shù)據(jù)庫(kù)166,使得數(shù)據(jù)庫(kù)166可以保持一個(gè)“可跟蹤光標(biāo)”目錄。這些可跟蹤光標(biāo)實(shí)現(xiàn)一個(gè)隊(duì)列,用于將數(shù)據(jù)轉(zhuǎn)發(fā)到訂閱了某個(gè)數(shù)據(jù)的客戶端裝置??蛻舳搜b置可以綁定并等待這些可跟蹤光標(biāo)。
[0066]在一些實(shí)施例中,裝置158可以包括客戶計(jì)算設(shè)備,如計(jì)算機(jī)(例如,筆記本電腦),移動(dòng)裝置(例如,一個(gè)智能手機(jī)或平板電腦)等。通過建立和維持到所想要的目標(biāo)裝置的網(wǎng)絡(luò)連接,裝置158可以與計(jì)算機(jī)集群152和/或接口裝置162通信。例如,一個(gè)用戶156可以使用裝置158 (例如,一臺(tái)筆記本電腦或智能手機(jī))上運(yùn)行的應(yīng)用程序,用來和一個(gè)在計(jì)算機(jī)集群152上運(yùn)行的控制器建立一個(gè)會(huì)話,并從控制器接收一個(gè)或一個(gè)以上接口裝置162的網(wǎng)絡(luò)地址信息。裝置158可以使用一個(gè)接口裝置的網(wǎng)絡(luò)地址信息將數(shù)據(jù)發(fā)送到該接口裝置,和/或建立與該接口裝置的網(wǎng)絡(luò)連接。
[0067]在一些實(shí)施例中,裝置158和/或接口裝置162可以確定它們什么時(shí)候可以彼此點(diǎn)對(duì)點(diǎn)(peer-to-peer)通信,以及什么時(shí)候它們需要通過轉(zhuǎn)送服務(wù)(例如,通過計(jì)算機(jī)集群152 )相互通信。例如,通過儲(chǔ)存接口裝置162和/或任何其他計(jì)算設(shè)備的裝置接入信息,裝置158可以記住分布式接口裝置網(wǎng)絡(luò)的配置快照。該裝置接入信息可以包括網(wǎng)絡(luò)地址信息,如遠(yuǎn)程裝置的IP地址和端口號(hào),和/或可以包括接入遠(yuǎn)程裝置所用的認(rèn)證信息(例如,數(shù)字證書,用戶名,密碼,授權(quán)令牌等)。因此,如果在局域網(wǎng)160內(nèi)的接口裝置162失去它們到控制器的連接(例如,局域網(wǎng)160和廣域網(wǎng)154斷開),裝置158的該應(yīng)用程序可以使用已存儲(chǔ)的配置快照通過局域網(wǎng)160和接口裝置162直接通信。這允許一個(gè)監(jiān)控接口裝置網(wǎng)絡(luò)的應(yīng)用軟件直接與接口裝置162通信,而無需先聯(lián)絡(luò)計(jì)算機(jī)集群152上的控制器。
[0068]在一些實(shí)施例中,通過利用已知的網(wǎng)絡(luò)地址信息向接口裝置發(fā)送一個(gè)請(qǐng)求(例如,通過一個(gè)JSONP消息),裝置158可以測(cè)試與接口裝置的連接。該請(qǐng)求可以表明想要的接口裝置的的裝置識(shí)別信息(例如,一個(gè)邏輯標(biāo)識(shí),一個(gè)媒體訪問控制地址(MAC address)等),這使得裝置158無需從遠(yuǎn)程裝置請(qǐng)求敏感信息就可以測(cè)試連接。如果該請(qǐng)求到達(dá)一個(gè)接口裝置,該接口裝置將這個(gè)識(shí)別信息與本地的裝置識(shí)別信息進(jìn)行比較,并確認(rèn)其身份,如果它確實(shí)是目標(biāo)接口裝置。在一些實(shí)施例中,該接口裝置通過提供認(rèn)證信息,如數(shù)字證書,向裝置158確認(rèn)其身份。
[0069]如果網(wǎng)絡(luò)地址信息包括接口裝置的IP地址,當(dāng)裝置158和接口裝置同時(shí)連接到同一局域網(wǎng)(例如,局域網(wǎng)160)時(shí),裝置158可以使用此IP地址與該接口裝置通信。然而,如果裝置158和接口裝置不連接到同一個(gè)局域網(wǎng),也不能跨域建立點(diǎn)對(duì)點(diǎn)連接(例如,由于防火墻),裝置158可以與接口裝置使用數(shù)據(jù)轉(zhuǎn)發(fā)服務(wù)進(jìn)行通信(例如,計(jì)算機(jī)集群152,或另一個(gè)連接到廣域網(wǎng)154的服務(wù)器計(jì)算機(jī))。
[0070]此外,在一些實(shí)施例中,裝置158可以自動(dòng)發(fā)現(xiàn)其他裝置的存在(例如,使用通用即插即用(UPnP),或其他的自動(dòng)發(fā)現(xiàn)協(xié)議)。例如,如果一個(gè)接口裝置的網(wǎng)絡(luò)信息已經(jīng)改變,而且裝置158無法建立到中央控制器的網(wǎng)絡(luò)連接,裝置158可以自動(dòng)發(fā)現(xiàn)其他裝置的存在,以獲得裝置識(shí)別信息(例如,一個(gè)MAC地址,一個(gè)數(shù)字證書等)。裝置158可以把接收到的被發(fā)現(xiàn)的裝置的裝置識(shí)別信息和所想要的接口裝置的裝置識(shí)別信息進(jìn)行比較。如果一個(gè)被自動(dòng)發(fā)現(xiàn)的裝置和一個(gè)想要的接口裝置相一致,裝置158可以獲取和存儲(chǔ)被發(fā)現(xiàn)的裝置的網(wǎng)絡(luò)地址信息(例如,用以取代舊的或無效的信息),并可以使用這個(gè)網(wǎng)絡(luò)地址信息建立一個(gè)到被發(fā)現(xiàn)的裝置的網(wǎng)絡(luò)連接。
[0071]用戶156可以使用裝置158上的互聯(lián)網(wǎng)(Internet)瀏覽器與中央控制器互動(dòng)(例如,訪問計(jì)算機(jī)集群152上的控制器),這允許用戶從各接口裝置162瀏覽實(shí)時(shí)數(shù)據(jù)。該控制器可為用戶生成網(wǎng)頁(yè),其包括各接口裝置的網(wǎng)絡(luò)地址信息。如果裝置158和一個(gè)接口裝置在同一域內(nèi)(例如,一個(gè)局域網(wǎng),或虛擬私人網(wǎng)絡(luò)),在裝置158上的瀏覽器可以直接從該接口裝置獲取實(shí)時(shí)數(shù)據(jù)。例如,該瀏覽器可以使用JS0NP( JavaScript object notation, withpadding)或 CORS (cross-origin resource sharing)向接口裝置請(qǐng)求數(shù)據(jù),該接口裝置可以是和提供網(wǎng)頁(yè)的控制器在不同的域上。
[0072]在一些實(shí)施例中,系統(tǒng)架構(gòu)150內(nèi)的裝置可以通過建立和維護(hù)一個(gè)持續(xù)不斷的或連續(xù)的網(wǎng)絡(luò)連接近實(shí)時(shí)地互相通信。例如,接口裝置162之間可以相互訂閱對(duì)方的數(shù)據(jù),并能使用網(wǎng)絡(luò)連接,實(shí)時(shí)將數(shù)據(jù)向訂閱裝置推送。另一個(gè)例子是,裝置158可以建立一個(gè)到若干接口裝置162的網(wǎng)絡(luò)連接,并接收實(shí)時(shí)數(shù)據(jù)以呈現(xiàn)給用戶。
[0073]此外,在局域網(wǎng)160內(nèi)的本地裝置可以建立和維持與計(jì)算機(jī)集群152的持續(xù)不斷的網(wǎng)絡(luò)連接,這可以通過確定它的外部地址并和計(jì)算機(jī)集群152分享這個(gè)地址(例如,使用STUN),或通過在局域網(wǎng)160內(nèi)維持一個(gè)穿過防火墻的端口隧道(例如,使用Comet)得以實(shí)現(xiàn)?;蛘撸镜匮b置還可以建立一個(gè)持續(xù)不斷的雙向網(wǎng)絡(luò)連接,如采用WebSocket協(xié)議或任何其他的雙向通信協(xié)議。
[0074]使用Comet維持網(wǎng)絡(luò)連接,本地裝置可以發(fā)送長(zhǎng)輪詢請(qǐng)求到計(jì)算機(jī)集群152 (例如,作為一個(gè)XMLHttpRequest(XHR)的通知),這將打開一個(gè)防火墻內(nèi)的臨時(shí)端口,通過它計(jì)算機(jī)集群152可以提供一個(gè)響應(yīng)消息。如果計(jì)算機(jī)集群152有新的數(shù)據(jù)提供給本地裝置,計(jì)算機(jī)集群152可以使用XHR響應(yīng)來響應(yīng)XHR通知,該響應(yīng)包括該新的數(shù)據(jù)。不然,如果計(jì)算機(jī)集群152沒有新的數(shù)據(jù)給本地裝置,計(jì)算機(jī)集群152不響應(yīng)XHR請(qǐng)求,從而使XHR請(qǐng)求終止。
[0075]一旦XHR請(qǐng)求終止,一個(gè)網(wǎng)絡(luò)路由器或防火墻可能會(huì)關(guān)閉一個(gè)和XHR請(qǐng)求相關(guān)聯(lián)的端口,這將防止計(jì)算機(jī)集群152向本地裝置提供新的數(shù)據(jù)。因此,為了保持與計(jì)算機(jī)集群152的網(wǎng)絡(luò)連接,在已存在的請(qǐng)求終止之前(例如,在30秒的時(shí)間間隔),該本地裝置可以周期性地發(fā)送額外的長(zhǎng)輪詢請(qǐng)求。計(jì)算機(jī)集群152可以把新的XHR請(qǐng)求與本地裝置相關(guān)聯(lián)(例如,取代以前的XHR請(qǐng)求),并利用新的XHR請(qǐng)求中的網(wǎng)絡(luò)地址信息將實(shí)時(shí)數(shù)據(jù)推送到本地裝置。
[0076]利用WebSocket協(xié)議建立網(wǎng)絡(luò)連接,本地裝置可以發(fā)送一個(gè)WebSocket握手請(qǐng)求到計(jì)算機(jī)集群的152,這將把一個(gè)超文本傳輸協(xié)議(HTTP)會(huì)話升級(jí)到一個(gè)WebSocket會(huì)話,該請(qǐng)求包括給計(jì)算機(jī)集群152上的控制器的Sec-WebSocket-Key令牌。該控制器發(fā)送一個(gè)響應(yīng)到本地裝置來回應(yīng),該響應(yīng)承認(rèn)該WebSocket會(huì)話,并且包括來源于Sec-WebSocket-Key 令牌的 Sec-WebSocket-Accept 令牌。
[0077]裝置架構(gòu)
[0078]圖2A示出了根據(jù)本發(fā)明的一個(gè)實(shí)施例的一個(gè)示例性的接口裝置200的裝置架構(gòu)。接口裝置200包括若干物理端口,如端口 202,204,和206,用來為若干物理裝置提供物理連接;處理單元208,存儲(chǔ)單元210,用于生成或解析通信數(shù)據(jù)包的數(shù)據(jù)包生成器/解析器212,有線網(wǎng)絡(luò)接口 214,和無線網(wǎng)絡(luò)接口 216。接口裝置200可任選地包括一個(gè)通用串行總線(USB)接口 218。
[0079]物理端口 202-206提供接口裝置200和一些物理裝置之間的連接。更特別的是,物理端口 206-208可給相連接的物理裝置供電,并從相連接的物理裝置接收輸入信號(hào)和向其發(fā)送輸出信號(hào)。在一些實(shí)施例中,這些功能是通過一個(gè)物理端口和一個(gè)物理裝置之間的有線連接而實(shí)現(xiàn)的。例如,一個(gè)典型的溫度傳感器可以包括三個(gè)引腳,一個(gè)接地,一個(gè)輸入電源,一個(gè)是模擬電壓輸出。當(dāng)溫度傳感器連接到一個(gè)物理端口,三個(gè)引腳每個(gè)都連接到相應(yīng)的物理端口內(nèi)的連接點(diǎn)上,從而使接口裝置200通過那些有線連接向溫度傳感器供電,并從溫度傳感器接收其輸出的電壓。在一些實(shí)施例中,物理端口包括至少一個(gè)RJ45端口(一個(gè)RJ45雌性插口),其提供了八個(gè)等距導(dǎo)電通道。一個(gè)插入插口的RJ45電纜提供到一個(gè)裝置的有線連接,該裝置可能包括或可能不包括一個(gè)RJ45插口。在一些實(shí)施例中,物理端口包括一個(gè)接線端子端口,其包括八個(gè)相等間隔的金屬柱,每個(gè)可以連接一個(gè)設(shè)備終端。請(qǐng)注意,這個(gè)簡(jiǎn)單的接線端子端口可使接口裝置200和幾乎任何類型的裝置相連,只要該裝置具有八個(gè)或小于八個(gè)連接。
[0080]處理單元208負(fù)責(zé)取樣,分析,并解釋從物理裝置接收到的原始輸入信號(hào)(模擬或數(shù)碼)。例如,如果一個(gè)物理裝置是一個(gè)溫度傳感器,從對(duì)應(yīng)的物理端口接收到的原始輸入信號(hào)將是在一定范圍內(nèi)(如從O到2伏)的模擬電壓,這樣,使用和溫度傳感器相關(guān)的校準(zhǔn)信息,處理單元208可以把該模擬電壓轉(zhuǎn)換成為相應(yīng)的溫度。在一些實(shí)施例中,可以由用戶提供和傳感器相關(guān)的校準(zhǔn)信息。在一些實(shí)施例中,該監(jiān)測(cè)和控制系統(tǒng)保持許多現(xiàn)成的傳感器的記錄,并且可以基于傳感器的品牌和型號(hào)查找校準(zhǔn)信息。此外,處理單元208還負(fù)責(zé)執(zhí)行從控制器接收到的控制命令。例如,如果控制器發(fā)送一個(gè)命令關(guān)閉一個(gè)溫度傳感器,處理單元208將停止向相應(yīng)的終端供電。
[0081]存儲(chǔ)單元210負(fù)責(zé)存儲(chǔ)各種類型的、有關(guān)相連接裝置的信息,如歷史數(shù)據(jù)。利用從處理單元208和存儲(chǔ)單元210獲得的信息,數(shù)據(jù)包生成器/解析器212生成通信數(shù)據(jù)包,并解析從控制器接收到的通信數(shù)據(jù)包。在一些實(shí)施例中,數(shù)據(jù)包生成器/解析器212能夠生成和解析IP數(shù)據(jù)包。
[0082]有線網(wǎng)絡(luò)接口 214和無線網(wǎng)絡(luò)接口 216提供接口裝置200和一個(gè)網(wǎng)絡(luò)之間的連接,從而連接接口裝置200和控制器。在一些實(shí)施例中,有線網(wǎng)絡(luò)接口 214和無線網(wǎng)絡(luò)接口216允許接口裝置200被連接到互聯(lián)網(wǎng)。在一些實(shí)施例中,有線網(wǎng)絡(luò)接口 214包括一個(gè)以太網(wǎng)(Ethernet)端口。在另一個(gè)實(shí)施例中,以太網(wǎng)端口還通過以太網(wǎng)供電(PoE)向接口裝置200供電。除了提供與控制器的通信接口,有線網(wǎng)絡(luò)接口 214和無線網(wǎng)絡(luò)接口 216也使接口裝置200與其他對(duì)等接口裝置通信。
[0083]在一些實(shí)施例中,如果接口裝置200還沒有被設(shè)置,接口裝置200可以設(shè)置無線網(wǎng)絡(luò)接口 216,使其作為一個(gè)接入點(diǎn)(access point)。用戶可以使用個(gè)人計(jì)算設(shè)備連接到與接口裝置200相關(guān)的無線局域網(wǎng),以接入該接入點(diǎn)(舉例而言,用戶例如可以從接口裝置200的底盤上的打印文字來確定該無線局域網(wǎng)的SSID和密碼。)。一旦用戶的計(jì)算設(shè)備連接到接入點(diǎn),接口裝置200可以向用戶提供一個(gè)設(shè)置用⑶I,這可以通過例如一個(gè)HTTP會(huì)話得以實(shí)現(xiàn)。
[0084]當(dāng)用戶在其個(gè)人電腦上啟動(dòng)一個(gè)互聯(lián)網(wǎng)瀏覽器時(shí),接口裝置200可以將用戶的互聯(lián)網(wǎng)瀏覽器重定到該設(shè)置用GW,該界面允許用戶按需要設(shè)置該接入點(diǎn)。例如,用戶可以設(shè)置一個(gè)到用戶個(gè)人接入點(diǎn)(例如,一個(gè)連接到互聯(lián)網(wǎng)的無線路由器)的連接,并可以輸入個(gè)人登錄信息以使用一個(gè)服務(wù),該服務(wù)允許用戶通過互聯(lián)網(wǎng)控制接口裝置200。
[0085]一旦用戶完成接口裝置200的設(shè)置,接口裝置200保存該設(shè)置并重新啟動(dòng)。當(dāng)接口裝置200重新啟動(dòng)時(shí),如果接口裝置200確定它已被已正確設(shè)置,則接口裝置200可以設(shè)置無線網(wǎng)絡(luò)接口 216,使其成為一個(gè)無線客戶端裝置,并連接到用戶的個(gè)人無線接入點(diǎn)。
[0086]在一些實(shí)施例中,一個(gè)接口裝置還可以是專門設(shè)計(jì)的、聯(lián)通網(wǎng)絡(luò)的電源板,它可以監(jiān)控一個(gè)連接到該電源板的設(shè)備的能源使用情況(如電流和/或電壓)。該電源板裝置可以控制一個(gè)連接上的裝置,例如在本地或遠(yuǎn)程打開或關(guān)閉相應(yīng)的電源插座。
[0087]圖2B示出了根據(jù)本發(fā)明的一個(gè)實(shí)施例的一個(gè)示例性的接口裝置的軟件架構(gòu)220。軟件架構(gòu)220包括一個(gè)操作系統(tǒng)內(nèi)核222,數(shù)個(gè)設(shè)備驅(qū)動(dòng)程序224,數(shù)個(gè)通信模塊228,互聯(lián)網(wǎng)服務(wù)器234,和一個(gè)微控制器代理模塊(mcAgent226)。特別是,接口裝置200可以把軟件架構(gòu)220存儲(chǔ)在存儲(chǔ)單元210內(nèi),并可使用處理單元208來執(zhí)行軟件架構(gòu)220的一個(gè)或一個(gè)以上模塊。
[0088]通信模塊228可以包括因特網(wǎng)協(xié)議(IP)模塊230,用于建立和維護(hù)一基于IP層協(xié)議的、和一遠(yuǎn)程裝置的網(wǎng)絡(luò)連接,例如使用STUN協(xié)議,Comet協(xié)議等。在一些實(shí)施例中,通信模塊228可包括一 WebSocket模塊232,使用WebSocket協(xié)議保持和維護(hù)與遠(yuǎn)程設(shè)備的網(wǎng)絡(luò)連接。WebSocket模塊232可以包括一個(gè)用戶空間的應(yīng)用程序或服務(wù),利用其他內(nèi)核空間的服務(wù)(例如,設(shè)備驅(qū)動(dòng)程序224)和/或其他用戶空間的服務(wù)來建立和維護(hù)該網(wǎng)絡(luò)連接。
[0089]操作系統(tǒng)內(nèi)核222可以包括任何操作系統(tǒng),如一個(gè)Linux操作系統(tǒng)的變種。微控制器代理(mcAgent)226可包括一個(gè)運(yùn)行在操作系統(tǒng)內(nèi)核222之上的用戶空間的應(yīng)用,以實(shí)現(xiàn)本文所描述的接口裝置200的功能。例如,mcAgent可以和設(shè)備驅(qū)動(dòng)程序224互動(dòng),以檢測(cè)到一個(gè)用戶主導(dǎo)的事件(例如,從用戶輸入設(shè)備,如燈開關(guān)),定期監(jiān)測(cè)傳感器的輸入(例如,一個(gè)運(yùn)動(dòng)傳感器),和/或控制一輸出設(shè)備(例如,一個(gè)電源)。同時(shí),mcAgent可與通信模塊228互動(dòng),以建立一個(gè)到遠(yuǎn)程控制器和/或一個(gè)或一個(gè)以上遠(yuǎn)程接口裝置的網(wǎng)絡(luò)連接,和/或通過相應(yīng)的網(wǎng)絡(luò)連接發(fā)送數(shù)據(jù)到該控制器或遠(yuǎn)程接口裝置,或從該控制器或遠(yuǎn)程接口裝置接收數(shù)據(jù)。
[0090]設(shè)備驅(qū)動(dòng)程序224可以包括一個(gè)或一個(gè)以上可以通過一個(gè)虛擬文件接口(例如,在Linux文件系統(tǒng)中/proc目錄下的一個(gè)虛擬文件)使用的內(nèi)核空間驅(qū)動(dòng)模塊。通過對(duì)一個(gè)對(duì)應(yīng)于一個(gè)目標(biāo)裝置的虛擬文件的讀寫,通信模塊228和/或mcAgent226可以和設(shè)備驅(qū)動(dòng)程序224互動(dòng)。
[0091]設(shè)備驅(qū)動(dòng)程序224可以包括,例如,用于訪問和控制一個(gè)網(wǎng)絡(luò)接口的網(wǎng)絡(luò)設(shè)備驅(qū)動(dòng)程序,上述網(wǎng)絡(luò)接口例如一個(gè)以太網(wǎng)控制器,一個(gè)W1-Fi控制器,或一個(gè)藍(lán)牙控制器。操作系統(tǒng)內(nèi)核222可以通過使用網(wǎng)絡(luò)設(shè)備驅(qū)動(dòng)程序與一個(gè)遠(yuǎn)程計(jì)算機(jī)設(shè)備進(jìn)行通信。同時(shí),通信模塊228可以使用網(wǎng)絡(luò)設(shè)備驅(qū)動(dòng)程序,以建立和維護(hù)一個(gè)和控制器和/或?qū)Φ冉涌谘b置的網(wǎng)絡(luò)連接。
[0092]作為另一個(gè)例子,設(shè)備驅(qū)動(dòng)程序224可以包括驅(qū)動(dòng)模塊,其通過一個(gè)處理單元的通用輸入輸出(GPIO)端口、該處理單元的一個(gè)串行接口、或該處理單元的一個(gè)通用異步接收器/發(fā)送器(UART)端口,監(jiān)視或控制一外圍設(shè)備。例如,串行接口可以包括一個(gè)串行外設(shè)接口(SPI)總線,一個(gè)跨集成電路(I2C)總線,或任何現(xiàn)在已知的或以后開發(fā)的串行接口。
[0093]在一些實(shí)施例中,外圍設(shè)備可以包括一非永久性存儲(chǔ)設(shè)備(例如,一個(gè)隨機(jī)存取存儲(chǔ)器(RAM)模塊),或一個(gè)永久性存儲(chǔ)設(shè)備(例如,閃存設(shè)備)。在其他一些實(shí)施例中,外圍設(shè)備可以包括一個(gè)移位寄存器,模數(shù)轉(zhuǎn)換器(ADC),數(shù)模轉(zhuǎn)換器(DAC),輸出功率調(diào)節(jié)器,繼電器,以交流三極管(TRIAC)為基礎(chǔ)的裝置,等。進(jìn)一步,外圍設(shè)備也可以包括一個(gè)用戶輸入裝置,如對(duì)觸摸敏感的用戶接口。
[0094]微控制器代理
[0095]在一些實(shí)施例中,微控制器代理(mcAgent) 226管理接口裝置做出的操作,例如管理來自多個(gè)遠(yuǎn)程裝置的數(shù)據(jù)訂閱,和處理在檢測(cè)到新事件時(shí)所觸發(fā)的規(guī)則。在操作過程中,mcAgent226可以接收來自遠(yuǎn)程裝置(例如,一個(gè)控制器或接口裝置)的數(shù)據(jù)訂閱請(qǐng)求,在這時(shí)mcAgent226可以把該數(shù)據(jù)訂閱請(qǐng)求插入到數(shù)據(jù)訂閱庫(kù)中。該數(shù)據(jù)訂閱請(qǐng)求可以指明被訂閱的數(shù)據(jù)的類型,和一個(gè)讓mcAgent226推送數(shù)據(jù)到遠(yuǎn)程裝置所需要滿足的條件(例如,最小或最大閾值)。
[0096]并且,mcAgent226可以定期從各種輸入傳感器采集數(shù)據(jù)樣品,并將數(shù)據(jù)推送到一個(gè)已訂閱某一類型數(shù)據(jù)更新的遠(yuǎn)程裝置上。mcAgent226可以從輸入傳感器或裝置定期在預(yù)定的時(shí)間間隔(例如,每15毫秒)采集數(shù)據(jù)樣品。每一次mcAgent226獲得一數(shù)據(jù)樣品,mcAgent226可以將被采集的樣值(或上一個(gè)采樣值的變化)和一個(gè)或一個(gè)以上的、和一組數(shù)據(jù)訂閱相關(guān)的閾值進(jìn)行比較。如果采樣值(或值的變化)滿足訂閱請(qǐng)求,mcAgent確定一個(gè)與該數(shù)據(jù)訂閱相關(guān)的遠(yuǎn)程裝置,并將采樣數(shù)據(jù)值推送至該遠(yuǎn)程裝置。在一些實(shí)施例中,系統(tǒng)可以,例如,使用與該遠(yuǎn)程裝置的持續(xù)不斷的網(wǎng)絡(luò)連接相關(guān)的網(wǎng)絡(luò)地址信息(例如,使用WebSocket模塊232)將采樣數(shù)據(jù)值推送至該遠(yuǎn)程裝置。
[0097]在一些實(shí)施例中,該遠(yuǎn)程裝置是一接口裝置,其利用采樣數(shù)據(jù),以確定是否做出一個(gè)規(guī)則的操作。
[0098]在另一些實(shí)施例中,該遠(yuǎn)程裝置可以包括一個(gè)控制器,該控制器收集數(shù)據(jù),和/或把數(shù)據(jù)呈現(xiàn)給用戶。例如,一個(gè)用戶可以設(shè)置該控制器,以存儲(chǔ)一個(gè)事件日志,其包括在接口裝置200上、滿足一定條件的事件。該控制器可以建立和維護(hù)與接口裝置200的網(wǎng)絡(luò)連接,并在用戶指定的條件下,通過向接口裝置200訂閱采樣數(shù)據(jù)來填充事件日志。
[0099]作為另一個(gè)例子,通過控制器,用戶可以使用個(gè)人電腦設(shè)備監(jiān)測(cè)從各種接口裝置來的數(shù)據(jù)。用戶訪問控制器上的一個(gè)“地圖”用戶界面(UI),這樣的地圖用戶界面在一個(gè)地圖上示出和接口裝置200相關(guān)的傳感器,也可以在地圖上示出所采樣的實(shí)時(shí)數(shù)據(jù)。因此,為了向用戶顯示實(shí)時(shí)數(shù)據(jù),該控制器可以建立和保持一個(gè)持續(xù)不斷的到接口裝置200的網(wǎng)絡(luò)連接,并訂閱接口裝置200采樣的數(shù)據(jù)。該訂閱可以指示將采樣數(shù)據(jù)周期性地,在預(yù)定的時(shí)間間隔(例如,每一秒)推送至控制器,或在采樣數(shù)據(jù)值產(chǎn)生至少一個(gè)限度的變化時(shí)將其推送至控制器。這樣,當(dāng)用戶瀏覽地圖用戶界面時(shí),控制器可以近實(shí)時(shí)的接收傳感器數(shù)據(jù)并向用戶顯示。當(dāng)用戶離開在地圖用戶界面上的傳感器時(shí),或者當(dāng)用戶關(guān)閉地圖用戶界面時(shí),控制器可以向接口裝置200發(fā)送一個(gè)請(qǐng)求,以取消數(shù)據(jù)訂閱。如果控制器不需要發(fā)送數(shù)據(jù)到接口裝置200或從其接收數(shù)據(jù),則控制器還可以斷開到接口裝置200的網(wǎng)絡(luò)連接。
[0100]示例性的接口裝置
[0101]圖2C示出了根據(jù)本發(fā)明的一個(gè)實(shí)施例的一個(gè)示例性的mPort接口裝置的裝置架構(gòu)240 ο裝置架構(gòu)240可以包括一個(gè)閃存存儲(chǔ)器246,其用于存儲(chǔ)數(shù)據(jù)以及用來運(yùn)轉(zhuǎn)該mPort接口裝置的軟件指令,以及一個(gè)處理單元242和一個(gè)用于執(zhí)行指令的存儲(chǔ)裝置244(如隨機(jī)存取存儲(chǔ)器(RAM))。
[0102]裝置架構(gòu)240可以包括數(shù)字輸入252,和數(shù)字輸出254。數(shù)字輸入252可連接到一個(gè)或一個(gè)以上外部裝置的數(shù)字輸出信號(hào)上,上述外部裝置如門傳感器,撥動(dòng)開關(guān)等。數(shù)字輸出254可連接到一個(gè)外部裝置上以便設(shè)置或控制該外部裝置,或可以連接到一個(gè)mPort裝置的輸出顯示(例如,一液晶顯示(IXD),或發(fā)光二極管(LED)指示器)上。
[0103]裝置架構(gòu)240還可包括至少一個(gè)模數(shù)轉(zhuǎn)換器(ADC)255,它將一模擬信號(hào)的物理量轉(zhuǎn)換為表示該物理量振幅的數(shù)字信號(hào)(例如,一個(gè)二進(jìn)制數(shù))。在一些實(shí)施例中,ADC可以通過模擬輸入256連接到一外部裝置,如一傳感器,用于對(duì)與該傳感器相關(guān)的物理量進(jìn)行采樣。模擬輸入256可以包括一個(gè)差分對(duì),ADC255用它對(duì)相應(yīng)的模擬信號(hào)米樣。處理單兀242可以通過數(shù)字接口的引腳或通過串行總線從ADC255讀取數(shù)據(jù),并將該代表與相連傳感器相關(guān)的物理量的數(shù)據(jù)存儲(chǔ)或進(jìn)行操作。
[0104]例如,在一些實(shí)施例中,模擬輸入256可連接到一個(gè)溫度傳感器的差分對(duì)(未顯不)上。該溫度傳感器可以在差分對(duì)上提供一個(gè)連續(xù)的模擬信號(hào),這樣模擬信號(hào)代表由溫度傳感器的一個(gè)檢測(cè)部分檢測(cè)到的一個(gè)溫度物理量。此外,處理單元242可以通過數(shù)字輸出254與傳感器連接,以便對(duì)傳感器進(jìn)行校準(zhǔn),或設(shè)置傳感器的運(yùn)轉(zhuǎn)操作(例如,設(shè)置一個(gè)測(cè)讀期間)。
[0105]裝置架構(gòu)240可以包括一個(gè)或一個(gè)以上模塊與外部裝置通信。例如,裝置架構(gòu)240可以包括通信模塊247,其可以包括連接到一個(gè)以太網(wǎng)端口 249的以太網(wǎng)模塊,和/或可以包括或被連接到一個(gè)無線模塊248 (例如,一個(gè)W1-Fi模塊,或藍(lán)牙模塊)。裝置架構(gòu)240還可以包括一個(gè)串行端口 250 (例如,一個(gè)UART端口用的RS-232插口),它可以連接到一個(gè)外部裝置,并且可以被處理單元242使用,以監(jiān)測(cè)和/或控制外圍裝置。外圍裝置可以包括一個(gè)設(shè)備(例如,HVAC (暖通空調(diào)系統(tǒng))),或任何可以通過UART端口 250通信的電子或計(jì)算機(jī)設(shè)備。
[0106]圖2D示出了根據(jù)本發(fā)明的一個(gè)實(shí)施例的一個(gè)mPort接口裝置258。具體而言,裝置258的底盤包括到至少一個(gè)復(fù)位開關(guān),一個(gè)以太網(wǎng)端口,一個(gè)通用串行總線(USB)端口,一個(gè)以太網(wǎng)端口,一個(gè)串行端口,和一組和一個(gè)或一個(gè)以上外部設(shè)備的連接(例如,通過RJ-45端口,或通過連接端子)的通道。裝置258還可以包括無線網(wǎng)絡(luò)裝置,如內(nèi)部W1-Fi模塊。
[0107]同時(shí),mPort接口裝置258可以包括一組LED指示燈。當(dāng)mPort接口裝置258正確連接到電源時(shí),電源LED指示燈變成為穩(wěn)定的綠色。當(dāng)一個(gè)有效的以太網(wǎng)連接建立時(shí),以太網(wǎng)LED指示燈亮成穩(wěn)定的綠色,并在以太網(wǎng)連接有活動(dòng)時(shí)閃爍。當(dāng)mPort接口裝置258開箱首次啟動(dòng)工廠默認(rèn)模式時(shí),一個(gè)狀態(tài)LED燈亮成穩(wěn)定的黃色,當(dāng)裝置258已成功地集成到一個(gè)網(wǎng)絡(luò)上并正常工作時(shí),該狀態(tài)LED燈亮成穩(wěn)定的綠色。同時(shí),當(dāng)定位按鈕(Locatebutton)在mFi控制器軟件中使用,以在地圖上顯示裝置258時(shí),狀態(tài)LED閃爍。
[0108]圖14A示出了根據(jù)本發(fā)明的一個(gè)實(shí)施例的一個(gè)mPort接口裝置1400的成角度視圖。具體地說,該裝置1400包括一組與一個(gè)或一個(gè)以上外部物理裝置的連接(例如,通過RJ-45端口 1402,或通過連接端子1404),包括復(fù)位按鈕1410,并包括LED指示燈1412。裝置1400還可以包括一個(gè)通用串行總線(USB)連接器1406,和一個(gè)以太網(wǎng)端口 1408,這有利于把裝置1400連接到一個(gè)計(jì)算機(jī)網(wǎng)絡(luò)或其他設(shè)備上(例如,用于設(shè)置裝置1400的個(gè)人計(jì)算機(jī))。
[0109]圖14B示出了根據(jù)本發(fā)明的一個(gè)實(shí)施例的一個(gè)mPort接口裝置1430的一個(gè)側(cè)視圖。具體而言,裝置1430的側(cè)視圖示出了一組LED指示燈,并示出了兩個(gè)RJ-45端口和一組連接端子,其可以連接到一個(gè)或一個(gè)以上外部物理裝置。
[0110]圖14C示出了根據(jù)本發(fā)明的一個(gè)實(shí)施例的一個(gè)mPort接口裝置1460的一個(gè)側(cè)視圖。具體而言,裝置1460的側(cè)視圖示出了一個(gè)通用串行總線(USB)端口,一個(gè)以太網(wǎng)(Ethernet)端口,和一個(gè)復(fù)位按鈕。
[0111]圖15A示出了根據(jù)本發(fā)明的一個(gè)實(shí)施例的一個(gè)mPort接口裝置1500的成角度視圖。具體地說,該裝置1500包括一個(gè)串行接口 1502(例如,一個(gè)RS-232端口,RS-422端口,和/或RS-485端口),可以連接一個(gè)外圍裝置(例如,一個(gè)電器設(shè)備),并包括連接端子1504,其可以連接一個(gè)物理裝置(例如,一個(gè)傳感器)。裝置1500還包括復(fù)位按鈕1510,和LED指示燈1512。裝置1500還可以包括一個(gè)通用串行總線(USB)連接器1506,和一個(gè)以太網(wǎng)端口 1508,這有利于把裝置1500連接到一個(gè)計(jì)算機(jī)網(wǎng)絡(luò)或其他設(shè)備上(例如,用于設(shè)置裝置1500的個(gè)人計(jì)算機(jī))。
[0112]圖15B示出了根據(jù)本發(fā)明的一個(gè)實(shí)施例的一個(gè)包含天線連接器1522的mPort接口裝置的成角度視圖。具體來說,天線的連接器1522包括雄性同軸連接器,它可以連接到無線模塊使用的的天線上,該無線模塊如W1-Fi模塊(例如,圖2C中的無線模塊248)。
[0113]圖15C示出了根據(jù)本發(fā)明的一個(gè)實(shí)施例的一個(gè)mPort接口裝置1540的側(cè)視圖。具體而言,裝置1540的側(cè)視圖示出了一組LED指示燈,一個(gè)天線連接器,并示出了一個(gè)串行連接器和一組連接端子,其可以連接到一個(gè)或一個(gè)以上外部物理裝置。
[0114]圖1?示出了根據(jù)本發(fā)明的一個(gè)實(shí)施例的一個(gè)mPort接口裝置1560的側(cè)視圖。具體而言,裝置1560的側(cè)視圖示出了一個(gè)通用串行總線(USB)端口,一個(gè)以太網(wǎng)(Ethernet)端口,和一個(gè)復(fù)位按鈕。
[0115]圖2E示出了根據(jù)本發(fā)明的一個(gè)實(shí)施例的一個(gè)示例性的mPower接口裝置的裝置架構(gòu)260。裝置架構(gòu)260可以包括一個(gè)閃存存儲(chǔ)器266,其用于存儲(chǔ)數(shù)據(jù)以及用來操作mPower接口裝置的軟件指令,以及一個(gè)處理單元262和一個(gè)用于執(zhí)行指令的存儲(chǔ)裝置264 (如RAM) ο
[0116]裝置架構(gòu)260可以包括一個(gè)或一個(gè)以上功率輸出模塊270,每個(gè)功率輸出模塊270可以包括一個(gè)功率輸出控制器274 (例如,一個(gè)Prolific PL7221集成電路(IC)裝置),一個(gè)繼電器272,和一個(gè)電源插座276。處理單元262,通過使用數(shù)字接口的引腳或串行總線以控制相應(yīng)的功率輸出控制器274,可以啟用或禁用通過電源插座276傳送的電力,此時(shí)功率輸出控制裝置274可產(chǎn)生用于打開或閉合繼電器272的電氣信號(hào),來啟用或禁用到電源插座276的電傳輸。處理單元262也可以設(shè)置功率輸出控制器274,以監(jiān)測(cè)電源插座276的電量消耗,例如,定期獲得相應(yīng)的電氣負(fù)載的功率測(cè)量。
[0117]處理單元262可以設(shè)置功率輸出控制器274,以對(duì)電源插座276的功率信號(hào)的物理量進(jìn)行采樣,并可以通過數(shù)字接口引腳或串行總線獲得采樣值。采集的物理量可包括電流,電壓,有功功率,無功功率,視在功率,和/或其他功率信號(hào)的物理量。
[0118]在一些實(shí)施例中,裝置架構(gòu)260可包括一個(gè)電流調(diào)節(jié)裝置(例如,一個(gè)TRIAC器件,未顯示)以控制提供給一外部裝置的功率。當(dāng)功率信號(hào)的相位達(dá)到一定的相位角時(shí),功率輸出控制器274可以在一個(gè)可確定的時(shí)間間隔中提供一個(gè)觸發(fā)脈沖給電流調(diào)節(jié)裝置,以向外部裝置提供想要的功率水平。例如,當(dāng)電源插座276連接到一燈具,功率輸出控制器274可以控制電流調(diào)節(jié)器,作為一種調(diào)整燈具的亮度水平的手段。另一個(gè)例子是,當(dāng)電源插座276連接到感應(yīng)電動(dòng)機(jī)(例如,通風(fēng)風(fēng)扇)時(shí),功率輸出控制器274可以控制電流調(diào)節(jié)器,作為一種調(diào)節(jié)電機(jī)軸(例如,風(fēng)扇的葉片)的旋轉(zhuǎn)速度的手段。
[0119]裝置架構(gòu)260還可以包括一個(gè)串行端口 267,它可連接到一個(gè)接受來自電源插座276的供電的外圍裝置。例如,外圍裝置(例如,計(jì)算設(shè)備)通過電源插座276通電啟動(dòng)后,該在裝置運(yùn)作時(shí),處理器262可以使用串行端口 267來設(shè)置外圍裝置,和/或監(jiān)視和控制外圍裝置。在一些實(shí)施例中,如果該裝置沒有通過串行端口 267響應(yīng)命令,處理單元262可以確定外圍裝置已經(jīng)經(jīng)歷了一次故障事件,并可以通過電源插座276執(zhí)行電源關(guān)和開的操作,以重新設(shè)定該裝置。如果處理單元262需要在外圍裝置的運(yùn)作中禁用外圍裝置的電源,處理單元262可以使用串行端口 267來執(zhí)行上外圍裝置的關(guān)機(jī)順序。
[0120]裝置架構(gòu)260還可以包括一個(gè)或一個(gè)以上模塊與外部裝置通信。例如,裝置架構(gòu)260可以包括通信模塊268,其可以包括連接到一個(gè)以太網(wǎng)端口 269的以太網(wǎng)模塊,和/或可以包括或被連接到一個(gè)無線模塊265 (例如,一個(gè)W1-Fi模塊,或藍(lán)牙模塊)。
[0121]圖2F示出了根據(jù)本發(fā)明的一個(gè)實(shí)施例的一個(gè)mPower接口裝置278。具體而言,裝置278包括至少一個(gè)重置按鈕,一個(gè)LED狀態(tài)指示燈,一個(gè)或一個(gè)以上電源插座,和一個(gè)電源插頭。當(dāng)接口裝置278開箱首次啟動(dòng)工廠默認(rèn)模式時(shí),一個(gè)狀態(tài)LED指示燈顯示穩(wěn)定的黃色,當(dāng)裝置278已成功地集成到一個(gè)網(wǎng)絡(luò)上并正常工作時(shí),該狀態(tài)LED燈顯示穩(wěn)定的綠色。同時(shí),當(dāng)定位按鈕(Locate button)在mFi控制器軟件中使用,以在地圖上顯示裝置278時(shí),狀態(tài)LED閃爍。
[0122]圖2G示出了根據(jù)本發(fā)明的一個(gè)實(shí)施例的一個(gè)示例性的mDimmer或mSwitch接口裝置的裝置架構(gòu)280。裝置架構(gòu)280可以包括一個(gè)閃存存儲(chǔ)器284,其用于存儲(chǔ)數(shù)據(jù)以及用來操作mDimmer接口裝置的軟件指令,以及一個(gè)處理單元282和一個(gè)用于執(zhí)行指令的存儲(chǔ)裝置283。裝置架構(gòu)260還可以包括一個(gè)對(duì)觸摸敏感的用戶接口 294和用來控制對(duì)觸摸敏感的用戶接口 294的微控制器288。對(duì)觸摸敏感的用戶接口 294可包括接近傳感器295,運(yùn)動(dòng)傳感器296,和多個(gè)觸敏傳感器297。
[0123]接近傳感器295可以在當(dāng)一個(gè)物體(例如,用戶的手)接近觸摸敏感的用戶接口294時(shí)檢測(cè)到這種情況,并且,基于所檢測(cè)到的物體與接近傳感器295的接近程度,該接近傳感器可以生成一個(gè)模擬信號(hào)。例如,接近傳感器295可以包括一個(gè)紅外接近傳感器,它從一個(gè)紅外線發(fā)射器發(fā)出紅外信號(hào),并基于紅外線檢測(cè)器所檢測(cè)到的紅外線的量(例如,用戶的手所反射的紅外線)生成該模擬信號(hào)。
[0124]觸敏傳感器297可以包括電阻式觸摸傳感器,電容式觸摸傳感器,或任何現(xiàn)在已知的或以后開發(fā)的觸摸屏傳感器。當(dāng)用戶觸摸相應(yīng)的觸敏傳感器(例如,傳感器297.η)時(shí),觸敏傳感器檢測(cè)到其觸摸屏表面的電容的增加,并生成反映被檢測(cè)到的電容量的模擬電壓。
[0125]一個(gè)相應(yīng)的觸敏傳感器可以包括沿一個(gè)維度的鋸齒形狀,如數(shù)個(gè)沿水平方向連接的V形,并且,觸摸傳感器組297.1-297.η可以沿一個(gè)用戶接口 294的垂直于鋸齒形狀的方向設(shè)置(例如,在用戶接口 294的垂直方向)。此外,兩個(gè)相鄰的觸敏傳感器可以放置在靠近的位置,例如,使一個(gè)觸敏傳感器(例如,傳感器297.1)的最低點(diǎn)的沿用戶接口 294的垂直方向的坐標(biāo)小于或等于其下相鄰的觸敏傳感器(例如,傳感器297.2)的最高點(diǎn)。
[0126]可供選擇的,一相應(yīng)的觸敏傳感器可以包括任何其它適合實(shí)現(xiàn)對(duì)觸摸敏感的網(wǎng)格的形狀,并且,觸敏傳感器組297.1-297.η可以沿用戶接口 294的兩個(gè)維度設(shè)置,以創(chuàng)建一個(gè)對(duì)觸摸敏感的表面(例如,一個(gè)網(wǎng)格或其他用戶接口模式),其與一組預(yù)定的觸摸表面手勢(shì)相關(guān)聯(lián)。
[0127]關(guān)于運(yùn)動(dòng)傳感器296,運(yùn)動(dòng)傳感器296可以包括一個(gè)超聲波運(yùn)動(dòng)傳感器,一個(gè)微波運(yùn)動(dòng)傳感器,一個(gè)光學(xué)層析運(yùn)動(dòng)傳感器,或任何現(xiàn)在已知的或以后開發(fā)的運(yùn)動(dòng)傳感器。當(dāng)一個(gè)用戶或一個(gè)物體在對(duì)觸摸敏感的用戶接口 294前移動(dòng)時(shí),運(yùn)動(dòng)傳感器296可檢測(cè)到它的運(yùn)動(dòng)并可以生成一個(gè)二進(jìn)制值以指明一物體已被檢測(cè)到。在一些實(shí)施例中,運(yùn)動(dòng)傳感器296可以生成模擬或數(shù)字值以指明,例如,超聲波測(cè)量的變化,微波測(cè)量的變化,等等。
[0128]對(duì)觸摸敏感的用戶接口 294為每個(gè)接近傳感器295、觸敏傳感器297.1-297.η,和運(yùn)動(dòng)傳感器296生成一個(gè)數(shù)字輸出信號(hào)。在一些實(shí)施例中,對(duì)觸摸敏感的用戶接口 294可包括對(duì)應(yīng)于每個(gè)傳感器的ADC (模擬與數(shù)字轉(zhuǎn)換)裝置,將傳感器的模擬信號(hào)轉(zhuǎn)換到數(shù)字二進(jìn)制信號(hào)。對(duì)觸摸敏感的用戶接口 294可通過一并行總線(例如,微控制器288上的數(shù)個(gè)GPIO引腳),或通過一串行總線(例如,微控制器288上的一個(gè)SPI或I2C總線)提供該數(shù)字二進(jìn)制信號(hào)。
[0129]在另一些實(shí)施例中,對(duì)觸摸敏感的用戶接口 294可包括對(duì)應(yīng)于每個(gè)傳感器的施密特(Schmitt)觸發(fā)裝置,并且,一個(gè)相應(yīng)的施密特觸發(fā)器生成一二進(jìn)制輸出信號(hào),指明一相應(yīng)的傳感器是否檢測(cè)到一個(gè)物體。對(duì)觸摸敏感的用戶接口 294可通過一并行總線(例如,微控制器288上的數(shù)個(gè)GPIO引腳),或通過一串行總線(例如,微控制器288上的一個(gè)SPI或I2C總線)為各個(gè)傳感器向微控制器288傳送該二進(jìn)制數(shù)值。
[0130]微控制器288可以定期監(jiān)測(cè)對(duì)觸摸敏感的用戶接口 294的各種傳感器的狀態(tài),例如在約15毫秒的時(shí)間間隔。如果微控制器288確定接近傳感器295檢測(cè)到一個(gè)物體,微控制器288可以激活對(duì)觸摸敏感的用戶接口 294的光源,以在用戶通過用戶接口 294輸入一個(gè)裝置控制命令時(shí)允許用戶看到用戶接口 294。微控制器288激活光源的方式可以是,例如,通過在一個(gè)確定的時(shí)間間隔內(nèi)把光源的亮度增加到一定水平(例如,一個(gè)固定的水平,或根據(jù)來自周圍的光量的水平)。
[0131]并且,如果微控制器288確定觸敏傳感器檢測(cè)到一個(gè)物體的接觸,微控制器288可以基于觸摸屏用戶接口 294當(dāng)前狀態(tài)和以前的狀態(tài)來確定一個(gè)手勢(shì)。例如,微控制器288可以確定用戶正在觸摸的用戶接口 294的當(dāng)前區(qū)域(例如,當(dāng)前的狀態(tài)),以及,基于以前的觸敏傳感器所檢測(cè)到的物體的觸摸(例如,以前的狀態(tài)),可以確定一個(gè)觸摸手勢(shì)的方向。一旦用戶已經(jīng)完成了與用戶接口 294的互動(dòng),微控制器288可以生成一個(gè)手勢(shì),表示用戶的手勢(shì)的速度和方向,和/或用戶的手勢(shì)經(jīng)過的距離。因此,微控制器288可以確定用戶向上掃動(dòng)手指的手勢(shì),或向下掃動(dòng)手指的手勢(shì),以及手指掃動(dòng)手勢(shì)的速度和經(jīng)過的距離。
[0132]如果用戶沒有用他的手指在觸敏用戶接口 294的表面掃動(dòng)(例如,以前的狀態(tài)并不涉及用戶觸摸或掃過用戶接口 288),微控制器288可以確定用戶接口 294上用戶觸摸了的一個(gè)區(qū)域。微控制器288可以生成和儲(chǔ)存一個(gè)手勢(shì),其表明用戶接口 294中的被用戶觸摸了的部分表面,例如,使用一個(gè)數(shù)值指明用戶觸摸了的用戶接口 294的垂直坐標(biāo)。處理單元282可以設(shè)置燈具的輸出功率,使其達(dá)到與該數(shù)值對(duì)應(yīng)的光強(qiáng)度。
[0133]在一些實(shí)施例中,處理單元282定期(例如,在約15毫秒的時(shí)間間隔)從微控制器288獲得傳感器讀數(shù)和/或檢測(cè)到的手勢(shì)。同時(shí),處理單元282可以使用所獲得的數(shù)據(jù),以選擇一組規(guī)則來進(jìn)行評(píng)估,并可以做出任何其條件已滿足的規(guī)則所相關(guān)的操作。處理單元282也可以選擇一組已經(jīng)預(yù)訂一數(shù)據(jù)(例如,有關(guān)檢測(cè)到的運(yùn)動(dòng)和/或檢測(cè)到的手勢(shì)的數(shù)據(jù))的遠(yuǎn)程裝置,并可以使用與相應(yīng)的網(wǎng)絡(luò)連接相關(guān)聯(lián)的網(wǎng)絡(luò)地址信息把該數(shù)據(jù)發(fā)送到選定的裝置。
[0134]裝置架構(gòu)280可以包括一個(gè)或一個(gè)以上通信模塊285以便與外部設(shè)備通信。通信模塊285可包括或被連接到一個(gè)無線模塊286(例如,一個(gè)W1-Fi模塊,或藍(lán)牙模塊),和/或可以包括連接到一個(gè)以太網(wǎng)端口的以太網(wǎng)模塊(未顯示)。裝置架構(gòu)280還可以包括一個(gè)串行端口 287 (例如,一個(gè)UART端口用的RS-232插口),它可以連接到一個(gè)外部設(shè)備,并且可以被處理單元282使用,以監(jiān)測(cè)和/或控制外圍設(shè)備。外圍設(shè)備可包括一個(gè)電器(例如,HVAC (暖通空調(diào)系統(tǒng))),或任何可以通過串行端口 287通信的電子設(shè)備或計(jì)算機(jī)設(shè)備。
[0135]裝置架構(gòu)280還可以包括功率控制模塊290以控制和/或調(diào)節(jié)輸出功率信號(hào),并且可以包括功率輸出控制器289,以設(shè)置和監(jiān)測(cè)功率控制模塊290的輸出功率。裝置架構(gòu)280也可以包括電源端子292,用于向電氣負(fù)載提供功率輸出信號(hào),電氣負(fù)載如燈具,電動(dòng)馬達(dá),HVAC系統(tǒng),等等。在一些實(shí)施例中,裝置架構(gòu)280實(shí)現(xiàn)了一個(gè)燈開關(guān)(例如,一個(gè)mSwitch裝置),并且功率控制模塊290包括一個(gè)繼電器290.1。當(dāng)處理單元282確定用戶觸摸了觸敏用戶接口 294的表面(例如,觸摸了任何觸敏傳感器297),處理單元282可以設(shè)置微控制器288,如果是繼電器290.1是閉合的則打開它,或如果繼電器290.1是打開的則關(guān)閉它。這種配置允許用戶打開或關(guān)閉電連接到電源端子292的一個(gè)燈具。通過設(shè)置功率輸出控制器289以生成用于打開或閉合繼電器290.1所需要的電氣信號(hào),微控制器288打開或關(guān)閉繼電器290.1。微控制器也可以設(shè)置功率輸出控制器289,以監(jiān)測(cè)電源端子292的電量消耗,例如,定期獲得相應(yīng)的電氣負(fù)載的功率測(cè)量。
[0136]在一些實(shí)施例中,裝置架構(gòu)280實(shí)現(xiàn)了一個(gè)燈調(diào)光器(例如,一個(gè)mDimmer裝置),并且功率控制模塊290包括一個(gè)交流三極管(TRIAC)290.2。當(dāng)處理單元282檢測(cè)到觸摸屏上的用戶手勢(shì)(例如,通過微控制器288),處理單元282可以設(shè)置微控制器288來調(diào)節(jié)電連接到電源端子292的燈具的亮度水平。例如,當(dāng)用戶在觸敏用戶接口 294上向上掃動(dòng)手指,處理單元282可以基于的用戶的手指在觸敏用戶接口 294當(dāng)前的(或最近的)位置,方向,和/或速度確定一個(gè)燈具亮度水平。如果用戶點(diǎn)擊觸敏傳感器297.1,處理單元282可選擇最高亮度水平,或如果用戶點(diǎn)擊觸敏傳感器297.n,可選擇最低(或關(guān)閉)亮度水平。處理單元282可以設(shè)置微控制器288來調(diào)整交流三極管(TRIAC)290.2的輸出功率,讓它和用戶所需的亮度水平相對(duì)應(yīng)。通過設(shè)置功率輸出控制裝置289,以讓它生成用于設(shè)置TRIAC290.2、并使其達(dá)到并保持在所需的功率輸出水平所需要的電氣信號(hào),微控制器288控制功率輸出。
[0137]在一些實(shí)施例中,功率輸出控制器289還監(jiān)測(cè)通過電源端子292發(fā)送的電流量,發(fā)電量,和/或電相位。微控制器288可以在測(cè)量值的基礎(chǔ)上校準(zhǔn)功率輸出控制器289,以使通過電源端子292所發(fā)送的電功率變穩(wěn)定。如果微控制器288檢測(cè)到在電力負(fù)載上的變化,例如由于燈具變暗,微控制器288可以調(diào)整功率輸出控制器289來彌補(bǔ)在電力負(fù)載上的變化,以達(dá)到所想要的功率輸出。因此,微控制器288可以使用功率輸出控制器289實(shí)現(xiàn)一個(gè)反饋循環(huán)(feedback loop),調(diào)節(jié)燈具功率以確保一個(gè)穩(wěn)定的(非脈動(dòng))的光強(qiáng)度,即使燈具隨著時(shí)間的推移而老化。
[0138]在一些實(shí)施例中,處理單元282可為用戶存儲(chǔ)一個(gè)以前的照明水平。例如,用戶可以做一個(gè)手指輕掃的手勢(shì),把照明水平調(diào)整到所需的水平(例如,用他的手指掃至與所需的照明水平相應(yīng)的位置)。然后,要關(guān)燈時(shí),用戶可以點(diǎn)擊對(duì)觸摸敏感的用戶接口 294的任何地方,在這時(shí)候,處理單元282為該用戶存儲(chǔ)當(dāng)前的照明水平,并設(shè)置功率輸出控制器289來使電源端子292停止供電。如果用戶在后來的時(shí)間點(diǎn)擊觸敏用戶接口 294的任何地方來開燈,處理單元282可以基于所存儲(chǔ)的設(shè)置對(duì)燈具恢復(fù)供電至之前的照明水平。
[0139]此外,如果用戶做一個(gè)快速的向上或向下的手指掃動(dòng),處理單元282可迅速上升或下降亮度水平??晒┻x擇的,如果用戶做一個(gè)緩慢的向上或向下的手指掃動(dòng),處理單元282可精細(xì)地調(diào)整燈具的亮度水平,例如,以比可以通過點(diǎn)擊任何觸敏傳感器297所能得到的更精細(xì)的程度增加或減少亮度水平。
[0140]在一些實(shí)施例中,處理器282可以控制一個(gè)并非電連接到電源端子292的燈具。當(dāng)處理單元282檢測(cè)到一個(gè)用戶的手勢(shì)的事件(例如,通過微控制器288)時(shí),處理單元282可以將該手勢(shì)事件發(fā)送到一個(gè)已經(jīng)向本地接口裝置訂閱事件的遠(yuǎn)程接口裝置。該遠(yuǎn)程接口裝置可以包括一個(gè)向燈具提供電源的裝置,如由圖2E所示出的mPower裝置。當(dāng)該遠(yuǎn)程接口裝置接收到該手勢(shì)事件時(shí),遠(yuǎn)程接口裝置可以使用該事件的信息,并基于存儲(chǔ)在該裝置的本地規(guī)則庫(kù)中的一個(gè)規(guī)則來控制燈具的功率。
[0141]在一些實(shí)施例中,連接到電源端子292的電負(fù)載可以包括一個(gè)HVAC系統(tǒng)。例如,處理器282可以設(shè)置為基于通過觸敏用戶接口 294接收到的用戶輸入的命令來控制一個(gè)HVAC系統(tǒng)。用戶可以向上掃動(dòng)手指以提高溫度,向下掃動(dòng)手指以降低溫度,并可通過點(diǎn)擊對(duì)觸摸敏感的用戶接口 294的表面來觸發(fā)HVAC系統(tǒng)的供電。此外,微控制器288可以設(shè)置功率輸出控制器289,以監(jiān)測(cè)該HVAC系統(tǒng)的電消耗量,以便于用戶根據(jù)用戶的命令以及HVAC系統(tǒng)和/或其他設(shè)備的電消耗量來創(chuàng)建控制該HVAC單元的規(guī)則。
[0142]圖2H示出了根據(jù)本發(fā)明的一個(gè)實(shí)施例的一個(gè)mDimmer接口裝置298。具體而言,裝置298包括至少一個(gè)重置按鈕,一個(gè)觸控板區(qū)域,和一個(gè)狀態(tài)LED指示燈。當(dāng)接口裝置298開箱首次啟動(dòng)工廠默認(rèn)模式時(shí),一個(gè)狀態(tài)LED指示燈顯示穩(wěn)定的黃色,當(dāng)裝置298已成功地集成到一個(gè)網(wǎng)絡(luò)上并正常工作時(shí),該狀態(tài)LED燈顯示穩(wěn)定的綠色。同時(shí),當(dāng)定位按鈕(Locate button)在mFi控制器軟件中使用,以在地圖上顯示裝置298時(shí),狀態(tài)LED閃爍。
[0143]在一些實(shí)施例中,一個(gè)mDimmer或mSwitch裝置可以與一個(gè)網(wǎng)絡(luò)橋接接口裝置通過串行通信接口,如一個(gè)SPI或I2C接口,進(jìn)行通信。網(wǎng)絡(luò)橋接接口裝置可以包括一個(gè)到一個(gè)局域網(wǎng)的有線或無線的網(wǎng)絡(luò)連接。
[0144]圖21示出了根據(jù)本發(fā)明的一個(gè)實(shí)施例的數(shù)個(gè)mDimmer接口裝置299,其通過一個(gè)串行通信接口連接起來。具體而言,一個(gè)mDimmer裝置299.1包括一個(gè)網(wǎng)絡(luò)模塊,如以太網(wǎng)模塊或W1-Fi模塊。同時(shí),mDimmer設(shè)備299.2-299.k可能或可能不包括一個(gè)網(wǎng)絡(luò)模塊,并可以通過一個(gè)串行連接和裝置299.1相連。例如,mDimmer裝置299.1可以用作mDimmer設(shè)備299.2-299.k的網(wǎng)絡(luò)網(wǎng)關(guān)。如果一個(gè)mDimmer裝置299.k向一遠(yuǎn)程接口裝置訂閱其數(shù)據(jù),mDimmer裝置299.k可以通過mDimmer裝置299.1接收實(shí)時(shí)數(shù)據(jù)(例如,一個(gè)遠(yuǎn)程裝置的傳感器事件)。一旦mDimmer裝置299.k接收實(shí)時(shí)數(shù)據(jù),裝置299.k可以處理一個(gè)或一個(gè)以上被該接收到的數(shù)據(jù)所激活的規(guī)則。
[0145]作為數(shù)據(jù)服務(wù)器的接口裝置
[0146]在一些實(shí)施例中,接口裝置200可以作為一個(gè)數(shù)據(jù)服務(wù)器使用,把從一個(gè)連著的物理裝置來的實(shí)時(shí)數(shù)據(jù)發(fā)送至一個(gè)已訂閱該數(shù)據(jù)的遠(yuǎn)程裝置(例如,圖1B中計(jì)算機(jī)集群152上的一個(gè)控制器)。例如,數(shù)據(jù)包生成器/解析器212可以接收來自遠(yuǎn)程裝置的條件訂閱請(qǐng)求,這將使遠(yuǎn)程裝置訂閱來自接口裝置200的條件報(bào)警消息。
[0147]條件訂閱請(qǐng)求可以指明一個(gè)條件,該條件決定了接口裝置200在什么情況下把一個(gè)連接著的物理裝置的狀態(tài)更新和/或傳感器測(cè)量數(shù)據(jù)發(fā)送到該遠(yuǎn)程裝置。接口裝置200可以在存儲(chǔ)單元210存儲(chǔ)該接收到的與遠(yuǎn)程裝置相關(guān)的條件(例如,與該遠(yuǎn)程裝置的IP地址和/或它的任何其他網(wǎng)絡(luò)可達(dá)性信息或設(shè)備標(biāo)識(shí)符相關(guān)的條件)。然后,當(dāng)接口裝置200確定該條件已滿足(例如,當(dāng)一個(gè)連接著的物理裝置的傳感器測(cè)量數(shù)據(jù)滿足該條件),接口裝置200可以發(fā)送一個(gè)相應(yīng)的條件報(bào)警消息至遠(yuǎn)程裝置(例如,基于該設(shè)備的網(wǎng)絡(luò)可達(dá)性信息)。接口裝置200可以利用與到遠(yuǎn)程裝置的網(wǎng)絡(luò)連接相關(guān)聯(lián)的網(wǎng)絡(luò)地址信息,把相應(yīng)的條件報(bào)警消息發(fā)送至該遠(yuǎn)程裝置。條件報(bào)警消息可以指明該條件已滿足,和/或可以指明該連接到接口裝置200的物理裝置的一個(gè)狀態(tài)和/或傳感器測(cè)量。
[0148]作為數(shù)據(jù)客戶端的接口裝置
[0149]在一些實(shí)施例中,接口裝置200可以作為一個(gè)數(shù)據(jù)的客戶端,來接收來自遠(yuǎn)程接口裝置或一中央控制器的狀態(tài)和/或傳感器測(cè)量數(shù)據(jù)(例如,一個(gè)或一個(gè)以上連接到該遠(yuǎn)程接口裝置的物理裝置的有關(guān)數(shù)據(jù))。接口裝置200可以使用它接收到的數(shù)據(jù)來修改它的工作狀態(tài)。具體而言,存儲(chǔ)單元210可以存儲(chǔ)一個(gè)或一個(gè)以上復(fù)合規(guī)則,該規(guī)則由接口裝置200執(zhí)行。一個(gè)復(fù)合規(guī)則可以指明一組觸發(fā)一個(gè)操作的條件,并可指明該操作的操作描述。接口裝置200可以在接收到的數(shù)據(jù)的基礎(chǔ)上選擇和處理規(guī)則,并基于規(guī)則的操作描述修改其工作狀態(tài)。
[0150]中央控制器可以分析一組規(guī)則來確定這樣一個(gè)遠(yuǎn)程接口裝置:接口裝置200需要從該遠(yuǎn)程接口裝置接受一個(gè)物理裝置的數(shù)據(jù),并確定與該數(shù)據(jù)相關(guān)的條件。例如,控制器可以決定,當(dāng)一個(gè)物理裝置X確定溫度已經(jīng)達(dá)到IOOoF以上時(shí),該控制器需要接收來自連接到一個(gè)遠(yuǎn)程接口裝置Y的該物理裝置X的溫度測(cè)量。該控制器可以向接口裝置200提供該遠(yuǎn)程裝置的裝置接入信息,該接口裝置200用它來建立與遠(yuǎn)程裝置的網(wǎng)絡(luò)連接。
[0151]具體而言,接口裝置200可以使用數(shù)據(jù)包生成器/解析器212來發(fā)送條件訂閱請(qǐng)求至遠(yuǎn)程接口裝置,這使接口裝置200訂閱并從該遠(yuǎn)程接口裝置接收條件報(bào)警消息。一旦接口裝置200已成功訂閱條件警報(bào)消息,一旦所需的條件已經(jīng)滿足,遠(yuǎn)程接口裝置將向接口裝置200發(fā)出條件報(bào)警消息。條件報(bào)警消息可以指明該條件已滿足,和/或可以指明一個(gè)連接到該遠(yuǎn)程接口裝置的一物理裝置的狀態(tài)和/或傳感器測(cè)量。[0152]—旦數(shù)據(jù)包生成器/解析器212接收到一個(gè)條件報(bào)警消息,接口裝置200可以使用存儲(chǔ)單元210儲(chǔ)存條件報(bào)警消息的狀態(tài)/測(cè)量數(shù)據(jù)。此外,處理單元208從存儲(chǔ)單元210中確定一個(gè)或一個(gè)以上這樣的規(guī)則:從條件報(bào)警消息中收到的的狀態(tài)/測(cè)量數(shù)據(jù),和/或從其他近期的存儲(chǔ)在存儲(chǔ)單元210的狀態(tài)/測(cè)量數(shù)據(jù)中,該規(guī)則的條件得到滿足。處理單元208可以執(zhí)行任何一個(gè)條件已經(jīng)滿足的規(guī)則的操作描述。
[0153]系統(tǒng)運(yùn)行
[0154]返回到圖1,控制器102及接口設(shè)備106和108之間的通信是通過交換通信數(shù)據(jù)包實(shí)現(xiàn)的,如通過網(wǎng)絡(luò)106交換IP數(shù)據(jù)包,該網(wǎng)絡(luò)可以是一個(gè)IP網(wǎng)絡(luò)。在一些實(shí)施例中,裝置108處理從連接的裝置110.1-110.η收到的原始輸入數(shù)據(jù)(例如,通過將原始模擬或數(shù)字?jǐn)?shù)據(jù)轉(zhuǎn)換成有意義的信息,如溫度或濕度讀數(shù))。接口裝置108.1將轉(zhuǎn)換數(shù)據(jù)封裝成為IP數(shù)據(jù)包,并發(fā)送數(shù)據(jù)包到控制器102,從而使用戶104得以查看這些信息。此外,用戶104可發(fā)出一個(gè)命令,如建立一個(gè)規(guī)則用于控制連接著的物理裝置的操作??刂破?02可以將該用戶命令封裝成IP數(shù)據(jù)包,并發(fā)送這些數(shù)據(jù)包到相應(yīng)的接口裝置(例如,裝置108.1和108.m),接口裝置進(jìn)而解析這些數(shù)據(jù)包,并執(zhí)行用戶命令。注意,因?yàn)榫W(wǎng)絡(luò)106可以包括互聯(lián)網(wǎng),用戶104和控制器102可以在任何使他能夠接入網(wǎng)絡(luò)106的地點(diǎn),而仍然能夠監(jiān)測(cè)和控制物理設(shè)備110。
[0155]圖3A是一個(gè)流程圖,示出了一根據(jù)本發(fā)明的一個(gè)實(shí)施例的示例性方法300,其用于設(shè)置一個(gè)裝置控制器。在系統(tǒng)的初始化過程,控制器發(fā)現(xiàn)數(shù)個(gè)作為系統(tǒng)的一部分的接口裝置(也稱為mPorts)(操作302)。在一些實(shí)施例中,控制器和mPorts是在同一個(gè)局域網(wǎng)(LAN)域內(nèi)。在另一些實(shí)施例中,控制器與mPorts通過廣域網(wǎng)(WAN),如互聯(lián)網(wǎng),相連接。
[0156]為了發(fā)現(xiàn)接口裝置,該控制器可以從用戶處接收用戶的登錄信息,并且控制器識(shí)別與用戶的帳戶相關(guān)聯(lián)的接口裝置。控制器可以通過每個(gè)接口裝置的MAC地址和/或通過其IP地址識(shí)別每個(gè)接口裝置。同時(shí),在發(fā)現(xiàn)階段,控制器還可以自動(dòng)檢測(cè)某些連接到用戶的接口裝置的物理裝置(如和制造mPorts的相同供應(yīng)商制造的裝置),無論用戶是否已經(jīng)注冊(cè)了這些裝置,使其和他的用戶帳戶相關(guān)。
[0157]隨后,該系統(tǒng)可接受連接到該接口裝置的第三方的物理裝置(例如,連接到mPorts的專用設(shè)備)的信息(操作304)。例如,用戶可以和一個(gè)控制器提供的用戶圖形界面(GUI)進(jìn)行互動(dòng),為該第三方裝置輸入一個(gè)型號(hào),并確定該第三方裝置是和哪一個(gè)mPort相連(例如,通過它的MAC地址識(shí)別確定),是和該mPort的哪一個(gè)端口相連。記得,該mPort裝置可以通過一個(gè)模擬終端,或通過一個(gè)串行通訊端口,與一個(gè)物理裝置相連接。該系統(tǒng)可以使用該物理裝置的型號(hào)來確定該裝置的一個(gè)描述性的標(biāo)簽,確定可以從該裝置觀測(cè)到的數(shù)據(jù)類型(例如,模擬或數(shù)字值,和觀測(cè)值的一個(gè)描述性的標(biāo)簽),以及確定哪些類型的數(shù)據(jù)值可以提供給該物理裝置。在一些實(shí)施例中,如果系統(tǒng)不能識(shí)別該物理裝置,用戶可以使用該GUI輸入?yún)?shù),該參數(shù)指明預(yù)計(jì)可以從該物理裝置得到的數(shù)據(jù)值或可提供到該物理裝置的數(shù)據(jù)值,以及這些數(shù)據(jù)值的描述性標(biāo)簽。
[0158]系統(tǒng)還可以從用戶那里接收有關(guān)該接口裝置配置的設(shè)定(操作306)。在這個(gè)過程中,用戶可以與GUI互動(dòng),在一個(gè)地圖上指明用戶放置或安裝的裝置的位置,可以指明這些裝置如何操作。例如,用戶可以指明一個(gè)mPort裝置的操作時(shí)間表,并可以指明一個(gè)時(shí)間表和/或頻率,用于監(jiān)控該裝置上的某個(gè)端口。[0159]控制器還接收一個(gè)或一個(gè)以上由用戶定義的規(guī)則(操作308)。每個(gè)規(guī)則定義了觸發(fā)一個(gè)操作的條件,以及一旦滿足了這些條件將發(fā)生哪些操作。一個(gè)規(guī)則的條件可以包括條件元素,其把一個(gè)或一個(gè)以上物理量的傳感器測(cè)量值作為輸入信息。檢測(cè)到的物理量可以包括,例如,時(shí)間值,溫度,濕度,功率水平,電壓,電流,檢測(cè)到的運(yùn)動(dòng),開/關(guān)狀態(tài)(例如,關(guān)于一個(gè)電負(fù)載),打開/關(guān)閉狀態(tài)(例如,關(guān)于一個(gè)門),光照水平,(例如,環(huán)境光),和水分含量。
[0160]進(jìn)一步,一個(gè)條件元素可以包括一個(gè)比較操作,可以通過把一個(gè)傳感器測(cè)量值和一個(gè)預(yù)定值(例如,一個(gè)恒定值)或另一個(gè)傳感器測(cè)量值進(jìn)行比較從而進(jìn)行計(jì)算。該比較可以包括,例如,傳感器測(cè)量值是否大于,小于,或等于該預(yù)定值或另一個(gè)傳感器測(cè)量值。一個(gè)條件元素還可以包括一個(gè)對(duì)于和時(shí)間相關(guān)的物理量的評(píng)估或比較。例如,條件元素可以將當(dāng)前時(shí)間作為輸入,并把當(dāng)前時(shí)間和預(yù)定時(shí)間值比較。另一個(gè)例子是,條件元素可以將一個(gè)傳感器的當(dāng)前狀態(tài)的持續(xù)時(shí)間作為輸入,如傳感器的狀態(tài)保持其當(dāng)前值的時(shí)間、或傳感器的狀態(tài)持續(xù)高于或低于預(yù)定的閾值的時(shí)間。條件元素可以把該時(shí)間段和一個(gè)預(yù)定的時(shí)間進(jìn)行比較,例如,以確定傳感器的狀態(tài)是否已經(jīng)在當(dāng)前值(或一個(gè)給定的閾值以上)至少10分鐘。
[0161]在一些實(shí)施例中,一個(gè)規(guī)則可以是一個(gè)復(fù)合的,涉及到多個(gè)裝置的規(guī)則。一個(gè)條件元素可以包含一個(gè)邏輯算子,它可以通過在一個(gè)或一個(gè)以上條件元素的結(jié)果之上進(jìn)行邏輯運(yùn)算來評(píng)估。例如,一個(gè)規(guī)則可以規(guī)定,一旦一個(gè)門傳感器檢測(cè)到門被打開了,并且一個(gè)運(yùn)動(dòng)傳感器確定房間內(nèi)沒有檢測(cè)到運(yùn)動(dòng)(例如,意味著一個(gè)人正在進(jìn)入房間),那么一個(gè)燈開關(guān)應(yīng)當(dāng)自動(dòng)打開房間內(nèi)的一盞燈。并且,另一個(gè)規(guī)則可以規(guī)定,一旦門被打開了,并且之前房間內(nèi)已經(jīng)檢測(cè)到運(yùn)動(dòng)(例如,意味著人正離開房間),那么燈開關(guān)應(yīng)當(dāng)關(guān)掉燈。注意,這些規(guī)則定義了觸發(fā)相應(yīng)動(dòng)作(例如,把燈打開或關(guān)閉)的條件(例如,門被打開以及是否檢測(cè)到運(yùn)動(dòng)),并可以涉及多個(gè)裝置(例如,門傳感器,運(yùn)動(dòng)傳感器,和燈開關(guān))。該控制器可以進(jìn)而在規(guī)則庫(kù)中存儲(chǔ)這些規(guī)則(操作310),從而在規(guī)則定義和物理裝置數(shù)據(jù)的基礎(chǔ)上設(shè)置控制器,使其做出操作。
[0162]一個(gè)規(guī)則的操作描述指明了一個(gè)或更多的當(dāng)條件準(zhǔn)則被滿足時(shí)應(yīng)被執(zhí)行的操作。操作描述可以包括一個(gè)或一個(gè)以上的應(yīng)被做出的操作,比如將一個(gè)數(shù)字輸出信號(hào)開啟或關(guān)閉,其帶有一個(gè)可選的時(shí)間限制(如,把數(shù)字輸出信號(hào)開啟或關(guān)閉10分鐘,或者10分鐘后把數(shù)字輸出信號(hào)開啟或關(guān)閉)。另一個(gè)例子是,操作描述可以指定一個(gè)腳本,其被接口裝置所處理。該腳本可以包括一系列的指令,其被接口裝置做出,以實(shí)現(xiàn)所需的結(jié)果。還有,操作描述可以指明,接口裝置將發(fā)送一個(gè)消息到一個(gè)目標(biāo)實(shí)體(如,一個(gè)電子郵件消息),或者生成一個(gè)事件并存儲(chǔ)在一個(gè)事件日志中以便一個(gè)管理員看到。
[0163]在一些實(shí)施例中,如果接口裝置(mPorts)執(zhí)行規(guī)則(例如,在實(shí)施一個(gè)分布式控制系統(tǒng)時(shí)),本地控制器(例如,用戶的個(gè)人計(jì)算設(shè)備)可以將已定義的規(guī)則發(fā)送至連接著物理裝置的接口裝置。例如,本地控制器可以將規(guī)則發(fā)送至一個(gè)與應(yīng)該執(zhí)行該規(guī)則的接口裝置相關(guān)聯(lián)的IP地址,或者可以將規(guī)則通過與接口裝置的網(wǎng)絡(luò)連接發(fā)送到該接口裝置。
[0164]圖3B是一個(gè)流程圖,示出了一根據(jù)本發(fā)明的一個(gè)實(shí)施例的示例性方法350,其用于呈現(xiàn)配置數(shù)據(jù)和/或傳感器數(shù)據(jù)。在操作過程中,控制器可以提供給用戶一個(gè)圖形用戶界面,其允許用戶選擇一個(gè)或一個(gè)以上要監(jiān)控的物理裝置。該控制器可接收一個(gè)來自用戶的關(guān)于一個(gè)或一個(gè)以上要監(jiān)控的物理裝置的選擇(操作352),并且,作為對(duì)該選擇的接收的響應(yīng),控制器獲得該物理裝置的歷史和/或?qū)崟r(shí)數(shù)據(jù)(操作354)。該系統(tǒng)可以從一本地傳感器數(shù)據(jù)庫(kù)獲得該數(shù)據(jù)(例如,在本地?cái)?shù)據(jù)庫(kù)中),或可以從與物理裝置相連接的接口裝置那里請(qǐng)求數(shù)據(jù)。然后,該控制器可以呈現(xiàn)與這些物理裝置相關(guān)的裝置配置信息,也可以通過圖形用戶界面向用戶呈現(xiàn)歷史和/或?qū)崟r(shí)數(shù)據(jù)(操作356)。例如,用戶可以選擇一個(gè)溫度傳感器,那么和溫度傳感器相關(guān)聯(lián)的mPort將該傳感器檢測(cè)到的溫度在指定時(shí)間段內(nèi)發(fā)送給控制器。該圖形用戶界面可包含一張地圖,其在溫度傳感器的相應(yīng)的位置示出一個(gè)溫度傳感器的圖標(biāo),可以在地圖上傳感器的圖標(biāo)旁邊顯示當(dāng)前或近期的溫度測(cè)量。該圖形用戶界面也可以包含一個(gè)表或線圖,用來呈現(xiàn)溫度傳感器的歷史溫度測(cè)量。
[0165]用戶界面視野
[0166]圖4A是一個(gè)流程圖,示出了一根據(jù)本發(fā)明的一個(gè)實(shí)施例的示例性方法,其用于設(shè)置一個(gè)用于一空間視圖圖形用戶界面(GUI)的裝置布局空間。在操作過程中,控制器可以接收裝置部署區(qū)域的部署空間數(shù)據(jù)(操作402)。部署空間數(shù)據(jù)可以包括,例如,一個(gè)已經(jīng)部署了一組物理和/或接口裝置的室外區(qū)域的地圖坐標(biāo)(例如,一街道地圖)。或者一個(gè)代表一室內(nèi)區(qū)域(例如,一個(gè)樓層平面圖)或室外區(qū)域的地圖的圖像。另一個(gè)例子是,部署空間數(shù)據(jù)可以包括一個(gè)在其中已經(jīng)部署了一組物理裝置的一個(gè)房間的靜態(tài)圖片,或者可以包括該房間或空間的實(shí)時(shí)視頻傳送(例如,從一個(gè)俯仰變焦攝相機(jī)(tilt-zoom camera))ο用戶可以從一個(gè)可以被他的個(gè)人計(jì)算設(shè)備使用的存儲(chǔ)裝置中選擇一個(gè)已有的圖像文件,并為一個(gè)給定的空間上傳該圖像,或選擇一個(gè)該圖像或?qū)崟r(shí)傳送的來源(例如,一個(gè)網(wǎng)絡(luò)地址,一端口號(hào),和/或客戶證書)。用戶還可以通過給該空間照一張照片(例如,使用一個(gè)連接到一智能手機(jī),平板電腦,或筆記本電腦的相機(jī))并上傳該照片到控制器以實(shí)現(xiàn)該圖像的上傳。
[0167]如果部署空間數(shù)據(jù)是對(duì)應(yīng)于一個(gè)室外區(qū)域的地圖,用戶可以通過指明一個(gè)覆蓋了該組已部署裝置的地理區(qū)域,從而向控制器提供該部署空間數(shù)據(jù)。用戶可以通過提供兩個(gè)或更多組與該已部署裝置相關(guān)的地理坐標(biāo)來指明該地理區(qū)域(例如,通過提供一個(gè)覆蓋了該裝置的區(qū)域的地理坐標(biāo),或該裝置自身的地理坐標(biāo)),該系統(tǒng)從而可以確定一個(gè)覆蓋了該已部署裝置的地理區(qū)域以呈現(xiàn)給用戶??商鎿Q地或附加地,該控制器可以提供一個(gè)空間視圖圖形用戶界面,其允許用戶瀏覽一個(gè)互動(dòng)式地圖(例如,街道地圖或衛(wèi)星地圖)。通過瀏覽該互動(dòng)式地圖至覆蓋該已部署裝置的地區(qū)(例如,在一搜索框內(nèi)輸入城市名稱或郵政編碼,和/或掃過該互動(dòng)式地圖),和通過調(diào)整縮放級(jí)別以便覆蓋一個(gè)包圍著已部署裝置的所想要的區(qū)域,用戶可以提供該地理區(qū)域。
[0168]一旦控制器接收到部署空間數(shù)據(jù),控制器可以提供一個(gè)空間視圖⑶I,其包括裝置部署空間的可視化表示(操作404),并可獲得一個(gè)或一個(gè)以上部署在這個(gè)空間的裝置的裝置位置信息(操作406)。該控制器可以從一個(gè)包括多個(gè)物理裝置和接口裝置的配置信息的裝置庫(kù)獲取裝置位置信息。當(dāng)用戶拖動(dòng)一個(gè)物理裝置或接口裝置的圖標(biāo)到一個(gè)該部署空間的視覺表示上的一個(gè)位置上,以致該目標(biāo)位置表示該裝置的部署位置時(shí),控制器也可以從用戶那里獲取裝置的位置信息。一旦用戶完成在該可視化表示上部署裝置,用戶可以點(diǎn)擊該空間視圖GUI上的一個(gè)“保存”按鈕來完成設(shè)置,此時(shí)控制器可以存儲(chǔ)部署空間數(shù)據(jù)和裝置位置信息(操作408)。
[0169]在一些實(shí)施例中,當(dāng)用戶與空間視圖⑶I互動(dòng)時(shí),控制器可接收該一個(gè)或一個(gè)以上的已部署裝置的近期裝置狀態(tài)和/或傳感器測(cè)量(操作410)。作為對(duì)接收到該新數(shù)據(jù)的響應(yīng),控制器可以更新空間視圖GUI,以向用戶呈現(xiàn)此信息,例如,通過將裝置的圖標(biāo)和它們近期的狀態(tài)和/或測(cè)量數(shù)據(jù)覆蓋在裝置部署空間的可視化表示上(操作412)。
[0170]圖4B是一個(gè)流程圖,示出了一根據(jù)本發(fā)明的一個(gè)實(shí)施例的示例性方法430,其用于展示和更新一空間視圖GUI。在操作過程中,控制器可以顯示一空間視圖GUI,其示出了一裝置部署空間的可視化表示,其上覆蓋著裝置圖標(biāo)和相應(yīng)的狀態(tài)和/或傳感器測(cè)量數(shù)據(jù)(操作432)。例如,控制器可以使用一個(gè)圖標(biāo)以展示裝置的狀態(tài),該圖標(biāo)指明該裝置是否正在工作(例如,正在被利用),可用但正在停用中(例如,未被利用),或無響應(yīng)(例如,已關(guān)閉,沒有網(wǎng)絡(luò)連接,或故障的情形)。此外,通過顯示一個(gè)字母數(shù)字值或任何代表近期測(cè)量值的圖像(例如,一個(gè)代表溫度讀數(shù)的數(shù)值,或一個(gè)LED圖像以代表開/關(guān)值或任何二進(jìn)制值),該控制器可以呈現(xiàn)該裝置的傳感器測(cè)量數(shù)據(jù)。
[0171 ] 在一些實(shí)施例中,控制器可以確定它是否已收到來自一個(gè)裝置的狀態(tài)或測(cè)量的更新(操作434)。如果是這樣,該控制器可以更新空間視圖GUI來示出更新的裝置狀態(tài)和/或更新的傳感器測(cè)量(操作436)。然后,該控制器可以返回操作434 (例如,在一可確定的延遲期后),以便接收來自同一裝置或不同的裝置的更新的狀態(tài)或測(cè)量。
[0172]否則,如果控制器沒有收到一個(gè)更新的狀態(tài)或測(cè)量,該控制器可以判斷當(dāng)前顯示的狀態(tài)或測(cè)量數(shù)據(jù)是否已超時(shí)(操作438)。如果當(dāng)前顯示的數(shù)據(jù)已超時(shí),該控制器可以更新空間視圖GUI,以移除超時(shí)數(shù)據(jù),和/或指出數(shù)據(jù)已超時(shí)(操作440)。然后,該控制器可以返回操作434,以確定它是否已收到來自同一裝置或不同裝置的更新的狀態(tài)或測(cè)量。
[0173]圖4C示出了根據(jù)本發(fā)明的一個(gè)實(shí)施例的一個(gè)示例性的控制器提供的空間視圖⑶1460。⑶1460包括一中央顯示區(qū)462,側(cè)面板464,和若干可選擇的標(biāo)簽,如空間標(biāo)簽466,數(shù)據(jù)標(biāo)簽468,事件標(biāo)簽470,規(guī)則標(biāo)簽472,和裝置標(biāo)簽474。中央顯示區(qū)462顯示信息,例如與一選定的標(biāo)簽相關(guān)聯(lián)的圖片,圖形,和控制面板。在圖4C中,該選定的標(biāo)簽是“空間”標(biāo)簽466,中央顯示區(qū)462顯示一建筑物的布局,其使用適當(dāng)?shù)膱D標(biāo)展示了一組接口裝置(mPorts)和物理裝置的位置。舉例而言,一個(gè)圖標(biāo)476代表一個(gè)mPort,一個(gè)圖標(biāo)478代表了一個(gè)溫度傳感器。
[0174]在一些實(shí)施例中,通過在用戶計(jì)算機(jī)中選擇一個(gè)已有的地圖或一個(gè)房間的圖像,或使用用戶的智能手機(jī)上的相機(jī)給一個(gè)房間照一張照片,用戶可以上傳一個(gè)空間視圖圖像。在其他一些實(shí)施例中,空間視圖圖像可以包括一安全攝像機(jī)所拍攝的圖像或?qū)崟r(shí)視頻傳送。在一些實(shí)施例中,用戶可以使用從一個(gè)基于互聯(lián)網(wǎng)的地圖服務(wù)(例如,谷歌地圖的互聯(lián)網(wǎng)服務(wù))獲取的圖像來示明mPorts和與物理裝置的位置。
[0175]側(cè)面板464的內(nèi)容也與“空間”標(biāo)簽相關(guān)聯(lián),并可以顯示一個(gè)可用裝置的名單,該可用裝置可以被拖動(dòng)到在中心顯示區(qū)462顯示的空間中的適當(dāng)?shù)奈恢?。此外,用戶也可以把一個(gè)裝置圖標(biāo)(例如,一個(gè)mPort裝置的圖標(biāo))從它在空間視圖的當(dāng)前位置拖動(dòng)到一個(gè)新的位置。在圖4C中,中心展示區(qū)462還包括一個(gè)縮放滑塊480,其可用于縮放地圖。
[0176]圖4D示出了根據(jù)本發(fā)明的一個(gè)實(shí)施例的一個(gè)示例性的由控制器提供的空間視圖⑶1480。⑶1480包括一個(gè)中央顯示區(qū)域482,它可以顯示一個(gè)用戶選擇的、部署了 一組傳感器的一個(gè)房間的圖像,或可以顯示一個(gè)包括了一個(gè)房間所想要的部分的、安全攝像頭提供的實(shí)時(shí)視頻傳輸,或從一用戶的便攜式手提式裝置取得的實(shí)時(shí)視頻傳輸。[0177]該用戶可以從⑶1480的側(cè)面板上拖動(dòng)一裝置圖標(biāo)至顯示區(qū)482上的一個(gè)和該裝置相關(guān)聯(lián)的位置。該控制器可存儲(chǔ)該裝置的顯示位置,這將允許系統(tǒng)將裝置圖標(biāo)覆蓋到顯示區(qū)482中相對(duì)于該“空間”圖像的同一位置上。在一些實(shí)施例中,如果顯示區(qū)482正在提供一個(gè)掃視/俯仰/變焦(pan/tilt/zoom)安全攝像機(jī)傳來的實(shí)時(shí)視頻傳送,控制器可以隨著攝像機(jī)的掃動(dòng),俯仰,和/或變焦調(diào)整裝置圖標(biāo)在顯示區(qū)域482中的位置。這使得該裝置圖標(biāo)看起來鎖定到房間的一部分或位置。同樣,如果顯示區(qū)482是從用戶的便攜式手持裝置提供實(shí)時(shí)視頻傳送,該控制器能獲得該便攜式裝置的地理坐標(biāo)和其定向。然后,該控制器確定一組裝置圖標(biāo)并顯示,并可以在用戶使其便攜式攝像機(jī)移動(dòng),掃視,俯仰,和/或變焦時(shí),調(diào)整裝置圖標(biāo)在顯示區(qū)482中的位置。
[0178]在一些實(shí)施例中,用戶可以和一個(gè)裝置圖標(biāo)互動(dòng),來控制所展示的信息的類型,或控制和一個(gè)裝置圖標(biāo)相關(guān)聯(lián)的接口裝置和/或物理裝置。例如,裝置圖標(biāo)484.1對(duì)應(yīng)于一個(gè)用于測(cè)量一個(gè)安裝在墻壁上的燈具的電流測(cè)量裝置。用戶可以查看該燈具的電流的消耗量,用來確定燈具的燈泡是否已磨損或熄滅。同時(shí),裝置圖標(biāo)484.2和484.3可以對(duì)應(yīng)一個(gè)溫度調(diào)節(jié)裝置,并可以分別指明當(dāng)前室內(nèi)溫度和濕度的測(cè)量。
[0179]裝置圖標(biāo)484.4可以對(duì)應(yīng)于一個(gè)指明門是打開還是關(guān)閉著的傳感器,而且裝置圖標(biāo)484.5可以對(duì)應(yīng)于一個(gè)運(yùn)動(dòng)傳感器(例如,一個(gè)建在一燈開關(guān)內(nèi)的傳感器)。在圖4D中,用戶激活了裝置圖標(biāo)484.5,這使得控制器在一個(gè)四分之一圓之內(nèi)使用顏色來顯示所檢測(cè)到的運(yùn)動(dòng)水平。該控制器還在裝置圖標(biāo)的周圍覆蓋了一組控制圖標(biāo)??刂茍D標(biāo)允許用戶控制相應(yīng)的裝置所提供的信息,和/或控制裝置本身。例如,控制圖標(biāo)可以包括:“圖表”圖標(biāo);“詳細(xì)信息”圖標(biāo);“鎖定”圖標(biāo);以及“刪除”圖標(biāo)。
[0180]該“圖表”圖標(biāo)顯示一個(gè)用顏色做標(biāo)記的數(shù)值表,其基于裝置的類型,表示低值,平均值,和/或高值,或事件頻率?!霸敿?xì)信息”圖標(biāo)允許用戶為查看物理裝置的詳細(xì)信息而打開一個(gè)詳細(xì)信息視圖窗口,該詳細(xì)信息如接口裝置的名稱,型號(hào),和mPort標(biāo)識(shí)符,以及一個(gè)和物理裝置相關(guān)聯(lián)的端口。詳細(xì)信息還可以包括歷史狀態(tài)/傳感器數(shù)據(jù),以及歷史事件。在一些實(shí)施例中,詳細(xì)信息視圖窗口也允許用戶控制裝置,如把燈打開或關(guān)閉。
[0181]“鎖定”圖標(biāo)是用來把選定的傳感器鎖定在空間的圖像的當(dāng)前位置上,并當(dāng)傳感器圖標(biāo)是鎖定狀態(tài)時(shí)禁用傳感器的“刪除”功能?!皠h除”圖標(biāo)允許用戶在顯示區(qū)482中的位置上刪除該傳感器。
[0182]如果該裝置是一個(gè)基于串口的傳感器,控制器還顯示一個(gè)“殼”(shell)的圖標(biāo),它允許用戶打開一個(gè)命令行界面殼(command-line interface shell)用來控制裝置或與裝
置互動(dòng)。
[0183]圖4E示出了根據(jù)本發(fā)明的一個(gè)實(shí)施例的一個(gè)示例性的由控制器提供的空間視圖⑶1490。⑶1490包括一個(gè)中央顯示區(qū)492,它可以顯示一個(gè)由用戶選擇的一個(gè)地理區(qū)域的地理圖。該控制器可為用戶顯示一個(gè)地圖,例如,一個(gè)從互聯(lián)網(wǎng)的地圖服務(wù)(例如,谷歌地圖互聯(lián)網(wǎng)服務(wù))而來的地圖,并且用戶可以與地圖互動(dòng),并通過滾屏和/或縮放得到顯示區(qū)492的所想要的視圖,以瀏覽到所想要的位置。
[0184]該用戶可以從⑶1490的側(cè)面板上拖動(dòng)一裝置圖標(biāo)至顯示區(qū)492上的一個(gè)和該裝置相關(guān)聯(lián)的位置。⑶1490包括一組示范性的裝置圖標(biāo),如運(yùn)動(dòng)傳感裝置圖標(biāo)294,功率傳感裝置圖標(biāo)295,和一個(gè)溫度傳感裝置圖標(biāo)297。在一些實(shí)施例中,基于用戶在顯示區(qū)域492中放置裝置圖標(biāo)的位置,控制器可以確定一個(gè)與裝置圖標(biāo)對(duì)應(yīng)的地理位置。該控制器將該地理位置與該裝置建立關(guān)聯(lián)(例如,在一個(gè)裝置位置信息庫(kù)中),這樣,盡管用戶在“空間”中滾屏或縮放,該控制器在顯示區(qū)492上相對(duì)“空間”圖像的相同的位置上顯示該裝置圖標(biāo)。同時(shí),通過給予裝置圖標(biāo)一個(gè)地理位置的屬性,用戶可以使用一個(gè)在移動(dòng)設(shè)備上的增強(qiáng)現(xiàn)實(shí)(augmented-reality)應(yīng)用來監(jiān)視和/或控制該裝置。
[0185]基于位置的裝置視覺表示
[0186]在一些實(shí)施例中,控制器允許用戶基于一個(gè)或一個(gè)以上裝置的位置或地理位置查看該裝置的數(shù)據(jù)。該控制器可以從裝置的內(nèi)置GPS (全球定位系統(tǒng))傳感器確定裝置的地理位置,這也可以通過W1-Fi三角測(cè)量法,或通過從一個(gè)裝置位置存儲(chǔ)庫(kù)獲取裝置的位置標(biāo)識(shí)符或地理位置而實(shí)現(xiàn)。
[0187]例如,如果用戶正使用一地理地圖用戶界面(UI)查看裝置的數(shù)據(jù)(例如,⑶1490),該控制器可以覆蓋數(shù)據(jù),使得它包括與地圖UI所包括的地理區(qū)域相關(guān)聯(lián)的傳感器的數(shù)據(jù)。如果地圖UI被縮小,使多個(gè)裝置圖標(biāo)重疊,該控制器可以用一個(gè)聚合裝置圖標(biāo)代替該重疊的裝置圖標(biāo)。在一些實(shí)施例中,聚合裝置圖標(biāo)表示數(shù)個(gè)在相應(yīng)區(qū)域內(nèi)重疊的裝置。在一些實(shí)施例中,如果聚合裝置圖標(biāo)所代表的圖標(biāo)為同一類型的裝置,控制器可以生成一表明合計(jì)值的聚合裝置圖標(biāo)。該合計(jì)值可以表示,例如,一個(gè)傳感器測(cè)量平均值或中位數(shù),傳感器測(cè)量之和,或任何用數(shù)學(xué)函數(shù)對(duì)數(shù)個(gè)傳感器測(cè)量值的計(jì)算結(jié)果。
[0188]然后,如果用戶進(jìn)一步放大該地圖,使得一個(gè)或一個(gè)以上的裝置已不再與其他裝置重疊,該控制器可根據(jù)需要更新覆蓋的圖標(biāo)。例如,該控制器可以更新地圖Π以清晰地顯示非重疊的裝置圖標(biāo),并生成聚合裝置圖標(biāo),用于指明從剩余的重疊的裝置圖標(biāo)那里計(jì)算得到的數(shù)值。
[0189]在一些實(shí)施例中,控制器可以把裝置的數(shù)據(jù)提供給用戶的移動(dòng)設(shè)備,用于在一個(gè)增強(qiáng)現(xiàn)實(shí)可視圖中顯示。類似于⑶1490 (圖4E),該控制器向該移動(dòng)設(shè)備提供了在Π的顯示區(qū)域內(nèi)(例如,用戶的當(dāng)前視圖內(nèi))的接口裝置和/或物理裝置的裝置數(shù)據(jù)。因?yàn)橛脩艨梢园阉囊苿?dòng)設(shè)備的攝像機(jī)對(duì)準(zhǔn)一個(gè)方向,該方向包括遠(yuǎn)處的裝置(例如,遍及一個(gè)城市的溫度傳感器),該控制器可以只向該移動(dòng)設(shè)備提供距離用戶的移動(dòng)設(shè)備一定范圍內(nèi)的裝置的數(shù)據(jù)。
[0190]類似于Π480 (圖4D),用戶的移動(dòng)設(shè)備把裝置圖標(biāo)覆蓋在從該移動(dòng)設(shè)備上的攝像頭拍攝到的實(shí)時(shí)圖像傳送之上。當(dāng)用戶將其移動(dòng)設(shè)備的相機(jī)掃視,俯仰,或變焦時(shí),增強(qiáng)現(xiàn)實(shí)系統(tǒng)更新覆蓋的裝置圖標(biāo),使其只包括那些在用戶的視野內(nèi)的裝置的圖標(biāo)。增強(qiáng)現(xiàn)實(shí)系統(tǒng)選擇圖標(biāo)覆蓋在拍攝到的圖像上面,這是基于用戶的移動(dòng)設(shè)備的指向和地理位置,以及已知的物理裝置和接口裝置的地理位置做出的。用戶可以和一個(gè)裝置圖標(biāo)互動(dòng),來控制所展示的信息的類型,或控制和一個(gè)裝置圖標(biāo)相關(guān)聯(lián)的接口裝置和/或物理裝置。
[0191]生成及處理規(guī)則
[0192]圖5A是一個(gè)流程圖,示出了一根據(jù)本發(fā)明的一個(gè)實(shí)施例的示例性方法500,其用于生成并儲(chǔ)存用于控制一接口裝置或物理裝置的規(guī)則。一個(gè)規(guī)則可以包含一個(gè)條件,或者可以包括多個(gè)條件。例如,一個(gè)單個(gè)裝置可以與兩個(gè)或兩個(gè)以上的條件相關(guān)聯(lián),或可能有多個(gè)裝置,每個(gè)至少和一個(gè)條件相關(guān)聯(lián)。規(guī)則還可以包括一個(gè)操作,是在條件滿足時(shí)被執(zhí)行。
[0193]在操作過程中,控制器可以接受(例如,通過一個(gè)規(guī)則視圖⑶I)用戶選擇的一個(gè)或一個(gè)以上要監(jiān)控的裝置(操作502 )。一接口裝置可以包括一個(gè)mPort接口裝置,一個(gè)mPower接口裝置,或一個(gè)mSwitch或mDi_er接口裝置。
[0194]如前所述,該mPower接口裝置可實(shí)現(xiàn)一電源板,其可向控制器提供每個(gè)插座消耗的功率,并能基于處理一個(gè)規(guī)則的操作描述的結(jié)果控制一個(gè)插座的供電。該接口裝置或控制器可從功率測(cè)量值中確定一個(gè)裝置是否正在被使用或處于待機(jī)模式。因此,用戶可以選擇一電源板上的插座,用以監(jiān)測(cè)一個(gè)相應(yīng)的由該插座供電的電器的運(yùn)行狀態(tài),并且該用戶可以指定一個(gè)電壓值作為觸發(fā)一個(gè)操作的條件。
[0195]mPort接口裝置可以與一個(gè)或一個(gè)以上物理傳感器連接,以從每個(gè)傳感器獲得一個(gè)模擬或數(shù)字值。因此,用戶可以選擇連接到該接口裝置的一個(gè)傳感器,并可以指定一個(gè)原始值(或與原始值相關(guān)的描述性標(biāo)簽)作為觸發(fā)一個(gè)操作的條件。
[0196]控制器還可以接收一個(gè)或一個(gè)以上裝置的條件值,或嵌套的條件(操作504),和一個(gè)條件處理的類型,其表明如何處理從一個(gè)或一個(gè)以上裝置來的條件(操作506)。例如,條件處理類型可以表明當(dāng)任何,所有,或一特定數(shù)量的單個(gè)條件元素(例如,沒有,一個(gè),兩個(gè),所有,等)滿足時(shí),規(guī)則的條件得到滿足。在一些實(shí)施例中,一個(gè)條件元素可以包括一個(gè)被監(jiān)測(cè)物理裝置的目標(biāo)值。
[0197]在一些實(shí)施例中,一個(gè)條件元素可以包含一嵌套的條件,其本身具有一個(gè)條件類型。因此,一個(gè)規(guī)則的條件可以實(shí)現(xiàn)復(fù)雜的邏輯語句,如乘積之和(SoP)或和的乘積(PoS)的邏輯語句。作為一個(gè)例子,該規(guī)則的條件可以包括一個(gè)頂級(jí)的條件,其表明所有條件的元素都需要滿足(例如,實(shí)施一個(gè)“和”的邏輯語句),以及一個(gè)嵌套的條件,其表明至少其中一個(gè)嵌套條件的元素需要滿足(例如,實(shí)施一個(gè)“或”的邏輯語句)。
[0198]在另一些實(shí)施例中,一個(gè)條件元素可以包含一個(gè)“時(shí)間表”條件,其表明一個(gè)可以處理該規(guī)則的時(shí)刻或時(shí)間范圍期間。接口裝置可以使用一個(gè)時(shí)間表的時(shí)間(例如,啟動(dòng)時(shí)間)來觸發(fā)規(guī)則的評(píng)估,并且/或者,如果規(guī)則是由另一個(gè)事件觸發(fā)的(例如,通過與一個(gè)物理裝置相關(guān)聯(lián)的條件元素),接口裝置可以判斷該規(guī)則是否可以被處理。
[0199]進(jìn)一步,控制器可接收一個(gè)想要做的操作的操作描述(操作508)。通過與一個(gè)規(guī)則視圖GUI互動(dòng),用戶可以提供操作描述,其指明一個(gè)或一個(gè)以上由一個(gè)或一個(gè)以上接口裝置所要做出的操作。這些操作可以包括將接口裝置的一個(gè)特定的端口的輸出電壓設(shè)置成一個(gè)預(yù)定的目標(biāo)值。在一些實(shí)施例中,行為描述可以是一個(gè)腳本的形式,由一個(gè)或一個(gè)以上目標(biāo)接口裝置執(zhí)行。
[0200]一旦用戶設(shè)置了規(guī)則元素,控制器可以生成該規(guī)則,從而在條件處理類型所指明的條件滿足時(shí)引發(fā)所期望的操作(操作510)。然后,控制器在一規(guī)則庫(kù)中,例如,在一個(gè)接口裝置中和/或在一個(gè)應(yīng)用程序服務(wù)器的數(shù)據(jù)庫(kù)上,存儲(chǔ)生成的規(guī)則(操作512)。
[0201]圖5B示出了根據(jù)本發(fā)明的一個(gè)實(shí)施例的一個(gè)示例性的控制器的圖形用戶界面(⑶I)。如圖4C,⑶1550包括中心顯示區(qū),側(cè)面板,和可選的標(biāo)簽。圖5B中,選定的標(biāo)簽是“操作”標(biāo)簽,它允許用戶定義一組規(guī)則。側(cè)面板顯示一先前定義的規(guī)則的列表,如門打開規(guī)則552。通過點(diǎn)擊一個(gè)規(guī)則,用戶可以在中心顯示區(qū)查看該規(guī)則,其包括一個(gè)規(guī)則名稱字段554,一條件字段556,和一個(gè)操作字段558。
[0202]條件字段556包括一組條件元素,其可以觸發(fā)該規(guī)則的評(píng)估,并被分析以確定是否處理規(guī)則的操作描述。一個(gè)條件元素可以包括變量,其選擇一個(gè)裝置或嵌套條件,并且可以包括另一個(gè)變量,其定義哪些與該裝置或條件相關(guān)的條件將觸發(fā)規(guī)則。條件字段556也可以定義該規(guī)則是否是在滿足任何條件元素時(shí)會(huì)被觸發(fā),還是在滿足所有列出的條件元素時(shí)會(huì)被觸發(fā)(未顯不)。
[0203]在圖5B所示的例子中,規(guī)則的名稱是“規(guī)則123”,與該規(guī)則相關(guān)聯(lián)的第一裝置是“插座1”,相應(yīng)的條件值指明,插座的功率需要大于I瓦能使條件元素得到滿足。與規(guī)則相關(guān)聯(lián)的第二裝置是一個(gè)“傳感器”,其監(jiān)視一模擬輸入信號(hào),并且用戶可以設(shè)置相應(yīng)的條件值,其指明使條件元素得到滿足的所需達(dá)到的最小電壓。通過選擇“添加”按鈕562,用戶可以為另一個(gè)物理裝置或接口裝置添加條件元素。同時(shí),通過選擇一個(gè)“時(shí)間表”按鈕564,用戶可以添加一條件元素,其指明規(guī)則的時(shí)間表。
[0204]操作字段558顯示一旦條件滿足將要采取的操作。在圖5B所示的例子中,一旦條件滿足,系統(tǒng)會(huì)導(dǎo)致插座I持續(xù)10秒為打開狀態(tài),并可以設(shè)置一個(gè)“樓層風(fēng)扇”物理裝置被開啟0.08分鐘。用戶還可以添加其他的操作至操作字段558,如執(zhí)行一腳本,設(shè)置一接口裝置的輸出(例如,控制“樓層風(fēng)扇”輸出),和/或發(fā)送一個(gè)通知(例如,通過發(fā)送電子郵件到指定的郵件地址和/或產(chǎn)生一個(gè)系統(tǒng)警報(bào))。
[0205]同時(shí),用戶可以使用⑶1550來編輯和更新現(xiàn)有的規(guī)則552,
[0206]點(diǎn)擊一個(gè)新的規(guī)則按鈕560來定義一個(gè)新的規(guī)則,和/或啟用或禁用規(guī)則。
[0207]圖5C展示了一個(gè)用戶界面560,其示出了根據(jù)本發(fā)明的一個(gè)實(shí)施例的示例性的預(yù)先定義的條件,該條件可以被納入一個(gè)規(guī)則的條件組。具體而言,條件組562包括一組和各種物理環(huán)境相關(guān)聯(lián)的條件。例如,當(dāng)一個(gè)運(yùn)動(dòng)檢測(cè)器檢測(cè)一個(gè)特定的物理空間附近的運(yùn)動(dòng)時(shí),條件“窗口 2的運(yùn)動(dòng)”,”窗口 3的運(yùn)動(dòng)”,“會(huì)議室的運(yùn)動(dòng)”,“運(yùn)動(dòng):mFi實(shí)驗(yàn)室I”被評(píng)估為“正確”。當(dāng)一紅外光束被阻斷時(shí),條件“束探測(cè)器”被評(píng)估為“正確”,這表明一個(gè)物體通過一個(gè)特定的位置(例如,在門的入口)。當(dāng)一個(gè)相應(yīng)的門被打開,條件“門I”和“門2”被評(píng)估為“正確”。
[0208]同時(shí),“時(shí)間表”組564可以指明若干與一個(gè)用戶相關(guān)的時(shí)間表。例如,一個(gè)“夜間”計(jì)劃可以指示在一個(gè)給定的建筑或空間內(nèi),燈具什么時(shí)間不應(yīng)該被打開,一個(gè)“安全”計(jì)劃可以對(duì)應(yīng)于一個(gè)時(shí)間段,在這個(gè)時(shí)間段內(nèi)沒有人應(yīng)當(dāng)在一個(gè)給定的建筑中。一個(gè)“后院澆水”和“前院澆水”計(jì)劃可以表示一個(gè)噴頭可以被激活以便相應(yīng)的為后院或前院澆水的時(shí)間范圍。
[0209]圖6A示出了根據(jù)本發(fā)明的一個(gè)實(shí)施例的一個(gè)示例性的控制器裝置視圖⑶1600。在圖6A中,選中的標(biāo)簽是“裝置”標(biāo)簽,并且,⑶1600的中央顯示區(qū)顯示了查看一組裝置相關(guān)數(shù)據(jù)的兩個(gè)面板。具體而言,面板602顯示一個(gè)用戶可以監(jiān)測(cè)的物理裝置的列表,面板604顯示一個(gè)與用戶關(guān)聯(lián)的接口裝置(mPorts)的列表。用戶可以通過與⑶1600互動(dòng)手動(dòng)添加或刪除物理和/或接口裝置,并查看這些裝置的當(dāng)前工作狀態(tài)。
[0210]圖6B示出了根據(jù)本發(fā)明的一個(gè)實(shí)施例的一個(gè)示例性的控制器數(shù)據(jù)視圖GUI630。⑶1630包括一個(gè)中心顯不區(qū),一個(gè)側(cè)面板,和一組可選的與各種視圖相關(guān)的標(biāo)簽。圖6B中,被選定的標(biāo)簽是“數(shù)據(jù)”標(biāo)簽,它允許用戶查看從一個(gè)或一個(gè)以上物理裝置和接口裝置采集的數(shù)據(jù)。
[0211]側(cè)面板顯示了三個(gè)選擇面板:日期范圍面板632,視圖選擇面板634,和裝置面板636。裝置面板636顯示一個(gè)可用裝置的列表,它根據(jù)類型分類。通過點(diǎn)擊一個(gè)或一個(gè)以上裝置,用戶可以在中央顯示區(qū)查看裝置的數(shù)據(jù)。用戶可以使用日期范圍面板632指定顯示的數(shù)據(jù)的時(shí)間段,并可以使用視圖選擇面板634創(chuàng)建一個(gè)自定義的、在指定的時(shí)間內(nèi)的數(shù)據(jù)的視圖。如果用戶創(chuàng)建一個(gè)自定義的視圖,系統(tǒng)可以再次使用自定義視圖以便以用戶所需的格式向用戶呈現(xiàn)數(shù)據(jù)。在圖6B所提供的示例性視圖中,中央顯示區(qū)顯示兩個(gè)圖表,其顯示兩個(gè)選定的溫度傳感器的溫度與時(shí)間的對(duì)映關(guān)系。
[0212]在一些實(shí)施例中,該中心顯示區(qū)也可以在一地圖或空間(未顯示)展示傳感器的歷史數(shù)據(jù)。例如,用戶可以選擇一個(gè)時(shí)間段或時(shí)間范圍,并且系統(tǒng)可更新GUI630,把一個(gè)傳感器的值(例如,傳感器平均值或一個(gè)傳感器值的圖表)放置在一個(gè)覆蓋在該地圖或空間的圖像上的裝置圖標(biāo)的旁邊。⑶1630也可以把一組由該裝置隨時(shí)間推移所引發(fā)的事件呈現(xiàn)給用戶。用戶可以選擇“播放”,“倒帶”,或“快進(jìn)”按鈕,選擇一個(gè)速度,用于查看傳感器事件通知如何隨時(shí)間推移而被觸發(fā),和/或看傳感器值隨時(shí)間的變化。另外,用戶可以控制一個(gè)“擦”(scrubber)以選擇一個(gè)顯示傳感器事件和/或傳感器的值的特定的時(shí)刻或時(shí)間間隔。
[0213]⑶1630也具有鼠標(biāo)懸停功能,允許用戶把鼠標(biāo)懸停在數(shù)據(jù)時(shí)間表上,以查看具體的細(xì)節(jié),并點(diǎn)擊和加亮?xí)r間表的特定區(qū)域,以給出時(shí)間表的一個(gè)特定部分的特寫。在一個(gè)實(shí)施例中,在用戶將鼠標(biāo)指針懸停在數(shù)據(jù)時(shí)間表上時(shí),一個(gè)放大鏡圖標(biāo)出現(xiàn),并且,當(dāng)用戶點(diǎn)擊鼠標(biāo)指針并把鼠標(biāo)指針從時(shí)間表一邊拖動(dòng)到另一邊時(shí),由用戶選擇的時(shí)間范圍將被加亮顯示。一旦用戶完成他的時(shí)間范圍選擇,視圖中的所有裝置將聚焦到選定的時(shí)間范圍。
[0214]圖6C示出了根據(jù)本發(fā)明的一個(gè)實(shí)施例的一個(gè)示例性的控制器事件視圖GUI660。⑶1660包括一個(gè)中心顯不區(qū),一個(gè)側(cè)面板,和一組可選的標(biāo)簽。在⑶1660中所選定的標(biāo)簽是“事件”標(biāo)簽,它允許用戶查看與一組裝置相關(guān)的歷史事件。請(qǐng)注意,一個(gè)事件是指一個(gè)規(guī)則的一次執(zhí)行。
[0215]側(cè)面板顯示了三個(gè)選擇面板:過濾器面板662,日期范圍面板664,和裝置面板666。中央顯示區(qū)顯示歷史事件的信息。裝置面板666顯示一個(gè)由類型分類的可用裝置的列表,用戶可以選擇一個(gè)或一個(gè)以上裝置以查看其歷史事件數(shù)據(jù)。過濾器面板662允許用戶使用特定的搜索條件篩選數(shù)據(jù)。更具體地,用戶可以在過濾器面板662中輸入一文本字符串,那么控制器采用輸入的文本字符串,去除不匹配輸入的文本字符串的事件數(shù)據(jù),以執(zhí)行一個(gè)實(shí)時(shí)搜索。用戶還可以使用日期范圍面板664,指定要在中央顯示區(qū)顯示的事件數(shù)據(jù)的時(shí)間段。控制器不顯示發(fā)生在指定時(shí)間段外的事件。
[0216]在⑶1660中,中央顯示區(qū)包括多個(gè)顯示區(qū)域,如區(qū)域668,670,和672。區(qū)域668使用條形圖顯示在指定的時(shí)間范圍內(nèi)產(chǎn)生的事件的時(shí)間分布。每一柵條代表一個(gè)單位時(shí)間內(nèi)所發(fā)生的事件,單位時(shí)間默認(rèn)設(shè)置為2個(gè)小時(shí)的時(shí)間段。用戶可以點(diǎn)擊一個(gè)柵條以顯示和時(shí)間段相關(guān)的事件。
[0217]區(qū)域670顯示一個(gè)餅形圖,顯示在規(guī)定的時(shí)間內(nèi)發(fā)生的事件的基于裝置的分布。每次用戶修改搜索或篩選條件時(shí),控制器可以更新時(shí)間分布圖和裝置分布圖。區(qū)域672是主要的顯示區(qū)域,顯示滿足搜索或篩選條件的事件的列表。每個(gè)事件條目顯示:一時(shí)間字段,顯示事件發(fā)生時(shí)的日期和時(shí)間;一裝置字段,顯示產(chǎn)生事件的裝置的名稱;一個(gè)類型字段,顯示事件的類型;一個(gè)數(shù)值字段,顯示觸發(fā)事件的值;和一個(gè)規(guī)則名稱字段,顯示觸發(fā)事件的規(guī)則的名稱。當(dāng)用戶鼠標(biāo)懸停在一個(gè)事件上時(shí),控制器可以顯示一個(gè)呈現(xiàn)裝置在相應(yīng)的“空間”里的當(dāng)前位置的窗口,(例如,通過在一地圖上,一個(gè)存儲(chǔ)的圖像,或在一個(gè)“空間”的實(shí)時(shí)視頻傳送上覆蓋一個(gè)裝置圖標(biāo)),一個(gè)關(guān)于數(shù)值的24小時(shí)概要,事件發(fā)生時(shí)的數(shù)值,和最后的報(bào)告值,如區(qū)域674所示的。
[0218]接口裝置運(yùn)行時(shí)的功能
[0219]圖7是一個(gè)流程圖,示出了 一根據(jù)本發(fā)明的一個(gè)實(shí)施例的示例性方法700,其用于在一個(gè)本地接口裝置處理一個(gè)規(guī)則。在操作過程中,本地接口裝置可以檢測(cè)到一個(gè)觸發(fā)規(guī)則的事件(操作702),并選擇一個(gè)與檢測(cè)到的事件相關(guān)聯(lián)的規(guī)則(操作704)。該裝置可以接收來自一遠(yuǎn)程裝置的事件,或可以在本地檢測(cè)到該事件,如通過監(jiān)測(cè)一本地連接的物理裝置和/或監(jiān)測(cè)一個(gè)觸發(fā)一規(guī)則的時(shí)間表?xiàng)l件。為選擇由事件觸發(fā)的規(guī)則,本地裝置可以執(zhí)行一個(gè)規(guī)則查找操作,這個(gè)操作從規(guī)則庫(kù)中選擇至少一個(gè)包括與檢測(cè)到的事件相關(guān)聯(lián)的一個(gè)條件的規(guī)則。例如,遠(yuǎn)程裝置可以包括一個(gè)mPort裝置,接收來自門傳感器的輸入,本地接口裝置可以選擇一個(gè)或一個(gè)以上規(guī)則,當(dāng)門傳感器表明門是打開還是關(guān)閉時(shí),該規(guī)則的操作被觸發(fā)。
[0220]在一些實(shí)施例中,一個(gè)條件可以包括多個(gè)傳感器變量,這些變量需要被評(píng)估來判斷條件是否得到滿足。此外,該條件還可以包括一個(gè)嵌套條件的引用,并且裝置需要先評(píng)估嵌套條件來確定它的結(jié)果。一旦本地裝置選擇處理該規(guī)則,本地裝置可以確定該規(guī)則的條件是否要求其它的輸入數(shù)據(jù)(操作706 )。該規(guī)則可包括一個(gè)或一個(gè)以上條件元素,它們和例如,一個(gè)物理裝置(例如,一個(gè)運(yùn)動(dòng)傳感器),一個(gè)時(shí)間表?xiàng)l件,和/或一嵌套的條件相關(guān)聯(lián)。如果規(guī)則的條件不需要其他的輸入,本地裝置可以使用接收到的表明近期狀態(tài)的數(shù)據(jù),或從遠(yuǎn)程接口裝置那里來的測(cè)量數(shù)據(jù)處理該規(guī)則(操作712)。
[0221]然而,如果規(guī)則的條件確實(shí)需要其他輸入,本地裝置可確定規(guī)則的其他輸入數(shù)據(jù)的來源(操作708),如傳感器數(shù)據(jù),有關(guān)規(guī)則時(shí)序安排的數(shù)據(jù),或一個(gè)嵌套條件的結(jié)果。然后,本地裝置從其他輸入數(shù)據(jù)來源那里獲得必要的數(shù)據(jù)(操作710),并進(jìn)行到操作712,使用所獲得的與規(guī)則相關(guān)的狀態(tài)和/或測(cè)量數(shù)據(jù)處理規(guī)則。
[0222]處理規(guī)則后,本地裝置可以確定該規(guī)則的條件是否已經(jīng)由裝置狀態(tài)和/或測(cè)量數(shù)據(jù)滿足(操作714)。如果是這樣的話,本地裝置可處理一個(gè)與規(guī)則相關(guān)的操作描述(操作716 )。否則,本地裝置可忽略該規(guī)則,或執(zhí)行補(bǔ)救措施(例如,在一個(gè)確定的時(shí)間段內(nèi)忽略該規(guī)則)。
[0223]該操作描述,舉例而言,可以包括一個(gè)命令,它把作為目標(biāo)的一個(gè)或一個(gè)以上接口裝置或物理裝置設(shè)置到一個(gè)預(yù)定的狀態(tài)。另一個(gè)例子是,操作描述可以包括一個(gè)執(zhí)行復(fù)雜操作的腳本。在一些實(shí)施例中,該腳本可以為本地裝置計(jì)算一個(gè)目標(biāo)狀態(tài),這是通過執(zhí)行一個(gè)指令序列以便處理一個(gè)或一個(gè)以上物理裝置的近期和/或歷史狀態(tài)和測(cè)量來實(shí)現(xiàn)的。本地裝置還確定是否有更多的與更新的狀態(tài)或測(cè)量相關(guān)聯(lián)的規(guī)則(操作718),如果是的,本地裝置可以返回操作704去選擇另一個(gè)規(guī)則。
[0224]注意,可能發(fā)生這樣的情況:兩個(gè)規(guī)則具有重疊的條件(例如,條件允許兩個(gè)規(guī)則的操作都被執(zhí)行),而該條件的操作相互沖突。一個(gè)規(guī)則的操作可能涉及到打開一個(gè)燈,而其他規(guī)則的操作可能涉及到關(guān)上相同的燈。如果兩個(gè)規(guī)則的處理是“平行”的,兩個(gè)規(guī)則可以以任何順序執(zhí)行(不一定是同時(shí)執(zhí)行),這樣一個(gè)規(guī)則的動(dòng)作不會(huì)影響下一條規(guī)則的執(zhí)行。在上面的控制燈的例子中,如果兩個(gè)規(guī)則的條件都滿足了,并且這兩個(gè)規(guī)則基本上被并行執(zhí)行,燈的最終狀態(tài)取決于哪個(gè)規(guī)則被第二個(gè)處理。所以,意外的執(zhí)行順序可能導(dǎo)致意外的行為。
[0225]在一些實(shí)施例中,本地裝置每次處理一個(gè)規(guī)則,并以用戶指定的順序處理。
[0226]例如,本地裝置進(jìn)行操作718,以在一個(gè)有序的集合中選擇另一條規(guī)則,但這只是在執(zhí)行操作714和/或716以處理之前的規(guī)則之后。同時(shí),如果執(zhí)行規(guī)則改變了一個(gè)裝置的狀態(tài),有序的集合中下一條規(guī)則是根據(jù)裝置的新的狀態(tài)來處理。這樣的規(guī)則處理確保從一個(gè)接口裝置得到的每個(gè)更新的狀態(tài)/測(cè)量只有一個(gè)預(yù)期的行為。
[0227]基于云的實(shí)施
[0228]在一些實(shí)施例中,控制器存在和運(yùn)行在一個(gè)服務(wù)器集群(例如,“云”)中。該控制器可以為多個(gè)不同的用戶監(jiān)測(cè)和控制接口裝置,這通過在廣域網(wǎng)上,如互聯(lián)網(wǎng)上,使用IP數(shù)據(jù)包和每個(gè)接口裝置進(jìn)行通信得以實(shí)現(xiàn)。當(dāng)用戶第一次在自己的局域網(wǎng)中部署一個(gè)接口裝置,用戶可以把該接口裝置與他的個(gè)人賬戶在控制器上配對(duì)。例如,用戶可以在設(shè)置接口裝置時(shí)輸入自己的帳號(hào)和密碼。可供選擇的,該用戶可以在不透露他的密碼的情況下把他的接口裝置配對(duì),例如,通過在控制器上注冊(cè)他的接口裝置的獨(dú)一無二的標(biāo)識(shí)符(例如,一個(gè)MAC地址),或通過一個(gè)開放式授權(quán)的協(xié)議授權(quán)該接口裝置。
[0229]還有,如果用戶想要與控制器互動(dòng)來監(jiān)視或控制在自己的局域網(wǎng)內(nèi)的一個(gè)或一個(gè)以上裝置,用戶可以通過一個(gè)互聯(lián)網(wǎng)(Web)瀏覽器訪問該控制器的一個(gè)用戶界面,或使用與控制器的Web應(yīng)用程序接口(Web APIs)相接的應(yīng)用程序(例如,使用一個(gè)智能手機(jī)或平板電腦計(jì)算機(jī)上的移動(dòng)應(yīng)用,或使用一個(gè)人電腦上的應(yīng)用程序軟件)。
[0230]圖8示出了一示例性的計(jì)算機(jī)系統(tǒng)800,其用于把一個(gè)服務(wù)器集群內(nèi)的一個(gè)控制器802和一個(gè)局域網(wǎng)內(nèi)的裝置808相接合。計(jì)算機(jī)系統(tǒng)800包括連接到廣域網(wǎng)804的控制器802。計(jì)算機(jī)系統(tǒng)800還包括局域網(wǎng)808內(nèi)的一個(gè)接口裝置810和計(jì)算設(shè)備812,并包括一個(gè)把局域網(wǎng)808和廣域網(wǎng)804分開的路由器/防火墻806。
[0231 ] 在操作過程中,在局域網(wǎng)808內(nèi)的裝置可以建立一個(gè)到控制器802的網(wǎng)絡(luò)連接,或到一個(gè)或一個(gè)以上在局域網(wǎng)808內(nèi)的對(duì)等裝置的網(wǎng)絡(luò)連接。例如,控制器802可以在一個(gè)數(shù)據(jù)庫(kù)中存儲(chǔ)每個(gè)裝置的網(wǎng)絡(luò)地址信息,并保持最新狀態(tài)的網(wǎng)絡(luò)地址信息,以方便與這些裝置進(jìn)行通信。這允許用戶使用個(gè)人計(jì)算機(jī)(例如,計(jì)算裝置812)來重新設(shè)置局域網(wǎng)808中一個(gè)或一個(gè)以上的接口裝置,和/或接口裝置的一個(gè)或一個(gè)以上規(guī)則。用戶的個(gè)人電腦可以包括應(yīng)用軟件,其提供了一個(gè)用戶界面,用于監(jiān)測(cè)和/或配置裝置接口網(wǎng)絡(luò),并向控制器802上傳任何配置。用戶的個(gè)人電腦也可以有一個(gè)互聯(lián)網(wǎng)瀏覽器,訪問控制器802的用戶界面。
[0232]當(dāng)用戶向裝置接口網(wǎng)絡(luò)輸入并傳達(dá)配置的更改時(shí),對(duì)于一個(gè)或一個(gè)以上配置需要更新的裝置,控制器802把用戶的配置編制成為這些特定裝置的配置,并將更新的配置通過與這些接口裝置相應(yīng)的網(wǎng)絡(luò)連接相關(guān)聯(lián)的網(wǎng)絡(luò)地址信息發(fā)送至這些接口裝置。該特定裝置的配置可以包括接口裝置的網(wǎng)絡(luò)配置、規(guī)則配置、針對(duì)一個(gè)或一個(gè)以上對(duì)等裝置的網(wǎng)絡(luò)地址信息(例如,用于訂閱數(shù)據(jù),作為一個(gè)或一個(gè)以上規(guī)則的輸入信息)等的更新。
[0233]此外,在一些實(shí)施例中,在局域網(wǎng)808內(nèi)的每個(gè)裝置還可以和任何被它訂閱了數(shù)據(jù),和/或任何訂閱了它的數(shù)據(jù)的裝置建立網(wǎng)絡(luò)連接。該裝置可以作為一個(gè)服務(wù)器接收和響應(yīng)從對(duì)等裝置(或從控制器802)來的數(shù)據(jù)請(qǐng)求。該裝置還可以作為一個(gè)客戶端裝置,它能從一個(gè)遠(yuǎn)程裝置那里接收主動(dòng)提供的數(shù)據(jù)(或?qū)?shù)據(jù)的請(qǐng)求),并能使用與到該遠(yuǎn)程裝置的網(wǎng)絡(luò)連接相關(guān)聯(lián)的網(wǎng)絡(luò)地址信息來把實(shí)時(shí)數(shù)據(jù)推送到該遠(yuǎn)程裝置。因此,即使局域網(wǎng)808與廣域網(wǎng)804斷開(因此,也和控制器802斷開),在局域網(wǎng)808內(nèi)的裝置可以彼此繼續(xù)使用已建立的點(diǎn)對(duì)點(diǎn)連接進(jìn)行通信,并行使服務(wù)器和客戶端的功能。
[0234]在操作過程中,控制器802可以從裝置810和裝置812分別通過一個(gè)端口隧道信道814.1或814.2接收IP數(shù)據(jù)包。在一些實(shí)施例中,端口隧道信道814可以包括通過長(zhǎng)輪詢請(qǐng)求,暫時(shí)在路由器/防火墻806上打開一個(gè)端口所創(chuàng)建的網(wǎng)絡(luò)連接(例如,通過如STUN(Session Traversal Utilities for NAT), Comet等協(xié)議創(chuàng)建的網(wǎng)絡(luò)連接)。這些長(zhǎng)輪詢請(qǐng)求暫時(shí)在路由器/防火墻806上打開一個(gè)端口,它可以由控制器802使用,發(fā)出一響應(yīng)數(shù)據(jù)包。
[0235]例如,在一些實(shí)施例中,控制器802需要發(fā)送未經(jīng)請(qǐng)求的數(shù)據(jù)至接口裝置810 (例如,實(shí)時(shí)數(shù)據(jù)或裝置810的配置),或發(fā)送未經(jīng)請(qǐng)求的數(shù)據(jù)到計(jì)算裝置812(例如,實(shí)時(shí)數(shù)據(jù))。通過定期和控制器802傳遞一個(gè)長(zhǎng)輪詢消息/要求(例如,當(dāng)用Comet時(shí),一個(gè)XHR消息,或在用STUN時(shí)一個(gè)STUN消息),局域網(wǎng)808內(nèi)的裝置可以和控制器802保持一個(gè)持續(xù)不斷的網(wǎng)絡(luò)連接。該消息指明該裝置的一個(gè)獨(dú)一無二的標(biāo)識(shí)符(例如,一個(gè)MAC地址),控制器802用它來在一個(gè)裝置接入存儲(chǔ)庫(kù)中存儲(chǔ)該裝置的最新的通信端口。
[0236]在其他一些實(shí)施例中,端口隧道信道814可以包括持續(xù)的雙向網(wǎng)絡(luò)連接,例如用WebSocket協(xié)議建立的一個(gè)信道。為了建立WebSocket信道,在局域網(wǎng)808內(nèi)的裝置向控制器802發(fā)送一個(gè)WebSocket握手請(qǐng)求,這把一個(gè)HTTP會(huì)話升級(jí)成一個(gè)WebSocket會(huì)話,握手請(qǐng)求可包括一個(gè)Sec-WebSocket-Key令牌。控制器802發(fā)送一個(gè)響應(yīng)到該裝置來回應(yīng),該響應(yīng)承認(rèn)該WebSocket會(huì)話,并且包括是來源于Sec-WebSocket-Key令牌的Sec-WebSocket-Accept 令牌。
[0237]之前提到過,與接口裝置網(wǎng)絡(luò)相關(guān)的每個(gè)裝置(例如,控制器802,裝置810,或裝置812)包括一個(gè)裝置接入存儲(chǔ)庫(kù),它包括網(wǎng)絡(luò)中的每一計(jì)算設(shè)備或接口裝置的裝置接入信息。在一些實(shí)施例中,該裝置接入存儲(chǔ)庫(kù)把一個(gè)裝置的獨(dú)一無二的標(biāo)識(shí)符與以下一個(gè)或更多信息建立關(guān)聯(lián):在路由器/防火墻806上的與該裝置相關(guān)的端口號(hào),為了抵達(dá)路由器/防火墻806的IP地址(例如,一個(gè)廣域網(wǎng)IP地址),和在局域網(wǎng)808內(nèi)為了抵達(dá)該裝置所用的IP地址。例如,當(dāng)控制器802需要發(fā)送一個(gè)數(shù)據(jù)包到裝置810或裝置812時(shí),控制器802可以從裝置接入存儲(chǔ)庫(kù)那里確定為抵達(dá)該裝置所必要的IP地址和一個(gè)近期的端口號(hào)。然后,控制器802可以通過路由器/防火墻806的近期的端口號(hào)向該IP地址發(fā)送數(shù)據(jù)包。
[0238]通過點(diǎn)對(duì)點(diǎn)網(wǎng)絡(luò)連接進(jìn)行實(shí)時(shí)數(shù)據(jù)通信
[0239]在一些實(shí)施例中,通過從裝置接入存儲(chǔ)庫(kù)中獲取對(duì)等裝置的裝置接入信息,一個(gè)在局域網(wǎng)808內(nèi)的接口裝置可以和對(duì)等裝置之間進(jìn)行實(shí)時(shí)數(shù)據(jù)通信。裝置接入信息可以指明一個(gè)與到目標(biāo)對(duì)等裝置的網(wǎng)絡(luò)連接相關(guān)聯(lián)的網(wǎng)絡(luò)地址,并可以指明本地接口裝置的授權(quán)信息(例如,用戶名,密碼,和/或證書)。如果到對(duì)等裝置的網(wǎng)絡(luò)連接處于工作狀態(tài),本地接口裝置可以通過網(wǎng)絡(luò)連接,并使用任何所需的授權(quán)信息,將數(shù)據(jù)發(fā)送到對(duì)等裝置。
[0240]如果到對(duì)等裝置的網(wǎng)絡(luò)連接不在工作狀態(tài),本地接口裝置可以建立點(diǎn)對(duì)點(diǎn)網(wǎng)絡(luò)連接,這可以例如通過從一個(gè)中央控制器獲取該對(duì)等裝置的裝置接入信息而實(shí)現(xiàn)。此點(diǎn)對(duì)點(diǎn)網(wǎng)絡(luò)連接提供對(duì)等裝置之間的可靠的通信,因?yàn)樗恍枰b置通過廣域網(wǎng)804通信,也不需要一個(gè)中央轉(zhuǎn)發(fā)服務(wù)(例如,控制器802)維持或完成對(duì)等接口裝置之間的網(wǎng)絡(luò)連接。[0241]通過轉(zhuǎn)發(fā)服務(wù)進(jìn)行實(shí)時(shí)數(shù)據(jù)通信
[0242]在一些實(shí)施例中,一個(gè)在局域網(wǎng)808內(nèi)的接口裝置可能無法建立一點(diǎn)對(duì)點(diǎn)網(wǎng)絡(luò)連接,例如,當(dāng)兩個(gè)對(duì)等裝置存在于不同的網(wǎng)絡(luò)域中時(shí)。在這種情況下,本地接口裝置可以通過使用一個(gè)轉(zhuǎn)發(fā)服務(wù)和對(duì)等裝置進(jìn)行實(shí)時(shí)數(shù)據(jù)通信,該轉(zhuǎn)發(fā)服務(wù)可以由控制器802提供,也可以由一個(gè)與控制器802分離的服務(wù)器(未顯示)提供。
[0243]裝置接入信息可以指明一個(gè)與轉(zhuǎn)發(fā)服務(wù)的網(wǎng)絡(luò)連接相關(guān)聯(lián)的網(wǎng)絡(luò)地址,一個(gè)對(duì)等裝置的獨(dú)一無二的識(shí)別碼,以及本地接口裝置的授權(quán)信息(例如,用戶名,密碼,和/或證書)。例如,如果本地裝置沒有到對(duì)等裝置的網(wǎng)絡(luò)連接,本地接口裝置可以通過轉(zhuǎn)發(fā)服務(wù),并使用所需的任何授權(quán)信息,將數(shù)據(jù)發(fā)送到對(duì)等裝置。這允許兩個(gè)對(duì)等裝置相互間進(jìn)行實(shí)時(shí)數(shù)據(jù)的通信,即使兩個(gè)裝置不在同一網(wǎng)絡(luò)域內(nèi)。
[0244]作為另一個(gè)例子,通過到轉(zhuǎn)發(fā)服務(wù)的網(wǎng)絡(luò)連接,本地接口裝置可以從多個(gè)對(duì)等裝置接收實(shí)時(shí)數(shù)據(jù)。該轉(zhuǎn)發(fā)服務(wù)可以保持到每個(gè)接口裝置的網(wǎng)絡(luò)連接,并可以使用到相應(yīng)的接口裝置的網(wǎng)絡(luò)連接,向該接口裝置發(fā)送該裝置已訂閱的從任何其他對(duì)等裝置處來的實(shí)時(shí)數(shù)據(jù)。這允許接口裝置從多個(gè)對(duì)等裝置接收實(shí)時(shí)數(shù)據(jù),而不用保持到每個(gè)對(duì)等裝置的網(wǎng)絡(luò)連接。
[0245]在一些實(shí)施例中,用戶的個(gè)人計(jì)算設(shè)備可以直接與接口裝置通信,或如果沒有直接的網(wǎng)絡(luò)連接,通過一個(gè)數(shù)據(jù)轉(zhuǎn)發(fā)服務(wù)與接口裝置通信。當(dāng)用戶打開該計(jì)算設(shè)備(或啟動(dòng)一個(gè)裝置監(jiān)測(cè)應(yīng)用),該計(jì)算設(shè)備可以使用它為了以前的網(wǎng)絡(luò)配置的快照所存儲(chǔ)的一個(gè)網(wǎng)絡(luò)地址信息與其它裝置進(jìn)行通信。如果本地沒有該網(wǎng)絡(luò)地址信息,用戶的計(jì)算設(shè)備也可以從中央控制器得到該網(wǎng)絡(luò)地址信息。
[0246]圖9是一個(gè)流程圖,示出了一根據(jù)本發(fā)明的一個(gè)實(shí)施例的示例性方法900,其用于建立到一個(gè)遠(yuǎn)程裝置的網(wǎng)絡(luò)連接,該連接基于從一個(gè)該遠(yuǎn)程裝置的中央控制器接收到的網(wǎng)絡(luò)地址信息。如上所述,該網(wǎng)絡(luò)連接可以包括一個(gè)雙向信道,其用WebSocket協(xié)議,STUN協(xié)議,Comet協(xié)議,或任何其他的現(xiàn)在已知的或以后開發(fā)的通信協(xié)議建立與保持。
[0247]在操作過程中,用戶的計(jì)算設(shè)備確定一個(gè)需要與它建立通信的遠(yuǎn)程裝置(操作902),并確定計(jì)算設(shè)備是否具有該遠(yuǎn)程接口裝置的網(wǎng)絡(luò)地址信息(操作904)。用戶與用戶接口互動(dòng),以對(duì)接口裝置進(jìn)行監(jiān)測(cè),設(shè)置,和/或控制;作為響應(yīng),該計(jì)算設(shè)備可確定它需要建立一個(gè)到該遠(yuǎn)程裝置的網(wǎng)絡(luò)連接。該計(jì)算設(shè)備可確定它是否具有遠(yuǎn)程裝置的網(wǎng)絡(luò)地址信息,例如,這可以通過在裝置接入存儲(chǔ)庫(kù)中搜索相應(yīng)的條目得以實(shí)現(xiàn)。
[0248]如果是這樣的話,該計(jì)算設(shè)備基于該網(wǎng)絡(luò)地址信息建立和遠(yuǎn)程裝置的網(wǎng)絡(luò)連接(操作908),如點(diǎn)對(duì)點(diǎn)網(wǎng)絡(luò)連接,或通過數(shù)據(jù)轉(zhuǎn)發(fā)服務(wù)的網(wǎng)絡(luò)連接。
[0249]但是,如果計(jì)算設(shè)備沒有該網(wǎng)絡(luò)地址信息,計(jì)算設(shè)備從控制器(例如,圖8中的控制器802)獲取該遠(yuǎn)程裝置的網(wǎng)絡(luò)地址信息(操作906)。然后,該計(jì)算設(shè)備推進(jìn)到操作908,以基于網(wǎng)絡(luò)地址信息與遠(yuǎn)程裝置建立通信。
[0250]圖10是一個(gè)流程圖,示出了一根據(jù)本發(fā)明的一個(gè)實(shí)施例的示例性方法1000,其用于建立一個(gè)與一個(gè)遠(yuǎn)程裝置的網(wǎng)絡(luò)連接,該連接基于被存儲(chǔ)的該遠(yuǎn)程裝置的網(wǎng)絡(luò)地址信息。在操作過程中,用戶的計(jì)算設(shè)備確定一遠(yuǎn)程裝置的網(wǎng)絡(luò)地址信息(操作1002),并基于網(wǎng)絡(luò)地址信息測(cè)試與該遠(yuǎn)程裝置的點(diǎn)對(duì)點(diǎn)連接(操作1004)。在一些實(shí)施例中,該計(jì)算設(shè)備可以通過發(fā)送一個(gè)訪問對(duì)等裝置中的一個(gè)預(yù)定的文件的請(qǐng)求來測(cè)試該點(diǎn)對(duì)點(diǎn)連接。該文件可以包含任何預(yù)計(jì)將由目標(biāo)遠(yuǎn)程裝置存儲(chǔ)的文件,這樣一個(gè)成功的請(qǐng)求就確認(rèn)所需的接口裝置可以通過點(diǎn)對(duì)點(diǎn)連接抵達(dá)。
[0251]然后,該計(jì)算設(shè)備確定它是否已經(jīng)成功建立與遠(yuǎn)程裝置的點(diǎn)對(duì)點(diǎn)連接(操作1006)。如果是這樣,該計(jì)算設(shè)備通過已建立的點(diǎn)對(duì)點(diǎn)網(wǎng)絡(luò)連接與遠(yuǎn)程裝置通信(操作1008)。否則,計(jì)算設(shè)備可以通過一個(gè)數(shù)據(jù)轉(zhuǎn)發(fā)服務(wù)與該遠(yuǎn)程裝置建立一個(gè)通信信道(操作1010)。
[0252]裝置認(rèn)證和通信安全
[0253]在一些實(shí)施例中,為建立一個(gè)點(diǎn)對(duì)點(diǎn)的網(wǎng)絡(luò)連接,在網(wǎng)絡(luò)連接的一端的一個(gè)裝置需要被網(wǎng)絡(luò)連接的另一裝置授權(quán)或認(rèn)證。例如,兩個(gè)裝置可以通過每個(gè)裝置建立一到另一裝置的單向信道而互相通信。建立了一個(gè)單向信道的裝置可以作為通信客戶端(例如,訂閱數(shù)據(jù)的接收方),承載了數(shù)據(jù)的裝置可以作為通信服務(wù)器(例如,發(fā)出被訂閱的實(shí)時(shí)數(shù)據(jù)的發(fā)件人)。
[0254]一個(gè)單向信道可以使用STUN協(xié)議,Comet協(xié)議,XHR消息,或任何其他的現(xiàn)在已知的或以后開發(fā)的通信協(xié)議來建立和維護(hù)。然而,兩個(gè)裝置也可以建立一個(gè)持續(xù)不斷的雙向通信信道,如用WebSocket協(xié)議建立的信道,或任何其他現(xiàn)在已知的或以后開發(fā)的協(xié)議建立的雙向通信信道。
[0255]在一些實(shí)施例中,控制器可以給每個(gè)接口裝置提供每個(gè)可以從該接口裝置訂閱數(shù)據(jù)的通信客戶端的用戶名和密碼。密碼可以是一個(gè)文本值的形式,一個(gè)哈希值(hashvalue),或〃加鹽的〃哈希(salted hash)。通信客戶端可以向通信服務(wù)器提供一個(gè)用戶名和密碼,以建立一個(gè)單向的網(wǎng)絡(luò)連接,如果該用戶名和密碼匹配已知的、從控制器接收到的用戶名和密碼,通信服務(wù)器可以授權(quán)通信客戶端。這兩個(gè)裝置可以通過以下方法建立一個(gè)雙向的網(wǎng)絡(luò)連接:每個(gè)裝置向另一個(gè)裝置提供一個(gè)用戶名和密碼,并根據(jù)收到的用戶名和密碼授權(quán)該另一個(gè)裝置。
[0256]如果控制器向接口裝置(通信服務(wù)器)提供加密哈希值或加鹽的哈希作為客戶密碼,控制器還可以向接口裝置提供一用來生成哈希值,或加鹽的哈希的加密密鑰(和〃鹽〃,如果必要的話)。每個(gè)接口裝置可接收一個(gè)可以被其通信客戶使用的密鑰和〃鹽"。該控制器不向接口裝置提供相應(yīng)的用于從哈?;蚣欲}的哈希中解密密碼的解密密鑰。因此,建立網(wǎng)絡(luò)連接時(shí),接口裝置可以向通信客戶端提供加密密鑰和"鹽",這樣該客戶端不向該接口裝置公開其個(gè)人密碼。通信客戶端可以使用加密密鑰和鹽生成密碼的哈希值或加鹽的哈希,并向通信服務(wù)器提供用戶名和密碼的哈希值或加鹽的哈希,以建立一個(gè)安全的網(wǎng)絡(luò)連接。
[0257]在一些實(shí)施例中,控制器可以向每個(gè)接口裝置提供一個(gè)數(shù)字證書,其表明接口裝置所屬于的域,也可以指明接口裝置可以通信的其他域。該控制器可以作為一個(gè)證書頒發(fā)機(jī)構(gòu)(CA)簽署數(shù)字證書,或與一個(gè)第三方CA互動(dòng),以便給一個(gè)接口裝置分配一個(gè)數(shù)字證書。為建立一個(gè)單向的網(wǎng)絡(luò)連接,通信客戶端可以向通訊服務(wù)器提供它的數(shù)字證書,如果數(shù)字證書是有效的,并且如果數(shù)字證書指明了一個(gè)通信服務(wù)器所屬的域,通信服務(wù)器可以給通信客戶端授權(quán)。因此,在接口裝置網(wǎng)絡(luò),通信在屬于同一域的裝置之間發(fā)生,或是在被設(shè)置或被允許可以和其他的域內(nèi)的裝置通信的裝置之間發(fā)生。這兩個(gè)裝置可以通過每個(gè)裝置向另一裝置提供一個(gè)數(shù)字證書,并基于所接收的數(shù)字證書認(rèn)證另一裝置來建立一個(gè)雙向的網(wǎng)絡(luò)連接。
[0258]兩個(gè)接口裝置也可以在持續(xù)不斷的信道上使用加密的數(shù)據(jù)通信。例如,數(shù)字證書還可包括通信客戶端的一個(gè)公鑰,便于接口裝置通過安全的信道進(jìn)行通信。通信服務(wù)器可以使用公共密鑰把要通過網(wǎng)絡(luò)連接發(fā)送的數(shù)據(jù)加密,并且,通信的客戶端可以使用相應(yīng)的私鑰解密它從通信服務(wù)器接收的數(shù)據(jù)。可供選擇的,這兩個(gè)裝置可以使用Kerberos協(xié)議來使它們的數(shù)據(jù)安全,或通過一加密連接傳送數(shù)據(jù),例如使用安全套接協(xié)議層(SecureSocket Layer, or “SSL”)協(xié)議或傳輸層安全(Transport Layer Security, or “TLS”)協(xié)議。
[0259]負(fù)載均衡
[0260]圖11示出了根據(jù)本發(fā)明的一個(gè)實(shí)施例的一個(gè)示例性的接口裝置網(wǎng)絡(luò)的分布式系統(tǒng)1100,其包括一個(gè)部署在計(jì)算機(jī)集群1102上的控制器。計(jì)算機(jī)集群1102可以包括多個(gè)計(jì)算節(jié)點(diǎn)1102.1-1102.k,它們可以在一個(gè)單一的位置,通過一本地網(wǎng)絡(luò)互相連接,或者可以被部署在多個(gè)地理位置上,并通過廣域網(wǎng)1104連接。
[0261]在一些實(shí)施例中,一個(gè)系統(tǒng)管理員可以在不同的地理位置部署一組計(jì)算節(jié)點(diǎn),并可以在不同的地理位置部署冗余數(shù)據(jù)庫(kù)。此外,由于在分布式系統(tǒng)1100上的冗余數(shù)據(jù)庫(kù)是同步的,計(jì)算機(jī)集群的1102的多個(gè)計(jì)算節(jié)點(diǎn)作為一個(gè)單一的計(jì)算實(shí)體工作。
[0262]當(dāng)接口裝置在分布式系統(tǒng)1100中被添加或刪除時(shí),管理員可以調(diào)整分布式系統(tǒng)1100在不同的地理位置提供的計(jì)算能力,以滿足這些地理位置的計(jì)算需求。例如,當(dāng)接口裝置在一個(gè)給定的地理位置被添加或刪除時(shí),管理員可以在該地理位置添加或刪除計(jì)算節(jié)點(diǎn)。同時(shí),當(dāng)中央控制器的使用隨著時(shí)間的推移而波動(dòng),計(jì)算機(jī)集群1102可以把在計(jì)算裝置1102.1-1102.k上的負(fù)載進(jìn)行負(fù)載平衡,從而增加每個(gè)計(jì)算節(jié)點(diǎn)的響應(yīng)性,同時(shí)也增加了計(jì)算機(jī)集群1102作為一個(gè)整體的反應(yīng)性。
[0263]典型應(yīng)用:調(diào)光器
[0264]在一些實(shí)施例中,系統(tǒng)架構(gòu)1100還可以包括一個(gè)調(diào)光器1114和燈具1118。調(diào)光器1114可以和燈具1118在同一個(gè)房間里,或可以通過廣域網(wǎng)1104和/或局域網(wǎng)1110從遠(yuǎn)程位置控制燈具1118。例如,燈具1118可以連接到調(diào)光器1114,調(diào)光器1114可以包括一個(gè)功率調(diào)節(jié)器用來控制提供給燈具1118的功率??晒┻x擇的,燈具1118也可連接到電源插座1116上,其包括一個(gè)功率調(diào)節(jié)器用來控制提供給燈具1118的功率,并且調(diào)光器1114可以通過局域網(wǎng)1110將命令發(fā)送到電源插座1116。
[0265]在另一些實(shí)施例中,調(diào)光器1114可以在一個(gè)與燈具1118不同的房間中,并能通過計(jì)算機(jī)網(wǎng)絡(luò)發(fā)送命令到電源插座1116,以控制燈具1118的亮度水平。例如,燈具1118可以包括一個(gè)舞臺(tái)燈,調(diào)光器1114可以安裝在一個(gè)球場(chǎng)座位后面的音響及燈光控制室中。在控制室里的一個(gè)照明技術(shù)員可以和調(diào)光器1114互動(dòng),來控制一個(gè)或一個(gè)以上燈具,在這時(shí),調(diào)光器1114可以生成裝置控制事件,并將其通過局域網(wǎng)1110發(fā)送至一個(gè)或一個(gè)以上燈具。
[0266]作為另一個(gè)例子,一個(gè)安全機(jī)構(gòu)可以在一個(gè)銀行的關(guān)鍵的位置(例如,在銀行金庫(kù))安裝多個(gè)燈具,這樣它們可以通過調(diào)光器1114在安全機(jī)構(gòu)總部被遠(yuǎn)程控制。如果一個(gè)安全代理人想要來考察銀行的營(yíng)業(yè)場(chǎng)所,安全代理人可以和調(diào)光器1114互動(dòng),這時(shí),調(diào)光器1114可以生成裝置控制事件,并通過廣域網(wǎng)1104把它們發(fā)送到一個(gè)或一個(gè)以上燈具。
[0267]如前所述,在一些實(shí)施例中,調(diào)光器1114可以保持和每個(gè)目標(biāo)燈具(例如,燈具1118)的點(diǎn)對(duì)點(diǎn)網(wǎng)絡(luò)連接,并可通過各自的網(wǎng)絡(luò)連接向這些燈具發(fā)送裝置控制事件。調(diào)光器1114和多個(gè)燈具(例如,燈具1118)可以通過廣域網(wǎng)1104保持與一個(gè)轉(zhuǎn)發(fā)服務(wù)(例如,一個(gè)通過計(jì)算機(jī)集群1102提供的轉(zhuǎn)發(fā)服務(wù))的網(wǎng)絡(luò)連接。同時(shí),調(diào)光器1114可以通過網(wǎng)絡(luò)連接向轉(zhuǎn)發(fā)服務(wù)提供裝置控制事件,并可以指明哪些燈具將收到控制裝置事件。這時(shí),通過轉(zhuǎn)發(fā)服務(wù)和指定的燈具之間的網(wǎng)絡(luò)連接(例如,通過廣域網(wǎng)1104和局域網(wǎng)1110),轉(zhuǎn)發(fā)服務(wù)能夠?qū)⒀b置控制事件發(fā)給指定燈具。
[0268]在一些實(shí)施例中,一個(gè)接口裝置網(wǎng)絡(luò)中的裝置可以保持一個(gè)它執(zhí)行過的事件的日志。當(dāng)調(diào)光器1114通過觸摸屏接口接收到一個(gè)用戶接口事件時(shí),調(diào)光器114可把該用戶接口事件存儲(chǔ)到日志中。調(diào)光器也可以處理用戶接口事件(例如,手指掃動(dòng))來確定要執(zhí)行的操作,并生成基于用戶接口事件的裝置控制事件。如果用戶在觸摸屏接口做一個(gè)向下的掃動(dòng),調(diào)光器1114可以確定用戶是想要減少相應(yīng)的燈具1118的照明水平,并能基于向下的手指掃動(dòng)的速度和/或距離確定一個(gè)目標(biāo)照明水平。調(diào)光器1114也可以在事件日志中記錄該裝置控制事件。
[0269]如果調(diào)光器1114被設(shè)置為直接控制燈具1118 (例如,通過一個(gè)內(nèi)置的、其輸出被電連接到燈具1118的功率調(diào)節(jié)器),調(diào)光器1114可基于裝置控制事件調(diào)整提供給燈具1118的功率水平。同時(shí),調(diào)光器1114可以監(jiān)測(cè)功率水平被調(diào)整后燈具1118消耗的功率量,并可以創(chuàng)建一個(gè)事件日志條目,以記錄檢測(cè)到的功率水平。
[0270]另一方面,如果調(diào)光器1114被配置為控制插座1116,調(diào)光器1114可以向插座1116發(fā)送裝置控制事件。然后,當(dāng)插座1116接收到裝置控制事件時(shí),插座1116可以在事件日志中存儲(chǔ)接收到的用戶控制事件,并基于裝置控制事件調(diào)整提供給燈具1118的功率水平。調(diào)光器1114還可以監(jiān)測(cè)燈具1118在調(diào)整功率水平后消耗的功率量,并可在事件日志中記錄檢測(cè)到的功率水平。
[0271]控制器和/或用戶可以比較在一個(gè)通信鏈中從各個(gè)對(duì)等裝置來的日志條目,用來排除事件沖突。例如,一個(gè)用戶1106可能為調(diào)光器1114生成了一個(gè)規(guī)則,在一內(nèi)置的運(yùn)動(dòng)傳感器檢測(cè)到運(yùn)動(dòng)時(shí),該規(guī)則設(shè)置調(diào)光器1114,以增加燈具1118的亮度到預(yù)定的水平。因此,如果一個(gè)用戶與調(diào)光器1114的觸摸屏接口互動(dòng),以關(guān)閉燈具1118或使其變暗,調(diào)光器1114將通過觸摸屏接口檢測(cè)到用戶控制事件,也可以通過內(nèi)置的運(yùn)動(dòng)傳感器檢測(cè)到運(yùn)動(dòng)感測(cè)事件。這些事件可能會(huì)導(dǎo)致調(diào)光器1114在執(zhí)行用戶使變暗或關(guān)閉燈具1118的命令后不久打開燈具1118,這可能是一個(gè)不想要的后果。
[0272]如前所述,當(dāng)一個(gè)接口裝置包括一個(gè)或一個(gè)以上產(chǎn)生沖突的事件的規(guī)則時(shí),該接口裝置可以以一個(gè)預(yù)定的順序處理規(guī)則,這樣最后執(zhí)行的規(guī)則將產(chǎn)生最終的結(jié)果。因此,如果用戶創(chuàng)建了一個(gè)序列的規(guī)則,其不能以一個(gè)想要的方式解決沖突,用戶可以通過分析一個(gè)或更多的接口裝置的事件日志,以確定新的一序列的規(guī)則,以解決沖突。
[0273]例如,用戶可以通過分析調(diào)光器1114的事件日志,確定調(diào)光器1114在處理與觸摸屏接口相關(guān)聯(lián)的一個(gè)規(guī)則(關(guān)閉燈具1118或使其變暗)之后處理了一個(gè)和運(yùn)動(dòng)傳感器關(guān)聯(lián)的規(guī)則(打開燈具1118)。用戶可以使調(diào)光器1114在處理和運(yùn)動(dòng)傳感器關(guān)聯(lián)的規(guī)則之后處理與觸摸屏接口相關(guān)聯(lián)的規(guī)則,從而改正上述問題。
[0274]作為另一個(gè)例子,通過分析事件日志,用戶可以確定,在調(diào)光器1114處理用戶的觸摸屏事件以關(guān)閉燈具1118或使其變暗之后,調(diào)光器1114檢測(cè)到一個(gè)關(guān)于用戶移動(dòng)他的手使其離開觸摸屏接口的運(yùn)動(dòng)感測(cè)事件。用戶可以通過設(shè)置調(diào)光器1114,在一個(gè)預(yù)定的時(shí)間段內(nèi),或直到運(yùn)動(dòng)傳感器在一個(gè)預(yù)定的時(shí)間段內(nèi)沒有檢測(cè)到運(yùn)動(dòng),禁用與運(yùn)動(dòng)傳感器相關(guān)的規(guī)則。
[0275]在一些實(shí)施例中,一個(gè)裝置的日志可以存儲(chǔ)多個(gè)歷史記錄條目,這樣的存儲(chǔ)操作可以是為一個(gè)確定的時(shí)間段(例如,過去的一周的日志條目)做出,并且/或者該歷史記錄有一個(gè)確定的數(shù)量限制(例如,最多1000個(gè)日志條目),或有一個(gè)確定文件的大小的限制(例如,最大為5MB)。
[0276]設(shè)置裝置接口網(wǎng)絡(luò)
[0277]如前所述,一個(gè)或一個(gè)以上計(jì)算設(shè)備可以與控制器互動(dòng)來管理和設(shè)置接口裝置網(wǎng)絡(luò)。例如,用戶可以與一個(gè)個(gè)人計(jì)算設(shè)備互動(dòng),以設(shè)置并供應(yīng)一個(gè)新的接口裝置網(wǎng)絡(luò)上的接口裝置,和/或部署一個(gè)或一個(gè)以上規(guī)則到該接口裝置上。當(dāng)用戶提交該裝置的配置,控制器可以把該新的裝置增加到網(wǎng)絡(luò)上,并能在新的裝置和其他的它所需要與之進(jìn)行實(shí)時(shí)數(shù)據(jù)交換的裝置之間建立網(wǎng)絡(luò)連接。
[0278]然而,在一些實(shí)施例中,存在在不同的網(wǎng)絡(luò)域上的對(duì)等裝置可能無法建立點(diǎn)對(duì)點(diǎn)連接。因此,為建立對(duì)等裝置之間的網(wǎng)絡(luò)連接,控制器可以設(shè)置對(duì)等裝置,使其通過一個(gè)轉(zhuǎn)發(fā)服務(wù)相互通信。轉(zhuǎn)發(fā)服務(wù)可以做成控制器的一部分,也可以是一個(gè)獨(dú)立的、網(wǎng)絡(luò)上的對(duì)等裝置可使用的網(wǎng)絡(luò)服務(wù)。
[0279]在一些實(shí)施例中,該接口裝置網(wǎng)絡(luò)最多包含一個(gè)控制器,其設(shè)置接口裝置,使其在網(wǎng)絡(luò)內(nèi)操作。例如,計(jì)算機(jī)集群1102可用于實(shí)現(xiàn)一個(gè)接口裝置網(wǎng)絡(luò)1100的控制器。如果一個(gè)用戶需要使用一個(gè)網(wǎng)絡(luò)設(shè)備(例如,連接到廣域網(wǎng)1104的筆記本電腦1108,或局域網(wǎng)1110上的智能手機(jī)1112)重新設(shè)置網(wǎng)絡(luò)結(jié)構(gòu),該網(wǎng)絡(luò)設(shè)備需要通過主控制器進(jìn)行該網(wǎng)絡(luò)重設(shè)置。
[0280]如果另一個(gè)用戶也和控制器互動(dòng)以設(shè)置網(wǎng)絡(luò),該控制器可以把由第一用戶做出的更改推送至第二用戶的電腦,以防止兩個(gè)用戶對(duì)網(wǎng)絡(luò)配置做出多余的或沖突的更改。同時(shí),當(dāng)一個(gè)用戶提交了他的網(wǎng)絡(luò)配置的更改,控制器可以為每個(gè)受影響的接口裝置編制一個(gè)配置文件,并可以為每個(gè)被更改的接口裝置下載該配置文件。
[0281]注意,如果與集中控制器的連接斷開(例如,控制器脫機(jī),或一個(gè)局域網(wǎng)失去了到互聯(lián)網(wǎng)的連接),接口裝置可以繼續(xù)處理規(guī)則,并通過點(diǎn)對(duì)點(diǎn)網(wǎng)絡(luò)連接進(jìn)行通信。然而,考慮到主控制器不可用,無法向新的接口裝置提供供應(yīng),編制和發(fā)布新的或更新的規(guī)則,或重新設(shè)置對(duì)等接口裝置之間的網(wǎng)絡(luò)連接,網(wǎng)絡(luò)裝置可能無法重新設(shè)置網(wǎng)絡(luò)配置。
[0282]在一些實(shí)施例中,該接口裝置網(wǎng)絡(luò)可以包括超過一個(gè)集中控制器。例如,該網(wǎng)絡(luò)可以包括一個(gè)用于對(duì)網(wǎng)絡(luò)進(jìn)行任何重新設(shè)置的主控制器,并可包括一個(gè)或更多個(gè)二次或備份控制器,其可用于在主控制器變得不可用的情況下重新設(shè)置網(wǎng)絡(luò)的至少一部分。
[0283]圖12A示出了一個(gè)根據(jù)本發(fā)明一個(gè)實(shí)施例的示范性的系統(tǒng)架構(gòu)1200,其包括一個(gè)主控制器1204和一個(gè)或更多個(gè)帶有數(shù)據(jù)庫(kù)鏡像的局域網(wǎng)控制器。例如,主控制器1204可以包括或被連接到一個(gè)數(shù)據(jù)庫(kù)1206上,該數(shù)據(jù)庫(kù)存儲(chǔ)多個(gè)接口裝置(例如,在局域網(wǎng)1208和1216中的接口裝置)的配置信息和歷史數(shù)據(jù)。局域網(wǎng)1208可以包括一個(gè)連接到一個(gè)數(shù)據(jù)庫(kù)1212的本地控制器1210,該數(shù)據(jù)庫(kù)存儲(chǔ)在局域網(wǎng)內(nèi)1208的接口裝置的配置信息和歷史數(shù)據(jù)。同時(shí),局域網(wǎng)1216可以包括一個(gè)連接到一個(gè)數(shù)據(jù)庫(kù)1220的本地控制器1218,該數(shù)據(jù)庫(kù)存儲(chǔ)在局域網(wǎng)內(nèi)1216的接口裝置的配置信息和歷史數(shù)據(jù)。
[0284]在系統(tǒng)架構(gòu)1200中,本地控制器保持他們的本地?cái)?shù)據(jù)庫(kù)與主控制器數(shù)據(jù)庫(kù)同步。數(shù)據(jù)庫(kù)1212可以為多個(gè)數(shù)據(jù)庫(kù)1206的表的條目做鏡像,這些條目與局域網(wǎng)1208中的裝置1214.1-1214.m相關(guān)。同樣地,數(shù)據(jù)庫(kù)1220可以為多個(gè)數(shù)據(jù)庫(kù)1206的表的條目做鏡像,這些條目與局域網(wǎng)1216中的裝置1222.1-1222.m相關(guān)。因此,如果系統(tǒng)架構(gòu)1200包括分布在多個(gè)域中的接口裝置(例如,分布在不同的城市),由本地控制器1210和1218在數(shù)據(jù)庫(kù)1212和1220中存儲(chǔ)的數(shù)據(jù)量與由主控制器存儲(chǔ)在數(shù)據(jù)庫(kù)1206中的數(shù)據(jù)量相比較是相當(dāng)小的。
[0285]在一些實(shí)施例中,本地控制器1210可以監(jiān)測(cè)和/或控制局域網(wǎng)1208內(nèi)多個(gè)接口裝置。另外,管理員可以與本地控制器1210互動(dòng),重新設(shè)置一組規(guī)則以被在局域網(wǎng)1210內(nèi)的接口裝置1214執(zhí)行,控制器1210可以基于新的規(guī)則組重新設(shè)置裝置1214。然而,在一些實(shí)施例中,本地控制器1210不能向新裝置提供供應(yīng)以把它們添加到接口裝置網(wǎng)絡(luò),和/或不能從該網(wǎng)絡(luò)刪除裝置。系統(tǒng)管理員可以通過與主控制器1204互動(dòng)以向一個(gè)新的接口裝置提供供應(yīng),以把它們添加到網(wǎng)絡(luò)。主控制器1204可以為該新裝置分配一個(gè)數(shù)字證書,設(shè)置該新裝置以建立與其他對(duì)等裝置的網(wǎng)絡(luò)連接(例如,用來發(fā)送或接收已訂閱的數(shù)據(jù)),并可以設(shè)置新裝置使其處理一組規(guī)則。
[0286]如果控制器1210的數(shù)據(jù)庫(kù)的版本已過時(shí)(例如,當(dāng)數(shù)據(jù)庫(kù)1212與數(shù)據(jù)庫(kù)1206中與局域網(wǎng)1208所相關(guān)的一部分不同步了),控制器1210將不能重新設(shè)置一現(xiàn)有的接口裝置。這一要求防止控制器1210逆轉(zhuǎn)以前由主控制器1204或任何保持更新的控制器(例如,控制器1218)做出的設(shè)置。例如,如果本地控制器1210離線,并且控制器1204重新設(shè)置一個(gè)或一個(gè)以上接口裝置1214.1-1214.m,在數(shù)據(jù)庫(kù)1212中的配置數(shù)據(jù)可以成為過期的。又例如,如果本地控制器1210失去和中心控制器1204的通信,并且本地控制器1210重新設(shè)置一個(gè)或一個(gè)以上接口裝置1214.1-1214.m,在數(shù)據(jù)庫(kù)1206中的配置數(shù)據(jù)可以成為過期的。
[0287]每個(gè)接口裝置可以存儲(chǔ)一個(gè)配置版本號(hào)(例如,一個(gè)嚴(yán)格遞增的數(shù)或時(shí)間戳),其指明該裝置配置的一個(gè)本地獨(dú)一無二的標(biāo)識(shí)符。同時(shí),每個(gè)數(shù)據(jù)庫(kù)可以為一個(gè)裝置存儲(chǔ)一個(gè)相關(guān)的新配置版本號(hào),它允許一個(gè)相應(yīng)的控制器在重新設(shè)置一個(gè)接口裝置之前判斷該數(shù)據(jù)庫(kù)是否過期。如果控制器試圖重新設(shè)置現(xiàn)有的接口裝置,該控制器可以先確定相應(yīng)的數(shù)據(jù)庫(kù)對(duì)于被設(shè)置的接口裝置來說是否過期。
[0288]如果控制器確定其對(duì)應(yīng)于一個(gè)接口裝置的最新配置版本號(hào)與接口裝置的配置版本號(hào)相匹配,控制器可以進(jìn)行對(duì)接口裝置的重新設(shè)置。然而,如果控制器確定其最新的配置版本號(hào)與接口裝置的配置版本號(hào)不匹配(例如,其最新版本號(hào)是小于接口裝置的版本號(hào)),控制器可以執(zhí)行一個(gè)補(bǔ)救措施。補(bǔ)救措施可以包括向用戶提醒關(guān)于版本的差異,并促使用戶指定他是否想要基于過期的數(shù)據(jù)庫(kù)的舊的裝置配置來重新設(shè)置接口裝置??晒┻x擇的,補(bǔ)救措施可以包括在數(shù)據(jù)庫(kù)被更新以后的一個(gè)時(shí)間重新設(shè)置接口裝置。
[0289]可供選擇的,在某些實(shí)施例中,當(dāng)局域網(wǎng)1208與控制器1204的連接斷開(例如,局域網(wǎng)1208與廣域網(wǎng)1202的連接斷開,或控制器1204離線)時(shí),控制器1210可以成為局域網(wǎng)1208內(nèi)的接口裝置的主控制器??刂破?210可以向接口裝置提供供應(yīng)以將其添加到網(wǎng)絡(luò),或從網(wǎng)絡(luò)中刪除接口裝置。控制器1210可以在數(shù)據(jù)庫(kù)1212中跟蹤網(wǎng)絡(luò)的變化。然后,一旦控制器1210恢復(fù)和控制器1204的連接,控制器1210可以把網(wǎng)絡(luò)的變化提供給控制器1204,并且,控制器1204更新數(shù)據(jù)庫(kù)1206來反映這些網(wǎng)絡(luò)的變化。
[0290]而且,一旦控制器1204把數(shù)據(jù)庫(kù)1206與數(shù)據(jù)庫(kù)1212同步,控制器1210可以進(jìn)而放棄它作為主控制器的狀態(tài),此時(shí)控制器1204成為局域網(wǎng)1208的主控制器。如果在局域網(wǎng)1208內(nèi)的一個(gè)新的接口裝置要和局域網(wǎng)1208以外的一個(gè)裝置進(jìn)行通信,主控制器1204可以重新向該新裝置供應(yīng),使該新裝置可以與網(wǎng)絡(luò)1208外部的裝置進(jìn)行互動(dòng)。例如,主控制器1204可以向該新裝置提供一個(gè)數(shù)字證書,其在局域網(wǎng)1208以外是有效的,并可重新設(shè)置該新裝置,這樣新裝置建立與局域網(wǎng)1208以外的一個(gè)或一個(gè)以上裝置的網(wǎng)絡(luò)連接(例如,通過一個(gè)點(diǎn)對(duì)點(diǎn)信道,或是通過一個(gè)數(shù)據(jù)轉(zhuǎn)發(fā)服務(wù))。
[0291]圖12B示出了根據(jù)本發(fā)明的一個(gè)實(shí)施例的一個(gè)示例性的系統(tǒng)架構(gòu)1250,其包括一個(gè)在一局域網(wǎng)內(nèi)的局域網(wǎng)控制器,和一個(gè)在廣域網(wǎng)內(nèi)可利用的轉(zhuǎn)發(fā)服務(wù)。局域網(wǎng)1256可以包括一個(gè)主控制器1258,其可用于設(shè)置,監(jiān)測(cè),和/或控制在一本地域內(nèi),以及在一個(gè)或一個(gè)以上遠(yuǎn)程域內(nèi)的接口裝置。
[0292]具體而言,控制器1258可以安裝在局域網(wǎng)1256內(nèi),并可包括或被連接到一個(gè)存儲(chǔ)本地和遠(yuǎn)程域中的接口裝置的配置信息和歷史數(shù)據(jù)的數(shù)據(jù)庫(kù)1260上??刂破?258可以建立一個(gè)到局域網(wǎng)1256內(nèi)的裝置1262.1-1262.m的點(diǎn)對(duì)點(diǎn)網(wǎng)絡(luò)連接,并可以通過數(shù)據(jù)轉(zhuǎn)發(fā)服務(wù)1254建立到一遠(yuǎn)程域內(nèi)的一個(gè)或一個(gè)以上接口裝置(例如,局域網(wǎng)1264中的裝置1266.1-1266.η)的網(wǎng)絡(luò)連接。
[0293]例如,控制器1258可以安裝在一個(gè)組織的辦公樓內(nèi),以管理多個(gè)裝置。系統(tǒng)管理員可以與控制器1258互動(dòng),以在網(wǎng)絡(luò)中添加一個(gè)接口裝置,例如和一個(gè)運(yùn)動(dòng)傳感器相連接的mPort裝置,和一個(gè)連接到一個(gè)燈具上的mPower裝置。該系統(tǒng)還可以設(shè)置控制器1258,以便在事件日志中從多個(gè)接口裝置收集實(shí)時(shí)事件數(shù)據(jù),這允許管理員分析事件日志以保證網(wǎng)絡(luò)裝置正確運(yùn)行。
[0294]進(jìn)一步,如果組織擴(kuò)張到其他建筑,在同一個(gè)城市或在一個(gè)遠(yuǎn)程的位置,管理員可以設(shè)置控制器1258,以通過數(shù)據(jù)轉(zhuǎn)發(fā)服務(wù)1254建立與在該遠(yuǎn)程位置的裝置的網(wǎng)絡(luò)連接。這允許控制器1258設(shè)置,控制,和/或監(jiān)測(cè)在該遠(yuǎn)程位置的裝置,而無需利用一個(gè)該組織任何一個(gè)局域網(wǎng)以外的中央控制器。因此,在該組織的局域網(wǎng)內(nèi)安裝控制器1258將允許管理員控制通過接口裝置收集、并存儲(chǔ)在數(shù)據(jù)庫(kù)1260的數(shù)據(jù),同時(shí)還允許管理員在遠(yuǎn)程地區(qū)部署額外的裝置。
[0295]在一些實(shí)施例中,當(dāng)管理員不在組織的任何局域網(wǎng)中時(shí),管理員也可以與控制器1258和/或任何的接口裝置互動(dòng)。管理員可以在一個(gè)個(gè)人計(jì)算設(shè)備(例如,一個(gè)智能手機(jī)1268)上安裝一個(gè)應(yīng)用程序,該個(gè)人計(jì)算設(shè)備可接入廣域網(wǎng)1252 (例如,通過一個(gè)蜂窩網(wǎng)絡(luò)),并通過數(shù)據(jù)轉(zhuǎn)發(fā)服務(wù)1254與中央控制器1258和/或接口裝置通信??晒┻x擇的,通過數(shù)據(jù)轉(zhuǎn)發(fā)服務(wù)1254建立到控制器1258的連接,管理員可以使用一個(gè)互聯(lián)網(wǎng)瀏覽器接入由控制器1258提供的、基于互聯(lián)網(wǎng)的界面。
[0296]在一些實(shí)施例中,系統(tǒng)架構(gòu)1250可以包括一個(gè)可以通過廣域網(wǎng)1252接入的備份控制器,其包括或連接到一個(gè)數(shù)據(jù)庫(kù),該數(shù)據(jù)庫(kù)是數(shù)據(jù)庫(kù)1260的鏡像。當(dāng)主控制器1258離線時(shí),備份控制器可以暫時(shí)成為主控制器。這允許管理員與備份控制器互動(dòng)(例如,使用智能手機(jī)1268),以從接口裝置網(wǎng)絡(luò)添加或刪除裝置,和/或重新設(shè)置現(xiàn)有的接口裝置。
[0297]圖13示出了根據(jù)本發(fā)明的一個(gè)實(shí)施例的一個(gè)示例性的計(jì)算機(jī)系統(tǒng),其用于裝置的智能監(jiān)視和控制。在一個(gè)實(shí)施例中,一個(gè)計(jì)算機(jī)和通信系統(tǒng)1300包括一個(gè)處理器1302,一個(gè)內(nèi)存1304,和一個(gè)存儲(chǔ)裝置1306。存儲(chǔ)裝置1306存儲(chǔ)一個(gè)智能監(jiān)測(cè)與控制應(yīng)用1308,以及其他的應(yīng)用程序和數(shù)據(jù)(例如,額外的應(yīng)用程序1310和1312)。在操作過程中,智能監(jiān)測(cè)控制應(yīng)用1308從存儲(chǔ)裝置1306被加載到內(nèi)存1304,然后被處理器1302運(yùn)行,用來監(jiān)測(cè)來自多個(gè)接口裝置的數(shù)據(jù),設(shè)置接口裝置,和/或控制一個(gè)接口裝置的狀態(tài)。當(dāng)運(yùn)行該程序時(shí),處理器1302執(zhí)行上述功能。計(jì)算機(jī)和通信系統(tǒng)1300可以和顯示器1314,鍵盤1316,和指點(diǎn)裝置1318相連接。顯示器,鍵盤,指點(diǎn)裝置可以方便用戶進(jìn)行監(jiān)測(cè),配置,和/或控制一個(gè)或一個(gè)以上接口裝置。
[0298]本發(fā)明的一個(gè)實(shí)施例提供了一種裝置控制系統(tǒng),它設(shè)置、監(jiān)測(cè)、和控制一個(gè)或一個(gè)以上接口裝置,這樣,接口裝置可以從一個(gè)或一個(gè)以上連接著的物理裝置獲得傳感器數(shù)據(jù)并將其傳播,上述物理裝置包括用于測(cè)量物理屬性的傳感器。在操作過程中,該系統(tǒng)可以通過建立與接口裝置的網(wǎng)絡(luò)連接來設(shè)置該接口裝置,并為該接口裝置確定一個(gè)或一個(gè)以上規(guī)貝U。一個(gè)規(guī)則可以指明為執(zhí)行一個(gè)操作的一個(gè)操作描述,并指明一個(gè)條件,其指明處理規(guī)則的操作描述的標(biāo)準(zhǔn)。該系統(tǒng)可以設(shè)置接口裝置使其處理其相關(guān)聯(lián)的規(guī)則。
[0299]在這一實(shí)施例的一些變化中,系統(tǒng)設(shè)置接口裝置,將近期的傳感器數(shù)據(jù)發(fā)送給控制裝置的計(jì)算機(jī),而且,系統(tǒng)使用該數(shù)據(jù)來設(shè)置或控制一個(gè)或更多個(gè)接口裝置。當(dāng)系統(tǒng)基于一個(gè)或更多個(gè)接口裝置的近期數(shù)據(jù)確定與接口裝置相關(guān)聯(lián)的規(guī)則得到滿足,該系統(tǒng)基于規(guī)則的操作描述修改接口裝置的運(yùn)行狀態(tài)。
[0300]在這一實(shí)施例的一些變化中,系統(tǒng)設(shè)置一個(gè)或一個(gè)以上接口裝置,以便促進(jìn)分布式規(guī)則處理。為設(shè)置接口裝置,系統(tǒng)使接口裝置按程序工作,以處理一個(gè)或一個(gè)以上規(guī)則。該系統(tǒng)還確定一個(gè)或一個(gè)以上的其他裝置,其生成與該接口裝置的一個(gè)或一個(gè)以上規(guī)則相關(guān)的傳感器數(shù)據(jù),并設(shè)置該接口裝置,使其向該一個(gè)或一個(gè)以上的其他裝置訂閱傳感器數(shù)據(jù)。
[0301 ] 在一些實(shí)施例中,該系統(tǒng)能從客戶端設(shè)備接收一個(gè)要求獲得一個(gè)裝置監(jiān)控界面的請(qǐng)求。通過獲得與一個(gè)或一個(gè)以上接口裝置相關(guān)聯(lián)的、為該裝置監(jiān)控界面使用的數(shù)據(jù),以及向客戶端設(shè)備提供該裝置監(jiān)控界面,系統(tǒng)可以呈現(xiàn)該裝置監(jiān)控界面,使該裝置監(jiān)控界面呈現(xiàn)來自該一個(gè)或一個(gè)以上接口裝置的傳感器數(shù)據(jù)。
[0302]在這些實(shí)施例的一些變化中,一個(gè)接口裝置相關(guān)聯(lián)的數(shù)據(jù)包括接口裝置的裝置接入信息,這可以被客戶端裝置使用,以從相應(yīng)的接口裝置直接獲得裝置監(jiān)控界面用的實(shí)時(shí)傳感器數(shù)據(jù)。
[0303]在這些實(shí)施例的一些變化中,一個(gè)接口裝置相關(guān)聯(lián)的數(shù)據(jù)包括一個(gè)地理位置。同時(shí),為提供裝置監(jiān)控界面,系統(tǒng)可以獲取一張地圖,其包括和至少一個(gè)接口裝置相關(guān)的地理區(qū)域。然后系統(tǒng)生成該裝置監(jiān)控界面以顯示得到的地圖,并在地圖上覆蓋上該至少一個(gè)接
口裝置。
[0304]在這些實(shí)施例的一些變化中,一個(gè)接口裝置相關(guān)聯(lián)的數(shù)據(jù)包括一組圖像坐標(biāo)。因此,當(dāng)系統(tǒng)提供裝置監(jiān)控界面時(shí),系統(tǒng)可以獲得一個(gè)與至少一個(gè)接口裝置相關(guān)的區(qū)域的圖像。然后系統(tǒng)生成該裝置監(jiān)控界面以顯示得到的地圖,并在該獲得的圖像上覆蓋該至少一個(gè)接口裝置。得到的圖像可以包括從一個(gè)實(shí)時(shí)視頻傳送中的一個(gè)幀,并且系統(tǒng)會(huì)定期更新裝置監(jiān)控界面以顯示實(shí)時(shí)視頻傳送中的一個(gè)近期的幀。[0305]在這些實(shí)施例的一些變化中,該實(shí)時(shí)視頻傳送可以包括從一個(gè)掃視-俯仰-變焦(pan-tilt-zoom,或“PTZ”)攝像機(jī)來的視頻傳送。因此,當(dāng)系統(tǒng)提供裝置監(jiān)控界面,系統(tǒng)可以將接口裝置的圖像坐標(biāo)映射到一組和PTZ攝像機(jī)的幀相關(guān)聯(lián)的坐標(biāo)上。當(dāng)攝像機(jī)的方向變化時(shí),系統(tǒng)可以更新裝置監(jiān)控界面,以便基于被映射的圖像坐標(biāo)把接口裝置覆蓋到近期的幀上。
[0306]在一些實(shí)施例中,一個(gè)可由用戶定義的規(guī)則可以包括一個(gè)復(fù)合的,和多個(gè)物理裝置相關(guān)聯(lián)的規(guī)則。
[0307]在一些實(shí)施例中,該系統(tǒng)能從一個(gè)客戶端設(shè)備接收一個(gè)指令,以控制一個(gè)接口裝置。然后,系統(tǒng)確定一個(gè)已建立的網(wǎng)絡(luò)連接,用于和接口裝置進(jìn)行通信,并按照所接收的指令,通過網(wǎng)絡(luò)連接設(shè)置接口裝置。
[0308]系統(tǒng)也可以從客戶端設(shè)備接收一個(gè)要求獲取一個(gè)規(guī)則設(shè)置Π的請(qǐng)求。該規(guī)則設(shè)置Π可以指明一個(gè)或一個(gè)以上的有關(guān)一個(gè)或一個(gè)以上接口裝置的現(xiàn)有的規(guī)則,并幫助創(chuàng)建或修改現(xiàn)有或新的規(guī)則。然后,作為對(duì)接收到一個(gè)規(guī)則的描述的響應(yīng),該系統(tǒng)確定一個(gè)或一個(gè)以上目標(biāo)接口裝置,其處理該規(guī)則的操作描述的至少一部分。然后系統(tǒng)為一個(gè)目標(biāo)裝置生成一個(gè)針對(duì)特定裝置的規(guī)則,這樣,該針對(duì)特定裝置的規(guī)則包括該規(guī)則的操作描述的、應(yīng)由目標(biāo)裝置處理的一部分。然后,該系統(tǒng)設(shè)置該目標(biāo)裝置,使其處理該針對(duì)特定裝置的規(guī)則。
[0309]在一些上述實(shí)施例的變化中,當(dāng)設(shè)置接口裝置時(shí),系統(tǒng)可確定該接口裝置的地理位置,和/或可以確定一個(gè)或一個(gè)以上連接到該接口裝置的物理裝置的描述。同時(shí),該系統(tǒng)可以為該接口裝置生成一個(gè)數(shù)字證書,和/或可以基于至少該數(shù)字證書供應(yīng)該接口裝置。
[0310]本發(fā)明的一個(gè)實(shí)施例提供一個(gè)數(shù)據(jù)轉(zhuǎn)發(fā)系統(tǒng),它建立到多個(gè)網(wǎng)絡(luò)裝置的網(wǎng)絡(luò)連接,以便于接口裝置與裝置控制系統(tǒng)、對(duì)等接口裝置、或其他計(jì)算裝置通信。在操作過程中,當(dāng)系統(tǒng)從一個(gè)網(wǎng)絡(luò)裝置接收數(shù)據(jù),該系統(tǒng)確定一個(gè)接收該數(shù)據(jù)的對(duì)等網(wǎng)絡(luò)裝置,例如,一個(gè)訂閱該數(shù)據(jù)的裝置。該系統(tǒng)可以把傳感器數(shù)據(jù)轉(zhuǎn)發(fā)至該對(duì)等網(wǎng)絡(luò)裝置,這是通過確定一個(gè)已建立的網(wǎng)絡(luò)連接以便與該第二個(gè)網(wǎng)絡(luò)裝置通信,并通過已建立的網(wǎng)絡(luò)連接把傳感器數(shù)據(jù)發(fā)送到對(duì)等網(wǎng)絡(luò)裝置而實(shí)現(xiàn)。
[0311]在一些實(shí)施例中,為確定一個(gè)訂閱了接收到的傳感器數(shù)據(jù)的第二網(wǎng)絡(luò)裝置,該系統(tǒng)搜索一個(gè)存儲(chǔ)了多個(gè)網(wǎng)絡(luò)裝置的數(shù)據(jù)訂閱請(qǐng)求的數(shù)據(jù)訂閱庫(kù),以獲得一個(gè)被存儲(chǔ)的、和接收到的傳感器數(shù)據(jù)相關(guān)聯(lián)的數(shù)據(jù)訂閱請(qǐng)求。然后,基于被存儲(chǔ)的數(shù)據(jù)訂閱請(qǐng)求,該系統(tǒng)確定一個(gè)訂閱了接收到的傳感器數(shù)據(jù)的接口裝置。
[0312]在一些實(shí)施例中,該系統(tǒng)實(shí)現(xiàn)了一個(gè)數(shù)據(jù)轉(zhuǎn)發(fā)服務(wù),其接收來自第一網(wǎng)絡(luò)裝置的數(shù)據(jù)訂閱請(qǐng)求。數(shù)據(jù)訂閱請(qǐng)求指明一個(gè)提供數(shù)據(jù)的接口裝置,同時(shí)也指明了該提供數(shù)據(jù)的接口裝置所提供的傳感器數(shù)據(jù)。然后,該系統(tǒng)在數(shù)據(jù)訂閱庫(kù)中存儲(chǔ)該與該第一網(wǎng)絡(luò)裝置相關(guān)聯(lián)的訂閱數(shù)據(jù)。該系統(tǒng)還將該數(shù)據(jù)訂閱請(qǐng)求轉(zhuǎn)發(fā)至該提供數(shù)據(jù)的接口裝置。
[0313]在一些實(shí)施例中,在建立網(wǎng)絡(luò)連接時(shí),系統(tǒng)從一網(wǎng)絡(luò)裝置接收到一個(gè)要求建立該網(wǎng)絡(luò)連接的請(qǐng)求,并且,系統(tǒng)基于該請(qǐng)求確定網(wǎng)絡(luò)裝置的裝置接入信息。該系統(tǒng)存儲(chǔ)與該網(wǎng)絡(luò)裝置相關(guān)聯(lián)的裝置接入信息,并基于該裝置接入信息建立到該網(wǎng)絡(luò)裝置的網(wǎng)絡(luò)連接。
[0314]在一些實(shí)施例中,該系統(tǒng)使用一個(gè)WebSocket協(xié)議,一個(gè)NAT會(huì)話傳輸應(yīng)用程序(Session Traversal Utilities for Network-address-translation, SP“STUN”)協(xié)議,和/或Comet協(xié)議建立網(wǎng)絡(luò)連接。
[0315]在這些實(shí)施例的一些變化中,在使用WebSocket協(xié)議建立網(wǎng)絡(luò)連接時(shí),該請(qǐng)求可以包括一個(gè)WebSocket握手請(qǐng)求,其把一個(gè)超文本傳輸協(xié)議(HTTP)會(huì)話升級(jí)到一個(gè)WebSocket會(huì)話,并可包括一個(gè)從網(wǎng)絡(luò)裝置來的Sec-WebSocket-Key令牌。該系統(tǒng)可以存儲(chǔ)該與網(wǎng)絡(luò)裝置相關(guān)聯(lián)的Sec-WebSocket-Key,并可以基于該Sec-WebSocket-Key,為該網(wǎng)絡(luò)裝置生成一個(gè)Sec-WebSocket-Accept令牌。然后,系統(tǒng)向該接口裝置發(fā)送一個(gè)響應(yīng),該響應(yīng)承認(rèn)一個(gè)持續(xù)不斷的WebSocket通信信道,這樣該反應(yīng)至少包括給該接口裝置的Sec-WebSocket-Accept 令牌。
[0316]在這些實(shí)施例的一些變化中,在使用STUN協(xié)議建立網(wǎng)絡(luò)連接時(shí),該系統(tǒng)接收到一個(gè)綁定請(qǐng)求,其指明網(wǎng)絡(luò)裝置的網(wǎng)絡(luò)地址信息,并存儲(chǔ)與網(wǎng)絡(luò)裝置相關(guān)聯(lián)的網(wǎng)絡(luò)地址信息。該網(wǎng)絡(luò)地址信息可以包括至少一個(gè)或一個(gè)以上網(wǎng)絡(luò)地址和端口號(hào)。
[0317]在這些實(shí)施例的一些變化中,在用Comet協(xié)議建立網(wǎng)絡(luò)連接時(shí),系統(tǒng)從網(wǎng)絡(luò)裝置接收到一個(gè)長(zhǎng)輪詢請(qǐng)求,并基于該長(zhǎng)輪詢請(qǐng)求確定網(wǎng)絡(luò)裝置的網(wǎng)絡(luò)地址信息。該網(wǎng)絡(luò)地址信息包括至少一個(gè)或一個(gè)以上網(wǎng)絡(luò)地址和端口號(hào)。該系統(tǒng)存儲(chǔ)與網(wǎng)絡(luò)裝置相關(guān)聯(lián)的網(wǎng)絡(luò)地址信息,這便于在以后的時(shí)間接入該網(wǎng)絡(luò)裝置。
[0318]在一些實(shí)施例中,裝置接入信息可以包括網(wǎng)絡(luò)裝置的網(wǎng)絡(luò)地址,網(wǎng)絡(luò)裝置的端口號(hào),和/或網(wǎng)絡(luò)裝置的獨(dú)一無二的標(biāo)識(shí)符。裝置接入信息還可以包括身份驗(yàn)證信息,如分配給網(wǎng)絡(luò)裝置的數(shù)字證書,與網(wǎng)絡(luò)裝置相關(guān)聯(lián)的登錄證書,等等。
[0319]在一些實(shí)施例中,該系統(tǒng)可以基于一個(gè)包括該請(qǐng)求的網(wǎng)絡(luò)數(shù)據(jù)包的報(bào)文首部(message header)確定該網(wǎng)絡(luò)裝置的網(wǎng)絡(luò)地址和/或端口號(hào),進(jìn)而通過這些確定裝置接入信息。
[0320]在一些實(shí)施例中,該網(wǎng)絡(luò)裝置可以包括傳感器接口裝置,電源插座,電源板,調(diào)光器,燈開關(guān),或客戶計(jì)算設(shè)備。
[0321 ] 本發(fā)明的一個(gè)實(shí)施例提供了一個(gè)接口裝置,該接口裝置通過已建立的網(wǎng)絡(luò)連接與其他裝置通信,以發(fā)送和/或接收實(shí)時(shí)傳感器數(shù)據(jù)。在操作過程中,本地裝置可以建立和遠(yuǎn)程網(wǎng)絡(luò)裝置的網(wǎng)絡(luò)連接,該遠(yuǎn)程網(wǎng)絡(luò)裝置例如是對(duì)等接口裝置,或數(shù)據(jù)轉(zhuǎn)發(fā)系統(tǒng)。通過選擇一個(gè)這樣的規(guī)則:該規(guī)則把一個(gè)或一個(gè)以上遠(yuǎn)程接口裝置的傳感器數(shù)據(jù)作為輸入,并生成一個(gè)針對(duì)與該規(guī)則相關(guān)的傳感器數(shù)據(jù)元素的數(shù)據(jù)訂閱請(qǐng)求,該裝置可以維持對(duì)其他對(duì)等裝置的數(shù)據(jù)的訂閱。該數(shù)據(jù)訂閱請(qǐng)求指明一個(gè)提供數(shù)據(jù)的接口裝置,同時(shí)也指明了該提供數(shù)據(jù)的接口裝置所提供的傳感器數(shù)據(jù)。然后,通過所建立的網(wǎng)絡(luò)連接,該裝置將數(shù)據(jù)訂閱請(qǐng)求發(fā)送到該遠(yuǎn)程裝置。
[0322]在一些實(shí)施例中,該遠(yuǎn)程裝置可以包括與該數(shù)據(jù)訂閱請(qǐng)求相關(guān)聯(lián)的遠(yuǎn)程對(duì)等裝置,或數(shù)據(jù)轉(zhuǎn)發(fā)裝置,該轉(zhuǎn)發(fā)裝置被設(shè)置為維護(hù)該本地網(wǎng)絡(luò)裝置和與該數(shù)據(jù)訂閱請(qǐng)求相關(guān)聯(lián)的遠(yuǎn)程對(duì)等裝置之間的網(wǎng)絡(luò)連接。
[0323]在一些實(shí)施例中,本地接口裝置可以在規(guī)則庫(kù)中存儲(chǔ)該規(guī)則。然后,當(dāng)裝置通過建立網(wǎng)絡(luò)連接接收傳感器的數(shù)據(jù),并當(dāng)確定所接收到的傳感器數(shù)據(jù)與存儲(chǔ)的規(guī)則相關(guān)時(shí),該裝置至少基于所接收到的傳感器數(shù)據(jù)處理該規(guī)則。
[0324]在一些實(shí)施例中,本地接口裝置可以從本地的一個(gè)物理裝置獲取傳感器的數(shù)據(jù),這樣該物理裝置可以包括用于測(cè)量一個(gè)或一個(gè)以上物理屬性的傳感器。如果接口裝置確定該遠(yuǎn)程裝置訂閱了傳感所器獲得的數(shù)據(jù),該接口裝置通過所建立的網(wǎng)絡(luò)連接把傳感器數(shù)據(jù)發(fā)送到遠(yuǎn)程裝置。
[0325]在一些實(shí)施例中,該本地接口裝置使用一個(gè)WebSocket協(xié)議,一個(gè)NAT會(huì)話傳輸應(yīng)用程序(Session Traversal Utilities for Network-address-translation,即 “STUN”)協(xié)議,和/或Comet協(xié)議建立網(wǎng)絡(luò)連接。
[0326]在這些實(shí)施例的一些變化中,該請(qǐng)求可以包括一個(gè)WebSocket握手請(qǐng)求,其把一個(gè)超文本傳輸協(xié)議(HTTP)會(huì)話升級(jí)到一個(gè)WebSocket會(huì)話,并可包括一個(gè)從網(wǎng)絡(luò)裝置來的Sec-WebSocket-Key令牌。還有,在使用WebSocket協(xié)議建立網(wǎng)絡(luò)連接時(shí),該本地接口裝置可以存儲(chǔ)與遠(yuǎn)程裝置相關(guān)聯(lián)的Sec-WebSocket-Key,并基于該Sec-WebSocket-Key為該遠(yuǎn)程裝置生成一個(gè)Sec-WebSocket-Accept令牌。然后,該本地接口裝置向該遠(yuǎn)程裝置發(fā)送一個(gè)響應(yīng),該響應(yīng)承認(rèn)一個(gè)持續(xù)不斷的WebSocket通信信道,這樣該反應(yīng)至少包括給該遠(yuǎn)程接口 裝置的 Sec-WebSocket-Accept 令牌。
[0327]在這些實(shí)施例的一些變化中,在使用STUN協(xié)議建立網(wǎng)絡(luò)連接時(shí),該本地接口裝置接收到一個(gè)綁定請(qǐng)求,其指明該遠(yuǎn)程裝置的網(wǎng)絡(luò)地址信息,并存儲(chǔ)與該遠(yuǎn)程裝置相關(guān)聯(lián)的網(wǎng)絡(luò)地址信息。該網(wǎng)絡(luò)地址信息可以包括至少一個(gè)或一個(gè)以上網(wǎng)絡(luò)地址和端口號(hào)。
[0328]在這些實(shí)施例的一些變化中,在用Comet協(xié)議建立網(wǎng)絡(luò)連接時(shí),該本地接口裝置從該遠(yuǎn)程裝置接收到一個(gè)長(zhǎng)輪詢請(qǐng)求,并基于該長(zhǎng)輪詢請(qǐng)求確定遠(yuǎn)程裝置的網(wǎng)絡(luò)地址信息。該網(wǎng)絡(luò)地址信息包括至少一個(gè)或一個(gè)以上網(wǎng)絡(luò)地址和端口號(hào)。該本地接口裝置存儲(chǔ)與該遠(yuǎn)程裝置相關(guān)聯(lián)的網(wǎng)絡(luò)地址信息,這便于在以后的時(shí)間使用該網(wǎng)絡(luò)連接。
[0329]本發(fā)明的一個(gè)實(shí)施例提供了一個(gè)本地控制器,其維持一本地?cái)?shù)據(jù)庫(kù),該數(shù)據(jù)庫(kù)用于存儲(chǔ)一組局域網(wǎng)上的接口裝置的相關(guān)信息。本地?cái)?shù)據(jù)庫(kù)可包括一個(gè)遠(yuǎn)程控制器的遠(yuǎn)程數(shù)據(jù)庫(kù)的數(shù)據(jù)庫(kù)鏡像,其用于為一組被供應(yīng)的接口裝置存儲(chǔ)信息。在正常操作過程中,一個(gè)作為該遠(yuǎn)程數(shù)據(jù)庫(kù)的宿主的遠(yuǎn)程控制器可以具有局域網(wǎng)和/或其他網(wǎng)絡(luò)域內(nèi)接口裝置的主控制,并且,該本地控制器維護(hù)本地?cái)?shù)據(jù)庫(kù),讓其包括遠(yuǎn)程數(shù)據(jù)庫(kù)的至少一個(gè)子集。然而,當(dāng)確認(rèn)遠(yuǎn)程控制器離線,本地控制器可以獲得局域網(wǎng)內(nèi)接口裝置的主控制。
[0330]在一些實(shí)施例中,當(dāng)設(shè)置本地網(wǎng)絡(luò)控制器以獲取局域網(wǎng)內(nèi)的主控制時(shí),本地控制器能夠監(jiān)測(cè)局域網(wǎng)中的接口裝置,重新設(shè)置局域網(wǎng)中的接口裝置,和/或控制局域網(wǎng)中的接口裝置。
[0331]在一些實(shí)施例中,本地控制器并未設(shè)置為在接口裝置網(wǎng)絡(luò)中添加一個(gè)接口裝置,或從所提供的接口裝置集合中刪除一個(gè)接口裝置。
[0332]在一些實(shí)施例中,在獲取局域網(wǎng)的主控制時(shí),本地控制器確定本地?cái)?shù)據(jù)庫(kù)與遠(yuǎn)程數(shù)據(jù)庫(kù)的最新版本同步。
[0333]在一些實(shí)施例中,作為對(duì)于確定本地?cái)?shù)據(jù)庫(kù)和遠(yuǎn)程數(shù)據(jù)庫(kù)同步的響應(yīng),本地控制器被設(shè)置為獲得局域網(wǎng)的主控制。為獲取局域網(wǎng)的主控制,本地控制器能夠在得到供應(yīng)的接口裝置集合中添加一個(gè)接口裝置,以及從得到供應(yīng)的接口裝置集合中刪除一個(gè)接口裝置。
[0334]在一些實(shí)施例中,作為對(duì)于確定一個(gè)作為遠(yuǎn)程數(shù)據(jù)庫(kù)的宿主的遠(yuǎn)程控制器變成為在線狀態(tài)的響應(yīng),本地控制器被設(shè)置為解除對(duì)局域網(wǎng)的主控制。
[0335]在一些實(shí)施例中,當(dāng)解除局域網(wǎng)的主控制時(shí),本地控制器使本地?cái)?shù)據(jù)庫(kù)與遠(yuǎn)程數(shù)據(jù)庫(kù)同步。
[0336]一個(gè)實(shí)施例提供了一個(gè)接口裝置,其被設(shè)置為基于傳感器數(shù)據(jù)處理一個(gè)或一個(gè)以上規(guī)則,以做出預(yù)定的操作。在操作過程中,該裝置可以接收裝置的配置,包括一個(gè)該接口裝置所用的規(guī)則。該規(guī)則可以包括用于執(zhí)行一個(gè)操作的一個(gè)操作描述,還可以包括一個(gè)條件,該條件以傳感器的數(shù)據(jù)作為輸入,并指示執(zhí)行該操作的準(zhǔn)則。該裝置可以在規(guī)則庫(kù)中存儲(chǔ)該規(guī)則,并確定一個(gè)遠(yuǎn)程接口裝置,該遠(yuǎn)程接口裝置生成與該規(guī)則的條件相關(guān)聯(lián)的數(shù)據(jù)。該裝置還可以從該遠(yuǎn)程接口裝置訂閱該數(shù)據(jù)。
[0337]在一些實(shí)施例中,本地接口裝置建立與遠(yuǎn)程接口裝置的網(wǎng)絡(luò)連接,并通過所建立的連接從遠(yuǎn)程接口裝置訂閱數(shù)據(jù)。
[0338]在一些實(shí)施例中,在建立網(wǎng)絡(luò)連接時(shí),本地接口裝置建立與遠(yuǎn)程接口裝置的點(diǎn)對(duì)點(diǎn)網(wǎng)絡(luò)連接。
[0339]在一些實(shí)施例中,該本地接口裝置使用一個(gè)WebSocket協(xié)議,一個(gè)NAT會(huì)話傳輸應(yīng)用程序(Session Traversal Utilities for Network-address-translation,即 “STUN”)協(xié)議,和/或Comet協(xié)議建立該網(wǎng)絡(luò)連接。
[0340]在一些實(shí)施例中,在建立網(wǎng)絡(luò)連接時(shí),如果本地接口裝置確定無法通過一個(gè)點(diǎn)對(duì)點(diǎn)通信信道獲得該遠(yuǎn)程接口裝置,本地接口裝置通過數(shù)據(jù)轉(zhuǎn)發(fā)服務(wù)建立網(wǎng)絡(luò)連接。
[0341 ] 在一些實(shí)施例中,當(dāng)本地接口裝置獲得傳感器數(shù)據(jù)時(shí),本地接口裝置基于傳感器數(shù)據(jù)選擇一規(guī)則來處理。如果該本地接口裝置確定一個(gè)規(guī)則的條件已滿足,該本地接口裝置可以處理該規(guī)則的操作描述以做出該操作。
[0342]在一些實(shí)施例中,該本地接口裝置從一本地或遠(yuǎn)程的、測(cè)量一個(gè)或一個(gè)以上物理屬性的物理裝置獲得傳感器數(shù)據(jù),和/或從一個(gè)檢測(cè)和/或設(shè)置一個(gè)或一個(gè)以上接口裝置的網(wǎng)絡(luò)控制器那里獲得傳感器數(shù)據(jù)。
[0343]在一些實(shí)施例中,在選擇要處理的規(guī)則時(shí),該本地接口裝置選擇一組規(guī)則,該規(guī)則的條件把獲得的數(shù)據(jù)作為輸入,并確定用戶指定的該組規(guī)則的排序。該用戶指定的排序指明處理規(guī)則的順序。然后,根據(jù)用戶指定的排序,該本地接口裝置從該組規(guī)則中選擇一個(gè)規(guī)則。
[0344]在一些實(shí)施例中,通過定期地監(jiān)測(cè)從一個(gè)和接口裝置相連接的物理裝置那里來的數(shù)據(jù)值,本地接口裝置獲取傳感器數(shù)據(jù)。而且,如果本地接口裝置確定所獲得的數(shù)據(jù)滿足一個(gè)遠(yuǎn)程接口裝置的數(shù)據(jù)訂閱請(qǐng)求,本地接口裝置把所獲得的數(shù)據(jù)傳送到遠(yuǎn)程接口裝置。
[0345]在一些實(shí)施例中,本地接口裝置可以通過已建立的網(wǎng)絡(luò)連接把該數(shù)據(jù)傳送到遠(yuǎn)程接口裝置,該網(wǎng)絡(luò)連接是為了與遠(yuǎn)程接口裝置通信而建立。
[0346]一個(gè)實(shí)施例提供了一種傳感器監(jiān)測(cè)接口裝置,它連接到一個(gè)或更多的物理裝置上,該物理裝置包含有測(cè)量物理屬性的傳感器。在操作過程中,該接口裝置從物理裝置那里獲取和處理傳感器數(shù)據(jù)。當(dāng)接口裝置從一個(gè)物理裝置處獲得傳感器數(shù)據(jù),該接口裝置基于所獲得的傳感器數(shù)據(jù)選擇規(guī)則來處理。如果接口裝置確定該規(guī)則的條件已滿足,該接口裝置可以處理該規(guī)則的操作描述以做出相應(yīng)的操作。
[0347]在一些實(shí)施例中,物理裝置可以包括一個(gè)溫度傳感器,濕度傳感器,電壓傳感器,電流傳感器,運(yùn)動(dòng)傳感器,光傳感器,水分傳感器,數(shù)字值傳感器,和/或門窗傳感器。
[0348]在一些實(shí)施例中,該操作可以包括通過串口發(fā)送預(yù)定信號(hào)模式,和/或通過一個(gè)或一個(gè)以上通用輸出引腳發(fā)送預(yù)定信號(hào)模式。而且,該操作可以包括處理預(yù)定腳本,以便通過一串口來設(shè)置一個(gè)外圍裝置,向預(yù)定的收件人發(fā)送電子郵件消息,創(chuàng)建系統(tǒng)警報(bào),為事件日志生成事件,和/或部分地基于所接收到的傳感器數(shù)據(jù)來計(jì)算一數(shù)據(jù)值。
[0349]在一些實(shí)施例中,如果本地接口裝置確定所獲得的數(shù)據(jù)滿足一個(gè)遠(yuǎn)程接口裝置的數(shù)據(jù)訂閱請(qǐng)求,本地接口裝置把該傳感器數(shù)據(jù)傳送到遠(yuǎn)程接口裝置。
[0350]在一些實(shí)施例中,數(shù)據(jù)訂閱請(qǐng)求可以指明有關(guān)傳感器數(shù)據(jù)的最小閾值,有關(guān)傳感器數(shù)據(jù)的最大閾值,從上一個(gè)傳感器數(shù)據(jù)被提供給遠(yuǎn)程接口裝置到目前的時(shí)間間隔,和/或有關(guān)得到的傳感器數(shù)據(jù)和上一個(gè)被提供給遠(yuǎn)程接口裝置的傳感器數(shù)據(jù)的差值的閾值。[0351 ] 在一些實(shí)施例中,在傳送數(shù)據(jù)到遠(yuǎn)程接口裝置時(shí),本地接口裝置可以通過一與遠(yuǎn)程接口裝置相關(guān)聯(lián)的已建立的點(diǎn)對(duì)點(diǎn)網(wǎng)絡(luò)連接傳送該數(shù)據(jù)。
[0352]在一些實(shí)施例中,在選擇要處理的規(guī)則時(shí),該本地接口裝置選擇一組規(guī)則,該規(guī)則的條件把獲得的數(shù)據(jù)作為輸入,并確定用戶指定的該組規(guī)則的排序。該用戶指定的排序指明處理規(guī)則的順序。然后,根據(jù)用戶指定的排序,該本地接口裝置選擇一個(gè)規(guī)則。
[0353]在一些實(shí)施例中,在確定本地接口裝置處于出廠默認(rèn)模式的基礎(chǔ)上,該接口裝置可以調(diào)節(jié)一個(gè)發(fā)光二極管(LED )指示燈的顏色。在確定本地接口裝置由一個(gè)監(jiān)控一個(gè)或一個(gè)以上接口裝置的網(wǎng)絡(luò)控制燈提供配置的基礎(chǔ)上,和/或在確定該接口裝置正在被該網(wǎng)絡(luò)控制器監(jiān)測(cè)的基礎(chǔ)上,接口裝置可以調(diào)整一個(gè)發(fā)光二極管指示燈的顏色。
[0354]一個(gè)實(shí)施例提供了一種負(fù)載控制接口裝置,其從一用戶接口和/或其他裝置獲取并處理傳感器數(shù)據(jù),并基于傳感器數(shù)據(jù)處理規(guī)則,以控制電氣負(fù)載,如燈具。在操作過程中,當(dāng)該接口裝置獲得傳感器數(shù)據(jù),該接口裝置基于從用戶接口來的傳感器數(shù)據(jù)選擇一個(gè)規(guī)則來處理。如果該接口裝置確定該規(guī)則的條件已滿足,該接口裝置可以處理該規(guī)則的操作描述以做出相應(yīng)的操作,以控制該電氣負(fù)載的功率。
[0355]在一些實(shí)施例中,該電氣負(fù)載包括一燈具。
[0356]在一些實(shí)施例中,事件數(shù)據(jù)包括從觸摸屏用戶接口來的傳感器數(shù)據(jù)。該觸摸屏用戶接口可以包括一個(gè)電容式觸摸表面,電阻式觸摸表面,接近傳感器,和/或運(yùn)動(dòng)傳感器。
[0357]在一些實(shí)施例中,從觸摸屏用戶接口來的事件數(shù)據(jù)可以指明觸摸屏用戶接口上的一個(gè)本地用戶觸摸了的一部分,在觸摸屏用戶接口一個(gè)確定的距離之內(nèi)檢測(cè)到的物體,和/或檢測(cè)到的運(yùn)動(dòng)。
[0358]在一些實(shí)施例中,在獲取事件數(shù)據(jù)時(shí),該接口裝置處理觸摸屏用戶接口的信息,以便確定一個(gè)手勢(shì)。該手勢(shì)可以包括代表增加燈具光強(qiáng)度的向上掃動(dòng)手指,代表降低燈具的光強(qiáng)度的向下掃動(dòng)手指,代表激活或停止向燈具供電的一個(gè)手指輕擊,和/或代表調(diào)整燈具的光強(qiáng)度到一定水平的手指輕擊。
[0359]在一些實(shí)施例中,該接口裝置可以確定該事件數(shù)據(jù)滿足一個(gè)來自遠(yuǎn)程接口裝置的數(shù)據(jù)訂閱請(qǐng)求,并把該事件數(shù)據(jù)傳送到該遠(yuǎn)程接口裝置。
[0360]在一些實(shí)施例中,該遠(yuǎn)程接口裝置電連接到相應(yīng)的燈具,并且,遠(yuǎn)程接口裝置能夠被設(shè)置成基于事件數(shù)據(jù)調(diào)節(jié)相應(yīng)燈具的功率。
[0361]一個(gè)實(shí)施例提供了一個(gè)負(fù)載監(jiān)控接口裝置,其獲取和處理從一個(gè)電氣負(fù)載來的傳感器數(shù)據(jù)。該接口裝置可以包括至少一個(gè)電源插座,用于為一個(gè)相應(yīng)的電氣負(fù)載供電。在操作過程中,該接口裝置可以從一個(gè)連接一個(gè)電負(fù)載的本地電源插座獲得傳感器數(shù)據(jù),這樣,該傳感器數(shù)據(jù)可以表明一個(gè)與該電負(fù)載相關(guān)的電氣測(cè)量數(shù)據(jù)。該接口裝置基于所獲得的傳感器數(shù)據(jù)選擇一個(gè)規(guī)則來處理,并處理該規(guī)則來決定是否要做出一個(gè)操作。如果該規(guī)則的條件得到滿足,該接口裝置進(jìn)而處理該規(guī)則的操作描述,以做出該操作,如啟用或禁用一個(gè)電源插座,或做出其他任何預(yù)先確定的操作。
[0362]在一些實(shí)施例中,從電源插座來的傳感器數(shù)據(jù)可以包括相應(yīng)的電氣負(fù)載的功率狀態(tài),電流測(cè)量,和/或電壓測(cè)量。
[0363]在一些實(shí)施例中,該操作可以包括激活一個(gè)電源插座,停用一個(gè)電源插座,調(diào)整一個(gè)插座提供的電壓,和/或調(diào)整一個(gè)電源插座提供的電流量。而且,該操作可以包括向預(yù)定的收件人發(fā)送電子郵件消息,創(chuàng)建系統(tǒng)警報(bào),為事件日志生成事件,和/或部分地基于所接收到的傳感器數(shù)據(jù)來計(jì)算一數(shù)據(jù)值。
[0364]在本說明書中描述的數(shù)據(jù)結(jié)構(gòu)和代碼通常存儲(chǔ)在計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)上,它可以是任何可以存儲(chǔ)代碼和/或數(shù)據(jù),并使其為一計(jì)算機(jī)系統(tǒng)所使用的設(shè)備或介質(zhì)。計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)包括,但不限于,非永久性存儲(chǔ)器,永久性存儲(chǔ)器,磁性或光學(xué)存儲(chǔ)設(shè)備,如磁盤驅(qū)動(dòng)器,磁帶,光盤(compact discs), DVD (數(shù)字多功能光盤或數(shù)字視頻光盤),或其他現(xiàn)在已知的或以后開發(fā)的可存儲(chǔ)計(jì)算機(jī)可讀媒體的介質(zhì)。
[0365]在本說明書中描述的的方法和流程可以體現(xiàn)為代碼和/或數(shù)據(jù),它可以存儲(chǔ)在如上面所描述的計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)中。當(dāng)計(jì)算機(jī)系統(tǒng)讀取并執(zhí)行存儲(chǔ)在計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)上的代碼或數(shù)據(jù)時(shí),計(jì)算機(jī)系統(tǒng)做出該體現(xiàn)為數(shù)據(jù)結(jié)構(gòu)和代碼并存儲(chǔ)在計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)上的的方法和流程。
[0366]此外,在此描述的的方法和流程可以包括在硬件模塊或設(shè)備之中。這些模塊或設(shè)備可能包括,但不限于,專用集成電路(ASIC)芯片,現(xiàn)場(chǎng)可編程門陣列(FPGA),在一個(gè)特定的時(shí)間執(zhí)行一個(gè)特定的軟件模塊或一段代碼的專用或共享處理器,和/或其它現(xiàn)在已知的或以后開發(fā)的可編程邏輯裝置。當(dāng)該硬件模塊或設(shè)備被激活,它們執(zhí)行包括在它們之中的方法和流程。
[0367]上述各種實(shí)施例的描述只為例證和說明的目的。它們不是詳盡無遺的,或是把本發(fā)明限制在其所披露的形式上。因此,對(duì)本領(lǐng)域的技術(shù)人員來說,許多修改和變化將是明顯的。此外,上述披露并不限制本發(fā)明。
【權(quán)利要求】
1.一種方法,包括步驟: 在接口裝置處接收裝置配置,該裝置配置包括由接口裝置處理的規(guī)則,該規(guī)則包括用于做出操作的操作描述,并包括做出該操作的條件; 在規(guī)則庫(kù)中存儲(chǔ)該規(guī)則; 確定遠(yuǎn)程接口裝置,該遠(yuǎn)程接口裝置生成和該規(guī)則的條件相關(guān)的數(shù)據(jù); 和該遠(yuǎn)程接口裝置建立網(wǎng)絡(luò)連接; 通過建立的該網(wǎng)絡(luò)連接向該遠(yuǎn)程接口裝置訂閱該數(shù)據(jù)。
2.如權(quán)利要求1所述的方法,其中所述和該遠(yuǎn)程接口裝置建立網(wǎng)絡(luò)連接的步驟包括: 用WebSocket協(xié)議和該遠(yuǎn)程接口裝置建立網(wǎng)絡(luò)連接;和/或 用Comet協(xié)議和該遠(yuǎn)程接口裝置建立網(wǎng)絡(luò)連接;和/或 用STUN協(xié)議和該遠(yuǎn)程接口裝置建立網(wǎng)絡(luò)連接。
3.如權(quán)利要求1所述的方法,其中所述建立網(wǎng)絡(luò)連接包括和該遠(yuǎn)程接口裝置建立點(diǎn)對(duì)點(diǎn)網(wǎng)絡(luò)連接。
4.如權(quán)利要求1所述的方法,其中所述建立網(wǎng)絡(luò)連接包括: 確定無法和該遠(yuǎn)程接口裝置建立點(diǎn)對(duì)點(diǎn)網(wǎng)絡(luò)連接; 通過數(shù)據(jù)轉(zhuǎn)發(fā)服務(wù)和該遠(yuǎn)程接口裝置建立網(wǎng)絡(luò)連接。
5.如權(quán)利要求1所述的方法,其中所述向該遠(yuǎn)程接口裝置訂閱該數(shù)據(jù)的步驟包括: 生成對(duì)該規(guī)則相關(guān)的傳感器數(shù)據(jù)元素的訂閱請(qǐng)求,該訂閱請(qǐng)求指明該遠(yuǎn)程接口裝置以及該遠(yuǎn)程接口裝置提供的傳感器數(shù)據(jù); 通過建立的該網(wǎng)絡(luò)連接向該遠(yuǎn)程接口裝置發(fā)送該數(shù)據(jù)訂閱請(qǐng)求。
6.如權(quán)利要求1所述的方法,還包括步驟: 獲取傳感器數(shù)據(jù); 基于該傳感器數(shù)據(jù)選擇規(guī)則; 確定該規(guī)則的條件已滿足; 處理該規(guī)則的操作描述以做出操作。
7.如權(quán)利要求6所述的方法,其中所述獲取傳感器數(shù)據(jù)的步驟包括: 從本地物理裝置獲取傳感器數(shù)據(jù);和/或 從遠(yuǎn)程接口裝置獲取傳感器數(shù)據(jù);和/或 從網(wǎng)絡(luò)控制器獲取傳感器數(shù)據(jù),該網(wǎng)絡(luò)控制器控制和/或設(shè)置一個(gè)或一個(gè)以上接口裝置。
8.如權(quán)利要求6所述的方法,其中所述獲取傳感器數(shù)據(jù)的步驟包括定期監(jiān)測(cè)和該接口裝置相連的物理裝置的數(shù)據(jù),該方法還包括步驟: 確定該獲取的數(shù)據(jù)滿足遠(yuǎn)程接口裝置的數(shù)據(jù)訂閱請(qǐng)求; 向該遠(yuǎn)程接口裝置發(fā)送該獲取的數(shù)據(jù)。
9.一種設(shè)備,包括: 通信模塊,用于接收裝置配置,該裝置配置包括由本地接口裝置處理的規(guī)則,該規(guī)則包括用于做出操作的操作描述,并包括做出該操作的條件; 來源確定模塊,用于確定遠(yuǎn)程接口裝置,該遠(yuǎn)程接口裝置生成和該規(guī)則的條件相關(guān)的數(shù)據(jù);數(shù)據(jù)訂閱模塊,用于和該遠(yuǎn)程接口裝置建立網(wǎng)絡(luò)連接,并向該遠(yuǎn)程接口裝置訂閱該數(shù)據(jù)。
10.如權(quán)利要求9所述的裝置,其中所述通信模塊包括: 以太網(wǎng)通信模塊;和/或 W1-Fi無線通信模塊;和/或 藍(lán)牙無線通信模塊。
11.如權(quán)利要求9所述的設(shè)備,其中所述數(shù)據(jù)訂閱模塊還用于與該遠(yuǎn)程接口裝置建立點(diǎn)對(duì)點(diǎn)網(wǎng)絡(luò)連接。
12.如權(quán)利要求9所述的設(shè)備,其中所述數(shù)據(jù)訂閱模塊還用于: 確定無法和該遠(yuǎn)程接口裝置建立點(diǎn)對(duì)點(diǎn)網(wǎng)絡(luò)連接; 通過數(shù)據(jù)轉(zhuǎn)發(fā)服務(wù)和該遠(yuǎn)程接口裝置建立網(wǎng)絡(luò)連接。
13.如權(quán)利要求9所述的設(shè)備,其中,在向該遠(yuǎn)程接口裝置訂閱數(shù)據(jù)時(shí),該數(shù)據(jù)訂閱模塊還用于: 生成對(duì)該規(guī)則相關(guān)的傳感器數(shù)據(jù)元素的訂閱請(qǐng)求,該訂閱請(qǐng)求指明該遠(yuǎn)程接口裝置,以及該遠(yuǎn)程接口裝置提供的傳感器數(shù)據(jù); 通過建立的該網(wǎng)絡(luò)連接向該遠(yuǎn)程接口裝置發(fā)送該數(shù)據(jù)訂閱請(qǐng)求。
14.如權(quán)利要求9所述的設(shè)備,還包括規(guī)則處理模塊,用于: 獲取傳感器數(shù)據(jù); 基于該傳感器數(shù)據(jù)選擇規(guī)則; 確定該規(guī)則的條件已滿足; 處理該規(guī)則的操作描述以做出操作。
15.如權(quán)利要求14所述的設(shè)備,其中所述規(guī)則處理模塊還用于: 從本地物理裝置獲取傳感器數(shù)據(jù);和/或 從遠(yuǎn)程接口裝置獲取傳感器數(shù)據(jù);和/或 從網(wǎng)絡(luò)控制器獲取傳感器數(shù)據(jù),該網(wǎng)絡(luò)控制器控制和/或設(shè)置一個(gè)或一個(gè)以上接口裝置。
16.如權(quán)利要求14所述的設(shè)備,其中所述規(guī)則處理模塊還用于: 定期監(jiān)測(cè)和該接口裝置相連的物理裝置的數(shù)據(jù); 確定該獲取的數(shù)據(jù)滿足遠(yuǎn)程接口裝置的數(shù)據(jù)訂閱請(qǐng)求; 向該遠(yuǎn)程接口裝置發(fā)送該獲取的數(shù)據(jù)。
17.如權(quán)利要求16所述的設(shè)備,其中,在向該遠(yuǎn)程接口裝置發(fā)送該獲取的數(shù)據(jù)時(shí),規(guī)則處理模塊還用于: 和該遠(yuǎn)程接口裝置建立點(diǎn)對(duì)點(diǎn)網(wǎng)絡(luò)連接; 通過該點(diǎn)對(duì)點(diǎn)網(wǎng)絡(luò)連接向該遠(yuǎn)程接口裝置發(fā)送該獲取的數(shù)據(jù)。
18.如權(quán)利要求16所述的設(shè)備,其中,在向該遠(yuǎn)程接口裝置發(fā)送該獲取的數(shù)據(jù)時(shí),規(guī)則處理模塊還用于: 確定無法和該遠(yuǎn)程接口裝置建立點(diǎn)對(duì)點(diǎn)網(wǎng)絡(luò)連接; 通過數(shù)據(jù)轉(zhuǎn)發(fā)服務(wù)向該遠(yuǎn)程接口裝置發(fā)送該獲取的數(shù)據(jù)。
19.一種接口裝置,包括:用于連接物理裝置的端口; 處理器,該處理器通過所述端口接收所述物理裝置輸出的傳感器數(shù)據(jù),并基于接收到的傳感器數(shù)據(jù)做出操作; 通信模塊,用于和外部設(shè)備通信。
20.如權(quán)利要求19所述的裝置,其中所述傳感器數(shù)據(jù)包括: 溫度傳感器數(shù)據(jù),和/或 濕度傳感器數(shù)據(jù),和/或 電流傳感器數(shù)據(jù),和/或 電壓傳感器數(shù)據(jù),和/或 光傳感器數(shù)據(jù),和/或 水分傳感器數(shù)據(jù),和/或 數(shù)字傳感器數(shù)據(jù),和/或 運(yùn)動(dòng)傳感器數(shù)據(jù),和/或 門/窗傳感器數(shù)據(jù)。
21.如權(quán)利要求19所述的裝置,其中所述操作包括: 向預(yù)定的收件人發(fā)送電子郵件消息,和/或 創(chuàng)建系統(tǒng)警報(bào),和/或 為事件日志生成事件,和/ 或 部分地基于所接收到的傳感器數(shù)據(jù)來計(jì)算數(shù)據(jù)值,和/或 通過通用輸出引腳發(fā)送預(yù)定的信號(hào)模式,和/或 通過串行端口發(fā)送預(yù)定的信號(hào)模式,和/或 處理預(yù)定腳本,以便通過串行端口設(shè)置外圍裝置。
22.如權(quán)利要求19所述的裝置,其中所述處理器: 基于接收到的傳感器數(shù)據(jù)選擇規(guī)則進(jìn)行處理,該規(guī)則包括以該傳感器數(shù)據(jù)作為輸入的條件,并包括用于做出操作的操作描述, 確定所述規(guī)則的條件得到滿足,并 處理所述規(guī)則的操作描述以做出該操作。
23.如權(quán)利要求19所述的裝置,其中所述通信模塊包括: 以太網(wǎng)通信模塊,和/或 W1-Fi無線通信模塊,和/或 藍(lán)牙無線通信模塊。
24.如權(quán)利要求19所述的裝置,該裝置還通過該端口設(shè)置或控制相連的物理裝置。
25.如權(quán)利要求19所述的裝置,該通信模塊還用于: 通過WebSocket協(xié)議、和/或Comet協(xié)議、和/或STUN協(xié)議與遠(yuǎn)程網(wǎng)絡(luò)控制器和/或遠(yuǎn)程接口裝置建立網(wǎng)絡(luò)連接。
26.如權(quán)利要求25所述的裝置,該裝置還用于: 從該網(wǎng)絡(luò)控制器接收裝置配置信息,該裝置配置信息包括該裝置所用的規(guī)則; 將該規(guī)則在一個(gè)規(guī)則庫(kù)中存儲(chǔ)。
27.如權(quán)利要求19-26中的任一項(xiàng)所述的裝置,該裝置用于:確定接收到的傳感器數(shù)據(jù)滿足來自遠(yuǎn)程接口裝置和/或控制器的數(shù)據(jù)訂閱請(qǐng)求;并 將該傳感器數(shù)據(jù)發(fā)送到該遠(yuǎn)程接口裝置和/或控制器。
28.如權(quán)利要求27所述的裝置,其中所述將該傳感器數(shù)據(jù)發(fā)送到該遠(yuǎn)程接口裝置和/或控制器還包括: 與遠(yuǎn)程接口裝置和/或控制器建立持續(xù)不斷的點(diǎn)對(duì)點(diǎn)通訊信道; 通過該點(diǎn)對(duì)點(diǎn)通訊信道將該傳感器數(shù)據(jù)發(fā)送到該遠(yuǎn)程接口裝置和/或控制器。
29.如權(quán)利要求27所述的裝置,其中所述將該傳感器數(shù)據(jù)發(fā)送到該遠(yuǎn)程接口裝置和/或控制器還包括: 確定無法與遠(yuǎn)程接口裝置和/或控制器建立點(diǎn)對(duì)點(diǎn)通訊信道; 通過該點(diǎn)對(duì)點(diǎn)通訊信道將該傳感器數(shù)據(jù)發(fā)送到該遠(yuǎn)程接口裝置和/或控制器。
30.如權(quán)利要求27所述的裝置,該裝置向遠(yuǎn)程接口裝置和/或控制器發(fā)送數(shù)據(jù)訂閱請(qǐng)求,并從該遠(yuǎn)程接口裝置和/或控制器接收所訂閱的數(shù)據(jù)。
31.一種接口裝置,包括: 電源插座,其用于向電氣負(fù)載供電; 功率輸出控制器,該功率輸出控制器開啟、關(guān)閉、或調(diào)整該電源插座對(duì)電氣負(fù)載的供電; 處理器,該處理器用于控制功率輸出控制器,并用于從該功率輸出控制器接收有關(guān)所述電源插座輸出功率的測(cè)量數(shù)據(jù),并基于接收到的測(cè)量數(shù)據(jù)做出操作; 通信模塊,用于和外部設(shè)備通信。
32.如權(quán)利要求31所述的裝置,其中有關(guān)電源插座輸出功率的測(cè)量數(shù)據(jù)包括: 電源插座連接的電器負(fù)載的功率狀態(tài);和/或 電流測(cè)量。
33.如權(quán)利要求31所述的裝置,其中所述操作包括: 開啟該電源插座的供電;和/或 關(guān)閉該電源插座的供電;和/或 調(diào)整該電源插座所供應(yīng)的電流;和/或 向預(yù)定的收件人發(fā)送電子郵件消息,和/或 創(chuàng)建系統(tǒng)警報(bào),和/或 為事件日志生成事件,和/或 部分地基于所接收到的傳感器數(shù)據(jù)來計(jì)算數(shù)據(jù)值。
34.如權(quán)利要求31所述的裝置,其中所述處理器: 基于接收到的傳感器數(shù)據(jù)選擇一個(gè)規(guī)則進(jìn)行處理,該規(guī)則包括以該傳感器數(shù)據(jù)作為輸入的條件,并包括用于做出操作的操作描述, 確定所述規(guī)則的條件得到滿足,并 處理所述規(guī)則的操作描述以做出該操作。
35.如權(quán)利要求31所述的裝置,該通信模塊還用于: 通過WebSocket協(xié)議、和/或Comet協(xié)議、和/或STUN協(xié)議與遠(yuǎn)程網(wǎng)絡(luò)控制器和/或遠(yuǎn)程接口裝置建立網(wǎng)絡(luò)連接。
36.如權(quán)利要求31所述的裝置,其中所述通信模塊包括:以太網(wǎng)通信模塊,和/或 W1-Fi無線通信模塊,和/或 藍(lán)牙無線通信模塊。
37.如權(quán)利要求31所述的裝置,該裝置還: 從網(wǎng)絡(luò)控制器接收裝置配置信息,該裝置配置信息包括該裝置所用的規(guī)則; 將該規(guī)則在一個(gè)規(guī)則庫(kù)中存儲(chǔ)。
38.如權(quán)利要求31-37中的任一項(xiàng)所述的裝置,其中所述處理器: 確定接收到的傳感器數(shù)據(jù)滿足來自遠(yuǎn)程接口裝置和/或網(wǎng)絡(luò)控制器的數(shù)據(jù)訂閱請(qǐng)求;并 將該傳感器數(shù)據(jù)發(fā)送到該遠(yuǎn)程接口裝置和/或網(wǎng)絡(luò)控制器。
39.如權(quán)利要求38所述的裝置,其中所述將該傳感器數(shù)據(jù)發(fā)送到該遠(yuǎn)程接口裝置和/或網(wǎng)絡(luò)控制器還包括: 與遠(yuǎn)程接口裝置和/或網(wǎng)絡(luò)控制器建立持續(xù)不斷的點(diǎn)對(duì)點(diǎn)通訊信道; 通過該點(diǎn)對(duì)點(diǎn)通訊信道將該傳感器數(shù)據(jù)發(fā)送到該遠(yuǎn)程接口裝置和/或網(wǎng)絡(luò)控制器。
40.如權(quán)利要求39所述的裝置,該裝置向遠(yuǎn)程接口裝置和/或網(wǎng)絡(luò)控制器發(fā)送數(shù)據(jù)訂閱請(qǐng)求,并從該遠(yuǎn)程接口裝置 和/或網(wǎng)絡(luò)控制器接收所訂閱的數(shù)據(jù)。
41.如權(quán)利要求40所述的裝置,其中該裝置和該遠(yuǎn)程接口裝置和/或網(wǎng)絡(luò)控制器之間通過一個(gè)持續(xù)不斷的通信信道進(jìn)行通信,該持續(xù)不斷的通信信道是點(diǎn)對(duì)點(diǎn)通信信道,或是通過數(shù)據(jù)轉(zhuǎn)發(fā)服務(wù)建立。
42.一種接口裝置,包括: 對(duì)觸摸敏感的用戶接口,用于檢測(cè)物體在該用戶接口上的觸摸; 微控制器,其接收來自所述用戶接口輸出的傳感器數(shù)據(jù); 處理器,該處理器從該微控制器獲得傳感器數(shù)據(jù)和/或檢測(cè)到的用戶手勢(shì),并基于接收到的傳感器數(shù)據(jù)和/或檢測(cè)到的手勢(shì)做出操作; 通信模塊,用于和外部設(shè)備通信。
43.如權(quán)利要求42所述的裝置,其中對(duì)觸摸敏感的用戶接口包括: 接近傳感器,用于檢測(cè)是否有物體接近該用戶接口 ;和/或 運(yùn)動(dòng)傳感器,用于檢測(cè)物體在該用戶接口前移動(dòng)的狀況;和/或 觸敏傳感器。
44.如權(quán)利要求42所述的裝置,其中用戶接口的輸出指明: 用戶接口中的被物體觸摸了的部分表面;和/或 物體在該用戶接口前的移動(dòng);和/或 與用戶接口一定距離的范圍內(nèi)被檢測(cè)到的物體。
45.如權(quán)利要求42所述的裝置,還包括: 功率控制模塊,用于控制和/或調(diào)節(jié)輸出功率;和/或 功率輸出控制器,用于設(shè)置和/或監(jiān)測(cè)功率控制模塊的輸出功率;和/或 電源端子,用于向電氣負(fù)載提供功率輸出。
46.如權(quán)利要求42所述的裝置,其中所述操作包括: 開啟對(duì)相連接的電氣負(fù)載的供電;和/或關(guān)閉對(duì)相連接的電氣負(fù)載的供電;和/或 調(diào)整電氣負(fù)載的電流;和/或 向預(yù)定的收件人發(fā)送電子郵件消息;和/或 創(chuàng)建系統(tǒng)警報(bào);和/或 為事件日志生成事件;和/或 部分地基于所接收到的傳感器數(shù)據(jù)來計(jì)算數(shù)據(jù)值。
47.如權(quán)利要求42所述的裝置,其中所述處理器: 基于接收到的傳感器數(shù)據(jù)選擇規(guī)則進(jìn)行處理,該規(guī)則包括以該傳感器數(shù)據(jù)作為輸入的條件,并包括用于做出操作的操作描述; 確定所述規(guī)則的條件得到滿足;并 處理所述規(guī)則的操作描述以做出該操作。
48.如權(quán)利要求42所述的裝置,該通信模塊還用于: 通過WebSocket協(xié)議、和/或Comet協(xié)議、和/或STUN協(xié)議與遠(yuǎn)程網(wǎng)絡(luò)控制器和/或遠(yuǎn)程接口裝置建立網(wǎng)絡(luò)連接。
49.如權(quán)利要求42所 述的裝置,其中所述通信模塊包括: 以太網(wǎng)通信模塊,和/或 W1-Fi無線通信模塊,和/或 藍(lán)牙無線通信模塊。
50.如權(quán)利要求42所述的裝置,該裝置還: 從網(wǎng)絡(luò)控制器接收裝置配置信息,該裝置配置信息包括該裝置所用的規(guī)則; 將該規(guī)則在規(guī)則庫(kù)中存儲(chǔ)。
51.如權(quán)利要求42-50中的任一項(xiàng)所述的裝置,其中所述處理器: 確定接收到的傳感器數(shù)據(jù)滿足來自遠(yuǎn)程接口裝置和/或控制器的數(shù)據(jù)訂閱請(qǐng)求;并 將該傳感器數(shù)據(jù)發(fā)送到該遠(yuǎn)程接口裝置和/或控制器。
52.如權(quán)利要求51所述的裝置,其中所述將該傳感器數(shù)據(jù)發(fā)送到該遠(yuǎn)程接口裝置和/或控制器還包括: 與遠(yuǎn)程接口裝置和/或控制器建立一個(gè)持續(xù)不斷的點(diǎn)對(duì)點(diǎn)通訊信道; 通過該點(diǎn)對(duì)點(diǎn)通訊信道將該傳感器數(shù)據(jù)發(fā)送到該遠(yuǎn)程接口裝置和/或控制器。
53.如權(quán)利要求51所述的裝置,該裝置向遠(yuǎn)程接口裝置和/或控制器發(fā)送數(shù)據(jù)訂閱請(qǐng)求,并從該遠(yuǎn)程接口裝置和/或控制器接收所訂閱的數(shù)據(jù)。
【文檔編號(hào)】G05B19/418GK103543700SQ201310261774
【公開日】2014年1月29日 申請(qǐng)日期:2013年6月27日 優(yōu)先權(quán)日:2012年6月27日
【發(fā)明者】蘭德爾·W·弗雷, 程令可, 羅伯特·J·佩拉 申請(qǐng)人:尤比奎蒂網(wǎng)絡(luò)公司