TW201404183A - 控制感應器裝置的方法和設備 - Google Patents

控制感應器裝置的方法和設備 Download PDF

Info

Publication number
TW201404183A
TW201404183A TW102122982A TW102122982A TW201404183A TW 201404183 A TW201404183 A TW 201404183A TW 102122982 A TW102122982 A TW 102122982A TW 102122982 A TW102122982 A TW 102122982A TW 201404183 A TW201404183 A TW 201404183A
Authority
TW
Taiwan
Prior art keywords
interface device
data
controller
remote interface
sensor data
Prior art date
Application number
TW102122982A
Other languages
English (en)
Other versions
TWI615037B (zh
Inventor
Randall W Frei
Linker Cheng
Robert J Pera
Original Assignee
Ubiquiti Networks Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from US13/736,879 external-priority patent/US10536361B2/en
Application filed by Ubiquiti Networks Inc filed Critical Ubiquiti Networks Inc
Publication of TW201404183A publication Critical patent/TW201404183A/zh
Application granted granted Critical
Publication of TWI615037B publication Critical patent/TWI615037B/zh

Links

Classifications

    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02PCLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
    • Y02P90/00Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
    • Y02P90/02Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]

Abstract

一種裝置控制系統設置,監測,並控制一個或一個以上介面裝置,這樣,介面裝置可以從一個或一個以上連接著的物理裝置獲得感測器資料並將其傳播,上述物理裝置包括用於測量物理屬性的感測器。在操作過程中,該系統可以通過建立與介面裝置的網路連接來設置該介面裝置,並為該介面裝置確定一個或一個以上規則。一個規則可以指明為做出一個操作的一個操作描述,並指明一個條件,其指明處理規則的操作描述的標準。該系統可以設置介面裝置使其處理其相關聯的規則。

Description

控制感應器裝置的方法和設備
本發明通常涉及多台裝置的控制。更具體地說,本發明涉及多個裝置的智慧控制。
住宅自動化,或智慧住宅,提高了它們的用戶的生活品質。
更具體地說,住宅自動化系統實現了照明,HVAC(取暖,通風,空調),電器,和其他系統的集中控制,從而提供了更好的便利,舒適,節能,與安全。一些自動化系統提供一種自動的基於時間或環境因素的控制方法,例如在HVAC或自動噴水系統上。然而,這樣的典型的自動化系統僅為某個單獨類型的電器提供自動化控制,不同的自動化系統之間並不互相接入從而提供完整的住宅自動化解決方案。
相反,在智慧住宅中,所有電氣裝置/設備在屋裏集成在一起,為其用戶提供方便和更好的生活經驗。此外,互聯網連接的普遍性,也使得用戶能夠遠端監測和/或控 制自己的家。例如,在歐洲度假時,用戶可以連接到一個用於監控他在華盛頓特區的家的監控系統,以便監控他家裏的活動;或者,用戶在接收到華盛頓特區風暴預測後可以相應的關閉他的家庭自動噴水系統。
典型的家庭自動化技術通常使用專門設計的控制和監測裝置來實施,該控制和監測裝置使用專用的通信協定進行相互間的通信。由於裝置之間的通信協定是專有的,業主難以定制這樣的系統以使其包括新的或不同的其他供應商的監控裝置。以家庭監控系統為例,該監控系統控制器連接到各種專門設計的,由同一供應商製造的感測器和/或攝像機上。此外,如要實現集中控制,電器(或至少每個電器的控制器)也需要由同一供應商製造。在上述家庭監控系統和自動噴水系統例子中,如果要允許用戶使用一個介面接入這兩個系統,該家庭監控系統和自動噴水系統(或這些系統的控制器)需要來自相同的供應商。然而,安裝這些專用裝置或設備控制器可以是昂貴而浪費的,因為許多現有的房屋可能已經配備有不同的供應商製造的感測器和電器。
本發明的一個實施例提供了一種控制裝置用的系統,其設置,監測,和/或控制一個或一個以上介面裝置。介面裝置可以從一個或一個以上連接著的物理裝置獲得和傳播感測器資料,上述物理裝置可以包括用於測量物理屬性 的感測器。在操作過程中,該系統可以通過建立與介面裝置的網路連接來設置該介面裝置,並選擇一個或一個以上規則,該規則被介面裝置處理。該系統設置該介面裝置,使其處理和它相關聯的規則。
本發明的一個實施例提供一個系統,該系統建立一網路連接到多個網路裝置,以便於介面裝置與裝置控制系統、對等介面裝置、或其他計算裝置建立通信。該系統可以從網路裝置接收資料,並轉發該資料到一個訂閱該資料的對等網路裝置。通過與對等網路裝置建立的網路連接,該系統將資料發送到對等網路裝置。
本發明的一個實施例提供了一個介面裝置,該介面裝置通過已建立的網路連接與其他裝置通信,以發送和/或接收即時感測器資料。在操作過程中,該本地裝置可以建立和遠端網路裝置的網路連接,該遠端網路裝置例如是對等介面裝置,或資料轉發系統。該本地裝置可以保持對其他對等裝置的資料訂閱,以獲得與某規則相關的即時資料元素,實現方法例如通過已建立的網路連接向能夠生成一個資料元素的對等網路裝置發送資料訂閱請求。
本發明的一個實施例提供了一個本地控制器,其維護一本地資料庫,該資料庫用於存儲局域網上的一組介面裝置的相關資訊。本地資料庫可包括一個遠端控制器的遠端資料庫的資料庫鏡像,其用於為一組被供應的介面裝置存儲資訊。在操作過程中,本地控制器維護本地資料庫,使其與遠端資料庫中的至少一個子集同步。然而,當本地控 制器確認遠端控制器離線時,如果遠端控制器擁有在局域網的介面裝置的主控制,本地控制器可以獲得局域網內的介面裝置的主控制。
一個實施例提供了一個介面裝置,其被設置為基於感測器資料處理一個或一個以上規則,以做出預定的操作。在操作過程中,該裝置可以接收裝置的配置,包括該介面裝置所用的規則。該規則可以包括用於做出一個操作的操作描述,還可以包括一個條件,該條件以感測器資料作為輸入,並指明做出該操作的準則。該裝置可以在規則庫中存儲該規則,並可確定一個遠端介面裝置,該遠端介面裝置生成與該規則的條件相關聯的資料。該裝置還可以從該遠端介面裝置訂閱該資料。
一個實施例提供了一種感測器監測介面裝置,它連接到一個或更多的物理裝置上,該物理裝置包含有測量物理屬性的感測器。在操作過程中,該介面裝置從物理裝置上獲取和處理感測器資料。當介面裝置基於感測器資料確定一個規則的條件已得到滿足時,該介面裝置可以處理該規則的操作描述以做出相應的操作。
一個實施例提供了一種負載控制介面裝置,用於獲取和處理從用戶介面和/或從一遠端介面裝置接收到的感測器資料。在操作過程中,負載控制介面裝置基於感測器資料處理規則,以便控制電氣負載,如一燈具。
一個實施例提供了一個負載監控介面裝置,其獲取和處理從一個電氣負載來的感測器資料。該介面裝置可以包 括至少一個電源插座,用於為一個相應的電氣負載供電。在操作過程中,該介面裝置可以從一個連接電氣負載的本地電源插座獲得感測器資料,這樣,該感測器資料可以表明一個與該電負載相關的電氣測量資料。介面裝置可處理一個和感測器資料相關聯的規則,如啟用或禁用電源插座,或做出其他任何預先確定的操作。
100‧‧‧監測和控制系統
102‧‧‧控制器
104‧‧‧用戶
106‧‧‧網路
108‧‧‧介面裝置
110‧‧‧物理裝置
150‧‧‧監測和控制系統
152‧‧‧電腦集群
154‧‧‧廣域網
156‧‧‧用戶
158‧‧‧裝置
160‧‧‧局域網
162‧‧‧介面裝置
166‧‧‧資料庫
200‧‧‧介面裝置
202,204,206‧‧‧埠
208‧‧‧處理單元
210‧‧‧存儲單元
212‧‧‧資料包生成器/解析器
214‧‧‧有線網路介面
216‧‧‧無線網路介面
218‧‧‧通用串列匯流排(USB)介面
220‧‧‧軟體架構
222‧‧‧作業系統內核
224‧‧‧設備驅動程式
226‧‧‧微控制器代理模組(mcAgent)
228‧‧‧通信模組
230‧‧‧因特網協定(IP)模組
232‧‧‧WebSocket模組
234‧‧‧互聯網伺服器
240‧‧‧裝置架構
242‧‧‧處理單元
244‧‧‧存儲裝置
246‧‧‧快閃記憶體記憶體
247‧‧‧通信模組
248‧‧‧無線模組
249‧‧‧乙太網埠
250‧‧‧序列埠
252‧‧‧數位輸入
254‧‧‧數位輸出
255‧‧‧模數轉換器(ADC)
256‧‧‧類比輸入
258‧‧‧裝置
260‧‧‧裝置架構
262‧‧‧處理單元
264‧‧‧存儲裝置
265‧‧‧無線模組
266‧‧‧快閃記憶體記憶體
267‧‧‧序列埠
268‧‧‧通信模組
269‧‧‧乙太網埠
270‧‧‧功率輸出模組
272‧‧‧繼電器
274‧‧‧功率輸出控制器
276‧‧‧電源插座
278‧‧‧mPower介面裝置
280‧‧‧裝置架構
282‧‧‧處理單元
283‧‧‧存儲裝置
284‧‧‧快閃記憶體記憶體
285‧‧‧通信模組
286‧‧‧無線模組
287‧‧‧序列埠
288‧‧‧微控制器
289‧‧‧功率輸出控制器
290‧‧‧功率控制模組
292‧‧‧電源端子
294‧‧‧觸敏用戶介面
295‧‧‧接近感測器
296‧‧‧運動感測器
297‧‧‧觸敏感測器
298‧‧‧mDimmer介面裝置
299‧‧‧mDimmer介面裝置
460‧‧‧GUI
462‧‧‧中央顯示區
464‧‧‧側面板
466‧‧‧空間標簽
468‧‧‧資料標簽
470‧‧‧事件標簽
472‧‧‧規則標簽
474‧‧‧裝置標簽
476,478‧‧‧圖示
480‧‧‧縮放滑塊
482‧‧‧中央顯示區域
484‧‧‧裝置圖示
490‧‧‧GUI
492‧‧‧中央顯示區
550‧‧‧GUI
552‧‧‧門打開規則
554‧‧‧規則名稱欄位
556‧‧‧條件欄位
558‧‧‧操作欄位
560‧‧‧規則按鈕
562‧‧‧“添加”按鈕
564‧‧‧“時間表”按鈕
600‧‧‧GUI
602,604‧‧‧面板
630‧‧‧GUI
632‧‧‧日期範圍面板
634‧‧‧視圖選擇面板
636‧‧‧裝置面板
660‧‧‧GUI
662‧‧‧篩檢程式面板
664‧‧‧日期範圍面板
666‧‧‧裝置面板
668,670,672,674‧‧‧區域
800‧‧‧電腦系統
802‧‧‧控制器
804‧‧‧廣域網
806‧‧‧路由器/防火牆
808‧‧‧局域網
810‧‧‧介面裝置
812‧‧‧計算設備
814.1,814.2‧‧‧埠隧道通道
1100‧‧‧分散式系統
1102‧‧‧電腦集群
1104‧‧‧廣域網
1106‧‧‧用戶
1108‧‧‧筆記本電腦
1110‧‧‧局域網
1112‧‧‧智慧手機
1114‧‧‧調光器
1116‧‧‧控制插座
1118‧‧‧燈具
1200‧‧‧系統架構
1202‧‧‧廣域網
1204‧‧‧控制器
1206‧‧‧資料庫
1208,1216‧‧‧局域網
1210‧‧‧控制器
1212‧‧‧資料庫
1214‧‧‧介面裝置
1218‧‧‧本地控制器
1220‧‧‧資料庫
1222‧‧‧裝置
1250‧‧‧系統架構
1252‧‧‧廣域網
1254‧‧‧資料轉發服務
1256‧‧‧局域網
1258‧‧‧控制器
1260‧‧‧資料庫
1262‧‧‧裝置
1264‧‧‧局域網
1266‧‧‧裝置
1268‧‧‧智慧手機
1300‧‧‧電腦和通信系統
1302‧‧‧處理器
1304‧‧‧個記憶體
1306‧‧‧存儲裝置
1308‧‧‧智慧監測與控制應用
1310,1312‧‧‧應用程式
1314‧‧‧顯示器
1316‧‧‧鍵盤
1318‧‧‧指點裝置
1400‧‧‧mPort介面裝置
1402‧‧‧RJ-45埠
1404‧‧‧連接端子
1406‧‧‧通用串列匯流排(USB)連接器
1408‧‧‧乙太網埠
1410‧‧‧重定按鈕
1412‧‧‧LED指示燈
1430‧‧‧mPort介面裝置
1460‧‧‧mPort介面裝置
1500‧‧‧mPort介面裝置
1502‧‧‧串列介面
1504‧‧‧連接端子
1506‧‧‧通用串列匯流排(USB)連接器
1508‧‧‧乙太網埠
1510‧‧‧重定按鈕
1512‧‧‧LED指示燈
1522‧‧‧天線連接器
1540,1560‧‧‧mPort介面裝置
圖1A示出了根據本發明的一個實施例的一個示例性的監測和控制系統的系統架構。
圖1B示出了根據本發明的一個實施例的一個示例性的監測和控制系統的系統架構,其包括一個部署在電腦集群上的,可通過廣域網(WAN)訪問的控制器。
圖2A示出了根據本發明的一個實施例的一個示例性的介面裝置的裝置架構。
圖2B示出了根據本發明的一個實施例的一個示例性的介面裝置軟體架構。
圖2C示出了根據本發明的一個實施例的一個示例性的mPort介面裝置的裝置架構。
圖2D示出了根據本發明的一個實施例的一個mPort介面裝置。
圖2E示出了根據本發明的一個實施例的一個示例性的mPower介面裝置的裝置架構。
圖2F示出了根據本發明的一個實施例的一個 mPower介面裝置。
圖2G示出了根據本發明的一個實施例的一個示例性的mDimmer或mSwitch介面裝置的裝置架構。
圖2H示出了根據本發明的一個實施例的一個mDimmer介面裝置。
圖2I示出了根據本發明的一個實施例的數個mDimmer介面裝置,其通過一個串列通信介面連接起來。
圖3A是一個流程圖,示出了一根據本發明的一個實施例的示例性方法,其用於設置一個裝置控制器。
圖3B是一個流程圖,示出了一根據本發明的一個實施例的示例性方法,其用於呈現配置資料和/或感測器資料。
圖4A是一個流程圖,示出了一根據本發明的一個實施例的示例性方法,其用於在一空間視圖(space-view)圖形用戶介面(GUI)上設置一裝置佈局空間(device-placement space)。
圖4B是一個流程圖,示出了一根據本發明的一個實施例的示例性方法,其用於展示和更新一空間視圖GUI。
圖4C示出了根據本發明的一個實施例的一個示例性的控制器空間視圖GUI。
圖4D示出了根據本發明的一個實施例的一個示例性的控制器提供的空間視圖GUI。
圖4E示出了根據本發明的一個實施例的一個示例 性的控制器提供的空間視圖GUI。
圖5A是一個流程圖,示出了一根據本發明的一個實施例的示例性方法,其用於生成並存儲用於控制裝置的規則。
圖5B示出了根據本發明的一個實施例的一個示例性的控制器規則視圖GUI。
圖5C展示了一個用戶介面,其示出了根據本發明的一個實施例的示例性的預先定義的條件,該條件可以被納入到一個規則的條件組中。
圖6A示出了根據本發明的一個實施例的一個示例性的控制器裝置視圖GUI。
圖6B示出了根據本發明的一個實施例的一個示例性的控制器資料視圖GUI。
圖6C示出了根據本發明的一個實施例的一個示例性的控制器事件視圖GUI。
圖7是一個流程圖,示出了一根據本發明的一個實施例的示例性方法,其用於在一個本地介面裝置處理一個規則。
圖8示出了一示例性的電腦系統,其用於把一個伺服器集群內的一個控制器和一個局域網(LAN)內的裝置連接起來。
圖9是一個流程圖,示出了一根據本發明的一個實施例的示例性方法,其用於建立一個到遠端裝置的網路連接,該連接的建立基於從一個該遠端裝置的中央控制器接 收到的網路位址資訊。
圖10是一個流程圖,示出了一根據本發明的一個實施例的示例性方法,其用於建立一個與遠端裝置的網路連接,該連接的建立基於被儲存的該遠端裝置的網路位址資訊。
圖11示出了根據本發明的一個實施例的一個示例性的系統架構,其包括一個mDimmer裝置。
圖12A示出了一個示範性的系統架構,其包括一個中央控制器和一個或一個以上帶有資料庫鏡像的局域網控制器。
圖12B示出了根據本發明的一個實施例的一個示例性的系統架構,其包括一個在一局域網內的局域網控制器,和一個在廣域網內可接入的轉發服務。
圖13示出了根據本發明的一個實施例的一個示例性的電腦系統,其用於裝置的智慧監測和控制。
圖14A示出了根據本發明的一個實施例的一個mPort介面裝置的成角度視圖。
圖14B示出了根據本發明的一個實施例的一個mPort介面裝置的側視圖。
圖14C示出了根據本發明的一個實施例的一個mPort介面裝置的側視圖。
圖15A示出了根據本發明的一個實施例的一個mPort介面裝置的成角度視圖。
圖15B示出了根據本發明的一個實施例的一個包含 天線連接器的mPort介面裝置的成角度視圖。
圖15C示出了根據本發明的一個實施例的一個mPort介面裝置的側視圖。
圖15D示出了根據本發明的一個實施例的一個mPort介面裝置的側視圖。
下面的描述的提供使本領域的普通技術人員可以製造和使用這些實施例,並且,下面的描述是在一個特定的應用和其要求的背景下提供的。對本領域的技術人員來說,對所披露的實施例的各種修改將會是很明顯的,並且,本文中定義的一般原則可以被應用於其他的實施例和應用,而不脫離本發明的範圍和精神。因此,本發明並不限於所示的實施例,而是應該和在此披露的原則和特徵相一致的情況下被給予最寬的範圍。
概述
本發明的實施例提供一個控制器,它可以使用來自不同供應商的各種感測器和裝置來實現一個統一的“智慧”環境,如智慧家居系統或工業環境。更具體地說,這些不同的物理裝置被連接到一個或一個以上介面裝置,該介面裝置連續監測和控制該物理裝置,這樣,這些介面裝置可以通過該控制器接入並設置。例如,集中控制器可以在一個伺服器集群(例如,“雲”)中,並允許用戶通過在用戶的 電腦上的互聯網瀏覽器或應用程式訪問一個控制用戶介面(UI)。同時,該介面裝置和物理裝置可以分佈在很廣的區域(例如,遍及一個城市,或在世界各地不同的城市)。用戶可以與集中控制器互動,以設置介面裝置,確定介面裝置怎樣近即時地監測從物理裝置來的資料,並控制介面裝置怎樣在被監測到的資料的基礎上控制一個或更多的物理裝置。
每個介面裝置包括多個裝置連接器和一個或一個以上網路介面,它們使介面裝置和集中控制器能夠通過一個公共的或私人的網路相連接。在一個實施例中,該介面裝置通過一個基於互聯網協定(IP)的網路連接到該控制器。該介面裝置和該集中控制器通過交換IP資料包實現通信。集中控制器可以提供一個圖形用戶介面(GUI),其用戶可以在一個遠端位置使用它,以監測和控制裝置的操作。此外,該圖形用戶介面允許用戶設置自動控制該裝置的操作的複合規則。
系統架構
圖1A示出了根據本發明的一個實施例的一個示例性的監測和控制系統100的系統架構。監測和控制系統100包括一個控制器102,網路106,若干介面裝置108(例如,介面裝置108.1和108.m),每個介面裝置連接到若干被控制的物理裝置110。例如,介面裝置108.1連接到物理裝置110.1,110.2,和110.n
控制器102可以包括任何和介面裝置108進行通信,並執行一個應用軟體的計算設備,該軟體由用戶104使用,以監測和控制連接到介面裝置108的物理裝置的操作。例如,控制器102可以存在並運行在一個獨立的計算設備上,包括,但不限於一個臺式機或筆記本電腦102.1,個人數位助理(PDA)或智慧手機102.2,平板電腦的102.3,或大型電腦102.k。在一些實施例中,控制器102存在並運行在一個伺服器雲上。此外,在一些(未顯示的)實施例中,控制器102存在並運行在一個或一個以上的介面裝置(例如,介面裝置108.1和/或108.m)上,以實現一個分散式控制器。
網路106一般可以包括任何類型的、有線或無線的、可將計算節點連接在一起的通信通道。網路106包括,但不限於一個局域網,廣域網,一個專用網路,公共網路,或網路的組合。此外,網路106可以包括一個有線網路,無線網路,或它們的組合。在一些實施例中,網路106包括一個基於IP的網路。在另一個實施例中,網路106包括互聯網。
每個介面裝置108,如介面裝置的108.1或108.m,包括若干物理埠,其使該介面裝置和若干物理裝置相連接。此外,物理裝置110(例如,裝置110.1-110.n)可以包括任何類型的物理裝置,如感測器,機器,或任何類型的現在已知的或以後開發的電動部件。該裝置可以包括感測器(例如,溫度感測器,濕度感測器,電流感測器,運動 感測器,和門/窗感測器),或可控裝置(例如,燈開關,電源插座,電源板,繼電器等)。
在一些實施例中,物理裝置110可以是“愚蠢的”裝置,其不具備任何智慧,如計算或連接網路的能力。在另一個實施例中,物理裝置110可以包括任何類型的現成的檢測環境因素的感測器,所述環境因素包括但不限於溫度,聲音,光強度,濕度,運動,電流,門/窗開或關等。一感測器的輸出可以包括一個類比或數位信號。例如,一個溫度感測器的輸出可以是一個在一定範圍內的類比電壓信號,一個運動感測器的輸出可能是一個二進位數字字信號,用“1”表示動作已經被探測到。
在一些實施例中,介面裝置108可以包括一個序列埠(如RS232或RS485埠),並且裝置110可以是一個串列裝置,其與介面裝置108通過序列埠通信。例如,裝置110.1可以包括一個能夠通過序列埠來控制的裝置,介面裝置108.1可以通過序列埠連接到該裝置。因此,介面裝置108.1可以通過序列埠從該裝置接收狀態資訊,並能通過序列埠傳達命令以控制該裝置。另一個例子是,裝置110.n可以包括一個路由器,介面裝置108.1可以連接到該路由器的控制臺埠,從而實現遠端監測和控制該路由器。
圖1B示出了根據本發明的一個實施例的一個示例性的監測和控制系統150的系統架構,其包括一個部署在電腦集群152上的,可通過廣域網154接入的控制器。在 一些實施例中,電腦集群152可以包括多個伺服器電腦152.1-152.k,使用負載均衡技術將其負載分佈到電腦集群152各處。
隨著時間的推移,在電腦集群152的負載增加時,系統管理員可以添加額外的伺服器到電腦集群152上。具體來說,伺服器電腦152.1-152.k可以分佈在不同的地理位置,這樣一個特定的地理位置的伺服器的數量可以根據該地理位置的需要進行調整。這允許電腦集群152近即時地服務來自多個裝置的請求,以及推送資料到該多個裝置。
在操作過程中,電腦集群152可以保持到多個用戶端裝置(例如,電腦設備158,和/或介面裝置162)持續不斷的或連續的網路連接。該網路連接可以包括一個雙向通道,其用WebSocket協定建立,或者,網路連接可以通過使用STUN協定,Comet協定,或任何其他的現在已知的或以後開發的通信協定保持。電腦集群152可以從這些用戶端裝置接收即時資料,並能轉送即時資料到一個已訂閱該資料的用戶端裝置。例如,在一些實施例中,電腦集群152可以包括一個與控制器有關的資料庫166,使得資料庫166可以保持一個“可跟蹤游標”目錄。這些可跟蹤游標實現一個佇列,用於將資料轉發到訂閱了某個資料的用戶端裝置。用戶端裝置可以綁定並等待這些可跟蹤游標。
在一些實施例中,裝置158可以包括客戶計算設備,如電腦(例如,筆記本電腦),移動裝置(例如,一個智 慧手機或平板電腦)等。通過建立和維持到所想要的目標裝置的網路連接,裝置158可以與電腦集群152和/或介面裝置162通信。例如,一個用戶156可以使用裝置158(例如,一台筆記本電腦或智慧手機)上運行的應用程式,用來和一個在電腦集群152上運行的控制器建立一個會話,並從控制器接收一個或一個以上介面裝置162的網路位址資訊。裝置158可以使用一個介面裝置的網路位址資訊將資料發送到該介面裝置,和/或建立與該介面裝置的網路連接。
在一些實施例中,裝置158和/或介面裝置162可以確定它們什麽時候可以彼此點對點(peer-to-peer)通信,以及什麽時候它們需要通過轉送服務(例如,通過電腦集群152)相互通信。例如,通過儲存介面裝置162和/或任何其他計算設備的裝置接入資訊,裝置158可以記住分散式介面裝置網路的配置快照。該裝置接入資訊可以包括網路位址資訊,如遠端裝置的IP地址和埠號,和/或可以包括接入遠端裝置所用的認證資訊(例如,數位證書,用戶名,密碼,授權權杖等)。因此,如果在局域網160內的介面裝置162失去它們到控制器的連接(例如,局域網160和廣域網154斷開),裝置158的該應用程式可以使用已存儲的配置快照通過局域網160和介面裝置162直接通信。這允許一個監控介面裝置網路的應用軟體直接與介面裝置162通信,而無需先聯絡電腦集群152上的控制器。
在一些實施例中,通過利用已知的網路位址資訊向介 面裝置發送一個請求(例如,通過一個JSONP消息),裝置158可以測試與介面裝置的連接。該請求可以表明想要的介面裝置的的裝置識別資訊(例如,一個邏輯標識,一個媒體訪問控制位址(MAC address)等),這使得裝置158無需從遠端裝置請求敏感資訊就可以測試連接。如果該請求到達一個介面裝置,該介面裝置將這個識別資訊與本地的裝置識別資訊進行比較,並確認其身份,如果它確實是目標介面裝置。在一些實施例中,該介面裝置通過提供認證資訊,如數位證書,向裝置158確認其身份。
如果網路位址資訊包括介面裝置的IP位址,當裝置158和介面裝置同時連接到同一局域網(例如,局域網160)時,裝置158可以使用此IP位址與該介面裝置通信。然而,如果裝置158和介面裝置不連接到同一個局域網,也不能跨域建立點對點連接(例如,由於防火牆),裝置158可以與介面裝置使用資料轉發服務進行通信(例如,電腦集群152,或另一個連接到廣域網154的伺服器電腦)。
此外,在一些實施例中,裝置158可以自動發現其他裝置的存在(例如,使用通用即插即用(UPnP),或其他的自動發現協定)。例如,如果一個介面裝置的網路資訊已經改變,而且裝置158無法建立到中央控制器的網路連接,裝置158可以自動發現其他裝置的存在,以獲得裝置識別資訊(例如,一個MAC地址,一個數位證書等)。裝置158可以把接收到的被發現的裝置的裝置識別資訊 和所想要的介面裝置的裝置識別資訊進行比較。如果一個被自動發現的裝置和一個想要的介面裝置相一致,裝置158可以獲取和存儲被發現的裝置的網路位址資訊(例如,用以取代舊的或無效的資訊),並可以使用這個網路位址資訊建立一個到被發現的裝置的網路連接。
用戶156可以使用裝置158上的互聯網(Internet)瀏覽器與中央控制器互動(例如,訪問電腦集群152上的控制器),這允許用戶從各介面裝置162瀏覽即時資料。該控制器可為用戶生成網頁,其包括各介面裝置的網路位址資訊。如果裝置158和一個介面裝置在同一域內(例如,一個局域網,或虛擬私人網路),在裝置158上的瀏覽器可以直接從該介面裝置獲取即時資料。例如,該瀏覽器可以使用JSONP(JavaScript object notation,with padding)或CORS(cross-origin resource sharing)向介面裝置請求資料,該介面裝置可以是和提供網頁的控制器在不同的域上。
在一些實施例中,系統架構150內的裝置可以通過建立和維護一個持續不斷的或連續的網路連接近即時地互相通信。例如,介面裝置162之間可以相互訂閱對方的資料,並能使用網路連接,即時將資料向訂閱裝置推送。另一個例子是,裝置158可以建立一個到若干介面裝置162的網路連接,並接收即時資料以呈現給用戶。
此外,在局域網160內的本地裝置可以建立和維持與電腦集群152的持續不斷的網路連接,這可以通過確定它 的外部地址並和電腦集群152分享這個位址(例如,使用STUN),或通過在局域網160內維持一個穿過防火牆的埠隧道(例如,使用Comet)得以實現。或者,本地裝置還可以建立一個持續不斷的雙向網路連接,如採用WebSocket協定或任何其他的雙向通信協定。
使用Comet維持網路連接,本地裝置可以發送長輪詢請求到電腦集群152(例如,作為一個XMLHttpRequest(XHR)的通知),這將打開一個防火牆內的臨時埠,通過它電腦集群152可以提供一個回應消息。如果電腦集群152有新的資料提供給本地裝置,電腦集群152可以使用XHR回應來回應XHR通知,該回應包括該新的資料。不然,如果電腦集群152沒有新的資料給本地裝置,電腦集群152不回應XHR請求,從而使XHR請求終止。
一旦XHR請求終止,一個網路路由器或防火牆可能會關閉一個和XHR請求相關聯的埠,這將防止電腦集群152向本地裝置提供新的資料。因此,為了保持與電腦集群152的網路連接,在已存在的請求終止之前(例如,在30秒的時間間隔),該本地裝置可以周期性地發送額外的長輪詢請求。電腦集群152可以把新的XHR請求與本地裝置相關聯(例如,取代以前的XHR請求),並利用新的XHR請求中的網路位址資訊將即時資料推送到本地裝置。
利用WebSocket協定建立網路連接,本地裝置可以 發送一個WebSocket握手請求到電腦集群的152,這將把一個超文本傳輸協定(HTTP)會話升級到一個WebSocket會話,該請求包括給電腦集群152上的控制器的Sec-WebSocket-Key權杖。該控制器發送一個回應到本地裝置來回應,該回應承認該WebSocket會話,並且包括來源於Sec-WebSocket-Key權杖的Sec-WebSocket-Accept權杖。
裝置架構
圖2A示出了根據本發明的一個實施例的一個示例性的介面裝置200的裝置架構。介面裝置200包括若干物理埠,如埠202,204,和206,用來為若干物理裝置提供物理連接;處理單元208,存儲單元210,用於生成或解析通信資料包的資料包生成器/解析器212,有線網路介面214,和無線網路介面216。介面裝置200可任選地包括一個通用串列匯流排(USB)介面218。
物理埠202-206提供介面裝置200和一些物理裝置之間的連接。更特別的是,物理埠206-208可給相連接的物理裝置供電,並從相連接的物理裝置接收輸入信號和向其發送輸出信號。在一些實施例中,這些功能是通過一個物理埠和一個物理裝置之間的有線連接而實現的。例如,一個典型的溫度感測器可以包括三個引腳,一個接地,一個輸入電源,一個是類比電壓輸出。當溫度感測器連接到一個物理埠,三個引腳每個都連接到相應的物理埠內的連接 點上,從而使介面裝置200通過那些有線連接向溫度感測器供電,並從溫度感測器接收其輸出的電壓。在一些實施例中,物理埠包括至少一個RJ45埠(一個RJ45雌性插口),其提供了八個等距導電通道。一個插入插口的RJ45電纜提供到一個裝置的有線連接,該裝置可能包括或可能不包括一個RJ45插口。在一些實施例中,物理埠包括一個接線端子埠,其包括八個相等間隔的金屬柱,每個可以連接一個設備終端。請注意,這個簡單的接線端子埠可使介面裝置200和幾乎任何類型的裝置相連,只要該裝置具有八個或小於八個連接。
處理單元208負責取樣,分析,並解釋從物理裝置接收到的原始輸入信號(類比或數碼)。例如,如果一個物理裝置是一個溫度感測器,從對應的物理埠接收到的原始輸入信號將是在一定範圍內(如從0到2伏)的類比電壓,這樣,使用和溫度感測器相關的校準資訊,處理單元208可以把該類比電壓轉換成為相應的溫度。在一些實施例中,可以由用戶提供和感測器相關的校準資訊。在一些實施例中,該監測和控制系統保持許多現成的感測器的記錄,並且可以基於感測器的品牌和型號查找校準資訊。此外,處理單元208還負責執行從控制器接收到的控制命令。例如,如果控制器發送一個命令關閉一個溫度感測器,處理單元208將停止向相應的終端供電。
存儲單元210負責存儲各種類型的、有關相連接裝置的資訊,如歷史資料。利用從處理單元208和存儲單元 210獲得的資訊,資料包生成器/解析器212生成通信資料包,並解析從控制器接收到的通信資料包。在一些實施例中,資料包生成器/解析器212能夠生成和解析IP資料包。
有線網路介面214和無線網路介面216提供介面裝置200和一個網路之間的連接,從而連接介面裝置200和控制器。在一些實施例中,有線網路介面214和無線網路介面216允許介面裝置200被連接到互聯網。在一些實施例中,有線網路介面214包括一個乙太網(Ethernet)埠。在另一個實施例中,乙太網埠還通過乙太網供電(PoE)向介面裝置200供電。除了提供與控制器的通信介面,有線網路介面214和無線網路介面216也使介面裝置200與其他對等介面裝置通信。
在一些實施例中,如果介面裝置200還沒有被設置,介面裝置200可以設置無線網路介面216,使其作為一個接入點(access point)。用戶可以使用個人計算設備連接到與介面裝置200相關的無線局域網,以接入該接入點(舉例而言,用戶例如可以從介面裝置200的底盤上的列印文字來確定該無線局域網的SSID和密碼。)。一旦用戶的計算設備連接到接入點,介面裝置200可以向用戶提供一個設置用GUI,這可以通過例如一個HTTP會話得以實現。
當用戶在其個人電腦上啟動一個互聯網瀏覽器時,介面裝置200可以將用戶的互聯網瀏覽器重定到該設置用 GUI,該介面允許用戶按需要設置該接入點。例如,用戶可以設置一個到用戶個人接入點(例如,一個連接到互聯網的無線路由器)的連接,並可以輸入個人登錄資訊以使用一個服務,該服務允許用戶通過互聯網控制介面裝置200。
一旦用戶完成介面裝置200的設置,介面裝置200保存該設置並重新啟動。當介面裝置200重新啟動時,如果介面裝置200確定它已被已正確設置,則介面裝置200可以設置無線網路介面216,使其成為一個無線用戶端裝置,並連接到用戶的個人無線接入點。
在一些實施例中,一個介面裝置還可以是專門設計的、聯通網路的電源板,它可以監控一個連接到該電源板的設備的能源使用情況(如電流和/或電壓)。該電源板裝置可以控制一個連接上的裝置,例如在本地或遠端打開或關閉相應的電源插座。
圖2B示出了根據本發明的一個實施例的一個示例性的介面裝置的軟體架構220。軟體架構220包括一個作業系統內核222,數個設備驅動程式224,數個通信模組228,互聯網伺服器234,和一個微控制器代理模組(mcAgent 226)。特別是,介面裝置200可以把軟體架構220存儲在存儲單元210內,並可使用處理單元208來執行軟體架構220的一個或一個以上模組。
通信模組228可以包括因特網協定(IP)模組230,用於建立和維護一基於IP層協定的、和一遠端裝置的網 路連接,例如使用STUN協定,Comet協定等。在一些實施例中,通信模組228可包括一WebSocket模組232,使用WebSocket協定保持和維護與遠端設備的網路連接。WebSocket模組232可以包括一個用戶空間的應用程式或服務,利用其他內核空間的服務(例如,設備驅動程式224)和/或其他用戶空間的服務來建立和維護該網路連接。
作業系統內核222可以包括任何作業系統,如一個Linux作業系統的變種。微控制器代理(mcAgent)226可包括一個運行在作業系統內核222之上的用戶空間的應用,以實現本文所描述的介面裝置200的功能。例如,mcAgent可以和設備驅動程式224互動,以檢測到一個用戶主導的事件(例如,從用戶輸入設備,如燈開關),定期監測感測器的輸入(例如,一個運動感測器),和/或控制一輸出設備(例如,一個電源)。同時,mcAgent可與通信模組228互動,以建立一個到遠端控制器和/或一個或一個以上遠端介面裝置的網路連接,和/或通過相應的網路連接發送資料到該控制器或遠端介面裝置,或從該控制器或遠端介面裝置接收資料。
設備驅動程式224可以包括一個或一個以上可以通過一個虛擬文件介面(例如,在Linux文件系統中/proc目錄下的一個虛擬文件)使用的內核空間驅動模組。通過對一個對應於一個目標裝置的虛擬文件的讀寫,通信模組228和/或mcAgent 226可以和設備驅動程式224互動。
設備驅動程式224可以包括,例如,用於訪問和控制一個網路介面的網路設備驅動程式,上述網路介面例如一個乙太網控制器,一個Wi-Fi控制器,或一個藍牙控制器。作業系統內核222可以通過使用網路設備驅動程式與一個遠端電腦設備進行通信。同時,通信模組228可以使用網路設備驅動程式,以建立和維護一個和控制器和/或對等介面裝置的網路連接。
作為另一個例子,設備驅動程式224可以包括驅動模組,其通過一個處理單元的通用輸入輸出(GPIO)埠、該處理單元的一個串列介面、或該處理單元的一個通用非同步接收器/發送器(UART)埠,監視或控制一週邊設備。例如,串列介面可以包括一個串列外設介面(SPI)匯流排,一個跨積體電路(I2C)匯流排,或任何現在已知的或以後開發的串列介面。
在一些實施例中,週邊設備可以包括一非永久性存儲設備(例如,一個隨機存取記憶體(RAM)模組),或一個永久性存儲設備(例如,快閃記憶體設備)。在其他一些實施例中,週邊設備可以包括一個移位寄存器,模數轉換器(ADC),數模轉換器(DAC),輸出功率調節器,繼電器,以交流三極管(TRIAC)為基礎的裝置,等。進一步,週邊設備也可以包括一個用戶輸入裝置,如對觸摸敏感的用戶介面。
微控制器代理
在一些實施例中,微控制器代理(mcAgent)226管理介面裝置做出的操作,例如管理來自多個遠端裝置的資料訂閱,和處理在檢測到新事件時所觸發的規則。在操作過程中,mcAgent 226可以接收來自遠端裝置(例如,一個控制器或介面裝置)的資料訂閱請求,在這時mcAgent 226可以把該資料訂閱請求插入到資料訂閱庫中。該資料訂閱請求可以指明被訂閱的資料的類型,和一個讓mcAgent 226推送資料到遠端裝置所需要滿足的條件(例如,最小或最大閾值)。
並且,mcAgent 226可以定期從各種輸入感測器採集資料樣品,並將資料推送到一個已訂閱某一類型資料更新的遠端裝置上。McAgent 226可以從輸入感測器或裝置定期在預定的時間間隔(例如,每15毫秒)採集資料樣品。每一次mcAgent 226獲得一資料樣品,mcAgent 226可以將被採集的樣值(或上一個採樣值的變化)和一個或一個以上的、和一組資料訂閱相關的閾值進行比較。如果採樣值(或值的變化)滿足訂閱請求,mcAgent確定一個與該資料訂閱相關的遠端裝置,並將採樣資料值推送至該遠端裝置。在一些實施例中,系統可以,例如,使用與該遠端裝置的持續不斷的網路連接相關的網路位址資訊(例如,使用WebSocket模組232)將採樣資料值推送至該遠端裝置。
在一些實施例中,該遠端裝置是一介面裝置,其利用採樣資料,以確定是否做出一個規則的操作。
在另一些實施例中,該遠端裝置可以包括一個控制器,該控制器收集資料,和/或把資料呈現給用戶。例如,一個用戶可以設置該控制器,以存儲一個事件日誌,其包括在介面裝置200上、滿足一定條件的事件。該控制器可以建立和維護與介面裝置200的網路連接,並在用戶指定的條件下,通過向介面裝置200訂閱採樣資料來填充事件日誌。
作為另一個例子,通過控制器,用戶可以使用個人電腦設備監測從各種介面裝置來的資料。用戶訪問控制器上的一個“地圖”用戶介面(UI),這樣的地圖用戶介面在一個地圖上示出和介面裝置200相關的感測器,也可以在地圖上示出所採樣的即時資料。因此,為了向用戶顯示即時資料,該控制器可以建立和保持一個持續不斷的到介面裝置200的網路連接,並訂閱介面裝置200採樣的資料。該訂閱可以指示將採樣資料周期性地,在預定的時間間隔(例如,每一秒)推送至控制器,或在採樣資料值產生至少一個限度的變化時將其推送至控制器。這樣,當用戶瀏覽地圖用戶介面時,控制器可以近即時的接收感測器資料並向用戶顯示。當用戶離開在地圖用戶介面上的感測器時,或者當用戶關閉地圖用戶介面時,控制器可以向介面裝置200發送一個請求,以取消資料訂閱。如果控制器不需要發送資料到介面裝置200或從其接收資料,則控制器還可以斷開到介面裝置200的網路連接。
示例性的介面裝置
圖2C示出了根據本發明的一個實施例的一個示例性的mPort介面裝置的裝置架構240。裝置架構240可以包括一個快閃記憶體記憶體246,其用於存儲資料以及用來運轉該mPort介面裝置的軟體指令,以及一個處理單元242和一個用於執行指令的存儲裝置244(如隨機存取記憶體(RAM))。
裝置架構240可以包括數位輸入252,和數位輸出254。數位輸入252可連接到一個或一個以上外部裝置的數位輸出信號上,上述外部裝置如門感測器,撥動開關等。數位輸出254可連接到一個外部裝置上以便設置或控制該外部裝置,或可以連接到一個mPort裝置的輸出顯示(例如,一液晶顯示(LCD),或發光二極體(LED)指示器)上。
裝置架構240還可包括至少一個模數轉換器(ADC)255,它將一類比信號的物理量轉換為表示該物理量振幅的數位信號(例如,一個二進位數字)。在一些實施例中,ADC可以通過類比輸入256連接到一外部裝置,如一感測器,用於對與該感測器相關的物理量進行採樣。類比輸入256可以包括一個差分對,ADC 255用它對相應的類比信號採樣。處理單元242可以通過數位介面的引腳或通過串列匯流排從ADC 255讀取資料,並將該代表與相連感測器相關的物理量的資料存儲或進行操作。
例如,在一些實施例中,類比輸入256可連接到一個 溫度感測器的差分對(未顯示)上。該溫度感測器可以在差分對上提供一個連續的類比信號,這樣類比信號代表由溫度感測器的一個檢測部分檢測到的一個溫度物理量。此外,處理單元242可以通過數位輸出254與感測器連接,以便對感測器進行校準,或設置感測器的運轉操作(例如,設置一個測讀期間)。
裝置架構240可以包括一個或一個以上模組與外部裝置通信。例如,裝置架構240可以包括通信模組247,其可以包括連接到一個乙太網埠249的乙太網模組,和/或可以包括或被連接到一個無線模組248(例如,一個Wi-Fi模組,或藍牙模組)。裝置架構240還可以包括一個序列埠250(例如,一個UART埠用的RS-232插口),它可以連接到一個外部裝置,並且可以被處理單元242使用,以監測和/或控制週邊裝置。週邊裝置可以包括一個設備(例如,HVAC(暖通空調系統)),或任何可以通過UART埠250通信的電子或電腦設備。
圖2D示出了根據本發明的一個實施例的一個mPort介面裝置258。具體而言,裝置258的底盤包括到至少一個重定開關,一個乙太網埠,一個通用串列匯流排(USB)埠,一個乙太網埠,一個序列埠,和一組和一個或一個以上外部設備的連接(例如,通過RJ-45埠,或通過連接端子)的通道。裝置258還可以包括無線網路裝置,如內部Wi-Fi模組。
同時,mPort介面裝置258可以包括一組LED指示 燈。當mPort介面裝置258正確連接到電源時,電源LED指示燈變成為穩定的綠色。當一個有效的乙太網連接建立時,乙太網LED指示燈亮成穩定的綠色,並在乙太網連接有活動時閃爍。當mPort介面裝置258開箱首次啟動工廠默認模式時,一個狀態LED燈亮成穩定的黃色,當裝置258已成功地集成到一個網路上並正常工作時,該狀態LED燈亮成穩定的綠色。同時,當定位按鈕(Locate button)在mFi控制器軟體中使用,以在地圖上顯示裝置258時,狀態LED閃爍。
圖14A示出了根據本發明的一個實施例的一個mPort介面裝置1400的成角度視圖。具體地說,該裝置1400包括一組與一個或一個以上外部物理裝置的連接(例如,通過RJ-45埠1402,或通過連接端子1404),包括重定按鈕1410,並包括LED指示燈1412。裝置1400還可以包括一個通用串列匯流排(USB)連接器1406,和一個乙太網埠1408,這有利於把裝置1400連接到一個電腦網路或其他設備上(例如,用於設置裝置1400的個人電腦)。
圖14B示出了根據本發明的一個實施例的一個mPort介面裝置1430的一個側視圖。具體而言,裝置1430的側視圖示出了一組LED指示燈,並示出了兩個RJ-45埠和一組連接端子,其可以連接到一個或一個以上外部物理裝置。
圖14C示出了根據本發明的一個實施例的一個 mPort介面裝置1460的一個側視圖。具體而言,裝置1460的側視圖示出了一個通用串列匯流排(USB)埠,一個乙太網(Ethernet)埠,和一個重定按鈕。
圖15A示出了根據本發明的一個實施例的一個mPort介面裝置1500的成角度視圖。具體地說,該裝置1500包括一個串列介面1502(例如,一個RS-232埠,RS-422埠,和/或RS-485埠),可以連接一個週邊裝置(例如,一個電器設備),並包括連接端子1504,其可以連接一個物理裝置(例如,一個感測器)。裝置1500還包括重定按鈕1510,和LED指示燈1512。裝置1500還可以包括一個通用串列匯流排(USB)連接器1506,和一個乙太網埠1508,這有利於把裝置1500連接到一個電腦網路或其他設備上(例如,用於設置裝置1500的個人電腦)。
圖15B示出了根據本發明的一個實施例的一個包含天線連接器1522的mPort介面裝置的成角度視圖。具體來說,天線的連接器1522包括雄性同軸連接器,它可以連接到無線模組使用的的天線上,該無線模組如Wi-Fi模組(例如,圖2C中的無線模組248)。
圖15C示出了根據本發明的一個實施例的一個mPort介面裝置1540的側視圖。具體而言,裝置1540的側視圖示出了一組LED指示燈,一個天線連接器,並示出了一個串列連接器和一組連接端子,其可以連接到一個或一個以上外部物理裝置。
圖15D示出了根據本發明的一個實施例的一個mPort介面裝置1560的側視圖。具體而言,裝置1560的側視圖示出了一個通用串列匯流排(USB)埠,一個乙太網(Ethernet)埠,和一個重定按鈕。
圖2E示出了根據本發明的一個實施例的一個示例性的mPower介面裝置的裝置架構260。裝置架構260可以包括一個快閃記憶體記憶體266,其用於存儲資料以及用來操作mPower介面裝置的軟體指令,以及一個處理單元262和一個用於執行指令的存儲裝置264(如RAM)。
裝置架構260可以包括一個或一個以上功率輸出模組270,每個功率輸出模組270可以包括一個功率輸出控制器274(例如,一個Prolific PL7221積體電路(IC)裝置),一個繼電器272,和一個電源插座276。處理單元262,通過使用數位介面的引腳或串列匯流排以控制相應的功率輸出控制器274,可以啟用或禁用通過電源插座276傳送的電力,此時功率輸出控制裝置274可產生用於打開或閉合繼電器272的電氣信號,來啟用或禁用到電源插座276的電傳輸。處理單元262也可以設置功率輸出控制器274,以監測電源插座276的電量消耗,例如,定期獲得相應的電氣負載的功率測量。
處理單元262可以設置功率輸出控制器274,以對電源插座276的功率信號的物理量進行採樣,並可以通過數位介面引腳或串列匯流排獲得採樣值。採集的物理量可包 括電流,電壓,有功功率,無功功率,視在功率,和/或其他功率信號的物理量。
在一些實施例中,裝置架構260可包括一個電流調節裝置(例如,一個TRIAC器件,未顯示)以控制提供給一外部裝置的功率。當功率信號的相位達到一定的相位角時,功率輸出控制器274可以在一個可確定的時間間隔中提供一個觸發脈衝給電流調節裝置,以向外部裝置提供想要的功率水平。例如,當電源插座276連接到一燈具,功率輸出控制器274可以控制電流調節器,作為一種調整燈具的亮度水平的手段。另一個例子是,當電源插座276連接到感應電動機(例如,通風風扇)時,功率輸出控制器274可以控制電流調節器,作為一種調節電機軸(例如,風扇的葉片)的旋轉速度的手段。
裝置架構260還可以包括一個序列埠267,它可連接到一個接受來自電源插座276的供電的週邊裝置。例如,週邊裝置(例如,計算設備)通過電源插座276通電啟動後,該在裝置運作時,處理器262可以使用序列埠267來設置週邊裝置,和/或監視和控制週邊裝置。在一些實施例中,如果該裝置沒有通過序列埠267回應命令,處理單元262可以確定週邊裝置已經經歷了一次故障事件,並可以通過電源插座276執行電源關和開的操作,以重新設定該裝置。如果處理單元262需要在週邊裝置的運作中禁用週邊裝置的電源,處理單元262可以使用序列埠267來執行上週邊裝置的關機順序。
裝置架構260還可以包括一個或一個以上模組與外部裝置通信。例如,裝置架構260可以包括通信模組268,其可以包括連接到一個乙太網埠269的乙太網模組,和/或可以包括或被連接到一個無線模組265(例如,一個Wi-Fi模組,或藍牙模組)。
圖2F示出了根據本發明的一個實施例的一個mPower介面裝置278。具體而言,裝置278包括至少一個重置按鈕,一個LED狀態指示燈,一個或一個以上電源插座,和一個電源插頭。當介面裝置278開箱首次啟動工廠默認模式時,一個狀態LED指示燈顯示穩定的黃色,當裝置278已成功地集成到一個網路上並正常工作時,該狀態LED燈顯示穩定的綠色。同時,當定位按鈕(Locate button)在mFi控制器軟體中使用,以在地圖上顯示裝置278時,狀態LED閃爍。
圖2G示出了根據本發明的一個實施例的一個示例性的mDimmer或mSwitch介面裝置的裝置架構280。裝置架構280可以包括一個快閃記憶體記憶體284,其用於存儲資料以及用來操作mDimmer介面裝置的軟體指令,以及一個處理單元282和一個用於執行指令的存儲裝置283。裝置架構260還可以包括一個對觸摸敏感的用戶介面294和用來控制對觸摸敏感的用戶介面294的微控制器288。對觸摸敏感的用戶介面294可包括接近感測器295,運動感測器296,和多個觸敏感測器297。
接近感測器295可以在當一個物體(例如,用戶的手 )接近觸摸敏感的用戶介面294時檢測到這種情況,並且,基於所檢測到的物體與接近感測器295的接近程度,該接近感測器可以生成一個類比信號。例如,接近感測器295可以包括一個紅外接近感測器,它從一個紅外線發射器發出紅外信號,並基於紅外線檢測器所檢測到的紅外線的量(例如,用戶的手所反射的紅外線)生成該類比信號。
觸敏感測器297可以包括電阻式觸摸感測器,電容式觸摸感測器,或任何現在已知的或以後開發的觸摸屏感測器。當用戶觸摸相應的觸敏感測器(例如,感測器297.n)時,觸敏感測器檢測到其觸摸屏表面的電容的增加,並生成反映被檢測到的電容量的類比電壓。
一個相應的觸敏感測器可以包括沿一個維度的鋸齒形狀,如數個沿水平方向連接的V形,並且,觸摸感測器組297.1-297.n可以沿一個用戶介面294的垂直於鋸齒形狀的方向設置(例如,在用戶介面294的垂直方向)。此外,兩個相鄰的觸敏感測器可以放置在靠近的位置,例如,使一個觸敏感測器(例如,感測器297.1)的最低點的沿用戶介面294的垂直方向的座標小於或等於其下相鄰的觸敏感測器(例如,感測器297.2)的最高點。
可供選擇的,一相應的觸敏感測器可以包括任何其他適合實現對觸摸敏感的網格的形狀,並且,觸敏感測器組297.1-297.n可以沿用戶介面294的兩個維度設置,以創建一個對觸摸敏感的表面(例如,一個網格或其他用戶介面模式),其與一組預定的觸摸表面手勢相關聯。
關於運動感測器296,運動感測器296可以包括一個超聲波運動感測器,一個微波運動感測器,一個光學層析運動感測器,或任何現在已知的或以後開發的運動感測器。當一個用戶或一個物體在對觸摸敏感的用戶介面294前移動時,運動感測器296可檢測到它的運動並可以生成一個二進位值以指明一物體已被檢測到。在一些實施例中,運動感測器296可以生成類比或數位值以指明,例如,超聲波測量的變化,微波測量的變化,等等。
對觸摸敏感的用戶介面294為每個接近感測器295、觸敏感測器297.1-297.n,和運動感測器296生成一個數位輸出信號。在一些實施例中,對觸摸敏感的用戶介面294可包括對應於每個感測器的ADC(類比與數位轉換)裝置,將感測器的類比信號轉換到數位二進位信號。對觸摸敏感的用戶介面294可通過一平行匯流排(例如,微控制器288上的數個GPIO引腳),或通過一串列匯流排(例如,微控制器288上的一個SPI或I2C匯流排)提供該數位二進位信號。
在另一些實施例中,對觸摸敏感的用戶介面294可包括對應於每個感測器的施密特(Schmitt)觸發裝置,並且,一個相應的施密特觸發器生成一二進位輸出信號,指明一相應的感測器是否檢測到一個物體。對觸摸敏感的用戶介面294可通過一平行匯流排(例如,微控制器288上的數個GPIO引腳),或通過一串列匯流排(例如,微控制器288上的一個SPI或I2C匯流排)為各個感測 器向微控制器288傳送該二進位數字值。
微控制器288可以定期監測對觸摸敏感的用戶介面294的各種感測器的狀態,例如在約15毫秒的時間間隔。如果微控制器288確定接近感測器295檢測到一個物體,微控制器288可以啟動對觸摸敏感的用戶介面294的光源,以在用戶通過用戶介面294輸入一個裝置控制命令時允許用戶看到用戶介面294。微控制器288啟動光源的方式可以是,例如,通過在一個確定的時間間隔內把光源的亮度增加到一定水平(例如,一個固定的水平,或根據來自周圍的光量的水平)。
並且,如果微控制器288確定觸敏感測器檢測到一個物體的接觸,微控制器288可以基於觸摸屏用戶介面294當前狀態和以前的狀態來確定一個手勢。例如,微控制器288可以確定用戶正在觸摸的用戶介面294的當前區域(例如,當前的狀態),以及,基於以前的觸敏感測器所檢測到的物體的觸摸(例如,以前的狀態),可以確定一個觸摸手勢的方向。一旦用戶已經完成了與用戶介面294的互動,微控制器288可以生成一個手勢,表示用戶的手勢的速度和方向,和/或用戶的手勢經過的距離。因此,微控制器288可以確定用戶向上掃動手指的手勢,或向下掃動手指的手勢,以及手指掃動手勢的速度和經過的距離。
如果用戶沒有用他的手指在觸敏用戶介面294的表面掃動(例如,以前的狀態並不涉及用戶觸摸或掃過用戶介面288),微控制器288可以確定用戶介面294上用戶觸 摸了的一個區域。微控制器288可以生成和儲存一個手勢,其表明用戶介面294中的被用戶觸摸了的部分表面,例如,使用一個數值指明用戶觸摸了的用戶介面294的垂直座標。處理單元282可以設置燈具的輸出功率,使其達到與該數值對應的光強度。
在一些實施例中,處理單元282定期(例如,在約15毫秒的時間間隔)從微控制器288獲得感測器讀數和/或檢測到的手勢。同時,處理單元282可以使用所獲得的資料,以選擇一組規則來進行評估,並可以做出任何其條件已滿足的規則所相關的操作。處理單元282也可以選擇一組已經預訂一資料(例如,有關檢測到的運動和/或檢測到的手勢的資料)的遠端裝置,並可以使用與相應的網路連接相關聯的網路位址資訊把該資料發送到選定的裝置。
裝置架構280可以包括一個或一個以上通信模組285以便與外部設備通信。通信模組285可包括或被連接到一個無線模組286(例如,一個Wi-Fi模組,或藍牙模組),和/或可以包括連接到一個乙太網埠的乙太網模組(未顯示)。裝置架構280還可以包括一個序列埠287(例如,一個UART埠用的RS-232插口),它可以連接到一個外部設備,並且可以被處理單元282使用,以監測和/或控制週邊設備。週邊設備可包括一個電器(例如,HVAC(暖通空調系統)),或任何可以通過序列埠287通信的電子設備或電腦設備。
裝置架構280還可以包括功率控制模組290以控制和/或調節輸出功率信號,並且可以包括功率輸出控制器289,以設置和監測功率控制模組290的輸出功率。裝置架構280也可以包括電源端子292,用於向電氣負載提供功率輸出信號,電氣負載如燈具,電動馬達,HVAC系統,等等。在一些實施例中,裝置架構280實現了一個燈開關(例如,一個mSwitch裝置),並且功率控制模組290包括一個繼電器290.1。當處理單元282確定用戶觸摸了觸敏用戶介面294的表面(例如,觸摸了任何觸敏感測器297),處理單元282可以設置微控制器288,如果是繼電器290.1是閉合的則打開它,或如果繼電器290.1是打開的則關閉它。這種配置允許用戶打開或關閉電連接到電源端子292的一個燈具。通過設置功率輸出控制器289以生成用於打開或閉合繼電器290.1所需要的電氣信號,微控制器288打開或關閉繼電器290.1。微控制器也可以設置功率輸出控制器289,以監測電源端子292的電量消耗,例如,定期獲得相應的電氣負載的功率測量。
在一些實施例中,裝置架構280實現了一個燈調光器(例如,一個mDimmer裝置),並且功率控制模組290包括一個交流三極管(TRIAC)290.2。當處理單元282檢測到觸摸屏上的用戶手勢(例如,通過微控制器288),處理單元282可以設置微控制器288來調節電連接到電源端子292的燈具的亮度水平。例如,當用戶在觸敏用戶介面294上向上掃動手指,處理單元282可以基於的用戶的 手指在觸敏用戶介面294當前的(或最近的)位置,方向,和/或速度確定一個燈具亮度水平。如果用戶點擊觸敏感測器297.1,處理單元282可選擇最高亮度水平,或如果用戶點擊觸敏感測器297.n,可選擇最低(或關閉)亮度水平。處理單元282可以設置微控制器288來調整交流三極管(TRIAC)290.2的輸出功率,讓它和用戶所需的亮度水平相對應。通過設置功率輸出控制裝置289,以讓它生成用於設置TRIAC 290.2、並使其達到並保持在所需的功率輸出水平所需要的電氣信號,微控制器288控制功率輸出。
在一些實施例中,功率輸出控制器289還監測通過電源端子292發送的電流量,發電量,和/或電相位。微控制器288可以在測量值的基礎上校準功率輸出控制器289,以使通過電源端子292所發送的電功率變穩定。如果微控制器288檢測到在電力負載上的變化,例如由於燈具變暗,微控制器288可以調整功率輸出控制器289來彌補在電力負載上的變化,以達到所想要的功率輸出。因此,微控制器288可以使用功率輸出控制器289實現一個反饋迴圈(feedback loop),調節燈具功率以確保一個穩定的(非脈動)的光強度,即使燈具隨著時間的推移而老化。
在一些實施例中,處理單元282可為用戶存儲一個以前的照明水平。例如,用戶可以做一個手指輕掃的手勢,把照明水平調整到所需的水平(例如,用他的手指掃至與所需的照明水平相應的位置)。然後,要關燈時,用戶可 以點擊對觸摸敏感的用戶介面294的任何地方,在這時候,處理單元282為該用戶存儲當前的照明水平,並設置功率輸出控制器289來使電源端子292停止供電。如果用戶在後來的時間點擊觸敏用戶介面294的任何地方來開燈,處理單元282可以基於所存儲的設置對燈具恢復供電至之前的照明水平。
此外,如果用戶做一個快速的向上或向下的手指掃動,處理單元282可迅速上升或下降亮度水平。可供選擇的,如果用戶做一個緩慢的向上或向下的手指掃動,處理單元282可精細地調整燈具的亮度水平,例如,以比可以通過點擊任何觸敏感測器297所能得到的更精細的程度增加或減少亮度水平。
在一些實施例中,處理器282可以控制一個並非電連接到電源端子292的燈具。當處理單元282檢測到一個用戶的手勢的事件(例如,通過微控制器288)時,處理單元282可以將該手勢事件發送到一個已經向本地介面裝置訂閱事件的遠端介面裝置。該遠端介面裝置可以包括一個向燈具提供電源的裝置,如由圖2E所示出的mPower裝置。當該遠端介面裝置接收到該手勢事件時,遠端介面裝置可以使用該事件的資訊,並基於存儲在該裝置的本地規則庫中的一個規則來控制燈具的功率。
在一些實施例中,連接到電源端子292的電負載可以包括一個HVAC系統。例如,處理器282可以設置為基於通過觸敏用戶介面294接收到的用戶輸入的命令來控制 一個HVAC系統。用戶可以向上掃動手指以提高溫度,向下掃動手指以降低溫度,並可通過點擊對觸摸敏感的用戶介面294的表面來觸發HVAC系統的供電。此外,微控制器288可以設置功率輸出控制器289,以監測該HVAC系統的電消耗量,以便於用戶根據用戶的命令以及HVAC系統和/或其他設備的電消耗量來創建控制該HVAC單元的規則。
圖2H示出了根據本發明的一個實施例的一個mDimmer介面裝置298。具體而言,裝置298包括至少一個重置按鈕,一個觸控板區域,和一個狀態LED指示燈。當介面裝置298開箱首次啟動工廠默認模式時,一個狀態LED指示燈顯示穩定的黃色,當裝置298已成功地集成到一個網路上並正常工作時,該狀態LED燈顯示穩定的綠色。同時,當定位按鈕(Locate button)在mFi控制器軟體中使用,以在地圖上顯示裝置298時,狀態LED閃爍。
在一些實施例中,一個mDimmer或mSwitch裝置可以與一個網路橋接介面裝置通過串列通信介面,如一個SPI或I2C介面,進行通信。網路橋接介面裝置可以包括一個到一個局域網的有線或無線的網路連接。
圖2I示出了根據本發明的一個實施例的數個mDimmer介面裝置299,其通過一個串列通信介面連接起來。具體而言,一個mDimmer裝置299.1包括一個網路模組,如乙太網模組或Wi-Fi模組。同時,mDimmer 設備299.2-299.k可能或可能不包括一個網路模組,並可以通過一個串列連接和裝置299.1相連。例如,mDimmer裝置299.1可以用作mDimmer設備299.2-299.k的網路閘道。如果一個mDimmer裝置299.k向一遠端介面裝置訂閱其資料,mDimmer裝置299.k可以通過mDimmer裝置299.1接收即時資料(例如,一個遠端裝置的感測器事件)。一旦mDimmer裝置299.k接收即時資料,裝置299.k可以處理一個或一個以上被該接收到的資料所啟動的規則。
作為資料伺服器的介面裝置
在一些實施例中,介面裝置200可以作為一個資料伺服器使用,把從一個連著的物理裝置來的即時資料發送至一個已訂閱該資料的遠端裝置(例如,圖1B中電腦集群152上的一個控制器)。例如,資料包生成器/解析器212可以接收來自遠端裝置的條件訂閱請求,這將使遠端裝置訂閱來自介面裝置200的條件報警消息。
條件訂閱請求可以指明一個條件,該條件決定了介面裝置200在什麽情況下把一個連接著的物理裝置的狀態更新和/或感測器測量資料發送到該遠端裝置。介面裝置200可以在存儲單元210存儲該接收到的與遠端裝置相關的條件(例如,與該遠端裝置的IP地址和/或它的任何其他網路可達性資訊或設備識別字相關的條件)。然後,當介面裝置200確定該條件已滿足(例如,當一個連接著的物 理裝置的感測器測量資料滿足該條件),介面裝置200可以發送一個相應的條件報警消息至遠端裝置(例如,基於該設備的網路可達性資訊)。介面裝置200可以利用與到遠端裝置的網路連接相關聯的網路位址資訊,把相應的條件報警消息發送至該遠端裝置。條件報警消息可以指明該條件已滿足,和/或可以指明該連接到介面裝置200的物理裝置的一個狀態和/或感測器測量。
作為資料用戶端的介面裝置
在一些實施例中,介面裝置200可以作為一個資料的用戶端,來接收來自遠端介面裝置或一中央控制器的狀態和/或感測器測量資料(例如,一個或一個以上連接到該遠端介面裝置的物理裝置的有關資料)。介面裝置200可以使用它接收到的資料來修改它的工作狀態。具體而言,存儲單元210可以存儲一個或一個以上複合規則,該規則由介面裝置200執行。一個複合規則可以指明一組觸發一個操作的條件,並可指明該操作的操作描述。介面裝置200可以在接收到的資料的基礎上選擇和處理規則,並基於規則的操作描述修改其工作狀態。
中央控制器可以分析一組規則來確定這樣一個遠端介面裝置:介面裝置200需要從該遠端介面裝置接受一個物理裝置的資料,並確定與該資料相關的條件。例如,控制器可以決定,當一個物理裝置X確定溫度已經達到100℉以上時,該控制器需要接收來自連接到一個遠端介面裝置 Y的該物理裝置X的溫度測量。該控制器可以向介面裝置200提供該遠端裝置的裝置接入資訊,該介面裝置200用它來建立與遠端裝置的網路連接。
具體而言,介面裝置200可以使用資料包生成器/解析器212來發送條件訂閱請求至遠端介面裝置,這使介面裝置200訂閱並從該遠端介面裝置接收條件報警消息。一旦介面裝置200已成功訂閱條件警報消息,一旦所需的條件已經滿足,遠端介面裝置將向介面裝置200發出條件報警消息。條件報警消息可以指明該條件已滿足,和/或可以指明一個連接到該遠端介面裝置的一物理裝置的狀態和/或感測器測量。
一旦資料包生成器/解析器212接收到一個條件報警消息,介面裝置200可以使用存儲單元210儲存條件報警消息的狀態/測量資料。此外,處理單元208從存儲單元210中確定一個或一個以上這樣的規則:從條件報警消息中收到的的狀態/測量資料,和/或從其他近期的存儲在存儲單元210的狀態/測量資料中,該規則的條件得到滿足。處理單元208可以執行任何一個條件已經滿足的規則的操作描述。
系統運行
返回到圖1,控制器102及周邊設備106和108之間的通信是通過交換通信資料包實現的,如通過網路106交換IP資料包,該網路可以是一個IP網路。在一些實施例 中,裝置108處理從連接的裝置110.1-110.n收到的原始輸入資料(例如,通過將原始類比或數位資料轉換成有意義的資訊,如溫度或濕度讀數)。介面裝置108.1將轉換資料封裝成為IP資料包,並發送資料包到控制器102,從而使用戶104得以查看這些資訊。此外,用戶104可發出一個命令,如建立一個規則用於控制連接著的物理裝置的操作。控制器102可以將該用戶命令封裝成IP資料包,並發送這些資料包到相應的介面裝置(例如,裝置108.1和108.m),介面裝置進而解析這些資料包,並執行用戶命令。注意,因為網路106可以包括互聯網,用戶104和控制器102可以在任何使他能夠接入網路106的地點,而仍然能夠監測和控制物理設備110。
圖3A是一個流程圖,示出了一根據本發明的一個實施例的示例性方法300,其用於設置一個裝置控制器。在系統的初始化過程,控制器發現數個作為系統的一部分的介面裝置(也稱為mPorts)(操作302)。在一些實施例中,控制器和mPorts是在同一個局域網(LAN)域內。在另一些實施例中,控制器與mPorts通過廣域網(WAN),如互聯網,相連接。
為了發現介面裝置,該控制器可以從用戶處接收用戶的登錄資訊,並且控制器識別與用戶的帳戶相關聯的介面裝置。控制器可以通過每個介面裝置的MAC位址和/或通過其IP位址識別每個介面裝置。同時,在發現階段,控制器還可以自動檢測某些連接到用戶的介面裝置的物理裝 置(如和製造mPorts的相同供應商製造的裝置),無論用戶是否已經註冊了這些裝置,使其和他的用戶帳戶相關。
隨後,該系統可接受連接到該介面裝置的第三方的物理裝置(例如,連接到mPorts的專用設備)的資訊(操作304)。例如,用戶可以和一個控制器提供的用戶圖形介面(GUI)進行互動,為該第三方裝置輸入一個型號,並確定該第三方裝置是和哪一個mPort相連(例如,通過它的MAC地址識別確定),是和該mPort的哪一個埠相連。記得,該mPort裝置可以通過一個類比終端,或通過一個串列通訊埠,與一個物理裝置相連接。該系統可以使用該物理裝置的型號來確定該裝置的一個描述性的標簽,確定可以從該裝置觀測到的資料類型(例如,類比或數位值,和觀測值的一個描述性的標簽),以及確定哪些類型的資料值可以提供給該物理裝置。在一些實施例中,如果系統不能識別該物理裝置,用戶可以使用該GUI輸入參數,該參數指明預計可以從該物理裝置得到的資料值或可提供到該物理裝置的資料值,以及這些資料值的描述性標簽。
系統還可以從用戶那裏接收有關該介面裝置配置的設定(操作306)。在這個過程中,用戶可以與GUI互動,在一個地圖上指明用戶放置或安裝的裝置的位置,可以指明這些裝置如何操作。例如,用戶可以指明一個mPort裝置的操作時間表,並可以指明一個時間表和/或頻率, 用於監控該裝置上的某個埠。
控制器還接收一個或一個以上由用戶定義的規則(操作308)。每個規則定義了觸發一個操作的條件,以及一旦滿足了這些條件將發生哪些操作。一個規則的條件可以包括條件元素,其把一個或一個以上物理量的感測器測量值作為輸入資訊。檢測到的物理量可以包括,例如,時間值,溫度,濕度,功率水平,電壓,電流,檢測到的運動,開/關狀態(例如,關於一個電負載),打開/關閉狀態(例如,關於一個門),光照水平,(例如,環境光),和水分含量。
進一步,一個條件元素可以包括一個比較操作,可以通過把一個感測器測量值和一個預定值(例如,一個恒定值)或另一個感測器測量值進行比較從而進行計算。該比較可以包括,例如,感測器測量值是否大於,小於,或等於該預定值或另一個感測器測量值。一個條件元素還可以包括一個對於和時間相關的物理量的評估或比較。例如,條件元素可以將當前時間作為輸入,並把當前時間和預定時間值比較。另一個例子是,條件元素可以將一個感測器的當前狀態的持續時間作為輸入,如感測器的狀態保持其當前值的時間、或感測器的狀態持續高於或低於預定的閾值的時間。條件元素可以把該時間段和一個預定的時間進行比較,例如,以確定感測器的狀態是否已經在當前值(或一個給定的閾值以上)至少10分鐘。
在一些實施例中,一個規則可以是一個複合的,涉及 到多個裝置的規則。一個條件元素可以包含一個邏輯運算元,它可以通過在一個或一個以上條件元素的結果之上進行邏輯運算來評估。例如,一個規則可以規定,一旦一個門感測器檢測到門被打開了,並且一個運動感測器確定房間內沒有檢測到運動(例如,意味著一個人正在進入房間),那麽一個燈開關應當自動打開房間內的一盞燈。並且,另一個規則可以規定,一旦門被打開了,並且之前房間內已經檢測到運動(例如,意味著人正離開房間),那麽燈開關應當關掉燈。注意,這些規則定義了觸發相應動作(例如,把燈打開或關閉)的條件(例如,門被打開以及是否檢測到運動),並可以涉及多個裝置(例如,門感測器,運動感測器,和燈開關)。該控制器可以進而在規則庫中存儲這些規則(操作310),從而在規則定義和物理裝置資料的基礎上設置控制器,使其做出操作。
一個規則的操作描述指明了一個或更多的當條件準則被滿足時應被執行的操作。操作描述可以包括一個或一個以上的應被做出的操作,比如將一個數位輸出信號開啟或關閉,其帶有一個可選的時間限制(如,把數位輸出信號開啟或關閉10分鐘,或者10分鐘後把數位輸出信號開啟或關閉)。另一個例子是,操作描述可以指定一個腳本,其被介面裝置所處理。該腳本可以包括一系列的指令,其被介面裝置做出,以實現所需的結果。還有,操作描述可以指明,介面裝置將發送一個消息到一個目標實體(如,一個電子郵件消息),或者生成一個事件並存儲在一個事 件日誌中以便一個管理員看到。
在一些實施例中,如果介面裝置(mPorts)執行規則(例如,在實施一個分散式控制系統時),本地控制器(例如,用戶的個人計算設備)可以將已定義的規則發送至連接著物理裝置的介面裝置。例如,本地控制器可以將規則發送至一個與應該執行該規則的介面裝置相關聯的IP位址,或者可以將規則通過與介面裝置的網路連接發送到該介面裝置。
圖3B是一個流程圖,示出了一根據本發明的一個實施例的示例性方法350,其用於呈現配置資料和/或感測器資料。在操作過程中,控制器可以提供給用戶一個圖形用戶介面,其允許用戶選擇一個或一個以上要監控的物理裝置。該控制器可接收一個來自用戶的關於一個或一個以上要監控的物理裝置的選擇(操作352),並且,作為對該選擇的接收的回應,控制器獲得該物理裝置的歷史和/或即時資料(操作354)。該系統可以從一本地感測器資料庫獲得該資料(例如,在本地資料庫中),或可以從與物理裝置相連接的介面裝置那裏請求資料。然後,該控制器可以呈現與這些物理裝置相關的裝置配置資訊,也可以通過圖形用戶介面向用戶呈現歷史和/或即時資料(操作356)。例如,用戶可以選擇一個溫度感測器,那麽和溫度感測器相關聯的mport將該感測器檢測到的溫度在指定時間段內發送給控制器。該圖形用戶介面可包含一張地圖,其在溫度感測器的相應的位置示出一個溫度感測器的 圖示,可以在地圖上感測器的圖示旁邊顯示當前或近期的溫度測量。該圖形用戶介面也可以包含一個表或線圖,用來呈現溫度感測器的歷史溫度測量。
用戶介面視野
圖4A是一個流程圖,示出了一根據本發明的一個實施例的示例性方法,其用於設置一個用於一空間視圖圖形用戶介面(GUI)的裝置佈局空間。在操作過程中,控制器可以接收裝置部署區域的部署空間資料(操作402)。部署空間資料可以包括,例如,一個已經部署了一組物理和/或介面裝置的室外區域的地圖座標(例如,一街道地圖)。或者一個代表一室內區域(例如,一個樓層平面圖)或室外區域的地圖的圖像。另一個例子是,部署空間資料可以包括一個在其中已經部署了一組物理裝置的一個房間的靜態圖片,或者可以包括該房間或空間的即時視頻傳送(例如,從一個俯仰變焦攝相機(tilt-zoom camera))。用戶可以從一個可以被他的個人計算設備使用的存儲裝置中選擇一個已有的圖像文件,並為一個給定的空間上傳該圖像,或選擇一個該圖像或即時傳送的來源(例如,一個網路位址,一端口號,和/或客戶證書)。用戶還可以通過給該空間照一張照片(例如,使用一個連接到一智慧手機,平板電腦,或筆記本電腦的相機)並上傳該照片到控制器以實現該圖像的上傳。
如果部署空間資料是對應於一個室外區域的地圖,用 戶可以通過指明一個覆蓋了該組已部署裝置的地理區域,從而向控制器提供該部署空間資料。用戶可以通過提供兩個或更多組與該已部署裝置相關的地理座標來指明該地理區域(例如,通過提供一個覆蓋了該裝置的區域的地理座標,或該裝置自身的地理座標),該系統從而可以確定一個覆蓋了該已部署裝置的地理區域以呈現給用戶。可替換地或附加地,該控制器可以提供一個空間視圖圖形用戶介面,其允許用戶瀏覽一個互動式地圖(例如,街道地圖或衛星地圖)。通過瀏覽該互動式地圖至覆蓋該已部署裝置的地區(例如,在一搜索框內輸入城市名稱或郵遞區號,和/或掃過該互動式地圖),和通過調整縮放級別以便覆蓋一個包圍著已部署裝置的所想要的區域,用戶可以提供該地理區域。
一旦控制器接收到部署空間資料,控制器可以提供一個空間視圖GUI,其包括裝置部署空間的視覺化表示(操作404),並可獲得一個或一個以上部署在這個空間的裝置的裝置位置資訊(操作406)。該控制器可以從一個包括多個物理裝置和介面裝置的配置資訊的裝置庫獲取裝置位置資訊。當用戶拖動一個物理裝置或介面裝置的圖示到一個該部署空間的視覺表示上的一個位置上,以致該目標位置表示該裝置的部署位置時,控制器也可以從用戶那裏獲取裝置的位置資訊。一旦用戶完成在該視覺化表示上部署裝置,用戶可以點擊該空間視圖GUI上的一個“保存”按鈕來完成設置,此時控制器可以存儲部署空間資料 和裝置位置資訊(操作408)。
在一些實施例中,當用戶與空間視圖GUI互動時,控制器可接收該一個或一個以上的已部署裝置的近期裝置狀態和/或感測器測量(操作410)。作為對接收到該新資料的回應,控制器可以更新空間視圖GUI,以向用戶呈現此資訊,例如,通過將裝置的圖示和它們近期的狀態和/或測量資料覆蓋在裝置部署空間的視覺化表示上(操作412)。
圖4B是一個流程圖,示出了一根據本發明的一個實施例的示例性方法430,其用於展示和更新一空間視圖GUI。在操作過程中,控制器可以顯示一空間視圖GUI,其示出了一裝置部署空間的視覺化表示,其上覆蓋著裝置圖示和相應的狀態和/或感測器測量資料(操作432)。例如,控制器可以使用一個圖示以展示裝置的狀態,該圖示指明該裝置是否正在工作(例如,正在被利用),可用但正在停用中(例如,未被利用),或無回應(例如,已關閉,沒有網路連接,或故障的情形)。此外,通過顯示一個字母數位值或任何代表近期測量值的圖像(例如,一個代表溫度讀數的數值,或一個LED圖像以代表開/關值或任何二進位值),該控制器可以呈現該裝置的感測器測量資料。
在一些實施例中,控制器可以確定它是否已收到來自一個裝置的狀態或測量的更新(操作434)。如果是這樣,該控制器可以更新空間視圖GUI來示出更新的裝置狀 態和/或更新的感測器測量(操作436)。然後,該控制器可以返回操作434(例如,在一可確定的延遲期後),以便接收來自同一裝置或不同的裝置的更新的狀態或測量。
否則,如果控制器沒有收到一個更新的狀態或測量,該控制器可以判斷當前顯示的狀態或測量資料是否已超時(操作438)。如果當前顯示的資料已超時,該控制器可以更新空間視圖GUI,以移除超時資料,和/或指出資料已超時(操作440)。然後,該控制器可以返回操作434,以確定它是否已收到來自同一裝置或不同裝置的更新的狀態或測量。
圖4C示出了根據本發明的一個實施例的一個示例性的控制器提供的空間視圖GUI 460。GUI 460包括一中央顯示區462,側面板464,和若干可選擇的標簽,如空間標簽466,資料標簽468,事件標簽470,規則標簽472,和裝置標簽474。中央顯示區462顯示資訊,例如與一選定的標簽相關聯的圖片,圖形,和控制面板。在圖4C中,該選定的標簽是“空間”標簽466,中央顯示區462顯示一建築物的佈局,其使用適當的圖示展示了一組介面裝置(mPorts)和物理裝置的位置。舉例而言,一個圖示476代表一個mPort,一個圖示478代表了一個溫度感測器。
在一些實施例中,通過在用戶電腦中選擇一個已有的地圖或一個房間的圖像,或使用用戶的智慧手機上的相機給一個房間照一張照片,用戶可以上傳一個空間視圖圖像 。在其他一些實施例中,空間視圖圖像可以包括一安全攝像機所拍攝的圖像或即時視頻傳送。在一些實施例中,用戶可以使用從一個基於互聯網的地圖服務(例如,穀歌地圖的互聯網服務)獲取的圖像來示明mPorts和與物理裝置的位置。
側面板464的內容也與“空間”標簽相關聯,並可以顯示一個可用裝置的名單,該可用裝置可以被拖動到在中心顯示區462顯示的空間中的適當的位置。此外,用戶也可以把一個裝置圖示(例如,一個mPort裝置的圖示)從它在空間視圖的當前位置拖動到一個新的位置。在圖4C中,中心展示區462還包括一個縮放滑塊480,其可用於縮放地圖。
圖4D示出了根據本發明的一個實施例的一個示例性的由控制器提供的空間視圖GUI 480。GUI 480包括一個中央顯示區域482,它可以顯示一個用戶選擇的、部署了一組感測器的一個房間的圖像,或可以顯示一個包括了一個房間所想要的部分的、安全攝像頭提供的即時視頻傳輸,或從一用戶的攜帶型手提式裝置取得的即時視頻傳輸。
該用戶可以從GUI 480的側面板上拖動一裝置圖示至顯示區482上的一個和該裝置相關聯的位置。該控制器可存儲該裝置的顯示位置,這將允許系統將裝置圖示覆蓋到顯示區482中相對於該“空間”圖像的同一位置上。在一些實施例中,如果顯示區482正在提供一個掃視/俯仰/變 焦(pan/tilt/zoom)安全攝像機傳來的即時視頻傳送,控制器可以隨著攝像機的掃動,俯仰,和/或變焦調整裝置圖示在顯示區域482中的位置。這使得該裝置圖示看起來鎖定到房間的一部分或位置。同樣,如果顯示區482是從用戶的攜帶型手持裝置提供即時視頻傳送,該控制器能獲得該攜帶型裝置的地理座標和其定向。然後,該控制器確定一組裝置圖示並顯示,並可以在用戶使其攜帶型攝像機移動,掃視,俯仰,和/或變焦時,調整裝置圖示在顯示區482中的位置。
在一些實施例中,用戶可以和一個裝置圖示互動,來控制所展示的資訊的類型,或控制和一個裝置圖示相關聯的介面裝置和/或物理裝置。例如,裝置圖示484.1對應於一個用於測量一個安裝在牆壁上的燈具的電流測量裝置。用戶可以查看該燈具的電流的消耗量,用來確定燈具的燈泡是否已磨損或熄滅。同時,裝置圖示484.2和484.3可以對應一個溫度調節裝置,並可以分別指明當前室內溫度和濕度的測量。
裝置圖示484.4可以對應於一個指明門是打開還是關閉著的感測器,而且裝置圖示484.5可以對應於一個運動感測器(例如,一個建在一燈開關內的感測器)。在圖4D中,用戶啟動了裝置圖示484.5,這使得控制器在一個四分之一圓之內使用顏色來顯示所檢測到的運動水平。該控制器還在裝置圖示的周圍覆蓋了一組控制圖示。控制圖示允許用戶控制相應的裝置所提供的資訊,和/或控制 裝置本身。例如,控制圖示可以包括:“圖表”圖示;“詳細資訊”圖示;“鎖定”圖示;以及“刪除”圖示。
該“圖表”圖示顯示一個用顏色做標記的數值表,其基於裝置的類型,表示低值,平均值,和/或高值,或事件頻率。“詳細資訊”圖示允許用戶為查看物理裝置的詳細資訊而打開一個詳細資訊視圖視窗,該詳細資訊如介面裝置的名稱,型號,和mPort識別字,以及一個和物理裝置相關聯的埠。詳細資訊還可以包括歷史狀態/感測器資料,以及歷史事件。在一些實施例中,詳細資訊視圖視窗也允許用戶控制裝置,如把燈打開或關閉。
“鎖定”圖示是用來把選定的感測器鎖定在空間的圖像的當前位置上,並當感測器圖示是鎖定狀態時禁用感測器的“刪除”功能。“刪除”圖示允許用戶在顯示區482中的位置上刪除該感測器。
如果該裝置是一個基於串口的感測器,控制器還顯示一個“殼”(shell)的圖示,它允許用戶打開一個命令行介面殼(command-line interface shell)用來控制裝置或與裝置互動。
圖4E示出了根據本發明的一個實施例的一個示例性的由控制器提供的空間視圖GUI 490。GUI 490包括一個中央顯示區492,它可以顯示一個由用戶選擇的一個地理區域的地理圖。該控制器可為用戶顯示一個地圖,例如,一個從互聯網的地圖服務(例如,穀歌地圖互聯網服務)而來的地圖,並且用戶可以與地圖互動,並通過滾屏 和/或縮放得到顯示區492的所想要的視圖,以瀏覽到所想要的位置。
該用戶可以從GUI 490的側面板上拖動一裝置圖示至顯示區492上的一個和該裝置相關聯的位置。GUI 490包括一組示範性的裝置圖示,如運動傳感裝置圖示294,功率傳感裝置圖示295,和一個溫度傳感裝置圖示297。在一些實施例中,基於用戶在顯示區域492中放置裝置圖示的位置,控制器可以確定一個與裝置圖示對應的地理位置。該控制器將該地理位置與該裝置建立關聯(例如,在一個裝置位置資訊庫中),這樣,儘管用戶在“空間”中滾屏或縮放,該控制器在顯示區492上相對“空間”圖像的相同的位置上顯示該裝置圖示。同時,通過給予裝置圖示一個地理位置的屬性,用戶可以使用一個在移動設備上的增強現實(augmented-reality)應用來監視和/或控制該裝置。
基於位置的裝置視覺表示
在一些實施例中,控制器允許用戶基於一個或一個以上裝置的位置或地理位置查看該裝置的資料。該控制器可以從裝置的內置GPS(全球定位系統)感測器確定裝置的地理位置,這也可以通過Wi-Fi三角測量法,或通過從一個裝置位置存儲庫獲取裝置的位置識別字或地理位置而實現。
例如,如果用戶正使用一地理地圖用戶介面(UI)查 看裝置的資料(例如,GUI 490),該控制器可以覆蓋資料,使得它包括與地圖UI所包括的地理區域相關聯的感測器的資料。如果地圖UI被縮小,使多個裝置圖示重疊,該控制器可以用一個聚合裝置圖示代替該重疊的裝置圖示。在一些實施例中,聚合裝置圖示表示數個在相應區域內重疊的裝置。在一些實施例中,如果聚合裝置圖示所代表的圖示為同一類型的裝置,控制器可以生成一表明合計值的聚合裝置圖示。該合計值可以表示,例如,一個感測器測量平均值或中位數,感測器測量之和,或任何用數學函數對數個感測器測量值的計算結果。
然後,如果用戶進一步放大該地圖,使得一個或一個以上的裝置已不再與其他裝置重疊,該控制器可根據需要更新覆蓋的圖示。例如,該控制器可以更新地圖UI以清晰地顯示非重疊的裝置圖示,並生成聚合裝置圖示,用於指明從剩餘的重疊的裝置圖示那裏計算得到的數值。
在一些實施例中,控制器可以把裝置的資料提供給用戶的移動設備,用於在一個增強現實可視圖中顯示。類似於GUI 490(圖4E),該控制器向該移動設備提供了在UI的顯示區域內(例如,用戶的當前視圖內)的介面裝置和/或物理裝置的裝置資料。因為用戶可以把他的移動設備的攝像機對準一個方向,該方向包括遠處的裝置(例如,遍及一個城市的溫度感測器),該控制器可以只向該移動設備提供距離用戶的移動設備一定範圍內的裝置的資料。
類似於UI 480(圖4D),用戶的移動設備把裝置圖示覆蓋在從該移動設備上的攝像頭拍攝到的即時圖像傳送之上。當用戶將其移動設備的相機掃視,俯仰,或變焦時,增強現實系統更新覆蓋的裝置圖示,使其只包括那些在用戶的視野內的裝置的圖示。增強現實系統選擇圖示覆蓋在拍攝到的圖像上面,這是基於用戶的移動設備的指向和地理位置,以及已知的物理裝置和介面裝置的地理位置做出的。用戶可以和一個裝置圖示互動,來控制所展示的資訊的類型,或控制和一個裝置圖示相關聯的介面裝置和/或物理裝置。
生成及處理規則
圖5A是一個流程圖,示出了一根據本發明的一個實施例的示例性方法500,其用於生成並儲存用於控制一介面裝置或物理裝置的規則。一個規則可以包含一個條件,或者可以包括多個條件。例如,一個單個裝置可以與兩個或兩個以上的條件相關聯,或可能有多個裝置,每個至少和一個條件相關聯。規則還可以包括一個操作,是在條件滿足時被執行。
在操作過程中,控制器可以接受(例如,通過一個規則視圖GUI)用戶選擇的一個或一個以上要監控的裝置(操作502)。一介面裝置可以包括一個mPort介面裝置,一個mPower介面裝置,或一個mSwitch或mDimmer介面裝置。
如前所述,該mPower介面裝置可實現一電源板,其可向控制器提供每個插座消耗的功率,並能基於處理一個規則的操作描述的結果控制一個插座的供電。該介面裝置或控制器可從功率測量值中確定一個裝置是否正在被使用或處於待機模式。因此,用戶可以選擇一電源板上的插座,用以監測一個相應的由該插座供電的電器的運行狀態,並且該用戶可以指定一個電壓值作為觸發一個操作的條件。
mPort介面裝置可以與一個或一個以上物理感測器連接,以從每個感測器獲得一個類比或數位值。因此,用戶可以選擇連接到該介面裝置的一個感測器,並可以指定一個原始值(或與原始值相關的描述性標簽)作為觸發一個操作的條件。
控制器還可以接收一個或一個以上裝置的條件值,或嵌套的條件(操作504),和一個條件處理的類型,其表明如何處理從一個或一個以上裝置來的條件(操作506)。例如,條件處理類型可以表明當任何,所有,或一特定數量的單個條件元素(例如,沒有,一個,兩個,所有,等)滿足時,規則的條件得到滿足。在一些實施例中,一個條件元素可以包括一個被監測物理裝置的目標值。
在一些實施例中,一個條件元素可以包含一嵌套的條件,其本身具有一個條件類型。因此,一個規則的條件可以實現複雜的邏輯語句,如乘積之和(SoP)或和的乘積(PoS)的邏輯語句。作為一個例子,該規則的條件可以 包括一個頂級的條件,其表明所有條件的元素都需要滿足(例如,實施一個“和”的邏輯語句),以及一個嵌套的條件,其表明至少其中一個嵌套條件的元素需要滿足(例如,實施一個“或”的邏輯語句)。
在另一些實施例中,一個條件元素可以包含一個“時間表”條件,其表明一個可以處理該規則的時刻或時間範圍期間。介面裝置可以使用一個時間表的時間(例如,啟動時間)來觸發規則的評估,並且/或者,如果規則是由另一個事件觸發的(例如,通過與一個物理裝置相關聯的條件元素),介面裝置可以判斷該規則是否可以被處理。
進一步,控制器可接收一個想要做的操作的操作描述(操作508)。通過與一個規則視圖GUI互動,用戶可以提供操作描述,其指明一個或一個以上由一個或一個以上介面裝置所要做出的操作。這些操作可以包括將介面裝置的一個特定的埠的輸出電壓設置成一個預定的目標值。在一些實施例中,行為描述可以是一個腳本的形式,由一個或一個以上目標介面裝置執行。
一旦用戶設置了規則元素,控制器可以生成該規則,從而在條件處理類型所指明的條件滿足時引發所期望的操作(操作510)。然後,控制器在一規則庫中,例如,在一個介面裝置中和/或在一個應用程式伺服器的資料庫上,存儲生成的規則(操作512)。
圖5B示出了根據本發明的一個實施例的一個示例性的控制器的圖形用戶介面(GUI)。如圖4C,GUI 550 包括中心顯示區,側面板,和可選的標簽。圖5B中,選定的標簽是“操作”標簽,它允許用戶定義一組規則。側面板顯示一先前定義的規則的列表,如門打開規則552。通過點擊一個規則,用戶可以在中心顯示區查看該規則,其包括一個規則名稱欄位554,一條件欄位556,和一個操作欄位558。
條件欄位556包括一組條件元素,其可以觸發該規則的評估,並被分析以確定是否處理規則的操作描述。一個條件元素可以包括變數,其選擇一個裝置或嵌套條件,並且可以包括另一個變數,其定義哪些與該裝置或條件相關的條件將觸發規則。條件欄位556也可以定義該規則是否是在滿足任何條件元素時會被觸發,還是在滿足所有列出的條件元素時會被觸發(未顯示)。
在圖5B所示的例子中,規則的名稱是“規則123”,與該規則相關聯的第一裝置是“插座1”,相應的條件值指明,插座的功率需要大於1瓦能使條件元素得到滿足。與規則相關聯的第二裝置是一個“感測器”,其監視一類比輸入信號,並且用戶可以設置相應的條件值,其指明使條件元素得到滿足的所需達到的最小電壓。通過選擇“添加”按鈕562,用戶可以為另一個物理裝置或介面裝置添加條件元素。同時,通過選擇一個“時間表”按鈕564,用戶可以添加一條件元素,其指明規則的時間表。
操作欄位558顯示一旦條件滿足將要採取的操作。在圖5B所示的例子中,一旦條件滿足,系統會導致插座1 持續10秒為打開狀態,並可以設置一個“樓層風扇”物理裝置被開啟0.08分鐘。用戶還可以添加其他的操作至操作欄位558,如執行一腳本,設置一介面裝置的輸出(例如,控制“樓層風扇”輸出),和/或發送一個通知(例如,通過發送電子郵件到指定的郵件位址和/或產生一個系統警報)。
同時,用戶可以使用GUI 550來編輯和更新現有的規則552,點擊一個新的規則按鈕560來定義一個新的規則,和/或啟用或禁用規則。
圖5C展示了一個用戶介面560,其示出了根據本發明的一個實施例的示例性的預先定義的條件,該條件可以被納入一個規則的條件組。具體而言,條件組562包括一組和各種物理環境相關聯的條件。例如,當一個運動檢測器檢測一個特定的物理空間附近的運動時,條件“視窗2的運動”,”窗口3的運動”,“會議室的運動”,“運動:mFi實驗室1”被評估為“正確”。當一紅外光束被阻斷時,條件“束探測器”被評估為“正確”,這表明一個物體通過一個特定的位置(例如,在門的入口)。當一個相應的門被打開,條件“門1”和“門2”被評估為“正確”。
同時,“時間表”組564可以指明若干與一個用戶相關的時間表。例如,一個“夜間”計劃可以指示在一個給定的建築或空間內,燈具什麽時間不應該被打開,一個“安全”計劃可以對應于一個時間段,在這個時間段內沒有人應當 在一個給定的建築中。一個“後院澆水”和“前院澆水”計劃可以表示一個噴頭可以被啟動以便相應的為後院或前院澆水的時間範圍。
圖6A示出了根據本發明的一個實施例的一個示例性的控制器裝置視圖GUI 600。在圖6A中,選中的標簽是“裝置”標簽,並且,GUI 600的中央顯示區顯示了查看一組裝置相關資料的兩個面板。具體而言,面板602顯示一個用戶可以監測的物理裝置的列表,面板604顯示一個與用戶關聯的介面裝置(mPorts)的列表。用戶可以通過與GUI 600互動手動添加或刪除物理和/或介面裝置,並查看這些裝置的當前工作狀態。
圖6B示出了根據本發明的一個實施例的一個示例性的控制器資料視圖GUI 630。GUI 630包括一個中心顯示區,一個側面板,和一組可選的與各種視圖相關的標簽。圖6B中,被選定的標簽是“資料”標簽,它允許用戶查看從一個或一個以上物理裝置和介面裝置採集的資料。
側面板顯示了三個選擇面板:日期範圍面板632,視圖選擇面板634,和裝置面板636。裝置面板636顯示一個可用裝置的列表,它根據類型分類。通過點擊一個或一個以上裝置,用戶可以在中央顯示區查看裝置的資料。用戶可以使用日期範圍面板632指定顯示的資料的時間段,並可以使用視圖選擇面板634創建一個自定義的、在指定的時間內的資料的視圖。如果用戶創建一個自定義的視圖,系統可以再次使用自定義視圖以便以用戶所需的格式向 用戶呈現資料。在圖6B所提供的示例性視圖中,中央顯示區顯示兩個圖表,其顯示兩個選定的溫度感測器的溫度與時間的對映關係。
在一些實施例中,該中心顯示區也可以在一地圖或空間(未顯示)展示感測器的歷史資料。例如,用戶可以選擇一個時間段或時間範圍,並且系統可更新GUI 630,把一個感測器的值(例如,感測器平均值或一個感測器值的圖表)放置在一個覆蓋在該地圖或空間的圖像上的裝置圖示的旁邊。GUI 630也可以把一組由該裝置隨時間推移所引發的事件呈現給用戶。用戶可以選擇“播放”,“倒帶”,或“快進”按鈕,選擇一個速度,用於查看感測器事件通知如何隨時間推移而被觸發,和/或看感測器值隨時間的變化。另外,用戶可以控制一個“擦”(scrubber)以選擇一個顯示感測器事件和/或感測器的值的特定的時刻或時間間隔。
GUI 630也具有滑鼠懸停功能,允許用戶把滑鼠懸停在資料時間表上,以查看具體的細節,並點擊和加亮時間表的特定區域,以給出時間表的一個特定部分的特寫。在一個實施例中,在用戶將滑鼠指標懸停在資料時間表上時,一個放大鏡圖示出現,並且,當用戶點擊滑鼠指標並把滑鼠指標從時間表一邊拖動到另一邊時,由用戶選擇的時間範圍將被加亮顯示。一旦用戶完成他的時間範圍選擇,視圖中的所有裝置將聚焦到選定的時間範圍。
圖6C示出了根據本發明的一個實施例的一個示例 性的控制器事件視圖GUI 660。GUI 660包括一個中心顯示區,一個側面板,和一組可選的標簽。在GUI 660中所選定的標簽是“事件”標簽,它允許用戶查看與一組裝置相關的歷史事件。請注意,一個事件是指一個規則的一次執行。
側面板顯示了三個選擇面板:篩檢程式面板662,日期範圍面板664,和裝置面板666。中央顯示區顯示歷史事件的資訊。裝置面板666顯示一個由類型分類的可用裝置的列表,用戶可以選擇一個或一個以上裝置以查看其歷史事件資料。篩檢程式面板662允許用戶使用特定的搜索條件篩選資料。更具體地,用戶可以在篩檢程式面板662中輸入一文本字串,那麽控制器採用輸入的文本字串,去除不匹配輸入的文本字串的事件資料,以執行一個即時搜索。用戶還可以使用日期範圍面板664,指定要在中央顯示區顯示的事件資料的時間段。控制器不顯示發生在指定時間段外的事件。
在GUI 660中,中央顯示區包括多個顯示區域,如區域668,670,和672。區域668使用條形圖顯示在指定的時間範圍內產生的事件的時間分佈。每一柵條代表一個單位時間內所發生的事件,單位時間默認設置為2個小時的時間段。用戶可以點擊一個柵條以顯示和時間段相關的事件。
區域670顯示一個餅形圖,顯示在規定的時間內發生的事件的基於裝置的分佈。每次用戶修改搜索或篩選條件 時,控制器可以更新時間分佈圖和裝置分佈圖。區域672是主要的顯示區域,顯示滿足搜索或篩選條件的事件的列表。每個事件條目顯示:一時間欄位,顯示事件發生時的日期和時間;一裝置欄位,顯示產生事件的裝置的名稱;一個類型欄位,顯示事件的類型;一個數值欄位,顯示觸發事件的值;和一個規則名稱欄位,顯示觸發事件的規則的名稱。當用戶滑鼠懸停在一個事件上時,控制器可以顯示一個呈現裝置在相應的“空間”裏的當前位置的窗口,(例如,通過在一地圖上,一個存儲的圖像,或在一個“空間”的即時視頻傳送上覆蓋一個裝置圖示),一個關於數值的24小時概要,事件發生時的數值,和最後的報告值,如區域674所示的。
介面裝置運行時的功能
圖7是一個流程圖,示出了一根據本發明的一個實施例的示例性方法700,其用於在一個本地介面裝置處理一個規則。在操作過程中,本地介面裝置可以檢測到一個觸發規則的事件(操作702),並選擇一個與檢測到的事件相關聯的規則(操作704)。該裝置可以接收來自一遠端裝置的事件,或可以在本地檢測到該事件,如通過監測一本地連接的物理裝置和/或監測一個觸發一規則的時間表條件。為選擇由事件觸發的規則,本地裝置可以執行一個規則查找操作,這個操作從規則庫中選擇至少一個包括與檢測到的事件相關聯的一個條件的規則。例如,遠端裝 置可以包括一個mPort裝置,接收來自門感測器的輸入,本地介面裝置可以選擇一個或一個以上規則,當門感測器表明門是打開還是關閉時,該規則的操作被觸發。
在一些實施例中,一個條件可以包括多個感測器變數,這些變數需要被評估來判斷條件是否得到滿足。此外,該條件還可以包括一個嵌套條件的引用,並且裝置需要先評估嵌套條件來確定它的結果。一旦本地裝置選擇處理該規則,本地裝置可以確定該規則的條件是否要求其他的輸入資料(操作706)。該規則可包括一個或一個以上條件元素,它們和例如,一個物理裝置(例如,一個運動感測器),一個時間表條件,和/或一嵌套的條件相關聯。如果規則的條件不需要其他的輸入,本地裝置可以使用接收到的表明近期狀態的資料,或從遠端介面裝置那裏來的測量資料處理該規則(操作712)。
然而,如果規則的條件確實需要其他輸入,本地裝置可確定規則的其他輸入資料的來源(操作708),如感測器資料,有關規則時序安排的資料,或一個嵌套條件的結果。然後,本地裝置從其他輸入資料來源那裏獲得必要的資料(操作710),並進行到操作712,使用所獲得的與規則相關的狀態和/或測量資料處理規則。
處理規則後,本地裝置可以確定該規則的條件是否已經由裝置狀態和/或測量資料滿足(操作714)。如果是這樣的話,本地裝置可處理一個與規則相關的操作描述(操作716)。否則,本地裝置可忽略該規則,或執行補救措 施(例如,在一個確定的時間段內忽略該規則)。
該操作描述,舉例而言,可以包括一個命令,它把作為目標的一個或一個以上介面裝置或物理裝置設置到一個預定的狀態。另一個例子是,操作描述可以包括一個執行複雜操作的腳本。在一些實施例中,該腳本可以為本地裝置計算一個目標狀態,這是通過執行一個指令序列以便處理一個或一個以上物理裝置的近期和/或歷史狀態和測量來實現的。本地裝置還確定是否有更多的與更新的狀態或測量相關聯的規則(操作718),如果是的,本地裝置可以返回操作704去選擇另一個規則。
注意,可能發生這樣的情況:兩個規則具有重疊的條件(例如,條件允許兩個規則的操作都被執行),而該條件的操作相互衝突。一個規則的操作可能涉及到打開一個燈,而其他規則的操作可能涉及到關上相同的燈。如果兩個規則的處理是“平行”的,兩個規則可以以任何順序執行(不一定是同時執行),這樣一個規則的動作不會影響下一條規則的執行。在上面的控制燈的例子中,如果兩個規則的條件都滿足了,並且這兩個規則基本上被並行執行,燈的最終狀態取決於哪個規則被第二個處理。所以,意外的執行順序可能導致意外的行為。
在一些實施例中,本地裝置每次處理一個規則,並以用戶指定的順序處理。
例如,本地裝置進行操作718,以在一個有序的集合中選擇另一條規則,但這只是在執行操作714和/或716 以處理之前的規則之後。同時,如果執行規則改變了一個裝置的狀態,有序的集合中下一條規則是根據裝置的新的狀態來處理。這樣的規則處理確保從一個介面裝置得到的每個更新的狀態/測量只有一個預期的行為。
基於雲的實施
在一些實施例中,控制器存在和運行在一個伺服器集群(例如,“雲”)中。該控制器可以為多個不同的用戶監測和控制介面裝置,這通過在廣域網上,如互聯網上,使用IP資料包和每個介面裝置進行通信得以實現。當用戶第一次在自己的局域網中部署一個介面裝置,用戶可以把該介面裝置與他的個人賬戶在控制器上配對。例如,用戶可以在設置介面裝置時輸入自己的帳號和密碼。可供選擇的,該用戶可以在不透露他的密碼的情況下把他的介面裝置配對,例如,通過在控制器上註冊他的介面裝置的獨一無二的識別字(例如,一個MAC位址),或通過一個開放式授權的協定授權該介面裝置。
還有,如果用戶想要與控制器互動來監視或控制在自己的局域網內的一個或一個以上裝置,用戶可以通過一個互聯網(Web)瀏覽器訪問該控制器的一個用戶介面,或使用與控制器的Web應用程式介面(Web APIs)相接的應用程式(例如,使用一個智慧手機或平板電腦電腦上的移動應用,或使用一個人電腦上的應用程式軟體)。
圖8示出了一示例性的電腦系統800,其用於把一 個伺服器集群內的一個控制器802和一個局域網內的裝置808相接合。電腦系統800包括連接到廣域網804的控制器802。電腦系統800還包括局域網808內的一個介面裝置810和計算設備812,並包括一個把局域網808和廣域網804分開的路由器/防火牆806。
在操作過程中,在局域網808內的裝置可以建立一個到控制器802的網路連接,或到一個或一個以上在局域網808內的對等裝置的網路連接。例如,控制器802可以在一個資料庫中存儲每個裝置的網路位址資訊,並保持最新狀態的網路位址資訊,以方便與這些裝置進行通信。這允許用戶使用個人電腦(例如,計算裝置812)來重新設置局域網808中一個或一個以上的介面裝置,和/或介面裝置的一個或一個以上規則。用戶的個人電腦可以包括應用軟體,其提供了一個用戶介面,用於監測和/或配置裝置介面網路,並向控制器802上傳任何配置。用戶的個人電腦也可以有一個互聯網瀏覽器,訪問控制器802的用戶介面。
當用戶向裝置介面網路輸入並傳達配置的更改時,對於一個或一個以上配置需要更新的裝置,控制器802把用戶的配置編制成為這些特定裝置的配置,並將更新的配置通過與這些介面裝置相應的網路連接相關聯的網路位址資訊發送至這些介面裝置。該特定裝置的配置可以包括介面裝置的網路配置、規則配置、針對一個或一個以上對等裝置的網路位址資訊(例如,用於訂閱資料,作為一個或一 個以上規則的輸入資訊)等的更新。
此外,在一些實施例中,在局域網808內的每個裝置還可以和任何被它訂閱了資料,和/或任何訂閱了它的資料的裝置建立網路連接。該裝置可以作為一個伺服器接收和回應從對等裝置(或從控制器802)來的資料請求。該裝置還可以作為一個用戶端裝置,它能從一個遠端裝置那裏接收主動提供的資料(或對資料的請求),並能使用與到該遠端裝置的網路連接相關聯的網路位址資訊來把即時資料推送到該遠端裝置。因此,即使局域網808與廣域網804斷開(因此,也和控制器802斷開),在局域網808內的裝置可以彼此繼續使用已建立的點對點連接進行通信,並行使伺服器和用戶端的功能。
在操作過程中,控制器802可以從裝置810和裝置812分別通過一個埠隧道通道814.1或814.2接收IP資料包。在一些實施例中,埠隧道通道814可以包括通過長輪詢請求,暫時在路由器/防火牆806上打開一個埠所創建的網路連接(例如,通過如STUN(Session Traversal Utilities for NAT),Comet等協定創建的網路連接)。這些長輪詢請求暫時在路由器/防火牆806上打開一個埠,它可以由控制器802使用,發出一回應資料包。
例如,在一些實施例中,控制器802需要發送未經請求的資料至介面裝置810(例如,即時資料或裝置810的配置),或發送未經請求的資料到計算裝置812(例如,即時資料)。通過定期和控制器802傳遞一個長輪詢消息 /要求(例如,當用Comet時,一個XHR消息,或在用STUN時一個STUN消息),局域網808內的裝置可以和控制器802保持一個持續不斷的網路連接。該消息指明該裝置的一個獨一無二的識別字(例如,一個MAC位址),控制器802用它來在一個裝置接入存儲庫中存儲該裝置的最新的通信埠。
在其他一些實施例中,埠隧道通道814可以包括持續的雙向網路連接,例如用WebSocket協定建立的一個通道。為了建立WebSocket通道,在局域網808內的裝置向控制器802發送一個WebSocket握手請求,這把一個HTTP會話升級成一個WebSocket會話,握手請求可包括一個Sec-WebSocket-Key權杖。控制器802發送一個回應到該裝置來回應,該回應承認該WebSocket會話,並且包括是來源於Sec-WebSocket-Key權杖的Sec-WebSocket-Accept權杖。
之前提到過,與介面裝置網路相關的每個裝置(例如,控制器802,裝置810,或裝置812)包括一個裝置接入存儲庫,它包括網路中的每一計算設備或介面裝置的裝置接入資訊。在一些實施例中,該裝置接入存儲庫把一個裝置的獨一無二的識別字與以下一個或更多資訊建立關聯:在路由器/防火牆806上的與該裝置相關的埠號,為了抵達路由器/防火牆806的IP地址(例如,一個廣域網IP位址),和在局域網808內為了抵達該裝置所用的IP位址。例如,當控制器802需要發送一個資料包到裝置810 或裝置812時,控制器802可以從裝置接入存儲庫那裏確定為抵達該裝置所必要的IP地址和一個近期的埠號。然後,控制器802可以通過路由器/防火牆806的近期的埠號向該IP地址發送資料包。
通過點對點網路連接進行即時資料通信
在一些實施例中,通過從裝置接入存儲庫中獲取對等裝置的裝置接入資訊,一個在局域網808內的介面裝置可以和對等裝置之間進行即時資料通信。裝置接入資訊可以指明一個與到目標對等裝置的網路連接相關聯的網路位址,並可以指明本地介面裝置的授權資訊(例如,用戶名,密碼,和/或證書)。如果到對等裝置的網路連接處於工作狀態,本地介面裝置可以通過網路連接,並使用任何所需的授權資訊,將資料發送到對等裝置。
如果到對等裝置的網路連接不在工作狀態,本地介面裝置可以建立點對點網路連接,這可以例如通過從一個中央控制器獲取該對等裝置的裝置接入資訊而實現。此點對點網路連接提供對等裝置之間的可靠的通信,因為它不需要裝置通過廣域網804通信,也不需要一個中央轉發服務(例如,控制器802)維持或完成對等介面裝置之間的網路連接。
通過轉發服務進行即時資料通信
在一些實施例中,一個在局域網808內的介面裝置可 能無法建立一點對點網路連接,例如,當兩個對等裝置存在於不同的網路域中時。在這種情況下,本地介面裝置可以通過使用一個轉發服務和對等裝置進行即時資料通信,該轉發服務可以由控制器802提供,也可以由一個與控制器802分離的伺服器(未顯示)提供。
裝置接入資訊可以指明一個與轉發服務的網路連接相關聯的網路位址,一個對等裝置的獨一無二的識別碼,以及本地介面裝置的授權資訊(例如,用戶名,密碼,和/或證書)。例如,如果本地裝置沒有到對等裝置的網路連接,本地介面裝置可以通過轉發服務,並使用所需的任何授權資訊,將資料發送到對等裝置。這允許兩個對等裝置相互間進行即時資料的通信,即使兩個裝置不在同一網路域內。
作為另一個例子,通過到轉發服務的網路連接,本地介面裝置可以從多個對等裝置接收即時資料。該轉發服務可以保持到每個介面裝置的網路連接,並可以使用到相應的介面裝置的網路連接,向該介面裝置發送該裝置已訂閱的從任何其他對等裝置處來的即時資料。這允許介面裝置從多個對等裝置接收即時資料,而不用保持到每個對等裝置的網路連接。
在一些實施例中,用戶的個人計算設備可以直接與介面裝置通信,或如果沒有直接的網路連接,通過一個資料轉發服務與介面裝置通信。當用戶打開該計算設備(或啟動一個裝置監測應用),該計算設備可以使用它為了以前 的網路配置的快照所存儲的一個網路位址資訊與其他裝置進行通信。如果本地沒有該網路位址資訊,用戶的計算設備也可以從中央控制器得到該網路位址資訊。
圖9是一個流程圖,示出了一根據本發明的一個實施例的示例性方法900,其用於建立到一個遠端裝置的網路連接,該連接基於從一個該遠端裝置的中央控制器接收到的網路位址資訊。如上所述,該網路連接可以包括一個雙向通道,其用WebSocket協定,STUN協定,Comet協定,或任何其他的現在已知的或以後開發的通信協定建立與保持。
在操作過程中,用戶的計算設備確定一個需要與它建立通信的遠端裝置(操作902),並確定計算設備是否具有該遠端介面裝置的網路位址資訊(操作904)。用戶與用戶介面互動,以對介面裝置進行監測,設置,和/或控制;作為回應,該計算設備可確定它需要建立一個到該遠端裝置的網路連接。該計算設備可確定它是否具有遠端裝置的網路位址資訊,例如,這可以通過在裝置接入存儲庫中搜索相應的條目得以實現。
如果是這樣的話,該計算設備基於該網路位址資訊建立和遠端裝置的網路連接(操作908),如點對點網路連接,或通過資料轉發服務的網路連接。
但是,如果計算設備沒有該網路位址資訊,計算設備從控制器(例如,圖8中的控制器802)獲取該遠端裝置的網路位址資訊(操作906)。然後,該計算設備推進 到操作908,以基於網路位址資訊與遠端裝置建立通信。
圖10是一個流程圖,示出了一根據本發明的一個實施例的示例性方法1000,其用於建立一個與一個遠端裝置的網路連接,該連接基於被存儲的該遠端裝置的網路位址資訊。在操作過程中,用戶的計算設備確定一遠端裝置的網路位址資訊(操作1002),並基於網路位址資訊測試與該遠端裝置的點對點連接(操作1004)。在一些實施例中,該計算設備可以通過發送一個訪問對等裝置中的一個預定的文件的請求來測試該點對點連接。該文件可以包含任何預計將由目標遠端裝置存儲的文件,這樣一個成功的請求就確認所需的介面裝置可以通過點對點連接抵達。
然後,該計算設備確定它是否已經成功建立與遠端裝置的點對點連接(操作1006)。如果是這樣,該計算設備通過已建立的點對點網路連接與遠端裝置通信(操作1008)。否則,計算設備可以通過一個資料轉發服務與該遠端裝置建立一個通信通道(操作1010)。
裝置認證和通信安全
在一些實施例中,為建立一個點對點的網路連接,在網路連接的一端的一個裝置需要被網路連接的另一裝置授權或認證。例如,兩個裝置可以通過每個裝置建立一到另一裝置的單向通道而互相通信。建立了一個單向通道的裝置可以作為通信用戶端(例如,訂閱資料的接收方),承 載了資料的裝置可以作為通信伺服器(例如,發出被訂閱的即時資料的發件人)。
一個單向通道可以使用STUN協定,Comet協定,XHR消息,或任何其他的現在已知的或以後開發的通信協定來建立和維護。然而,兩個裝置也可以建立一個持續不斷的雙向通信通道,如用WebSocket協定建立的通道,或任何其他現在已知的或以後開發的協定建立的雙向通信通道。
在一些實施例中,控制器可以給每個介面裝置提供每個可以從該介面裝置訂閱資料的通信用戶端的用戶名和密碼。密碼可以是一個文本值的形式,一個哈希值(hash value),或"加鹽的"哈希(salted hash)。通信用戶端可以向通信伺服器提供一個用戶名和密碼,以建立一個單向的網路連接,如果該用戶名和密碼匹配已知的、從控制器接收到的用戶名和密碼,通信伺服器可以授權通信用戶端。這兩個裝置可以通過以下方法建立一個雙向的網路連接:每個裝置向另一個裝置提供一個用戶名和密碼,並根據收到的用戶名和密碼授權該另一個裝置。
如果控制器向介面裝置(通信伺服器)提供加密哈希值或加鹽的哈希作為客戶密碼,控制器還可以向介面裝置提供一用來生成哈希值,或加鹽的哈希的加密密鑰(和"鹽",如果必要的話)。每個介面裝置可接收一個可以被其通信客戶使用的密鑰和"鹽"。該控制器不向介面裝置提供相應的用於從哈希或加鹽的哈希中解密密碼的解密密鑰 。因此,建立網路連接時,介面裝置可以向通信用戶端提供加密密鑰和"鹽",這樣該用戶端不向該介面裝置公開其個人密碼。通信用戶端可以使用加密密鑰和鹽生成密碼的哈希值或加鹽的哈希,並向通信伺服器提供用戶名和密碼的哈希值或加鹽的哈希,以建立一個安全的網路連接。
在一些實施例中,控制器可以向每個介面裝置提供一個數位證書,其表明介面裝置所屬於的域,也可以指明介面裝置可以通信的其他域。該控制器可以作為一個證書頒發機構(CA)簽署數位證書,或與一個第三方CA互動,以便給一個介面裝置分配一個數位證書。為建立一個單向的網路連接,通信用戶端可以向通訊伺服器提供它的數位證書,如果數位證書是有效的,並且如果數位證書指明了一個通信伺服器所屬的域,通信伺服器可以給通信用戶端授權。因此,在介面裝置網路,通信在屬於同一域的裝置之間發生,或是在被設置或被允許可以和其他的域內的裝置通信的裝置之間發生。這兩個裝置可以通過每個裝置向另一裝置提供一個數位證書,並基於所接收的數位證書認證另一裝置來建立一個雙向的網路連接。
兩個介面裝置也可以在持續不斷的通道上使用加密的資料通信。例如,數位證書還可包括通信用戶端的一個公鑰,便於介面裝置通過安全的通道進行通信。通信伺服器可以使用公共密鑰把要通過網路連接發送的資料加密,並且,通信的用戶端可以使用相應的私鑰解密它從通信伺服器接收的資料。可供選擇的,這兩個裝置可以使用 Kerberos協定來使它們的資料安全,或通過一加密連接傳送資料,例如使用安全套接協定層(Secure Socket Layer,or“SSL”)協定或傳輸層安全(Transport Layer Security,or“TLS”)協定。
負載均衡
圖11示出了根據本發明的一個實施例的一個示例性的介面裝置網路的分散式系統1100,其包括一個部署在電腦集群1102上的控制器。電腦集群1102可以包括多個計算節點1102.1-1102.k,它們可以在一個單一的位置,通過一本地網路互相連接,或者可以被部署在多個地理位置上,並通過廣域網1104連接。
在一些實施例中,一個系統管理員可以在不同的地理位置部署一組計算節點,並可以在不同的地理位置部署冗餘資料庫。此外,由於在分散式系統1100上的冗餘資料庫是同步的,電腦集群的1102的多個計算節點作為一個單一的計算實體工作。
當介面裝置在分散式系統1100中被添加或刪除時,管理員可以調整分散式系統1100在不同的地理位置提供的計算能力,以滿足這些地理位置的計算需求。例如,當介面裝置在一個給定的地理位置被添加或刪除時,管理員可以在該地理位置添加或刪除計算節點。同時,當中央控制器的使用隨著時間的推移而波動,電腦集群1102可以把在計算裝置1102.1-1102.k上的負載進行負載平衡,從 而增加每個計算節點的回應性,同時也增加了電腦集群1102作為一個整體的反應性。
典型應用:調光器
在一些實施例中,系統架構1100還可以包括一個調光器1114和燈具1118。調光器1114可以和燈具1118在同一個房間裏,或可以通過廣域網1104和/或局域網1110從遠端位置控制燈具1118。例如,燈具1118可以連接到調光器1114,調光器1114可以包括一個功率調節器用來控制提供給燈具1118的功率。可供選擇的,燈具1118也可連接到電源插座1116上,其包括一個功率調節器用來控制提供給燈具1118的功率,並且調光器1114可以通過局域網1110將命令發送到電源插座1116。
在另一些實施例中,調光器1114可以在一個與燈具1118不同的房間中,並能通過電腦網路發送命令到電源插座1116,以控制燈具1118的亮度水平。例如,燈具1118可以包括一個舞臺燈,調光器1114可以安裝在一個球場座位後面的音響及燈光控制室中。在控制室裏的一個照明技術員可以和調光器1114互動,來控制一個或一個以上燈具,在這時,調光器1114可以生成裝置控制事件,並將其通過局域網1110發送至一個或一個以上燈具。
作為另一個例子,一個安全機構可以在一個銀行的關鍵的位置(例如,在銀行金庫)安裝多個燈具,這樣它們可以通過調光器1114在安全機構總部被遠端控制。如果 一個安全代理人想要來考察銀行的營業場所,安全代理人可以和調光器1114互動,這時,調光器1114可以生成裝置控制事件,並通過廣域網1104把它們發送到一個或一個以上燈具。
如前所述,在一些實施例中,調光器1114可以保持和每個目標燈具(例如,燈具1118)的點對點網路連接,並可通過各自的網路連接向這些燈具發送裝置控制事件。調光器1114和多個燈具(例如,燈具1118)可以通過廣域網1104保持與一個轉發服務(例如,一個通過電腦集群1102提供的轉發服務)的網路連接。同時,調光器1114可以通過網路連接向轉發服務提供裝置控制事件,並可以指明哪些燈具將收到控制裝置事件。這時,通過轉發服務和指定的燈具之間的網路連接(例如,通過廣域網1104和局域網1110),轉發服務能夠將裝置控制事件發給指定燈具。
在一些實施例中,一個介面裝置網路中的裝置可以保持一個它執行過的事件的日誌。當調光器1114通過觸摸屏介面接收到一個用戶介面事件時,調光器114可把該用戶介面事件存儲到日誌中。調光器也可以處理用戶介面事件(例如,手指掃動)來確定要執行的操作,並生成基於用戶介面事件的裝置控制事件。如果用戶在觸摸屏介面做一個向下的掃動,調光器1114可以確定用戶是想要減少相應的燈具1118的照明水平,並能基於向下的手指掃動的速度和/或距離確定一個目標照明水平。調光器1114也 可以在事件日誌中記錄該裝置控制事件。
如果調光器1114被設置為直接控制燈具1118(例如,通過一個內置的、其輸出被電連接到燈具1118的功率調節器),調光器1114可基於裝置控制事件調整提供給燈具1118的功率水平。同時,調光器1114可以監測功率水平被調整後燈具1118消耗的功率量,並可以創建一個事件日誌條目,以記錄檢測到的功率水平。
另一方面,如果調光器1114被配置為控制插座1116,調光器1114可以向插座1116發送裝置控制事件。然後,當插座1116接收到裝置控制事件時,插座1116可以在事件日誌中存儲接收到的用戶控制事件,並基於裝置控制事件調整提供給燈具1118的功率水平。調光器1114還可以監測燈具1118在調整功率水平後消耗的功率量,並可在事件日誌中記錄檢測到的功率水平。
控制器和/或用戶可以比較在一個通信鏈中從各個對等裝置來的日誌條目,用來排除事件衝突。例如,一個用戶1106可能為調光器1114生成了一個規則,在一內置的運動感測器檢測到運動時,該規則設置調光器1114,以增加燈具1118的亮度到預定的水平。因此,如果一個用戶與調光器1114的觸摸屏介面互動,以關閉燈具1118或使其變暗,調光器1114將通過觸摸屏介面檢測到用戶控制事件,也可以通過內置的運動感測器檢測到運動感測事件。這些事件可能會導致調光器1114在執行用戶使變暗或關閉燈具1118的命令後不久打開燈具1118,這可能是一 個不想要的後果。
如前所述,當一個介面裝置包括一個或一個以上產生衝突的事件的規則時,該介面裝置可以以一個預定的順序處理規則,這樣最後執行的規則將產生最終的結果。因此,如果用戶創建了一個序列的規則,其不能以一個想要的方式解決衝突,用戶可以通過分析一個或更多的介面裝置的事件日誌,以確定新的一序列的規則,以解決衝突。
例如,用戶可以通過分析調光器1114的事件日誌,確定調光器1114在處理與觸摸屏介面相關聯的一個規則(關閉燈具1118或使其變暗)之後處理了一個和運動感測器關聯的規則(打開燈具1118)。用戶可以使調光器1114在處理和運動感測器關聯的規則之後處理與觸摸屏介面相關聯的規則,從而改正上述問題。
作為另一個例子,通過分析事件日誌,用戶可以確定,在調光器1114處理用戶的觸摸屏事件以關閉燈具1118或使其變暗之後,調光器1114檢測到一個關於用戶移動他的手使其離開觸摸屏介面的運動感測事件。用戶可以通過設置調光器1114,在一個預定的時間段內,或直到運動感測器在一個預定的時間段內沒有檢測到運動,禁用與運動感測器相關的規則。
在一些實施例中,一個裝置的日誌可以存儲多個歷史記錄條目,這樣的存儲操作可以是為一個確定的時間段(例如,過去的一周的日誌條目)做出,並且/或者該歷史記錄有一個確定的數量限制(例如,最多1000個日誌條 目),或有一個確定文件的大小的限制(例如,最大為5MB)。
設置裝置介面網路
如前所述,一個或一個以上計算設備可以與控制器互動來管理和設置介面裝置網路。例如,用戶可以與一個個人計算設備互動,以設置並供應一個新的介面裝置網路上的介面裝置,和/或部署一個或一個以上規則到該介面裝置上。當用戶提交該裝置的配置,控制器可以把該新的裝置增加到網路上,並能在新的裝置和其他的它所需要與之進行即時資料交換的裝置之間建立網路連接。
然而,在一些實施例中,存在在不同的網路域上的對等裝置可能無法建立點對點連接。因此,為建立對等裝置之間的網路連接,控制器可以設置對等裝置,使其通過一個轉發服務相互通信。轉發服務可以做成控制器的一部分,也可以是一個獨立的、網路上的對等裝置可使用的網路服務。
在一些實施例中,該介面裝置網路最多包含一個控制器,其設置介面裝置,使其在網路內操作。例如,電腦集群1102可用於實現一個介面裝置網路1100的控制器。如果一個用戶需要使用一個網路設備(例如,連接到廣域網1104的筆記本電腦1108,或局域網1110上的智慧手機1112)重新設置網路結構,該網路設備需要通過主控制器進行該網路重設置。
如果另一個用戶也和控制器互動以設置網路,該控制器可以把由第一用戶做出的更改推送至第二用戶的電腦,以防止兩個用戶對網路配置做出多餘的或衝突的更改。同時,當一個用戶提交了他的網路配置的更改,控制器可以為每個受影響的介面裝置編制一個配置文件,並可以為每個被更改的介面裝置下載該配置文件。
注意,如果與集中控制器的連接斷開(例如,控制器脫機,或一個局域網失去了到互聯網的連接),介面裝置可以繼續處理規則,並通過點對點網路連接進行通信。然而,考慮到主控制器不可用,無法向新的介面裝置提供供應,編制和發佈新的或更新的規則,或重新設置對等介面裝置之間的網路連接,網路裝置可能無法重新設置網路配置。
在一些實施例中,該介面裝置網路可以包括超過一個集中控制器。例如,該網路可以包括一個用於對網路進行任何重新設置的主控制器,並可包括一個或更多個二次或備份控制器,其可用於在主控制器變得不可用的情況下重新設置網路的至少一部分。
圖12A示出了一個根據本發明一個實施例的示範性的系統架構1200,其包括一個主控制器1204和一個或更多個帶有資料庫鏡像的局域網控制器。例如,主控制器1204可以包括或被連接到一個資料庫1206上,該資料庫存儲多個介面裝置(例如,在局域網1208和1216中的介面裝置)的配置資訊和歷史資料。局域網1208可以包括 一個連接到一個資料庫1212的本地控制器1210,該資料庫存儲在局域網內1208的介面裝置的配置資訊和歷史資料。同時,局域網1216可以包括一個連接到一個資料庫1220的本地控制器1218,該資料庫存儲在局域網內1216的介面裝置的配置資訊和歷史資料。
在系統架構1200中,本地控制器保持他們的本地資料庫與主控制器資料庫同步。資料庫1212可以為多個資料庫1206的表的條目做鏡像,這些條目與局域網1208中的裝置1214.1-1214.m相關。同樣地,資料庫1220可以為多個資料庫1206的表的條目做鏡像,這些條目與局域網1216中的裝置1222.1-1222.m相關。因此,如果系統架構1200包括分佈在多個域中的介面裝置(例如,分佈在不同的城市),由本地控制器1210和1218在資料庫1212和1220中存儲的資料量與由主控制器存儲在資料庫1206中的資料量相比較是相當小的。
在一些實施例中,本地控制器1210可以監測和/或控制局域網1208內多個介面裝置。另外,管理員可以與本地控制器1210互動,重新設置一組規則以被在局域網1210內的介面裝置1214執行,控制器1210可以基於新的規則組重新設置裝置1214。然而,在一些實施例中,本地控制器1210不能向新裝置提供供應以把它們添加到介面裝置網路,和/或不能從該網路刪除裝置。系統管理員可以通過與主控制器1204互動以向一個新的介面裝置提供供應,以把它們添加到網路。主控制器1204可以為 該新裝置分配一個數位證書,設置該新裝置以建立與其他對等裝置的網路連接(例如,用來發送或接收已訂閱的資料),並可以設置新裝置使其處理一組規則。
如果控制器1210的資料庫的版本已過時(例如,當資料庫1212與資料庫1206中與局域網1208所相關的一部分不同步了),控制器1210將不能重新設置一現有的介面裝置。這一要求防止控制器1210逆轉以前由主控制器1204或任何保持更新的控制器(例如,控制器1218)做出的設置。例如,如果本地控制器1210離線,並且控制器1204重新設置一個或一個以上介面裝置1214.1-1214.m,在資料庫1212中的配置資料可以成為過期的。又例如,如果本地控制器1210失去和中心控制器1204的通信,並且本地控制器1210重新設置一個或一個以上介面裝置1214.1-1214.m,在資料庫1206中的配置資料可以成為過期的。
每個介面裝置可以存儲一個配置版本號(例如,一個嚴格遞增的數或時間戳),其指明該裝置配置的一個本地獨一無二的識別字。同時,每個資料庫可以為一個裝置存儲一個相關的新配置版本號,它允許一個相應的控制器在重新設置一個介面裝置之前判斷該資料庫是否過期。如果控制器試圖重新設置現有的介面裝置,該控制器可以先確定相應的資料庫對於被設置的介面裝置來說是否過期。
如果控制器確定其對應於一個介面裝置的最新配置版本號與介面裝置的配置版本號相匹配,控制器可以進行對 介面裝置的重新設置。然而,如果控制器確定其最新的配置版本號與介面裝置的配置版本號不匹配(例如,其最新版本號是小於介面裝置的版本號),控制器可以執行一個補救措施。補救措施可以包括向用戶提醒關於版本的差異,並促使用戶指定他是否想要基於過期的資料庫的舊的裝置配置來重新設置介面裝置。可供選擇的,補救措施可以包括在資料庫被更新以後的一個時間重新設置介面裝置。
可供選擇的,在某些實施例中,當局域網1208與控制器1204的連接斷開(例如,局域網1208與廣域網1202的連接斷開,或控制器1204離線)時,控制器1210可以成為局域網1208內的介面裝置的主控制器。控制器1210可以向介面裝置提供供應以將其添加到網路,或從網路中刪除介面裝置。控制器1210可以在資料庫1212中跟蹤網路的變化。然後,一旦控制器1210恢復和控制器1204的連接,控制器1210可以把網路的變化提供給控制器1204,並且,控制器1204更新資料庫1206來反映這些網路的變化。
而且,一旦控制器1204把資料庫1206與資料庫1212同步,控制器1210可以進而放棄它作為主控制器的狀態,此時控制器1204成為局域網1208的主控制器。如果在局域網1208內的一個新的介面裝置要和局域網1208以外的一個裝置進行通信,主控制器1204可以重新向該新裝置供應,使該新裝置可以與網路1208外部的裝置進行互動。例如,主控制器1204可以向該新裝置提供一個 數位證書,其在局域網1208以外是有效的,並可重新設置該新裝置,這樣新裝置建立與局域網1208以外的一個或一個以上裝置的網路連接(例如,通過一個點對點通道,或是通過一個資料轉發服務)。
圖12B示出了根據本發明的一個實施例的一個示例性的系統架構1250,其包括一個在一局域網內的局域網控制器,和一個在廣域網內可利用的轉發服務。局域網1256可以包括一個主控制器1258,其可用於設置,監測,和/或控制在一本地域內,以及在一個或一個以上遠端域內的介面裝置。
具體而言,控制器1258可以安裝在局域網1256內,並可包括或被連接到一個存儲本地和遠端域中的介面裝置的配置資訊和歷史資料的資料庫1260上。控制器1258可以建立一個到局域網1256內的裝置1262.1-1262.m的點對點網路連接,並可以通過資料轉發服務1254建立到一遠端域內的一個或一個以上介面裝置(例如,局域網1264中的裝置1266.1-1266.n)的網路連接。
例如,控制器1258可以安裝在一個組織的辦公樓內,以管理多個裝置。系統管理員可以與控制器1258互動,以在網路中添加一個介面裝置,例如和一個運動感測器相連接的mPort裝置,和一個連接到一個燈具上的mPower裝置。該系統還可以設置控制器1258,以便在事件日誌中從多個介面裝置收集即時事件資料,這允許管理員分析事件日誌以保證網路裝置正確運行。
進一步,如果組織擴張到其他建築,在同一個城市或在一個遠端的位置,管理員可以設置控制器1258,以通過資料轉發服務1254建立與在該遠端位置的裝置的網路連接。這允許控制器1258設置,控制,和/或監測在該遠端位置的裝置,而無需利用一個該組織任何一個局域網以外的中央控制器。因此,在該組織的局域網內安裝控制器1258將允許管理員控制通過介面裝置收集、並存儲在資料庫1260的資料,同時還允許管理員在遠端地區部署額外的裝置。
在一些實施例中,當管理員不在組織的任何局域網中時,管理員也可以與控制器1258和/或任何的介面裝置互動。管理員可以在一個個人計算設備(例如,一個智慧手機1268)上安裝一個應用程式,該個人計算設備可接入廣域網1252(例如,通過一個蜂窩網路),並通過資料轉發服務1254與中央控制器1258和/或介面裝置通信。可供選擇的,通過資料轉發服務1254建立到控制器1258的連接,管理員可以使用一個互聯網瀏覽器接入由控制器1258提供的、基於互聯網的介面。
在一些實施例中,系統架構1250可以包括一個可以通過廣域網1252接入的備份控制器,其包括或連接到一個資料庫,該資料庫是資料庫1260的鏡像。當主控制器1258離線時,備份控制器可以暫時成為主控制器。這允許管理員與備份控制器互動(例如,使用智慧手機1268),以從介面裝置網路添加或刪除裝置,和/或重新設置 現有的介面裝置。
圖13示出了根據本發明的一個實施例的一個示例性的電腦系統,其用於裝置的智慧監視和控制。在一個實施例中,一個電腦和通信系統1300包括一個處理器1302,一個記憶體1304,和一個存儲裝置1306。存儲裝置1306存儲一個智慧監測與控制應用1308,以及其他的應用程式和資料(例如,額外的應用程式1310和1312)。在操作過程中,智慧監測控制應用1308從存儲裝置1306被載入到記憶體1304,然後被處理器1302運行,用來監測來自多個介面裝置的資料,設置介面裝置,和/或控制一個介面裝置的狀態。當運行該程式時,處理器1302執行上述功能。電腦和通信系統1300可以和顯示器1314,鍵盤1316,和指點裝置1318相連接。顯示器,鍵盤,指點裝置可以方便用戶進行監測,配置,和/或控制一個或一個以上介面裝置。
本發明的一個實施例提供了一種裝置控制系統,它設置、監測、和控制一個或一個以上介面裝置,這樣,介面裝置可以從一個或一個以上連接著的物理裝置獲得感測器資料並將其傳播,上述物理裝置包括用於測量物理屬性的感測器。在操作過程中,該系統可以通過建立與介面裝置的網路連接來設置該介面裝置,並為該介面裝置確定一個或一個以上規則。一個規則可以指明為執行一個操作的一個操作描述,並指明一個條件,其指明處理規則的操作描述的標準。該系統可以設置介面裝置使其處理其相關聯的 規則。
在這一實施例的一些變化中,系統設置介面裝置,將近期的感測器資料發送給控制裝置的電腦,而且,系統使用該資料來設置或控制一個或更多個介面裝置。當系統基於一個或更多個介面裝置的近期資料確定與介面裝置相關聯的規則得到滿足,該系統基於規則的操作描述修改介面裝置的運行狀態。
在這一實施例的一些變化中,系統設置一個或一個以上介面裝置,以便促進分散式規則處理。為設置介面裝置,系統使介面裝置按程式工作,以處理一個或一個以上規則。該系統還確定一個或一個以上的其他裝置,其生成與該介面裝置的一個或一個以上規則相關的感測器資料,並設置該介面裝置,使其向該一個或一個以上的其他裝置訂閱感測器資料。
在一些實施例中,該系統能從用戶端設備接收一個要求獲得一個裝置監控介面的請求。通過獲得與一個或一個以上介面裝置相關聯的、為該裝置監控介面使用的資料,以及向用戶端設備提供該裝置監控介面,系統可以呈現該裝置監控介面,使該裝置監控介面呈現來自該一個或一個以上介面裝置的感測器資料。
在這些實施例的一些變化中,一個介面裝置相關聯的資料包括介面裝置的裝置接入資訊,這可以被用戶端裝置使用,以從相應的介面裝置直接獲得裝置監控介面用的即時感測器資料。
在這些實施例的一些變化中,一個介面裝置相關聯的資料包括一個地理位置。同時,為提供裝置監控介面,系統可以獲取一張地圖,其包括和至少一個介面裝置相關的地理區域。然後系統生成該裝置監控介面以顯示得到的地圖,並在地圖上覆蓋上該至少一個介面裝置。
在這些實施例的一些變化中,一個介面裝置相關聯的資料包括一組圖像座標。因此,當系統提供裝置監控介面時,系統可以獲得一個與至少一個介面裝置相關的區域的圖像。然後系統生成該裝置監控介面以顯示得到的地圖,並在該獲得的圖像上覆蓋該至少一個介面裝置。得到的圖像可以包括從一個即時視頻傳送中的一個幀,並且系統會定期更新裝置監控介面以顯示即時視頻傳送中的一個近期的幀。
在這些實施例的一些變化中,該即時視頻傳送可以包括從一個掃視-俯仰-變焦(pan-tilt-zoom,或“PTZ”)攝像機來的視頻傳送。因此,當系統提供裝置監控介面,系統可以將介面裝置的圖像座標映射到一組和PTZ攝像機的幀相關聯的座標上。當攝像機的方向變化時,系統可以更新裝置監控介面,以便基於被映射的圖像座標把介面裝置覆蓋到近期的幀上。
在一些實施例中,一個可由用戶定義的規則可以包括一個複合的,和多個物理裝置相關聯的規則。
在一些實施例中,該系統能從一個用戶端設備接收一個指令,以控制一個介面裝置。然後,系統確定一個已建 立的網路連接,用於和介面裝置進行通信,並按照所接收的指令,通過網路連接設置介面裝置。
系統也可以從用戶端設備接收一個要求獲取一個規則設置UI的請求。該規則設置UI可以指明一個或一個以上的有關一個或一個以上介面裝置的現有的規則,並幫助創建或修改現有或新的規則。然後,作為對接收到一個規則的描述的回應,該系統確定一個或一個以上目標介面裝置,其處理該規則的操作描述的至少一部分。然後系統為一個目標裝置生成一個針對特定裝置的規則,這樣,該針對特定裝置的規則包括該規則的操作描述的、應由目標裝置處理的一部分。然後,該系統設置該目標裝置,使其處理該針對特定裝置的規則。
在一些上述實施例的變化中,當設置介面裝置時,系統可確定該介面裝置的地理位置,和/或可以確定一個或一個以上連接到該介面裝置的物理裝置的描述。同時,該系統可以為該介面裝置生成一個數位證書,和/或可以基於至少該數位證書供應該介面裝置。
本發明的一個實施例提供一個資料轉發系統,它建立到多個網路裝置的網路連接,以便於介面裝置與裝置控制系統、對等介面裝置、或其他計算裝置通信。在操作過程中,當系統從一個網路裝置接收資料,該系統確定一個接收該資料的對等網路裝置,例如,一個訂閱該資料的裝置。該系統可以把感測器資料轉發至該對等網路裝置,這是通過確定一個已建立的網路連接以便與該第二個網路裝置 通信,並通過已建立的網路連接把感測器資料發送到對等網路裝置而實現。
在一些實施例中,為確定一個訂閱了接收到的感測器資料的第二網路裝置,該系統搜索一個存儲了多個網路裝置的資料訂閱請求的資料訂閱庫,以獲得一個被存儲的、和接收到的感測器資料相關聯的資料訂閱請求。然後,基於被存儲的資料訂閱請求,該系統確定一個訂閱了接收到的感測器資料的介面裝置。
在一些實施例中,該系統實現了一個資料轉發服務,其接收來自第一網路裝置的資料訂閱請求。資料訂閱請求指明一個提供資料的介面裝置,同時也指明了該提供資料的介面裝置所提供的感測器資料。然後,該系統在資料訂閱庫中存儲該與該第一網路裝置相關聯的訂閱資料。該系統還將該資料訂閱請求轉發至該提供資料的介面裝置。
在一些實施例中,在建立網路連接時,系統從一網路裝置接收到一個要求建立該網路連接的請求,並且,系統基於該請求確定網路裝置的裝置接入資訊。該系統存儲與該網路裝置相關聯的裝置接入資訊,並基於該裝置接入資訊建立到該網路裝置的網路連接。
在一些實施例中,該系統使用一個WebSocket協定,一個NAT會話傳輸應用程式(Session Traversal Utilities for Network-address-translation,即“STUN”)協定,和/或Comet協定建立網路連接。
在這些實施例的一些變化中,在使用WebSocket協 定建立網路連接時,該請求可以包括一個WebSocket握手請求,其把一個超文本傳輸協定(HTTP)會話升級到一個WebSocket會話,並可包括一個從網路裝置來的Sec-WebSocket-Key權杖。該系統可以存儲該與網路裝置相關聯的Sec-WebSocket-Key,並可以基於該Sec-WebSocket-Key,為該網路裝置生成一個Sec-WebSocket-Accept權杖。然後,系統向該介面裝置發送一個回應,該回應承認一個持續不斷的WebSocket通信通道,這樣該反應至少包括給該介面裝置的Sec-WebSocket-Accept權杖。
在這些實施例的一些變化中,在使用STUN協定建立網路連接時,該系統接收到一個綁定請求,其指明網路裝置的網路位址資訊,並存儲與網路裝置相關聯的網路位址資訊。該網路位址資訊可以包括至少一個或一個以上網路位址和埠號。
在這些實施例的一些變化中,在用Comet協定建立網路連接時,系統從網路裝置接收到一個長輪詢請求,並基於該長輪詢請求確定網路裝置的網路位址資訊。該網路位址資訊包括至少一個或一個以上網路位址和埠號。該系統存儲與網路裝置相關聯的網路位址資訊,這便於在以後的時間接入該網路裝置。
在一些實施例中,裝置接入資訊可以包括網路裝置的網路位址,網路裝置的埠號,和/或網路裝置的獨一無二的識別字。裝置接入資訊還可以包括身份驗證資訊,如分 配給網路裝置的數位證書,與網路裝置相關聯的登錄證書,等等。
在一些實施例中,該系統可以基於一個包括該請求的網路資料包的報文首部(message header)確定該網路裝置的網路位址和/或埠號,進而通過這些確定裝置接入資訊。
在一些實施例中,該網路裝置可以包括感測器介面裝置,電源插座,電源板,調光器,燈開關,或客戶計算設備。
本發明的一個實施例提供了一個介面裝置,該介面裝置通過已建立的網路連接與其他裝置通信,以發送和/或接收即時感測器資料。在操作過程中,本地裝置可以建立和遠端網路裝置的網路連接,該遠端網路裝置例如是對等介面裝置,或資料轉發系統。通過選擇一個這樣的規則:該規則把一個或一個以上遠端介面裝置的感測器資料作為輸入,並生成一個針對與該規則相關的感測器資料元素的資料訂閱請求,該裝置可以維持對其他對等裝置的資料的訂閱。該資料訂閱請求指明一個提供資料的介面裝置,同時也指明了該提供資料的介面裝置所提供的感測器資料。然後,通過所建立的網路連接,該裝置將資料訂閱請求發送到該遠端裝置。
在一些實施例中,該遠端裝置可以包括與該資料訂閱請求相關聯的遠端對等裝置,或資料轉發裝置,該轉發裝置被設置為維護該本地網路裝置和與該資料訂閱請求相關 聯的遠端對等裝置之間的網路連接。
在一些實施例中,本地介面裝置可以在規則庫中存儲該規則。然後,當裝置通過建立網路連接接收感測器的資料,並當確定所接收到的感測器資料與存儲的規則相關時,該裝置至少基於所接收到的感測器資料處理該規則。
在一些實施例中,本地介面裝置可以從本地的一個物理裝置獲取感測器的資料,這樣該物理裝置可以包括用於測量一個或一個以上物理屬性的感測器。如果介面裝置確定該遠端裝置訂閱了傳感所器獲得的資料,該介面裝置通過所建立的網路連接把感測器資料發送到遠端裝置。
在一些實施例中,該本地介面裝置使用一個WebSocket協定,一個NAT會話傳輸應用程式(Session Traversal Utilities for Network-address-translation,即“STUN”)協定,和/或Comet協定建立網路連接。
在這些實施例的一些變化中,該請求可以包括一個WebSocket握手請求,其把一個超文本傳輸協定(HTTP)會話升級到一個WebSocket會話,並可包括一個從網路裝置來的Sec-WebSocket-Key權杖。還有,在使用WebSocket協定建立網路連接時,該本地介面裝置可以存儲與遠端裝置相關聯的Sec-WebSocket-Key,並基於該Sec-WebSocket-Key為該遠端裝置生成一個Sec-WebSocket-Accept權杖。然後,該本地介面裝置向該遠端裝置發送一個回應,該回應承認一個持續不斷的WebSocket通信通道,這樣該反應至少包括給該遠端介面 裝置的Sec-WebSocket-Accept權杖。
在這些實施例的一些變化中,在使用STUN協定建立網路連接時,該本地介面裝置接收到一個綁定請求,其指明該遠端裝置的網路位址資訊,並存儲與該遠端裝置相關聯的網路位址資訊。該網路位址資訊可以包括至少一個或一個以上網路位址和埠號。
在這些實施例的一些變化中,在用Comet協定建立網路連接時,該本地介面裝置從該遠端裝置接收到一個長輪詢請求,並基於該長輪詢請求確定遠端裝置的網路位址資訊。該網路位址資訊包括至少一個或一個以上網路位址和埠號。該本地介面裝置存儲與該遠端裝置相關聯的網路位址資訊,這便於在以後的時間使用該網路連接。
本發明的一個實施例提供了一個本地控制器,其維持一本地資料庫,該資料庫用於存儲一組局域網上的介面裝置的相關資訊。本地資料庫可包括一個遠端控制器的遠端資料庫的資料庫鏡像,其用於為一組被供應的介面裝置存儲資訊。在正常操作過程中,一個作為該遠端資料庫的宿主的遠端控制器可以具有局域網和/或其他網路域內介面裝置的主控制,並且,該本地控制器維護本地資料庫,讓其包括遠端資料庫的至少一個子集。然而,當確認遠端控制器離線,本地控制器可以獲得局域網內介面裝置的主控制。
在一些實施例中,當設置本地網路控制器以獲取局域網內的主控制時,本地控制器能夠監測局域網中的介面裝 置,重新設置局域網中的介面裝置,和/或控制局域網中的介面裝置。
在一些實施例中,本地控制器並未設置為在介面裝置網路中添加一個介面裝置,或從所提供的介面裝置集合中刪除一個介面裝置。
在一些實施例中,在獲取局域網的主控制時,本地控制器確定本地資料庫與遠端資料庫的最新版本同步。
在一些實施例中,作為對於確定本地資料庫和遠端資料庫同步的回應,本地控制器被設置為獲得局域網的主控制。為獲取局域網的主控制,本地控制器能夠在得到供應的介面裝置集合中添加一個介面裝置,以及從得到供應的介面裝置集合中刪除一個介面裝置。
在一些實施例中,作為對於確定一個作為遠端資料庫的宿主的遠端控制器變成為在線狀態的回應,本地控制器被設置為解除對局域網的主控制。
在一些實施例中,當解除局域網的主控制時,本地控制器使本地資料庫與遠端資料庫同步。
一個實施例提供了一個介面裝置,其被設置為基於感測器資料處理一個或一個以上規則,以做出預定的操作。在操作過程中,該裝置可以接收裝置的配置,包括一個該介面裝置所用的規則。該規則可以包括用於執行一個操作的一個操作描述,還可以包括一個條件,該條件以感測器的資料作為輸入,並指示執行該操作的準則。該裝置可以在規則庫中存儲該規則,並確定一個遠端介面裝置,該遠 端介面裝置生成與該規則的條件相關聯的資料。該裝置還可以從該遠端介面裝置訂閱該資料。
在一些實施例中,本地介面裝置建立與遠端介面裝置的網路連接,並通過所建立的連接從遠端介面裝置訂閱資料。
在一些實施例中,在建立網路連接時,本地介面裝置建立與遠端介面裝置的點對點網路連接。
在一些實施例中,該本地介面裝置使用一個WebSocket協定,一個NAT會話傳輸應用程式(Session Traversal Utilities for Network-address-translation,即“STUN”)協定,和/或Comet協定建立該網路連接。
在一些實施例中,在建立網路連接時,如果本地介面裝置確定無法通過一個點對點通信通道獲得該遠端介面裝置,本地介面裝置通過資料轉發服務建立網路連接。
在一些實施例中,當本地介面裝置獲得感測器資料時,本地介面裝置基於感測器資料選擇一規則來處理。如果該本地介面裝置確定一個規則的條件已滿足,該本地介面裝置可以處理該規則的操作描述以做出該操作。
在一些實施例中,該本地介面裝置從一本地或遠端的、測量一個或一個以上物理屬性的物理裝置獲得感測器資料,和/或從一個檢測和/或設置一個或一個以上介面裝置的網路控制器那裏獲得感測器資料。
在一些實施例中,在選擇要處理的規則時,該本地介面裝置選擇一組規則,該規則的條件把獲得的資料作為輸 入,並確定用戶指定的該組規則的排序。該用戶指定的排序指明處理規則的順序。然後,根據用戶指定的排序,該本地介面裝置從該組規則中選擇一個規則。
在一些實施例中,通過定期地監測從一個和介面裝置相連接的物理裝置那裏來的資料值,本地介面裝置獲取感測器資料。而且,如果本地介面裝置確定所獲得的資料滿足一個遠端介面裝置的資料訂閱請求,本地介面裝置把所獲得的資料傳送到遠端介面裝置。
在一些實施例中,本地介面裝置可以通過已建立的網路連接把該資料傳送到遠端介面裝置,該網路連接是為了與遠端介面裝置通信而建立。
一個實施例提供了一種感測器監測介面裝置,它連接到一個或更多的物理裝置上,該物理裝置包含有測量物理屬性的感測器。在操作過程中,該介面裝置從物理裝置那裏獲取和處理感測器資料。當介面裝置從一個物理裝置處獲得感測器資料,該介面裝置基於所獲得的感測器資料選擇規則來處理。如果介面裝置確定該規則的條件已滿足,該介面裝置可以處理該規則的操作描述以做出相應的操作。
在一些實施例中,物理裝置可以包括一個溫度感測器,濕度感測器,電壓感測器,電流感測器,運動感測器,光感測器,水分感測器,數位值感測器,和/或門窗感測器。
在一些實施例中,該操作可以包括通過串口發送預定 信號模式,和/或通過一個或一個以上通用輸出引腳發送預定信號模式。而且,該操作可以包括處理預定腳本,以便通過一串口來設置一個週邊裝置,向預定的收件人發送電子郵件消息,創建系統警報,為事件日誌生成事件,和/或部分地基於所接收到的感測器資料來計算一資料值。
在一些實施例中,如果本地介面裝置確定所獲得的資料滿足一個遠端介面裝置的資料訂閱請求,本地介面裝置把該感測器資料傳送到遠端介面裝置。
在一些實施例中,資料訂閱請求可以指明有關感測器資料的最小閾值,有關感測器資料的最大閾值,從上一個感測器資料被提供給遠端介面裝置到目前的時間間隔,和/或有關得到的感測器資料和上一個被提供給遠端介面裝置的感測器資料的差值的閾值。
在一些實施例中,在傳送資料到遠端介面裝置時,本地介面裝置可以通過一與遠端介面裝置相關聯的已建立的點對點網路連接傳送該資料。
在一些實施例中,在選擇要處理的規則時,該本地介面裝置選擇一組規則,該規則的條件把獲得的資料作為輸入,並確定用戶指定的該組規則的排序。該用戶指定的排序指明處理規則的順序。然後,根據用戶指定的排序,該本地介面裝置選擇一個規則。
在一些實施例中,在確定本地介面裝置處於出廠默認模式的基礎上,該介面裝置可以調節一個發光二極體(LED)指示燈的顏色。在確定本地介面裝置由一個監控一 個或一個以上介面裝置的網路控制燈提供配置的基礎上,和/或在確定該介面裝置正在被該網路控制器監測的基礎上,介面裝置可以調整一個發光二極體指示燈的顏色。
一個實施例提供了一種負載控制介面裝置,其從一用戶介面和/或其他裝置獲取並處理感測器資料,並基於感測器資料處理規則,以控制電氣負載,如燈具。在操作過程中,當該介面裝置獲得感測器資料,該介面裝置基於從用戶介面來的感測器資料選擇一個規則來處理。如果該介面裝置確定該規則的條件已滿足,該介面裝置可以處理該規則的操作描述以做出相應的操作,以控制該電氣負載的功率。
在一些實施例中,該電氣負載包括一燈具。
在一些實施例中,事件資料包括從觸摸屏用戶介面來的感測器資料。該觸摸屏用戶介面可以包括一個電容式觸摸表面,電阻式觸摸表面,接近感測器,和/或運動感測器。
在一些實施例中,從觸摸屏用戶介面來的事件資料可以指明觸摸屏用戶介面上的一個本地用戶觸摸了的一部分,在觸摸屏用戶介面一個確定的距離之內檢測到的物體,和/或檢測到的運動。
在一些實施例中,在獲取事件資料時,該介面裝置處理觸摸屏用戶介面的資訊,以便確定一個手勢。該手勢可以包括代表增加燈具光強度的向上掃動手指,代表降低燈具的光強度的向下掃動手指,代表啟動或停止向燈具供電 的一個手指輕擊,和/或代表調整燈具的光強度到一定水平的手指輕擊。
在一些實施例中,該介面裝置可以確定該事件資料滿足一個來自遠端介面裝置的資料訂閱請求,並把該事件資料傳送到該遠端介面裝置。
在一些實施例中,該遠端介面裝置電連接到相應的燈具,並且,遠端介面裝置能夠被設置成基於事件資料調節相應燈具的功率。
一個實施例提供了一個負載監控介面裝置,其獲取和處理從一個電氣負載來的感測器資料。該介面裝置可以包括至少一個電源插座,用於為一個相應的電氣負載供電。在操作過程中,該介面裝置可以從一個連接一個電負載的本地電源插座獲得感測器資料,這樣,該感測器資料可以表明一個與該電負載相關的電氣測量資料。該介面裝置基於所獲得的感測器資料選擇一個規則來處理,並處理該規則來決定是否要做出一個操作。如果該規則的條件得到滿足,該介面裝置進而處理該規則的操作描述,以做出該操作,如啟用或禁用一個電源插座,或做出其他任何預先確定的操作。
在一些實施例中,從電源插座來的感測器資料可以包括相應的電氣負載的功率狀態,電流測量,和/或電壓測量。
在一些實施例中,該操作可以包括啟動一個電源插座,停用一個電源插座,調整一個插座提供的電壓,和/或 調整一個電源插座提供的電流量。而且,該操作可以包括向預定的收件人發送電子郵件消息,創建系統警報,為事件日誌生成事件,和/或部分地基於所接收到的感測器資料來計算一資料值。
在本說明書中描述的資料結構和代碼通常存儲在電腦可讀存儲介質上,它可以是任何可以存儲代碼和/或資料,並使其為一電腦系統所使用的設備或介質。電腦可讀存儲介質包括,但不限於,非永久性記憶體,永久性記憶體,磁性或光學存儲設備,如磁碟機,磁帶,光碟(compact discs),DVD(數位多功能光碟或數位視頻光碟),或其他現在已知的或以後開發的可存儲電腦可讀媒體的介質。
在本說明書中描述的的方法和流程可以體現為代碼和/或資料,它可以存儲在如上面所描述的電腦可讀存儲介質中。當電腦系統讀取並執行存儲在電腦可讀存儲介質上的代碼或資料時,電腦系統做出該體現為資料結構和代碼並存儲在電腦可讀存儲介質上的的方法和流程。
此外,在此描述的的方法和流程可以包括在硬體模組或設備之中。這些模組或設備可能包括,但不限於,專用積體電路(ASIC)晶片,現場可編程閘陣列(FPGA),在一個特定的時間執行一個特定的軟體模組或一段代碼的專用或共用處理器,和/或其他現在已知的或以後開發的可編程邏輯裝置。當該硬體模組或設備被啟動,它們執行包括在它們之中的方法和流程。
上述各種實施例的描述只為例證和說明的目的。它們不是詳盡無遺的,或是把本發明限制在其所披露的形式上。因此,對本領域的技術人員來說,許多修改和變化將是明顯的。此外,上述披露並不限制本發明。
220‧‧‧軟體架構
222‧‧‧作業系統內核
224‧‧‧設備驅動程式
226‧‧‧微控制器代理模組(mcAgent)
228‧‧‧通信模組
230‧‧‧因特網協定(IP)模組
232‧‧‧WebSocket模組
234‧‧‧互聯網伺服器

Claims (53)

  1. 一種方法,包括步驟:在介面裝置處接收裝置配置,該裝置配置包括由介面裝置處理的規則,該規則包括用於做出操作的操作描述,並包括做出該操作的條件;在規則庫中存儲該規則;確定遠端介面裝置,該遠端介面裝置生成和該規則的條件相關的資料;和該遠端介面裝置建立網路連接;通過建立的該網路連接向該遠端介面裝置訂閱該資料。
  2. 如申請專利範圍第1項所述的方法,其中所述和該遠端介面裝置建立網路連接的步驟包括:用WebSocket協定和該遠端介面裝置建立網路連接;和/或用Comet協定和該遠端介面裝置建立網路連接;和/或用STUN協定和該遠端介面裝置建立網路連接。
  3. 如申請專利範圍第1項所述的方法,其中所述建立網路連接包括和該遠端介面裝置建立點對點網路連接。
  4. 如申請專利範圍第1項所述的方法,其中所述建立網路連接包括:確定無法和該遠端介面裝置建立點對點網路連接;通過資料轉發服務和該遠端介面裝置建立網路連接。
  5. 如申請專利範圍第1項所述的方法,其中所述向該遠端介面裝置訂閱該資料的步驟包括:生成對該規則相關的感測器資料元素的訂閱請求,該訂閱請求指明該遠端介面裝置以及該遠端介面裝置提供的感測器資料;通過建立的該網路連接向該遠端介面裝置發送該資料訂閱請求。
  6. 如申請專利範圍第1項所述的方法,還包括步驟:獲取感測器資料;基於該感測器資料選擇規則;確定該規則的條件已滿足;處理該規則的操作描述以做出操作。
  7. 如申請專利範圍第6項所述的方法,其中所述獲取感測器資料的步驟包括:從本地物理裝置獲取感測器資料;和/或從遠端介面裝置獲取感測器資料;和/或從網路控制器獲取感測器資料,該網路控制器控制和/或設置一個或一個以上介面裝置。
  8. 如申請專利範圍第6項所述的方法,其中所述獲取感測器資料的步驟包括定期監測和該介面裝置相連的物理裝置的資料,該方法還包括步驟:確定該獲取的資料滿足遠端介面裝置的資料訂閱請求;向該遠端介面裝置發送該獲取的資料。
  9. 一種設備,包括:通信模組,用於接收裝置配置,該裝置配置包括由本地介面裝置處理的規則,該規則包括用於做出操作的操作描述,並包括做出該操作的條件;來源確定模組,用於確定遠端介面裝置,該遠端介面裝置生成和該規則的條件相關的資料;資料訂閱模組,用於和該遠端介面裝置建立網路連接,並向該遠端介面裝置訂閱該資料。
  10. 如申請專利範圍第9項所述的裝置,其中所述通信模組包括:乙太網通信模組;和/或Wi-Fi無線通信模組;和/或藍牙無線通信模組。
  11. 如申請專利範圍第9項所述的設備,其中所述資料訂閱模組還用於與該遠端介面裝置建立點對點網路連接。
  12. 如申請專利範圍第9項所述的設備,其中所述資料訂閱模組還用於:確定無法和該遠端介面裝置建立點對點網路連接;通過資料轉發服務和該遠端介面裝置建立網路連接。
  13. 如申請專利範圍第9項所述的設備,其中,在向該遠端介面裝置訂閱資料時,該資料訂閱模組還用於:生成對該規則相關的感測器資料元素的訂閱請求,該訂閱請求指明該遠端介面裝置,以及該遠端介面裝置提供 的感測器資料;通過建立的該網路連接向該遠端介面裝置發送該資料訂閱請求。
  14. 如申請專利範圍第9項所述的設備,還包括規則處理模組,用於:獲取感測器資料;基於該感測器資料選擇規則;確定該規則的條件已滿足;處理該規則的操作描述以做出操作。
  15. 如申請專利範圍第14項所述的設備,其中所述規則處理模組還用於:從本地物理裝置獲取感測器資料;和/或從遠端介面裝置獲取感測器資料;和/或從網路控制器獲取感測器資料,該網路控制器控制和/或設置一個或一個以上介面裝置。
  16. 如申請專利範圍第14項所述的設備,其中所述規則處理模組還用於:定期監測和該介面裝置相連的物理裝置的資料;確定該獲取的資料滿足遠端介面裝置的資料訂閱請求;向該遠端介面裝置發送該獲取的資料。
  17. 如申請專利範圍第16項所述的設備,其中,在向該遠端介面裝置發送該獲取的資料時,規則處理模組還用於: 和該遠端介面裝置建立點對點網路連接;通過該點對點網路連接向該遠端介面裝置發送該獲取的資料。
  18. 如申請專利範圍第16項所述的設備,其中,在向該遠端介面裝置發送該獲取的資料時,規則處理模組還用於:確定無法和該遠端介面裝置建立點對點網路連接;通過資料轉發服務向該遠端介面裝置發送該獲取的資料。
  19. 一種介面裝置,包括:用於連接物理裝置的埠;處理器,該處理器通過所述埠接收所述物理裝置輸出的感測器資料,並基於接收到的感測器資料做出操作;通信模組,用於和外部設備通信。
  20. 如申請專利範圍第19項所述的裝置,其中所述感測器資料包括:溫度感測器資料,和/或濕度感測器資料,和/或電流感測器資料,和/或電壓感測器資料,和/或光感測器資料,和/或水分感測器資料,和/或數位感測器資料,和/或運動感測器資料,和/或 門/窗感測器資料。
  21. 如申請專利範圍第19項所述的裝置,其中所述操作包括:向預定的收件人發送電子郵件消息,和/或創建系統警報,和/或為事件日誌生成事件,和/或部分地基於所接收到的感測器資料來計算資料值,和/或通過通用輸出引腳發送預定的信號模式,和/或通過序列埠發送預定的信號模式,和/或處理預定腳本,以便通過序列埠設置週邊裝置。
  22. 如申請專利範圍第19項所述的裝置,其中所述處理器:基於接收到的感測器資料選擇規則進行處理,該規則包括以該感測器資料作為輸入的條件,並包括用於做出操作的操作描述,確定所述規則的條件得到滿足,並處理所述規則的操作描述以做出該操作。
  23. 如申請專利範圍第19項所述的裝置,其中所述通信模組包括:乙太網通信模組,和/或Wi-Fi無線通信模組,和/或藍牙無線通信模組。
  24. 如申請專利範圍第19項所述的裝置,該裝置還 通過該埠設置或控制相連的物理裝置。
  25. 如申請專利範圍第19項所述的裝置,該通信模組還用於:通過WebSocket協定、和/或Comet協定、和/或STUN協定與遠端網路控制器和/或遠端介面裝置建立網路連接。
  26. 如申請專利範圍第25項所述的裝置,該裝置還用於:從該網路控制器接收裝置配置資訊,該裝置配置資訊包括該裝置所用的規則;將該規則在一個規則庫中存儲。
  27. 如申請專利範圍第19-26項中的任一項所述的裝置,該裝置用於:確定接收到的感測器資料滿足來自遠端介面裝置和/或控制器的資料訂閱請求;並將該感測器資料發送到該遠端介面裝置和/或控制器。
  28. 如申請專利範圍第27項所述的裝置,其中所述將該感測器資料發送到該遠端介面裝置和/或控制器還包括:與遠端介面裝置和/或控制器建立持續不斷的點對點通訊通道;通過該點對點通訊通道將該感測器資料發送到該遠端介面裝置和/或控制器。
  29. 如申請專利範圍第27項所述的裝置,其中所述將該感測器資料發送到該遠端介面裝置和/或控制器還包括:確定無法與遠端介面裝置和/或控制器建立點對點通訊通道;通過該點對點通訊通道將該感測器資料發送到該遠端介面裝置和/或控制器。
  30. 如申請專利範圍第27項所述的裝置,該裝置向遠端介面裝置和/或控制器發送資料訂閱請求,並從該遠端介面裝置和/或控制器接收所訂閱的資料。
  31. 一種介面裝置,包括:電源插座,其用於向電氣負載供電;功率輸出控制器,該功率輸出控制器開啟、關閉、或調整該電源插座對電氣負載的供電;處理器,該處理器用於控制功率輸出控制器,並用於從該功率輸出控制器接收有關所述電源插座輸出功率的測量資料,並基於接收到的測量資料做出操作;通信模組,用於和外部設備通信。
  32. 如申請專利範圍第31項所述的裝置,其中有關電源插座輸出功率的測量資料包括:電源插座連接的電器負載的功率狀態;和/或電流測量。
  33. 如申請專利範圍第31項所述的裝置,其中所述操作包括: 開啟該電源插座的供電;和/或關閉該電源插座的供電;和/或調整該電源插座所供應的電流;和/或向預定的收件人發送電子郵件消息,和/或創建系統警報,和/或為事件日誌生成事件,和/或部分地基於所接收到的感測器資料來計算資料值。
  34. 如申請專利範圍第31項所述的裝置,其中所述處理器:基於接收到的感測器資料選擇一個規則進行處理,該規則包括以該感測器資料作為輸入的條件,並包括用於做出操作的操作描述,確定所述規則的條件得到滿足,並處理所述規則的操作描述以做出該操作。
  35. 如申請專利範圍第31項所述的裝置,該通信模組還用於:通過WebSocket協定、和/或Comet協定、和/或STUN協定與遠端網路控制器和/或遠端介面裝置建立網路連接。
  36. 如申請專利範圍第31項所述的裝置,其中所述通信模組包括:乙太網通信模組,和/或Wi-Fi無線通信模組,和/或藍牙無線通信模組。
  37. 如申請專利範圍第31項所述的裝置,該裝置還:從網路控制器接收裝置配置資訊,該裝置配置資訊包括該裝置所用的規則;將該規則在一個規則庫中存儲。
  38. 如申請專利範圍第31-37項中的任一項所述的裝置,其中所述處理器:確定接收到的感測器資料滿足來自遠端介面裝置和/或網路控制器的資料訂閱請求;並將該感測器資料發送到該遠端介面裝置和/或網路控制器。
  39. 如申請專利範圍第38項所述的裝置,其中所述將該感測器資料發送到該遠端介面裝置和/或網路控制器還包括:與遠端介面裝置和/或網路控制器建立持續不斷的點對點通訊通道;通過該點對點通訊通道將該感測器資料發送到該遠端介面裝置和/或網路控制器。
  40. 如申請專利範圍第39項所述的裝置,該裝置向遠端介面裝置和/或網路控制器發送資料訂閱請求,並從該遠端介面裝置和/或網路控制器接收所訂閱的資料。
  41. 如申請專利範圍第40項所述的裝置,其中該裝置和該遠端介面裝置和/或網路控制器之間通過一個持續不斷的通信通道進行通信,該持續不斷的通信通道是點對 點通信通道,或是通過資料轉發服務建立。
  42. 一種介面裝置,包括:對觸摸敏感的用戶介面,用於檢測物體在該用戶介面上的觸摸;微控制器,其接收來自所述用戶介面輸出的感測器資料;處理器,該處理器從該微控制器獲得感測器資料和/或檢測到的用戶手勢,並基於接收到的感測器資料和/或檢測到的手勢做出操作;通信模組,用於和外部設備通信。
  43. 如申請專利範圍第42項所述的裝置,其中對觸摸敏感的用戶介面包括:接近感測器,用於檢測是否有物體接近該用戶介面;和/或運動感測器,用於檢測物體在該用戶介面前移動的狀況;和/或觸敏感測器。
  44. 如申請專利範圍第42項所述的裝置,其中用戶介面的輸出指明:用戶介面中的被物體觸摸了的部分表面;和/或物體在該用戶介面前的移動;和/或與用戶介面一定距離的範圍內被檢測到的物體。
  45. 如申請專利範圍第42項所述的裝置,還包括:功率控制模組,用於控制和/或調節輸出功率;和/或 功率輸出控制器,用於設置和/或監測功率控制模組的輸出功率;和/或電源端子,用於向電氣負載提供功率輸出。
  46. 如申請專利範圍第42項所述的裝置,其中所述操作包括:開啟對相連接的電氣負載的供電;和/或關閉對相連接的電氣負載的供電;和/或調整電氣負載的電流;和/或向預定的收件人發送電子郵件消息;和/或創建系統警報;和/或為事件日誌生成事件;和/或部分地基於所接收到的感測器資料來計算資料值。
  47. 如申請專利範圍第42項所述的裝置,其中所述處理器:基於接收到的感測器資料選擇規則進行處理,該規則包括以該感測器資料作為輸入的條件,並包括用於做出操作的操作描述;確定所述規則的條件得到滿足;並處理所述規則的操作描述以做出該操作。
  48. 如申請專利範圍第42項所述的裝置,該通信模組還用於:通過WebSocket協定、和/或Comet協定、和/或STUN協定與遠端網路控制器和/或遠端介面裝置建立網路連接。
  49. 如申請專利範圍第42項所述的裝置,其中所述通信模組包括:乙太網通信模組,和/或Wi-Fi無線通信模組,和/或藍牙無線通信模組。
  50. 如申請專利範圍第42項所述的裝置,該裝置還:從網路控制器接收裝置配置資訊,該裝置配置資訊包括該裝置所用的規則;將該規則在規則庫中存儲。
  51. 如申請專利範圍第42-50項中的任一項所述的裝置,其中所述處理器:確定接收到的感測器資料滿足來自遠端介面裝置和/或控制器的資料訂閱請求;並將該感測器資料發送到該遠端介面裝置和/或控制器。
  52. 如申請專利範圍第51項所述的裝置,其中所述將該感測器資料發送到該遠端介面裝置和/或控制器還包括:與遠端介面裝置和/或控制器建立一個持續不斷的點對點通訊通道;通過該點對點通訊通道將該感測器資料發送到該遠端介面裝置和/或控制器。
  53. 如申請專利範圍第51項所述的裝置,該裝置向 遠端介面裝置和/或控制器發送資料訂閱請求,並從該遠端介面裝置和/或控制器接收所訂閱的資料。
TW102122982A 2012-06-27 2013-06-27 控制感應器裝置的方法和設備 TWI615037B (zh)

Applications Claiming Priority (14)

Application Number Priority Date Filing Date Title
US201261665238P 2012-06-27 2012-06-27
US61/665,238 2012-06-27
US201261665839P 2012-06-28 2012-06-28
US61/665,839 2012-06-28
US201261716429P 2012-10-19 2012-10-19
US61/716,429 2012-10-19
US13/736,869 2013-01-08
US13/736,879 US10536361B2 (en) 2012-06-27 2013-01-08 Method and apparatus for monitoring and processing sensor data from an electrical outlet
US13/736,883 US8880204B2 (en) 2012-06-27 2013-01-08 Method and apparatus for monitoring and processing sensor data in an interfacing-device network
US13/736,883 2013-01-08
US13/736,869 US10498623B2 (en) 2012-06-27 2013-01-08 Method and apparatus for monitoring and processing sensor data using a sensor-interfacing device
US13/736,872 2013-01-08
US13/736,879 2013-01-08
US13/736,872 US10326678B2 (en) 2012-06-27 2013-01-08 Method and apparatus for controlling power to an electrical load based on sensor data

Publications (2)

Publication Number Publication Date
TW201404183A true TW201404183A (zh) 2014-01-16
TWI615037B TWI615037B (zh) 2018-02-11

Family

ID=49967262

Family Applications (2)

Application Number Title Priority Date Filing Date
TW106127964A TWI654881B (zh) 2012-06-27 2013-06-27 控制感應器裝置的方法和設備
TW102122982A TWI615037B (zh) 2012-06-27 2013-06-27 控制感應器裝置的方法和設備

Family Applications Before (1)

Application Number Title Priority Date Filing Date
TW106127964A TWI654881B (zh) 2012-06-27 2013-06-27 控制感應器裝置的方法和設備

Country Status (2)

Country Link
CN (1) CN103543700B (zh)
TW (2) TWI654881B (zh)

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI510792B (zh) * 2014-08-11 2015-12-01 Oriental Inst Technology 電器設備檢測方法與系統
CN105299779A (zh) * 2014-07-25 2016-02-03 Lg电子株式会社 空气调节系统
TWI558221B (zh) * 2014-07-15 2016-11-11 物聯智慧科技(深圳)有限公司 智慧家電、行動通訊裝置、智慧家電控制系統及方法
TWI608338B (zh) * 2015-05-21 2017-12-11 艾塞爾泰斯對策有限責任公司 無線電子裝置控制器
US10225133B2 (en) 2014-03-17 2019-03-05 Mitsubishi Electric Corporation Management system for a control system, gateway device, server device, management method, gateway method, and management process execution method
CN109582404A (zh) * 2017-09-15 2019-04-05 林劲璋 分散式互动界面系统及其操作方法
TWI659658B (zh) * 2017-03-08 2019-05-11 安研科技股份有限公司 監控系統
TWI676372B (zh) * 2015-06-05 2019-11-01 美商蘋果公司 用於經由中繼服務而在控制器及配件間通訊的方法
TWI700673B (zh) * 2019-03-22 2020-08-01 陳明宗 多區域智能電器控制系統

Families Citing this family (32)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10410511B2 (en) 2014-10-31 2019-09-10 Siemens Aktiengesellschaft Method, digital tool, device and system for detecting movements of objects and/or living beings in a radio range, in particular of an indoor area
CN114567069A (zh) * 2015-03-17 2022-05-31 豪倍公司 智能接线装置
KR102315345B1 (ko) * 2015-06-26 2021-10-20 삼성전자주식회사 노드 단말 장치, 디스플레이 장치, 이를 포함하는 주변 기기 관리 시스템 및 그 방법
CN104992542A (zh) * 2015-07-01 2015-10-21 慧锐通智能科技股份有限公司 一种智能家居设备的配置方法及系统
US10528021B2 (en) 2015-10-30 2020-01-07 Rockwell Automation Technologies, Inc. Automated creation of industrial dashboards and widgets
CN105301977A (zh) * 2015-11-11 2016-02-03 小米科技有限责任公司 基于智能设备的电子音乐实现方法及装置
US10313281B2 (en) 2016-01-04 2019-06-04 Rockwell Automation Technologies, Inc. Delivery of automated notifications by an industrial asset
CN107688325B (zh) * 2016-08-05 2019-12-13 中国科学院软件研究所 一种面向实时传感环境的工业知识自动化处理方法
US10318570B2 (en) 2016-08-18 2019-06-11 Rockwell Automation Technologies, Inc. Multimodal search input for an industrial search platform
US20180052451A1 (en) * 2016-08-19 2018-02-22 Rockwell Automation Technologies, Inc. Remote industrial automation site operation in a cloud platform
CN109891854B (zh) * 2016-08-22 2022-04-08 西安姆贝拉有限公司 用于创建和管理基于控制器的远程解决方案的方法和设备
US10545492B2 (en) 2016-09-26 2020-01-28 Rockwell Automation Technologies, Inc. Selective online and offline access to searchable industrial automation data
US10401839B2 (en) 2016-09-26 2019-09-03 Rockwell Automation Technologies, Inc. Workflow tracking and identification using an industrial monitoring system
US10319128B2 (en) 2016-09-26 2019-06-11 Rockwell Automation Technologies, Inc. Augmented reality presentation of an industrial environment
US10388075B2 (en) 2016-11-08 2019-08-20 Rockwell Automation Technologies, Inc. Virtual reality and augmented reality for industrial automation
US10735691B2 (en) 2016-11-08 2020-08-04 Rockwell Automation Technologies, Inc. Virtual reality and augmented reality for industrial automation
US10866631B2 (en) 2016-11-09 2020-12-15 Rockwell Automation Technologies, Inc. Methods, systems, apparatuses, and techniques for employing augmented reality and virtual reality
US11388240B2 (en) 2017-06-28 2022-07-12 Commscope Technologies Llc Systems and methods for managed connectivity wall outlets using low energy wireless communication
US10445944B2 (en) 2017-11-13 2019-10-15 Rockwell Automation Technologies, Inc. Augmented reality safety automation zone system and method
CN108650109B (zh) * 2018-03-26 2022-04-22 新华三技术有限公司 一种信息校准方法及装置
TWI656447B (zh) * 2018-04-13 2019-04-11 中華電信股份有限公司 擴增實境之方法及系統
US20200096363A1 (en) * 2018-09-26 2020-03-26 Infineon Technologies Ag Providing compensation parameters for sensor integrated circuits
US20200396613A1 (en) * 2019-04-29 2020-12-17 Sonicwall Inc. Securing transmission paths in a mesh network
CN111965982A (zh) * 2019-05-20 2020-11-20 京东方科技集团股份有限公司 创建动作资源以及针对目标资源触发操作的方法和装置
CN110704049B (zh) * 2019-10-09 2023-07-04 紫光云技术有限公司 一种简单易用的规则引擎条件配置方法
CN111427850A (zh) * 2019-11-06 2020-07-17 杭州海康威视数字技术股份有限公司 一种显示报警文件的方法、装置及系统
US20210392500A1 (en) * 2020-06-11 2021-12-16 Apple Inc. Network interface device
CN111899498A (zh) * 2020-08-26 2020-11-06 艾聚达信息技术(苏州)有限公司 信号传输装置
CN112911725B (zh) * 2021-01-06 2023-03-03 上海擎昆信息科技有限公司 一种无线分布式传感与控制方法、装置和系统
CN114189395B (zh) * 2022-02-15 2022-06-28 北京安帝科技有限公司 Plc受攻击停止的风险检测包获取方法及装置
TWI813225B (zh) * 2022-03-25 2023-08-21 谷林運算股份有限公司 自動化設備之節能裝置及其方法
CN117093423B (zh) * 2023-10-18 2024-01-30 西安热工研究院有限公司 可信dcs终端间数据同步方法、系统、电子设备及存储介质

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6172611B1 (en) 1998-10-19 2001-01-09 Telcom Semiconductor, Inc. Independent hardware thermal sensing and monitoring
WO2001077764A2 (en) 2000-04-10 2001-10-18 Zensys A/S Rf home automation system comprising replicable controllers
AU2001261267A1 (en) * 2000-08-07 2002-02-18 Pni Corp. Method and apparatus for a distributed home-automation-control (hac) window
US7113090B1 (en) 2001-04-24 2006-09-26 Alarm.Com Incorporated System and method for connecting security systems to a wireless device
US9729342B2 (en) * 2010-12-20 2017-08-08 Icontrol Networks, Inc. Defining and implementing sensor triggered response rules
CN1725255A (zh) 2004-07-19 2006-01-25 松下电器产业株式会社 从户外控制室内装置的方法和系统
JP2007156779A (ja) * 2005-12-05 2007-06-21 Hitachi Ltd センサネットシステム、基地局及びセンシングデータの中継方法
US20070173978A1 (en) 2006-01-04 2007-07-26 Gene Fein Controlling environmental conditions
US20070195731A1 (en) 2006-02-21 2007-08-23 Camp William O Jr Methods, systems and computer program products for establishing a point-to-point communication connection
US9030418B2 (en) 2008-06-24 2015-05-12 Lg Electronics Inc. Mobile terminal capable of sensing proximity touch
US8165041B2 (en) * 2008-12-15 2012-04-24 Microsoft Corporation Peer to multi-peer routing
US8248230B2 (en) 2009-02-20 2012-08-21 Redwood Systems, Inc. Smart power device
US20100298957A1 (en) 2009-05-15 2010-11-25 Synergy Elements, Inc. Multi-function sensor for home automation
TWM370143U (en) 2009-07-17 2009-12-01 Cheng-His Pu Fire signal integration device and fire system
JP5763680B2 (ja) * 2010-01-20 2015-08-12 ファロ テクノロジーズ インコーポレーテッド 可搬型の関節アーム座標測定機および統合された電子データ処理システム
CA2755497A1 (en) 2010-10-18 2012-04-18 Navnet Inc. System and method for monitoring, managing and controlling a plurality of devices using cloud resources
CN102404637B (zh) 2011-11-09 2015-04-01 Ut斯达康通讯有限公司 一种通过智能手机遥控电视的系统及方法
TWM430747U (en) 2011-11-18 2012-06-01 yuan-xi Ding Digital wireless network socket improved structure

Cited By (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10225133B2 (en) 2014-03-17 2019-03-05 Mitsubishi Electric Corporation Management system for a control system, gateway device, server device, management method, gateway method, and management process execution method
TWI558221B (zh) * 2014-07-15 2016-11-11 物聯智慧科技(深圳)有限公司 智慧家電、行動通訊裝置、智慧家電控制系統及方法
CN105299779A (zh) * 2014-07-25 2016-02-03 Lg电子株式会社 空气调节系统
TWI510792B (zh) * 2014-08-11 2015-12-01 Oriental Inst Technology 電器設備檢測方法與系統
US10762028B2 (en) 2015-05-21 2020-09-01 Acceltex Solutions, Llc. Wireless electronic device controller
TWI608338B (zh) * 2015-05-21 2017-12-11 艾塞爾泰斯對策有限責任公司 無線電子裝置控制器
US10162785B2 (en) 2015-05-21 2018-12-25 Acceltex Solutions Wireless electronic device controller
TWI676372B (zh) * 2015-06-05 2019-11-01 美商蘋果公司 用於經由中繼服務而在控制器及配件間通訊的方法
US11831770B2 (en) 2015-06-05 2023-11-28 Apple Inc. Relay service for communication between controllers and accessories
US11018862B2 (en) 2015-06-05 2021-05-25 Apple Inc. Relay service for communication between controllers and accessories
TWI659658B (zh) * 2017-03-08 2019-05-11 安研科技股份有限公司 監控系統
CN109582404A (zh) * 2017-09-15 2019-04-05 林劲璋 分散式互动界面系统及其操作方法
TWI695308B (zh) * 2017-09-15 2020-06-01 林勁璋 分散式互動介面系統及其操作方法
TWI700673B (zh) * 2019-03-22 2020-08-01 陳明宗 多區域智能電器控制系統

Also Published As

Publication number Publication date
TWI654881B (zh) 2019-03-21
CN103543700B (zh) 2016-08-17
CN103543700A (zh) 2014-01-29
TW201743625A (zh) 2017-12-16
TWI615037B (zh) 2018-02-11

Similar Documents

Publication Publication Date Title
TWI615037B (zh) 控制感應器裝置的方法和設備
US11349741B2 (en) Method and apparatus for controlling power to an electrical load based on sensor data
US11227674B2 (en) Home automation system generating user health score and related methods
WO2017004204A1 (en) Home automation (ha) system including desired scene implementation based upon user-selectable list of addressable ha devices and related methods
WO2017004184A1 (en) Home automation system including device signature pairing and related methods
WO2017004200A1 (en) Home automation system including security controller for terminating communication with abnormally operating addressable devices and related methods
WO2017004190A1 (en) Home automation system including cloud and home message queue synchronization and related methods
US10637680B2 (en) Home automation system including shareable capacity determining hub devices and related methods