控制传感器装置的方法和设备的制作方法
【专利摘要】一种装置控制系统设置,监测,并控制一个或一个以上接口装置,这样,接口装置可以从一个或一个以上连接着的物理装置获得传感器数据并将其传播,上述物理装置包括用于测量物理属性的传感器。在操作过程中,该系统可以通过建立与接口装置的网络连接来设置该接口装置,并为该接口装置确定一个或一个以上规则。一个规则可以指明为做出一个操作的一个操作描述,并指明一个条件,其指明处理规则的操作描述的标准。该系统可以设置接口装置使其处理其相关联的规则。
【专利说明】控制传感器装置的方法和设备
【技术领域】
[0001]本发明通常涉及多台装置的控制。更具体地说,本发明涉及多个装置的智能控制。【背景技术】
[0002]住宅自动化,或智能住宅,提高了它们的用户的生活质量。
[0003]更具体地说,住宅自动化系统实现了照明,HVAC (取暖,通风,空调),电器,和其他系统的集中控制,从而提供了更好的便利,舒适,节能,与安全。一些自动化系统提供一种自动的基于时间或环境因素的控制方法,例如在HVAC或自动喷水系统上。然而,这样的典型的自动化系统仅为某个单独类型的电器提供自动化控制,不同的自动化系统之间并不互相接入从而提供完整的住宅自动化解决方案。
[0004]相反,在智能住宅中,所有电气装置/设备在屋里集成在一起,为其用户提供方便和更好的生活经验。此外,互联网连接的普遍性,也使得用户能够远程监测和/或控制自己的家。例如,在欧洲度假时,用户可以连接到一个用于监控他在华盛顿特区的家的监控系统,以便监控他家里的活动;或者,用户在接收到华盛顿特区风暴预测后可以相应的关闭他的家庭自动喷水系统。
[0005]典型的家庭自动化技术通常使用专门设计的控制和监测装置来实施,该控制和监测装置使用专用的通信协议进行相互间的通信。由于装置之间的通信协议是专有的,业主难以定制这样的系统以使其包括新的或不同的其他供应商的监控装置。以家庭监控系统为例,该监控系统控制器连接到各种专门设计的,由同一供应商制造的传感器和/或摄像机上。此外,如要实现集中控制,电器(或至少每个电器的控制器)也需要由同一供应商制造。在上述家庭监控系统和自动喷水系统例子中,如果要允许用户使用一个接口接入这两个系统,该家庭监控系统和自动喷水系统(或这些系统的控制器)需要来自相同的供应商。然而,安装这些专用装置或设备控制器可以是昂贵而浪费的,因为许多现有的房屋可能已经配备有不同的供应商制造的传感器和电器。
【发明内容】
[0006]本发明的一个实施例提供了一种控制装置用的系统,其设置,监测,和/或控制一个或一个以上接口装置。接口装置可以从一个或一个以上连接着的物理装置获得和传播传感器数据,上述物理装置可以包括用于测量物理属性的传感器。在操作过程中,该系统可以通过建立与接口装置的网络连接来设置该接口装置,并选择一个或一个以上规则,该规则被接口装置处理。该系统设置该接口装置,使其处理和它相关联的规则。
[0007]本发明的一个实施例提供一个系统,该系统建立一网络连接到多个网络装置,以便于接口装置与装置控制系统、对等接口装置、或其他计算装置建立通信。该系统可以从网络装置接收数据,并转发该数据到一个订阅该数据的对等网络装置。通过与对等网络装置建立的网络连接,该系统将数据发送到对等网络装置。
[0008]本发明的一个实施例提供了一个接口装置,该接口装置通过已建立的网络连接与其他装置通信,以发送和/或接收实时传感器数据。在操作过程中,该本地装置可以建立和远程网络装置的网络连接,该远程网络装置例如是对等接口装置,或数据转发系统。该本地装置可以保持对其它对等装置的数据订阅,以获得与某规则相关的实时数据元素,实现方法例如通过已建立的网络连接向能够生成一个数据元素的对等网络装置发送数据订阅请求。
[0009]本发明的一个实施例提供了一个本地控制器,其维护一本地数据库,该数据库用于存储局域网上的一组接口装置的相关信息。本地数据库可包括一个远程控制器的远程数据库的数据库镜像,其用于为一组被供应的接口装置存储信息。在操作过程中,本地控制器维护本地数据库,使其与远程数据库中的至少一个子集同步。然而,当本地控制器确认远程控制器离线时,如果远程控制器拥有在局域网的接口装置的主控制,本地控制器可以获得局域网内的接口装置的主控制。
[0010]一个实施例提供了一个接口装置,其被设置为基于传感器数据处理一个或一个以上规则,以做出预定的操作。在操作过程中,该装置可以接收装置的配置,包括该接口装置所用的规则。该规则可以包括用于做出一个操作的操作描述,还可以包括一个条件,该条件以传感器数据作为输入,并指明做出该操作的准则。该装置可以在规则库中存储该规则,并可确定一个远程接口装置,该远程接口装置生成与该规则的条件相关联的数据。该装置还可以从该远程接口装置订阅该数据。
[0011]一个实施例提供了一种传感器监测接口装置,它连接到一个或更多的物理装置上,该物理装置包含有测量物理属性的传感器。在操作过程中,该接口装置从物理装置上获取和处理传感器数据。当接口装置基于传感器数据确定一个规则的条件已得到满足时,该接口装置可以处理该规则的操作描述以做出相应的操作。
[0012]一个实施例提供了一种负载控制接口装置,用于获取和处理从用户接口和/或从一远程接口装置接收到的传感器数据。在操作过程中,负载控制接口装置基于传感器数据处理规则,以便控制电气负载,如一灯具。
[0013]一个实施例提供了一个负载监控接口装置,其获取和处理从一个电气负载来的传感器数据。该接口装置可以包括至少一个电源插座,用于为一个相应的电气负载供电。在操作过程中,该接口装置可以从一个连接电气负载的本地电源插座获得传感器数据,这样,该传感器数据可以表明一个与该电负载相关的电气测量数据。接口装置可处理一个和传感器数据相关联的规则,如启用或禁用电源插座,或做出其他任何预先确定的操作。
【专利附图】
【附图说明】
[0014]图1A示出了根据本发明的一个实施例的一个示例性的监测和控制系统的系统架构。
[0015]图1B示出了根据本发明的一个实施例的一个示例性的监测和控制系统的系统架构,其包括一个部署在计算机集群上的,可通过广域网(WAN)访问的控制器。
[0016]图2A示出了根据本发明的一个实施例的一个示例性的接口装置的装置架构。
[0017]图2B示出了根据本发明的一个实施例的一个示例性的接口装置软件架构。
[0018]图2C示出了根据本发明的一个实施例的一个示例性的mPort接口装置的装置架构。[0019]图2D示出了根据本发明的一个实施例的一个mPort接口装置。
[0020]图2E示出了根据本发明的一个实施例的一个示例性的mPower接口装置的装置架构。
[0021]图2F示出了根据本发明的一个实施例的一个mPower接口装置。
[0022]图2G示出了根据本发明的一个实施例的一个示例性的mDimmer或mSwitch接口装置的装置架构。
[0023]图2H示出了根据本发明的一个实施例的一个mDimmer接口装置。
图21示出了根据本发明的一个实施例的数个mDimmer接口装置。
[0024]图3A是一个流程图,示出了一根据本发明的一个实施例的示例性方法,其用于设置一个装置控制器。
[0025]图3B是一个流程图,示出了一根据本发明的一个实施例的示例性方法,其用于呈现配置数据和/或传感器数据。
[0026]图4A是一个流程图,示出了一根据本发明的一个实施例的示例性方法,其用于在一空间视图(space-view)图形用户界面(GUI)上设置一装置布局空间(device-placementspace)。
[0027]图4B是一个流程图,示出了 一根据本发明的一个实施例的示例性方法,其用于展示和更新一空间视图⑶I。
[0028]图4C示出了根据本发明的一个实施例的一个示例性的控制器空间视图GUI。
[0029]图4D示出了根据本发明的一个实施例的一个示例性的控制器提供的空间视图GUI。
[0030]图4E示出了根据本发明的一个实施例的一个示例性的控制器提供的空间视图GUI。
[0031]图5A是一个流程图,示出了一根据本发明的一个实施例的示例性方法,其用于生成并存储用于控制装置的规则。
[0032]图4B示出了根据本发明的一个实施例的一个示例性的控制器规则视图GUI。
[0033]图5C展示了一个用户界面,其示出了根据本发明的一个实施例的示例性的预先定义的条件,该条件可以被纳入到一个规则的条件组中。
[0034]图6A示出了根据本发明的一个实施例的一个示例性的控制器装置视图GUI。
[0035]图6B示出了根据本发明的一个实施例的一个示例性的控制器数据视图GUI。
[0036]图6C示出了根据本发明的一个实施例的一个示例性的控制器事件视图GUI。
[0037]图7是一个流程图,示出了一根据本发明的一个实施例的示例性方法,其用于在一个本地接口装置处理一个规则。
[0038]图8示出了一示例性的计算机系统,其用于把一个服务器集群内的一个控制器和一个局域网(LAN)内的装置连接起来。
[0039]图9是一个流程图,示出了一根据本发明的一个实施例的示例性方法,其用于建立一个到远程装置的网络连接,该连接的建立基于从一个该远程装置的中央控制器接收到的网络地址信息。
[0040]图10是一个流程图,示出了一根据本发明的一个实施例的示例性方法,其用于建立一个与远程装置的网络连接,该连接的建立基于被储存的该远程装置的网络地址信息。[0041]图11示出了根据本发明的一个实施例的一个示例性的系统架构,其包括一个mDimmer 装置。
[0042]图12A示出了一个示范性的系统架构,其包括一个中央控制器和一个或一个以上带有数据库镜像的局域网控制器。
[0043]图12B示出了根据本发明的一个实施例的一个示例性的系统架构,其包括一个在一局域网内的局域网控制器,和一个在广域网内可接入的转发服务。
[0044]图13示出了根据本发明的一个实施例的一个示例性的计算机系统,其用于装置的智能监测和控制。
[0045]图14A示出了根据本发明的一个实施例的一个mPort接口装置的成角度视图。
[0046]图14B示出了根据本发明的一个实施例的一个mPort接口装置的侧视图。
[0047]图14C示出了根据本发明的一个实施例的一个mPort接口装置的侧视图。
[0048]图15A示出了根据本发明的一个实施例的一个mPort接口装置的成角度视图。
[0049]图15B示出了根据本发明的一个实施例的一个包含天线连接器的mPort接口装置的成角度视图。
[0050]图15C示出了根据本发明的一个实施例的一个mPort接口装置的侧视图。
[0051]图MD示出了根据本发明的一个实施例的一个mPort接口装置的侧视图。
【具体实施方式】
[0052]下面的描述的提供使本领域的普通技术人员可以制造和使用这些实施例,并且,下面的描述是在一个特定的应用和其要求的背景下提供的。对本领域的技术人员来说,对所披露的实施例的各种修改将会是很明显的,并且,本文中定义的一般原则可以被应用于其它的实施例和应用,而不脱离本发明的范围和精神。因此,本发明并不限于所示的实施例,而是应该和在此披露的原则和特征相一致的情况下被给予最宽的范围。
[0053]概述
[0054]本发明的实施例提供一个控制器,它可以使用来自不同供应商的各种传感器和装置来实现一个统一的“智能”环境,如智能家居系统或工业环境。更具体地说,这些不同的物理装置被连接到一个或一个以上接口装置,该接口装置连续监测和控制该物理装置,这样,这些接口装置可以通过该控制器接入并设置。例如,集中控制器可以在一个服务器集群(例如,“云”)中,并允许用户通过在用户的计算机上的互联网浏览器或应用程序访问一个控制用户界面(UI)。同时,该接口装置和物理装置可以分布在很广的区域(例如,遍及一个城市,或在世界各地不同的城市)。用户可以与集中控制器互动,以设置接口装置,确定接口装置怎样近实时地监测从物理装置来的数据,并控制接口装置怎样在被监测到的数据的基础上控制一个或更多的物理装置。
[0055]每个接口装置包括多个装置连接器和一个或一个以上网络接口,它们使接口装置和集中控制器能够通过一个公共的或私人的网络相连接。在一个实施例中,该接口装置通过一个基于互联网协议(IP)的网络连接到该控制器。该接口装置和该集中控制器通过交换IP数据包实现通信。集中控制器可以提供一个图形用户界面(⑶I),其用户可以在一个远程位置使用它,以监测和控制装置的操作。此外,该图形用户界面允许用户设置自动控制该装置的操作的复合规则。[0056]系统架构
[0057]图1A示出了根据本发明的一个实施例的一个示例性的监测和控制系统100的系统架构。监测和控制系统100包括一个控制器102,网络106,若干接口装置108 (例如,接口装置108.1和108.m),每个接口装置连接到若干被控制的物理装置110。例如,接口装置108.1连接到物理装置110.1,110.2,和110.η。
[0058]控制器102可以包括任何和接口装置108进行通信,并执行一个应用软件的计算设备,该软件由用户104使用,以监测和控制连接到接口装置108的物理装置的操作。例如,控制器102可以存在并运行在一个独立的计算设备上,包括,但不限于一个台式机或笔记本电脑102.1,个人数字助理(PDA)或智能手机102.2,平板电脑的102.3,或大型计算机102.k。在一些实施例中,控制器102存在并运行在一个服务器云上。此外,在一些(未显不的)实施例中,控制器102存在并运行在一个或一个以上的接口装置(例如,接口装置108.1和/或108.m)上,以实现一个分布式控制器。
[0059]网络106 —般可以包括任何类型的、有线或无线的、可将计算节点连接在一起的通信信道。网络106包括,但不限于一个局域网,广域网,一个专用网络,公共网络,或网络的组合。此外,网络106可以包括一个有线网络,无线网络,或它们的组合。在一些实施例中,网络106包括一个基于IP的网络。在另一个实施例中,网络106包括互联网。
[0060]每个接口装置108,如接口装置的108.1或108.m,包括若干物理端口,其使该接口装置和若干物理装置相连接。此外,物理装置Iio (例如,装置110.1-110.η)可以包括任何类型的物理装置,如传感器,机器,或任何类型的现在已知的或以后开发的电动部件。该装置可以包括传感器(例如,温度传感器,湿度传感器,电流传感器,运动传感器,和门/窗传感器),或可控装置(例如,灯开关,电源插座,电源板,继电器等)。
[0061]在一些实施例中,物理装置110可以是“愚蠢的”装置,其不具备任何智能,如计算或连接网络的能力。在另一个实施例中,物理装置110可以包括任何类型的现成的检测环境因素的传感器,所述环境因素包括但不限于温度,声音,光强度,湿度,运动,电流,门/窗开或关等。一传感器的输出可以包括一个模拟或数字信号。例如,一个温度传感器的输出可以是一个在一定范围内的模拟电压信号,一个运动传感器的输出可能是一个二进制数字信号,用“ I”表示动作已经被探测到。
[0062]在一些实施例中,接口装置108可以包括一个串行端口(如RS232或RS485端口),并且装置110可以是一个串行装置,其与接口装置108通过串行端口通信。例如,装置110.1可以包括一个能够通过串行端口来控制的装置,接口装置108.1可以通过串行端口连接到该装置。因此,接口装置108.1可以通过串行端口从该装置接收状态信息,并能通过串行端口传达命令以控制该装置。另一个例子是,装置ΙΙΟ.η可以包括一个路由器,接口装置108.1可以连接到该路由器的控制台端口,从而实现远程监测和控制该路由器。
[0063]图1B示出了根据本发明的一个实施例的一个示例性的监测和控制系统150的系统架构,其包括一个部署在计算机集群152上的,可通过广域网154接入的控制器。在一些实施例中,计算机集群152可以包括多个服务器计算机152.1-152.k,使用负载均衡技术将其负载分布到计算机集群152各处。
[0064]随着时间的推移,在计算机集群152的负载增加时,系统管理员可以添加额外的服务器到计算机集群152上。具体来说,服务器计算机152.1-152.k可以分布在不同的地理位置,这样一个特定的地理位置的服务器的数量可以根据该地理位置的需要进行调整。这允许计算机集群152近实时地服务来自多个装置的请求,以及推送数据到该多个装置。
[0065]在操作过程中,计算机集群152可以保持到多个客户端装置(例如,计算机设备158,和/或接口装置162)持续不断的或连续的网络连接。该网络连接可以包括一个双向通道,其用WebSocket协议建立,或者,网络连接可以通过使用STUN协议,Comet协议,或任何其它的现在已知的或以后开发的通信协议保持。计算机集群152可以从这些客户端装置接收实时数据,并能转送实时数据到一个已订阅该数据的客户端装置。例如,在一些实施例中,计算机集群152可以包括一个与控制器有关的数据库166,使得数据库166可以保持一个“可跟踪光标”目录。这些可跟踪光标实现一个队列,用于将数据转发到订阅了某个数据的客户端装置。客户端装置可以绑定并等待这些可跟踪光标。
[0066]在一些实施例中,装置158可以包括客户计算设备,如计算机(例如,笔记本电脑),移动装置(例如,一个智能手机或平板电脑)等。通过建立和维持到所想要的目标装置的网络连接,装置158可以与计算机集群152和/或接口装置162通信。例如,一个用户156可以使用装置158 (例如,一台笔记本电脑或智能手机)上运行的应用程序,用来和一个在计算机集群152上运行的控制器建立一个会话,并从控制器接收一个或一个以上接口装置162的网络地址信息。装置158可以使用一个接口装置的网络地址信息将数据发送到该接口装置,和/或建立与该接口装置的网络连接。
[0067]在一些实施例中,装置158和/或接口装置162可以确定它们什么时候可以彼此点对点(peer-to-peer)通信,以及什么时候它们需要通过转送服务(例如,通过计算机集群152 )相互通信。例如,通过储存接口装置162和/或任何其他计算设备的装置接入信息,装置158可以记住分布式接口装置网络的配置快照。该装置接入信息可以包括网络地址信息,如远程装置的IP地址和端口号,和/或可以包括接入远程装置所用的认证信息(例如,数字证书,用户名,密码,授权令牌等)。因此,如果在局域网160内的接口装置162失去它们到控制器的连接(例如,局域网160和广域网154断开),装置158的该应用程序可以使用已存储的配置快照通过局域网160和接口装置162直接通信。这允许一个监控接口装置网络的应用软件直接与接口装置162通信,而无需先联络计算机集群152上的控制器。
[0068]在一些实施例中,通过利用已知的网络地址信息向接口装置发送一个请求(例如,通过一个JSONP消息),装置158可以测试与接口装置的连接。该请求可以表明想要的接口装置的的装置识别信息(例如,一个逻辑标识,一个媒体访问控制地址(MAC address)等),这使得装置158无需从远程装置请求敏感信息就可以测试连接。如果该请求到达一个接口装置,该接口装置将这个识别信息与本地的装置识别信息进行比较,并确认其身份,如果它确实是目标接口装置。在一些实施例中,该接口装置通过提供认证信息,如数字证书,向装置158确认其身份。
[0069]如果网络地址信息包括接口装置的IP地址,当装置158和接口装置同时连接到同一局域网(例如,局域网160)时,装置158可以使用此IP地址与该接口装置通信。然而,如果装置158和接口装置不连接到同一个局域网,也不能跨域建立点对点连接(例如,由于防火墙),装置158可以与接口装置使用数据转发服务进行通信(例如,计算机集群152,或另一个连接到广域网154的服务器计算机)。
[0070]此外,在一些实施例中,装置158可以自动发现其他装置的存在(例如,使用通用即插即用(UPnP),或其他的自动发现协议)。例如,如果一个接口装置的网络信息已经改变,而且装置158无法建立到中央控制器的网络连接,装置158可以自动发现其他装置的存在,以获得装置识别信息(例如,一个MAC地址,一个数字证书等)。装置158可以把接收到的被发现的装置的装置识别信息和所想要的接口装置的装置识别信息进行比较。如果一个被自动发现的装置和一个想要的接口装置相一致,装置158可以获取和存储被发现的装置的网络地址信息(例如,用以取代旧的或无效的信息),并可以使用这个网络地址信息建立一个到被发现的装置的网络连接。
[0071]用户156可以使用装置158上的互联网(Internet)浏览器与中央控制器互动(例如,访问计算机集群152上的控制器),这允许用户从各接口装置162浏览实时数据。该控制器可为用户生成网页,其包括各接口装置的网络地址信息。如果装置158和一个接口装置在同一域内(例如,一个局域网,或虚拟私人网络),在装置158上的浏览器可以直接从该接口装置获取实时数据。例如,该浏览器可以使用JS0NP( JavaScript object notation, withpadding)或 CORS (cross-origin resource sharing)向接口装置请求数据,该接口装置可以是和提供网页的控制器在不同的域上。
[0072]在一些实施例中,系统架构150内的装置可以通过建立和维护一个持续不断的或连续的网络连接近实时地互相通信。例如,接口装置162之间可以相互订阅对方的数据,并能使用网络连接,实时将数据向订阅装置推送。另一个例子是,装置158可以建立一个到若干接口装置162的网络连接,并接收实时数据以呈现给用户。
[0073]此外,在局域网160内的本地装置可以建立和维持与计算机集群152的持续不断的网络连接,这可以通过确定它的外部地址并和计算机集群152分享这个地址(例如,使用STUN),或通过在局域网160内维持一个穿过防火墙的端口隧道(例如,使用Comet)得以实现。或者,本地装置还可以建立一个持续不断的双向网络连接,如采用WebSocket协议或任何其他的双向通信协议。
[0074]使用Comet维持网络连接,本地装置可以发送长轮询请求到计算机集群152 (例如,作为一个XMLHttpRequest(XHR)的通知),这将打开一个防火墙内的临时端口,通过它计算机集群152可以提供一个响应消息。如果计算机集群152有新的数据提供给本地装置,计算机集群152可以使用XHR响应来响应XHR通知,该响应包括该新的数据。不然,如果计算机集群152没有新的数据给本地装置,计算机集群152不响应XHR请求,从而使XHR请求终止。
[0075]一旦XHR请求终止,一个网络路由器或防火墙可能会关闭一个和XHR请求相关联的端口,这将防止计算机集群152向本地装置提供新的数据。因此,为了保持与计算机集群152的网络连接,在已存在的请求终止之前(例如,在30秒的时间间隔),该本地装置可以周期性地发送额外的长轮询请求。计算机集群152可以把新的XHR请求与本地装置相关联(例如,取代以前的XHR请求),并利用新的XHR请求中的网络地址信息将实时数据推送到本地装置。
[0076]利用WebSocket协议建立网络连接,本地装置可以发送一个WebSocket握手请求到计算机集群的152,这将把一个超文本传输协议(HTTP)会话升级到一个WebSocket会话,该请求包括给计算机集群152上的控制器的Sec-WebSocket-Key令牌。该控制器发送一个响应到本地装置来回应,该响应承认该WebSocket会话,并且包括来源于Sec-WebSocket-Key 令牌的 Sec-WebSocket-Accept 令牌。
[0077]装置架构
[0078]图2A示出了根据本发明的一个实施例的一个示例性的接口装置200的装置架构。接口装置200包括若干物理端口,如端口 202,204,和206,用来为若干物理装置提供物理连接;处理单元208,存储单元210,用于生成或解析通信数据包的数据包生成器/解析器212,有线网络接口 214,和无线网络接口 216。接口装置200可任选地包括一个通用串行总线(USB)接口 218。
[0079]物理端口 202-206提供接口装置200和一些物理装置之间的连接。更特别的是,物理端口 206-208可给相连接的物理装置供电,并从相连接的物理装置接收输入信号和向其发送输出信号。在一些实施例中,这些功能是通过一个物理端口和一个物理装置之间的有线连接而实现的。例如,一个典型的温度传感器可以包括三个引脚,一个接地,一个输入电源,一个是模拟电压输出。当温度传感器连接到一个物理端口,三个引脚每个都连接到相应的物理端口内的连接点上,从而使接口装置200通过那些有线连接向温度传感器供电,并从温度传感器接收其输出的电压。在一些实施例中,物理端口包括至少一个RJ45端口(一个RJ45雌性插口),其提供了八个等距导电通道。一个插入插口的RJ45电缆提供到一个装置的有线连接,该装置可能包括或可能不包括一个RJ45插口。在一些实施例中,物理端口包括一个接线端子端口,其包括八个相等间隔的金属柱,每个可以连接一个设备终端。请注意,这个简单的接线端子端口可使接口装置200和几乎任何类型的装置相连,只要该装置具有八个或小于八个连接。
[0080]处理单元208负责取样,分析,并解释从物理装置接收到的原始输入信号(模拟或数码)。例如,如果一个物理装置是一个温度传感器,从对应的物理端口接收到的原始输入信号将是在一定范围内(如从O到2伏)的模拟电压,这样,使用和温度传感器相关的校准信息,处理单元208可以把该模拟电压转换成为相应的温度。在一些实施例中,可以由用户提供和传感器相关的校准信息。在一些实施例中,该监测和控制系统保持许多现成的传感器的记录,并且可以基于传感器的品牌和型号查找校准信息。此外,处理单元208还负责执行从控制器接收到的控制命令。例如,如果控制器发送一个命令关闭一个温度传感器,处理单元208将停止向相应的终端供电。
[0081]存储单元210负责存储各种类型的、有关相连接装置的信息,如历史数据。利用从处理单元208和存储单元210获得的信息,数据包生成器/解析器212生成通信数据包,并解析从控制器接收到的通信数据包。在一些实施例中,数据包生成器/解析器212能够生成和解析IP数据包。
[0082]有线网络接口 214和无线网络接口 216提供接口装置200和一个网络之间的连接,从而连接接口装置200和控制器。在一些实施例中,有线网络接口 214和无线网络接口216允许接口装置200被连接到互联网。在一些实施例中,有线网络接口 214包括一个以太网(Ethernet)端口。在另一个实施例中,以太网端口还通过以太网供电(PoE)向接口装置200供电。除了提供与控制器的通信接口,有线网络接口 214和无线网络接口 216也使接口装置200与其他对等接口装置通信。
[0083]在一些实施例中,如果接口装置200还没有被设置,接口装置200可以设置无线网络接口 216,使其作为一个接入点(access point)。用户可以使用个人计算设备连接到与接口装置200相关的无线局域网,以接入该接入点(举例而言,用户例如可以从接口装置200的底盘上的打印文字来确定该无线局域网的SSID和密码。)。一旦用户的计算设备连接到接入点,接口装置200可以向用户提供一个设置用⑶I,这可以通过例如一个HTTP会话得以实现。
[0084]当用户在其个人电脑上启动一个互联网浏览器时,接口装置200可以将用户的互联网浏览器重定到该设置用GW,该界面允许用户按需要设置该接入点。例如,用户可以设置一个到用户个人接入点(例如,一个连接到互联网的无线路由器)的连接,并可以输入个人登录信息以使用一个服务,该服务允许用户通过互联网控制接口装置200。
[0085]一旦用户完成接口装置200的设置,接口装置200保存该设置并重新启动。当接口装置200重新启动时,如果接口装置200确定它已被已正确设置,则接口装置200可以设置无线网络接口 216,使其成为一个无线客户端装置,并连接到用户的个人无线接入点。
[0086]在一些实施例中,一个接口装置还可以是专门设计的、联通网络的电源板,它可以监控一个连接到该电源板的设备的能源使用情况(如电流和/或电压)。该电源板装置可以控制一个连接上的装置,例如在本地或远程打开或关闭相应的电源插座。
[0087]图2B示出了根据本发明的一个实施例的一个示例性的接口装置的软件架构220。软件架构220包括一个操作系统内核222,数个设备驱动程序224,数个通信模块228,互联网服务器234,和一个微控制器代理模块(mcAgent226)。特别是,接口装置200可以把软件架构220存储在存储单元210内,并可使用处理单元208来执行软件架构220的一个或一个以上模块。
[0088]通信模块228可以包括因特网协议(IP)模块230,用于建立和维护一基于IP层协议的、和一远程装置的网络连接,例如使用STUN协议,Comet协议等。在一些实施例中,通信模块228可包括一 WebSocket模块232,使用WebSocket协议保持和维护与远程设备的网络连接。WebSocket模块232可以包括一个用户空间的应用程序或服务,利用其他内核空间的服务(例如,设备驱动程序224)和/或其他用户空间的服务来建立和维护该网络连接。
[0089]操作系统内核222可以包括任何操作系统,如一个Linux操作系统的变种。微控制器代理(mcAgent)226可包括一个运行在操作系统内核222之上的用户空间的应用,以实现本文所描述的接口装置200的功能。例如,mcAgent可以和设备驱动程序224互动,以检测到一个用户主导的事件(例如,从用户输入设备,如灯开关),定期监测传感器的输入(例如,一个运动传感器),和/或控制一输出设备(例如,一个电源)。同时,mcAgent可与通信模块228互动,以建立一个到远程控制器和/或一个或一个以上远程接口装置的网络连接,和/或通过相应的网络连接发送数据到该控制器或远程接口装置,或从该控制器或远程接口装置接收数据。
[0090]设备驱动程序224可以包括一个或一个以上可以通过一个虚拟文件接口(例如,在Linux文件系统中/proc目录下的一个虚拟文件)使用的内核空间驱动模块。通过对一个对应于一个目标装置的虚拟文件的读写,通信模块228和/或mcAgent226可以和设备驱动程序224互动。
[0091]设备驱动程序224可以包括,例如,用于访问和控制一个网络接口的网络设备驱动程序,上述网络接口例如一个以太网控制器,一个W1-Fi控制器,或一个蓝牙控制器。操作系统内核222可以通过使用网络设备驱动程序与一个远程计算机设备进行通信。同时,通信模块228可以使用网络设备驱动程序,以建立和维护一个和控制器和/或对等接口装置的网络连接。
[0092]作为另一个例子,设备驱动程序224可以包括驱动模块,其通过一个处理单元的通用输入输出(GPIO)端口、该处理单元的一个串行接口、或该处理单元的一个通用异步接收器/发送器(UART)端口,监视或控制一外围设备。例如,串行接口可以包括一个串行外设接口(SPI)总线,一个跨集成电路(I2C)总线,或任何现在已知的或以后开发的串行接口。
[0093]在一些实施例中,外围设备可以包括一非永久性存储设备(例如,一个随机存取存储器(RAM)模块),或一个永久性存储设备(例如,闪存设备)。在其他一些实施例中,外围设备可以包括一个移位寄存器,模数转换器(ADC),数模转换器(DAC),输出功率调节器,继电器,以交流三极管(TRIAC)为基础的装置,等。进一步,外围设备也可以包括一个用户输入装置,如对触摸敏感的用户接口。
[0094]微控制器代理
[0095]在一些实施例中,微控制器代理(mcAgent) 226管理接口装置做出的操作,例如管理来自多个远程装置的数据订阅,和处理在检测到新事件时所触发的规则。在操作过程中,mcAgent226可以接收来自远程装置(例如,一个控制器或接口装置)的数据订阅请求,在这时mcAgent226可以把该数据订阅请求插入到数据订阅库中。该数据订阅请求可以指明被订阅的数据的类型,和一个让mcAgent226推送数据到远程装置所需要满足的条件(例如,最小或最大阈值)。
[0096]并且,mcAgent226可以定期从各种输入传感器采集数据样品,并将数据推送到一个已订阅某一类型数据更新的远程装置上。mcAgent226可以从输入传感器或装置定期在预定的时间间隔(例如,每15毫秒)采集数据样品。每一次mcAgent226获得一数据样品,mcAgent226可以将被采集的样值(或上一个采样值的变化)和一个或一个以上的、和一组数据订阅相关的阈值进行比较。如果采样值(或值的变化)满足订阅请求,mcAgent确定一个与该数据订阅相关的远程装置,并将采样数据值推送至该远程装置。在一些实施例中,系统可以,例如,使用与该远程装置的持续不断的网络连接相关的网络地址信息(例如,使用WebSocket模块232)将采样数据值推送至该远程装置。
[0097]在一些实施例中,该远程装置是一接口装置,其利用采样数据,以确定是否做出一个规则的操作。
[0098]在另一些实施例中,该远程装置可以包括一个控制器,该控制器收集数据,和/或把数据呈现给用户。例如,一个用户可以设置该控制器,以存储一个事件日志,其包括在接口装置200上、满足一定条件的事件。该控制器可以建立和维护与接口装置200的网络连接,并在用户指定的条件下,通过向接口装置200订阅采样数据来填充事件日志。
[0099]作为另一个例子,通过控制器,用户可以使用个人电脑设备监测从各种接口装置来的数据。用户访问控制器上的一个“地图”用户界面(UI),这样的地图用户界面在一个地图上示出和接口装置200相关的传感器,也可以在地图上示出所采样的实时数据。因此,为了向用户显示实时数据,该控制器可以建立和保持一个持续不断的到接口装置200的网络连接,并订阅接口装置200采样的数据。该订阅可以指示将采样数据周期性地,在预定的时间间隔(例如,每一秒)推送至控制器,或在采样数据值产生至少一个限度的变化时将其推送至控制器。这样,当用户浏览地图用户界面时,控制器可以近实时的接收传感器数据并向用户显示。当用户离开在地图用户界面上的传感器时,或者当用户关闭地图用户界面时,控制器可以向接口装置200发送一个请求,以取消数据订阅。如果控制器不需要发送数据到接口装置200或从其接收数据,则控制器还可以断开到接口装置200的网络连接。
[0100]示例性的接口装置
[0101]图2C示出了根据本发明的一个实施例的一个示例性的mPort接口装置的装置架构240 ο装置架构240可以包括一个闪存存储器246,其用于存储数据以及用来运转该mPort接口装置的软件指令,以及一个处理单元242和一个用于执行指令的存储装置244(如随机存取存储器(RAM))。
[0102]装置架构240可以包括数字输入252,和数字输出254。数字输入252可连接到一个或一个以上外部装置的数字输出信号上,上述外部装置如门传感器,拨动开关等。数字输出254可连接到一个外部装置上以便设置或控制该外部装置,或可以连接到一个mPort装置的输出显示(例如,一液晶显示(IXD),或发光二极管(LED)指示器)上。
[0103]装置架构240还可包括至少一个模数转换器(ADC)255,它将一模拟信号的物理量转换为表示该物理量振幅的数字信号(例如,一个二进制数)。在一些实施例中,ADC可以通过模拟输入256连接到一外部装置,如一传感器,用于对与该传感器相关的物理量进行采样。模拟输入256可以包括一个差分对,ADC255用它对相应的模拟信号米样。处理单兀242可以通过数字接口的引脚或通过串行总线从ADC255读取数据,并将该代表与相连传感器相关的物理量的数据存储或进行操作。
[0104]例如,在一些实施例中,模拟输入256可连接到一个温度传感器的差分对(未显不)上。该温度传感器可以在差分对上提供一个连续的模拟信号,这样模拟信号代表由温度传感器的一个检测部分检测到的一个温度物理量。此外,处理单元242可以通过数字输出254与传感器连接,以便对传感器进行校准,或设置传感器的运转操作(例如,设置一个测读期间)。
[0105]装置架构240可以包括一个或一个以上模块与外部装置通信。例如,装置架构240可以包括通信模块247,其可以包括连接到一个以太网端口 249的以太网模块,和/或可以包括或被连接到一个无线模块248 (例如,一个W1-Fi模块,或蓝牙模块)。装置架构240还可以包括一个串行端口 250 (例如,一个UART端口用的RS-232插口),它可以连接到一个外部装置,并且可以被处理单元242使用,以监测和/或控制外围装置。外围装置可以包括一个设备(例如,HVAC (暖通空调系统)),或任何可以通过UART端口 250通信的电子或计算机设备。
[0106]图2D示出了根据本发明的一个实施例的一个mPort接口装置258。具体而言,装置258的底盘包括到至少一个复位开关,一个以太网端口,一个通用串行总线(USB)端口,一个以太网端口,一个串行端口,和一组和一个或一个以上外部设备的连接(例如,通过RJ-45端口,或通过连接端子)的通道。装置258还可以包括无线网络装置,如内部W1-Fi模块。
[0107]同时,mPort接口装置258可以包括一组LED指示灯。当mPort接口装置258正确连接到电源时,电源LED指示灯变成为稳定的绿色。当一个有效的以太网连接建立时,以太网LED指示灯亮成稳定的绿色,并在以太网连接有活动时闪烁。当mPort接口装置258开箱首次启动工厂默认模式时,一个状态LED灯亮成稳定的黄色,当装置258已成功地集成到一个网络上并正常工作时,该状态LED灯亮成稳定的绿色。同时,当定位按钮(Locatebutton)在mFi控制器软件中使用,以在地图上显示装置258时,状态LED闪烁。
[0108]图14A示出了根据本发明的一个实施例的一个mPort接口装置1400的成角度视图。具体地说,该装置1400包括一组与一个或一个以上外部物理装置的连接(例如,通过RJ-45端口 1402,或通过连接端子1404),包括复位按钮1410,并包括LED指示灯1412。装置1400还可以包括一个通用串行总线(USB)连接器1406,和一个以太网端口 1408,这有利于把装置1400连接到一个计算机网络或其他设备上(例如,用于设置装置1400的个人计算机)。
[0109]图14B示出了根据本发明的一个实施例的一个mPort接口装置1430的一个侧视图。具体而言,装置1430的侧视图示出了一组LED指示灯,并示出了两个RJ-45端口和一组连接端子,其可以连接到一个或一个以上外部物理装置。
[0110]图14C示出了根据本发明的一个实施例的一个mPort接口装置1460的一个侧视图。具体而言,装置1460的侧视图示出了一个通用串行总线(USB)端口,一个以太网(Ethernet)端口,和一个复位按钮。
[0111]图15A示出了根据本发明的一个实施例的一个mPort接口装置1500的成角度视图。具体地说,该装置1500包括一个串行接口 1502(例如,一个RS-232端口,RS-422端口,和/或RS-485端口),可以连接一个外围装置(例如,一个电器设备),并包括连接端子1504,其可以连接一个物理装置(例如,一个传感器)。装置1500还包括复位按钮1510,和LED指示灯1512。装置1500还可以包括一个通用串行总线(USB)连接器1506,和一个以太网端口 1508,这有利于把装置1500连接到一个计算机网络或其他设备上(例如,用于设置装置1500的个人计算机)。
[0112]图15B示出了根据本发明的一个实施例的一个包含天线连接器1522的mPort接口装置的成角度视图。具体来说,天线的连接器1522包括雄性同轴连接器,它可以连接到无线模块使用的的天线上,该无线模块如W1-Fi模块(例如,图2C中的无线模块248)。
[0113]图15C示出了根据本发明的一个实施例的一个mPort接口装置1540的侧视图。具体而言,装置1540的侧视图示出了一组LED指示灯,一个天线连接器,并示出了一个串行连接器和一组连接端子,其可以连接到一个或一个以上外部物理装置。
[0114]图1?示出了根据本发明的一个实施例的一个mPort接口装置1560的侧视图。具体而言,装置1560的侧视图示出了一个通用串行总线(USB)端口,一个以太网(Ethernet)端口,和一个复位按钮。
[0115]图2E示出了根据本发明的一个实施例的一个示例性的mPower接口装置的装置架构260。装置架构260可以包括一个闪存存储器266,其用于存储数据以及用来操作mPower接口装置的软件指令,以及一个处理单元262和一个用于执行指令的存储装置264 (如RAM) ο
[0116]装置架构260可以包括一个或一个以上功率输出模块270,每个功率输出模块270可以包括一个功率输出控制器274 (例如,一个Prolific PL7221集成电路(IC)装置),一个继电器272,和一个电源插座276。处理单元262,通过使用数字接口的引脚或串行总线以控制相应的功率输出控制器274,可以启用或禁用通过电源插座276传送的电力,此时功率输出控制装置274可产生用于打开或闭合继电器272的电气信号,来启用或禁用到电源插座276的电传输。处理单元262也可以设置功率输出控制器274,以监测电源插座276的电量消耗,例如,定期获得相应的电气负载的功率测量。
[0117]处理单元262可以设置功率输出控制器274,以对电源插座276的功率信号的物理量进行采样,并可以通过数字接口引脚或串行总线获得采样值。采集的物理量可包括电流,电压,有功功率,无功功率,视在功率,和/或其他功率信号的物理量。
[0118]在一些实施例中,装置架构260可包括一个电流调节装置(例如,一个TRIAC器件,未显示)以控制提供给一外部装置的功率。当功率信号的相位达到一定的相位角时,功率输出控制器274可以在一个可确定的时间间隔中提供一个触发脉冲给电流调节装置,以向外部装置提供想要的功率水平。例如,当电源插座276连接到一灯具,功率输出控制器274可以控制电流调节器,作为一种调整灯具的亮度水平的手段。另一个例子是,当电源插座276连接到感应电动机(例如,通风风扇)时,功率输出控制器274可以控制电流调节器,作为一种调节电机轴(例如,风扇的叶片)的旋转速度的手段。
[0119]装置架构260还可以包括一个串行端口 267,它可连接到一个接受来自电源插座276的供电的外围装置。例如,外围装置(例如,计算设备)通过电源插座276通电启动后,该在装置运作时,处理器262可以使用串行端口 267来设置外围装置,和/或监视和控制外围装置。在一些实施例中,如果该装置没有通过串行端口 267响应命令,处理单元262可以确定外围装置已经经历了一次故障事件,并可以通过电源插座276执行电源关和开的操作,以重新设定该装置。如果处理单元262需要在外围装置的运作中禁用外围装置的电源,处理单元262可以使用串行端口 267来执行上外围装置的关机顺序。
[0120]装置架构260还可以包括一个或一个以上模块与外部装置通信。例如,装置架构260可以包括通信模块268,其可以包括连接到一个以太网端口 269的以太网模块,和/或可以包括或被连接到一个无线模块265 (例如,一个W1-Fi模块,或蓝牙模块)。
[0121]图2F示出了根据本发明的一个实施例的一个mPower接口装置278。具体而言,装置278包括至少一个重置按钮,一个LED状态指示灯,一个或一个以上电源插座,和一个电源插头。当接口装置278开箱首次启动工厂默认模式时,一个状态LED指示灯显示稳定的黄色,当装置278已成功地集成到一个网络上并正常工作时,该状态LED灯显示稳定的绿色。同时,当定位按钮(Locate button)在mFi控制器软件中使用,以在地图上显示装置278时,状态LED闪烁。
[0122]图2G示出了根据本发明的一个实施例的一个示例性的mDimmer或mSwitch接口装置的装置架构280。装置架构280可以包括一个闪存存储器284,其用于存储数据以及用来操作mDimmer接口装置的软件指令,以及一个处理单元282和一个用于执行指令的存储装置283。装置架构260还可以包括一个对触摸敏感的用户接口 294和用来控制对触摸敏感的用户接口 294的微控制器288。对触摸敏感的用户接口 294可包括接近传感器295,运动传感器296,和多个触敏传感器297。
[0123]接近传感器295可以在当一个物体(例如,用户的手)接近触摸敏感的用户接口294时检测到这种情况,并且,基于所检测到的物体与接近传感器295的接近程度,该接近传感器可以生成一个模拟信号。例如,接近传感器295可以包括一个红外接近传感器,它从一个红外线发射器发出红外信号,并基于红外线检测器所检测到的红外线的量(例如,用户的手所反射的红外线)生成该模拟信号。
[0124]触敏传感器297可以包括电阻式触摸传感器,电容式触摸传感器,或任何现在已知的或以后开发的触摸屏传感器。当用户触摸相应的触敏传感器(例如,传感器297.η)时,触敏传感器检测到其触摸屏表面的电容的增加,并生成反映被检测到的电容量的模拟电压。
[0125]一个相应的触敏传感器可以包括沿一个维度的锯齿形状,如数个沿水平方向连接的V形,并且,触摸传感器组297.1-297.η可以沿一个用户接口 294的垂直于锯齿形状的方向设置(例如,在用户接口 294的垂直方向)。此外,两个相邻的触敏传感器可以放置在靠近的位置,例如,使一个触敏传感器(例如,传感器297.1)的最低点的沿用户接口 294的垂直方向的坐标小于或等于其下相邻的触敏传感器(例如,传感器297.2)的最高点。
[0126]可供选择的,一相应的触敏传感器可以包括任何其它适合实现对触摸敏感的网格的形状,并且,触敏传感器组297.1-297.η可以沿用户接口 294的两个维度设置,以创建一个对触摸敏感的表面(例如,一个网格或其他用户接口模式),其与一组预定的触摸表面手势相关联。
[0127]关于运动传感器296,运动传感器296可以包括一个超声波运动传感器,一个微波运动传感器,一个光学层析运动传感器,或任何现在已知的或以后开发的运动传感器。当一个用户或一个物体在对触摸敏感的用户接口 294前移动时,运动传感器296可检测到它的运动并可以生成一个二进制值以指明一物体已被检测到。在一些实施例中,运动传感器296可以生成模拟或数字值以指明,例如,超声波测量的变化,微波测量的变化,等等。
[0128]对触摸敏感的用户接口 294为每个接近传感器295、触敏传感器297.1-297.η,和运动传感器296生成一个数字输出信号。在一些实施例中,对触摸敏感的用户接口 294可包括对应于每个传感器的ADC (模拟与数字转换)装置,将传感器的模拟信号转换到数字二进制信号。对触摸敏感的用户接口 294可通过一并行总线(例如,微控制器288上的数个GPIO引脚),或通过一串行总线(例如,微控制器288上的一个SPI或I2C总线)提供该数字二进制信号。
[0129]在另一些实施例中,对触摸敏感的用户接口 294可包括对应于每个传感器的施密特(Schmitt)触发装置,并且,一个相应的施密特触发器生成一二进制输出信号,指明一相应的传感器是否检测到一个物体。对触摸敏感的用户接口 294可通过一并行总线(例如,微控制器288上的数个GPIO引脚),或通过一串行总线(例如,微控制器288上的一个SPI或I2C总线)为各个传感器向微控制器288传送该二进制数值。
[0130]微控制器288可以定期监测对触摸敏感的用户接口 294的各种传感器的状态,例如在约15毫秒的时间间隔。如果微控制器288确定接近传感器295检测到一个物体,微控制器288可以激活对触摸敏感的用户接口 294的光源,以在用户通过用户接口 294输入一个装置控制命令时允许用户看到用户接口 294。微控制器288激活光源的方式可以是,例如,通过在一个确定的时间间隔内把光源的亮度增加到一定水平(例如,一个固定的水平,或根据来自周围的光量的水平)。
[0131]并且,如果微控制器288确定触敏传感器检测到一个物体的接触,微控制器288可以基于触摸屏用户接口 294当前状态和以前的状态来确定一个手势。例如,微控制器288可以确定用户正在触摸的用户接口 294的当前区域(例如,当前的状态),以及,基于以前的触敏传感器所检测到的物体的触摸(例如,以前的状态),可以确定一个触摸手势的方向。一旦用户已经完成了与用户接口 294的互动,微控制器288可以生成一个手势,表示用户的手势的速度和方向,和/或用户的手势经过的距离。因此,微控制器288可以确定用户向上扫动手指的手势,或向下扫动手指的手势,以及手指扫动手势的速度和经过的距离。
[0132]如果用户没有用他的手指在触敏用户接口 294的表面扫动(例如,以前的状态并不涉及用户触摸或扫过用户接口 288),微控制器288可以确定用户接口 294上用户触摸了的一个区域。微控制器288可以生成和储存一个手势,其表明用户接口 294中的被用户触摸了的部分表面,例如,使用一个数值指明用户触摸了的用户接口 294的垂直坐标。处理单元282可以设置灯具的输出功率,使其达到与该数值对应的光强度。
[0133]在一些实施例中,处理单元282定期(例如,在约15毫秒的时间间隔)从微控制器288获得传感器读数和/或检测到的手势。同时,处理单元282可以使用所获得的数据,以选择一组规则来进行评估,并可以做出任何其条件已满足的规则所相关的操作。处理单元282也可以选择一组已经预订一数据(例如,有关检测到的运动和/或检测到的手势的数据)的远程装置,并可以使用与相应的网络连接相关联的网络地址信息把该数据发送到选定的装置。
[0134]装置架构280可以包括一个或一个以上通信模块285以便与外部设备通信。通信模块285可包括或被连接到一个无线模块286(例如,一个W1-Fi模块,或蓝牙模块),和/或可以包括连接到一个以太网端口的以太网模块(未显示)。装置架构280还可以包括一个串行端口 287 (例如,一个UART端口用的RS-232插口),它可以连接到一个外部设备,并且可以被处理单元282使用,以监测和/或控制外围设备。外围设备可包括一个电器(例如,HVAC (暖通空调系统)),或任何可以通过串行端口 287通信的电子设备或计算机设备。
[0135]装置架构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的电量消耗,例如,定期获得相应的电气负载的功率测量。
[0136]在一些实施例中,装置架构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,以让它生成用于设置TRIAC290.2、并使其达到并保持在所需的功率输出水平所需要的电气信号,微控制器288控制功率输出。
[0137]在一些实施例中,功率输出控制器289还监测通过电源端子292发送的电流量,发电量,和/或电相位。微控制器288可以在测量值的基础上校准功率输出控制器289,以使通过电源端子292所发送的电功率变稳定。如果微控制器288检测到在电力负载上的变化,例如由于灯具变暗,微控制器288可以调整功率输出控制器289来弥补在电力负载上的变化,以达到所想要的功率输出。因此,微控制器288可以使用功率输出控制器289实现一个反馈循环(feedback loop),调节灯具功率以确保一个稳定的(非脉动)的光强度,即使灯具随着时间的推移而老化。
[0138]在一些实施例中,处理单元282可为用户存储一个以前的照明水平。例如,用户可以做一个手指轻扫的手势,把照明水平调整到所需的水平(例如,用他的手指扫至与所需的照明水平相应的位置)。然后,要关灯时,用户可以点击对触摸敏感的用户接口 294的任何地方,在这时候,处理单元282为该用户存储当前的照明水平,并设置功率输出控制器289来使电源端子292停止供电。如果用户在后来的时间点击触敏用户接口 294的任何地方来开灯,处理单元282可以基于所存储的设置对灯具恢复供电至之前的照明水平。
[0139]此外,如果用户做一个快速的向上或向下的手指扫动,处理单元282可迅速上升或下降亮度水平。可供选择的,如果用户做一个缓慢的向上或向下的手指扫动,处理单元282可精细地调整灯具的亮度水平,例如,以比可以通过点击任何触敏传感器297所能得到的更精细的程度增加或减少亮度水平。
[0140]在一些实施例中,处理器282可以控制一个并非电连接到电源端子292的灯具。当处理单元282检测到一个用户的手势的事件(例如,通过微控制器288)时,处理单元282可以将该手势事件发送到一个已经向本地接口装置订阅事件的远程接口装置。该远程接口装置可以包括一个向灯具提供电源的装置,如由图2E所示出的mPower装置。当该远程接口装置接收到该手势事件时,远程接口装置可以使用该事件的信息,并基于存储在该装置的本地规则库中的一个规则来控制灯具的功率。
[0141]在一些实施例中,连接到电源端子292的电负载可以包括一个HVAC系统。例如,处理器282可以设置为基于通过触敏用户接口 294接收到的用户输入的命令来控制一个HVAC系统。用户可以向上扫动手指以提高温度,向下扫动手指以降低温度,并可通过点击对触摸敏感的用户接口 294的表面来触发HVAC系统的供电。此外,微控制器288可以设置功率输出控制器289,以监测该HVAC系统的电消耗量,以便于用户根据用户的命令以及HVAC系统和/或其他设备的电消耗量来创建控制该HVAC单元的规则。
[0142]图2H示出了根据本发明的一个实施例的一个mDimmer接口装置298。具体而言,装置298包括至少一个重置按钮,一个触控板区域,和一个状态LED指示灯。当接口装置298开箱首次启动工厂默认模式时,一个状态LED指示灯显示稳定的黄色,当装置298已成功地集成到一个网络上并正常工作时,该状态LED灯显示稳定的绿色。同时,当定位按钮(Locate button)在mFi控制器软件中使用,以在地图上显示装置298时,状态LED闪烁。
[0143]在一些实施例中,一个mDimmer或mSwitch装置可以与一个网络桥接接口装置通过串行通信接口,如一个SPI或I2C接口,进行通信。网络桥接接口装置可以包括一个到一个局域网的有线或无线的网络连接。
[0144]图21示出了根据本发明的一个实施例的数个mDimmer接口装置299,其通过一个串行通信接口连接起来。具体而言,一个mDimmer装置299.1包括一个网络模块,如以太网模块或W1-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可以处理一个或一个以上被该接收到的数据所激活的规则。
[0145]作为数据服务器的接口装置
[0146]在一些实施例中,接口装置200可以作为一个数据服务器使用,把从一个连着的物理装置来的实时数据发送至一个已订阅该数据的远程装置(例如,图1B中计算机集群152上的一个控制器)。例如,数据包生成器/解析器212可以接收来自远程装置的条件订阅请求,这将使远程装置订阅来自接口装置200的条件报警消息。
[0147]条件订阅请求可以指明一个条件,该条件决定了接口装置200在什么情况下把一个连接着的物理装置的状态更新和/或传感器测量数据发送到该远程装置。接口装置200可以在存储单元210存储该接收到的与远程装置相关的条件(例如,与该远程装置的IP地址和/或它的任何其他网络可达性信息或设备标识符相关的条件)。然后,当接口装置200确定该条件已满足(例如,当一个连接着的物理装置的传感器测量数据满足该条件),接口装置200可以发送一个相应的条件报警消息至远程装置(例如,基于该设备的网络可达性信息)。接口装置200可以利用与到远程装置的网络连接相关联的网络地址信息,把相应的条件报警消息发送至该远程装置。条件报警消息可以指明该条件已满足,和/或可以指明该连接到接口装置200的物理装置的一个状态和/或传感器测量。
[0148]作为数据客户端的接口装置
[0149]在一些实施例中,接口装置200可以作为一个数据的客户端,来接收来自远程接口装置或一中央控制器的状态和/或传感器测量数据(例如,一个或一个以上连接到该远程接口装置的物理装置的有关数据)。接口装置200可以使用它接收到的数据来修改它的工作状态。具体而言,存储单元210可以存储一个或一个以上复合规则,该规则由接口装置200执行。一个复合规则可以指明一组触发一个操作的条件,并可指明该操作的操作描述。接口装置200可以在接收到的数据的基础上选择和处理规则,并基于规则的操作描述修改其工作状态。
[0150]中央控制器可以分析一组规则来确定这样一个远程接口装置:接口装置200需要从该远程接口装置接受一个物理装置的数据,并确定与该数据相关的条件。例如,控制器可以决定,当一个物理装置X确定温度已经达到IOOoF以上时,该控制器需要接收来自连接到一个远程接口装置Y的该物理装置X的温度测量。该控制器可以向接口装置200提供该远程装置的装置接入信息,该接口装置200用它来建立与远程装置的网络连接。
[0151]具体而言,接口装置200可以使用数据包生成器/解析器212来发送条件订阅请求至远程接口装置,这使接口装置200订阅并从该远程接口装置接收条件报警消息。一旦接口装置200已成功订阅条件警报消息,一旦所需的条件已经满足,远程接口装置将向接口装置200发出条件报警消息。条件报警消息可以指明该条件已满足,和/或可以指明一个连接到该远程接口装置的一物理装置的状态和/或传感器测量。[0152]—旦数据包生成器/解析器212接收到一个条件报警消息,接口装置200可以使用存储单元210储存条件报警消息的状态/测量数据。此外,处理单元208从存储单元210中确定一个或一个以上这样的规则:从条件报警消息中收到的的状态/测量数据,和/或从其他近期的存储在存储单元210的状态/测量数据中,该规则的条件得到满足。处理单元208可以执行任何一个条件已经满足的规则的操作描述。
[0153]系统运行
[0154]返回到图1,控制器102及接口设备106和108之间的通信是通过交换通信数据包实现的,如通过网络106交换IP数据包,该网络可以是一个IP网络。在一些实施例中,装置108处理从连接的装置110.1-110.η收到的原始输入数据(例如,通过将原始模拟或数字数据转换成有意义的信息,如温度或湿度读数)。接口装置108.1将转换数据封装成为IP数据包,并发送数据包到控制器102,从而使用户104得以查看这些信息。此外,用户104可发出一个命令,如建立一个规则用于控制连接着的物理装置的操作。控制器102可以将该用户命令封装成IP数据包,并发送这些数据包到相应的接口装置(例如,装置108.1和108.m),接口装置进而解析这些数据包,并执行用户命令。注意,因为网络106可以包括互联网,用户104和控制器102可以在任何使他能够接入网络106的地点,而仍然能够监测和控制物理设备110。
[0155]图3A是一个流程图,示出了一根据本发明的一个实施例的示例性方法300,其用于设置一个装置控制器。在系统的初始化过程,控制器发现数个作为系统的一部分的接口装置(也称为mPorts)(操作302)。在一些实施例中,控制器和mPorts是在同一个局域网(LAN)域内。在另一些实施例中,控制器与mPorts通过广域网(WAN),如互联网,相连接。
[0156]为了发现接口装置,该控制器可以从用户处接收用户的登录信息,并且控制器识别与用户的帐户相关联的接口装置。控制器可以通过每个接口装置的MAC地址和/或通过其IP地址识别每个接口装置。同时,在发现阶段,控制器还可以自动检测某些连接到用户的接口装置的物理装置(如和制造mPorts的相同供应商制造的装置),无论用户是否已经注册了这些装置,使其和他的用户帐户相关。
[0157]随后,该系统可接受连接到该接口装置的第三方的物理装置(例如,连接到mPorts的专用设备)的信息(操作304)。例如,用户可以和一个控制器提供的用户图形界面(GUI)进行互动,为该第三方装置输入一个型号,并确定该第三方装置是和哪一个mPort相连(例如,通过它的MAC地址识别确定),是和该mPort的哪一个端口相连。记得,该mPort装置可以通过一个模拟终端,或通过一个串行通讯端口,与一个物理装置相连接。该系统可以使用该物理装置的型号来确定该装置的一个描述性的标签,确定可以从该装置观测到的数据类型(例如,模拟或数字值,和观测值的一个描述性的标签),以及确定哪些类型的数据值可以提供给该物理装置。在一些实施例中,如果系统不能识别该物理装置,用户可以使用该GUI输入参数,该参数指明预计可以从该物理装置得到的数据值或可提供到该物理装置的数据值,以及这些数据值的描述性标签。
[0158]系统还可以从用户那里接收有关该接口装置配置的设定(操作306)。在这个过程中,用户可以与GUI互动,在一个地图上指明用户放置或安装的装置的位置,可以指明这些装置如何操作。例如,用户可以指明一个mPort装置的操作时间表,并可以指明一个时间表和/或频率,用于监控该装置上的某个端口。[0159]控制器还接收一个或一个以上由用户定义的规则(操作308)。每个规则定义了触发一个操作的条件,以及一旦满足了这些条件将发生哪些操作。一个规则的条件可以包括条件元素,其把一个或一个以上物理量的传感器测量值作为输入信息。检测到的物理量可以包括,例如,时间值,温度,湿度,功率水平,电压,电流,检测到的运动,开/关状态(例如,关于一个电负载),打开/关闭状态(例如,关于一个门),光照水平,(例如,环境光),和水分含量。
[0160]进一步,一个条件元素可以包括一个比较操作,可以通过把一个传感器测量值和一个预定值(例如,一个恒定值)或另一个传感器测量值进行比较从而进行计算。该比较可以包括,例如,传感器测量值是否大于,小于,或等于该预定值或另一个传感器测量值。一个条件元素还可以包括一个对于和时间相关的物理量的评估或比较。例如,条件元素可以将当前时间作为输入,并把当前时间和预定时间值比较。另一个例子是,条件元素可以将一个传感器的当前状态的持续时间作为输入,如传感器的状态保持其当前值的时间、或传感器的状态持续高于或低于预定的阈值的时间。条件元素可以把该时间段和一个预定的时间进行比较,例如,以确定传感器的状态是否已经在当前值(或一个给定的阈值以上)至少10分钟。
[0161]在一些实施例中,一个规则可以是一个复合的,涉及到多个装置的规则。一个条件元素可以包含一个逻辑算子,它可以通过在一个或一个以上条件元素的结果之上进行逻辑运算来评估。例如,一个规则可以规定,一旦一个门传感器检测到门被打开了,并且一个运动传感器确定房间内没有检测到运动(例如,意味着一个人正在进入房间),那么一个灯开关应当自动打开房间内的一盏灯。并且,另一个规则可以规定,一旦门被打开了,并且之前房间内已经检测到运动(例如,意味着人正离开房间),那么灯开关应当关掉灯。注意,这些规则定义了触发相应动作(例如,把灯打开或关闭)的条件(例如,门被打开以及是否检测到运动),并可以涉及多个装置(例如,门传感器,运动传感器,和灯开关)。该控制器可以进而在规则库中存储这些规则(操作310),从而在规则定义和物理装置数据的基础上设置控制器,使其做出操作。
[0162]一个规则的操作描述指明了一个或更多的当条件准则被满足时应被执行的操作。操作描述可以包括一个或一个以上的应被做出的操作,比如将一个数字输出信号开启或关闭,其带有一个可选的时间限制(如,把数字输出信号开启或关闭10分钟,或者10分钟后把数字输出信号开启或关闭)。另一个例子是,操作描述可以指定一个脚本,其被接口装置所处理。该脚本可以包括一系列的指令,其被接口装置做出,以实现所需的结果。还有,操作描述可以指明,接口装置将发送一个消息到一个目标实体(如,一个电子邮件消息),或者生成一个事件并存储在一个事件日志中以便一个管理员看到。
[0163]在一些实施例中,如果接口装置(mPorts)执行规则(例如,在实施一个分布式控制系统时),本地控制器(例如,用户的个人计算设备)可以将已定义的规则发送至连接着物理装置的接口装置。例如,本地控制器可以将规则发送至一个与应该执行该规则的接口装置相关联的IP地址,或者可以将规则通过与接口装置的网络连接发送到该接口装置。
[0164]图3B是一个流程图,示出了一根据本发明的一个实施例的示例性方法350,其用于呈现配置数据和/或传感器数据。在操作过程中,控制器可以提供给用户一个图形用户界面,其允许用户选择一个或一个以上要监控的物理装置。该控制器可接收一个来自用户的关于一个或一个以上要监控的物理装置的选择(操作352),并且,作为对该选择的接收的响应,控制器获得该物理装置的历史和/或实时数据(操作354)。该系统可以从一本地传感器数据库获得该数据(例如,在本地数据库中),或可以从与物理装置相连接的接口装置那里请求数据。然后,该控制器可以呈现与这些物理装置相关的装置配置信息,也可以通过图形用户界面向用户呈现历史和/或实时数据(操作356)。例如,用户可以选择一个温度传感器,那么和温度传感器相关联的mPort将该传感器检测到的温度在指定时间段内发送给控制器。该图形用户界面可包含一张地图,其在温度传感器的相应的位置示出一个温度传感器的图标,可以在地图上传感器的图标旁边显示当前或近期的温度测量。该图形用户界面也可以包含一个表或线图,用来呈现温度传感器的历史温度测量。
[0165]用户界面视野
[0166]图4A是一个流程图,示出了一根据本发明的一个实施例的示例性方法,其用于设置一个用于一空间视图图形用户界面(GUI)的装置布局空间。在操作过程中,控制器可以接收装置部署区域的部署空间数据(操作402)。部署空间数据可以包括,例如,一个已经部署了一组物理和/或接口装置的室外区域的地图坐标(例如,一街道地图)。或者一个代表一室内区域(例如,一个楼层平面图)或室外区域的地图的图像。另一个例子是,部署空间数据可以包括一个在其中已经部署了一组物理装置的一个房间的静态图片,或者可以包括该房间或空间的实时视频传送(例如,从一个俯仰变焦摄相机(tilt-zoom camera))ο用户可以从一个可以被他的个人计算设备使用的存储装置中选择一个已有的图像文件,并为一个给定的空间上传该图像,或选择一个该图像或实时传送的来源(例如,一个网络地址,一端口号,和/或客户证书)。用户还可以通过给该空间照一张照片(例如,使用一个连接到一智能手机,平板电脑,或笔记本电脑的相机)并上传该照片到控制器以实现该图像的上传。
[0167]如果部署空间数据是对应于一个室外区域的地图,用户可以通过指明一个覆盖了该组已部署装置的地理区域,从而向控制器提供该部署空间数据。用户可以通过提供两个或更多组与该已部署装置相关的地理坐标来指明该地理区域(例如,通过提供一个覆盖了该装置的区域的地理坐标,或该装置自身的地理坐标),该系统从而可以确定一个覆盖了该已部署装置的地理区域以呈现给用户。可替换地或附加地,该控制器可以提供一个空间视图图形用户界面,其允许用户浏览一个互动式地图(例如,街道地图或卫星地图)。通过浏览该互动式地图至覆盖该已部署装置的地区(例如,在一搜索框内输入城市名称或邮政编码,和/或扫过该互动式地图),和通过调整缩放级别以便覆盖一个包围着已部署装置的所想要的区域,用户可以提供该地理区域。
[0168]一旦控制器接收到部署空间数据,控制器可以提供一个空间视图⑶I,其包括装置部署空间的可视化表示(操作404),并可获得一个或一个以上部署在这个空间的装置的装置位置信息(操作406)。该控制器可以从一个包括多个物理装置和接口装置的配置信息的装置库获取装置位置信息。当用户拖动一个物理装置或接口装置的图标到一个该部署空间的视觉表示上的一个位置上,以致该目标位置表示该装置的部署位置时,控制器也可以从用户那里获取装置的位置信息。一旦用户完成在该可视化表示上部署装置,用户可以点击该空间视图GUI上的一个“保存”按钮来完成设置,此时控制器可以存储部署空间数据和装置位置信息(操作408)。
[0169]在一些实施例中,当用户与空间视图⑶I互动时,控制器可接收该一个或一个以上的已部署装置的近期装置状态和/或传感器测量(操作410)。作为对接收到该新数据的响应,控制器可以更新空间视图GUI,以向用户呈现此信息,例如,通过将装置的图标和它们近期的状态和/或测量数据覆盖在装置部署空间的可视化表示上(操作412)。
[0170]图4B是一个流程图,示出了一根据本发明的一个实施例的示例性方法430,其用于展示和更新一空间视图GUI。在操作过程中,控制器可以显示一空间视图GUI,其示出了一装置部署空间的可视化表示,其上覆盖着装置图标和相应的状态和/或传感器测量数据(操作432)。例如,控制器可以使用一个图标以展示装置的状态,该图标指明该装置是否正在工作(例如,正在被利用),可用但正在停用中(例如,未被利用),或无响应(例如,已关闭,没有网络连接,或故障的情形)。此外,通过显示一个字母数字值或任何代表近期测量值的图像(例如,一个代表温度读数的数值,或一个LED图像以代表开/关值或任何二进制值),该控制器可以呈现该装置的传感器测量数据。
[0171 ] 在一些实施例中,控制器可以确定它是否已收到来自一个装置的状态或测量的更新(操作434)。如果是这样,该控制器可以更新空间视图GUI来示出更新的装置状态和/或更新的传感器测量(操作436)。然后,该控制器可以返回操作434 (例如,在一可确定的延迟期后),以便接收来自同一装置或不同的装置的更新的状态或测量。
[0172]否则,如果控制器没有收到一个更新的状态或测量,该控制器可以判断当前显示的状态或测量数据是否已超时(操作438)。如果当前显示的数据已超时,该控制器可以更新空间视图GUI,以移除超时数据,和/或指出数据已超时(操作440)。然后,该控制器可以返回操作434,以确定它是否已收到来自同一装置或不同装置的更新的状态或测量。
[0173]图4C示出了根据本发明的一个实施例的一个示例性的控制器提供的空间视图⑶1460。⑶1460包括一中央显示区462,侧面板464,和若干可选择的标签,如空间标签466,数据标签468,事件标签470,规则标签472,和装置标签474。中央显示区462显示信息,例如与一选定的标签相关联的图片,图形,和控制面板。在图4C中,该选定的标签是“空间”标签466,中央显示区462显示一建筑物的布局,其使用适当的图标展示了一组接口装置(mPorts)和物理装置的位置。举例而言,一个图标476代表一个mPort,一个图标478代表了一个温度传感器。
[0174]在一些实施例中,通过在用户计算机中选择一个已有的地图或一个房间的图像,或使用用户的智能手机上的相机给一个房间照一张照片,用户可以上传一个空间视图图像。在其他一些实施例中,空间视图图像可以包括一安全摄像机所拍摄的图像或实时视频传送。在一些实施例中,用户可以使用从一个基于互联网的地图服务(例如,谷歌地图的互联网服务)获取的图像来示明mPorts和与物理装置的位置。
[0175]侧面板464的内容也与“空间”标签相关联,并可以显示一个可用装置的名单,该可用装置可以被拖动到在中心显示区462显示的空间中的适当的位置。此外,用户也可以把一个装置图标(例如,一个mPort装置的图标)从它在空间视图的当前位置拖动到一个新的位置。在图4C中,中心展示区462还包括一个缩放滑块480,其可用于缩放地图。
[0176]图4D示出了根据本发明的一个实施例的一个示例性的由控制器提供的空间视图⑶1480。⑶1480包括一个中央显示区域482,它可以显示一个用户选择的、部署了 一组传感器的一个房间的图像,或可以显示一个包括了一个房间所想要的部分的、安全摄像头提供的实时视频传输,或从一用户的便携式手提式装置取得的实时视频传输。[0177]该用户可以从⑶1480的侧面板上拖动一装置图标至显示区482上的一个和该装置相关联的位置。该控制器可存储该装置的显示位置,这将允许系统将装置图标覆盖到显示区482中相对于该“空间”图像的同一位置上。在一些实施例中,如果显示区482正在提供一个扫视/俯仰/变焦(pan/tilt/zoom)安全摄像机传来的实时视频传送,控制器可以随着摄像机的扫动,俯仰,和/或变焦调整装置图标在显示区域482中的位置。这使得该装置图标看起来锁定到房间的一部分或位置。同样,如果显示区482是从用户的便携式手持装置提供实时视频传送,该控制器能获得该便携式装置的地理坐标和其定向。然后,该控制器确定一组装置图标并显示,并可以在用户使其便携式摄像机移动,扫视,俯仰,和/或变焦时,调整装置图标在显示区482中的位置。
[0178]在一些实施例中,用户可以和一个装置图标互动,来控制所展示的信息的类型,或控制和一个装置图标相关联的接口装置和/或物理装置。例如,装置图标484.1对应于一个用于测量一个安装在墙壁上的灯具的电流测量装置。用户可以查看该灯具的电流的消耗量,用来确定灯具的灯泡是否已磨损或熄灭。同时,装置图标484.2和484.3可以对应一个温度调节装置,并可以分别指明当前室内温度和湿度的测量。
[0179]装置图标484.4可以对应于一个指明门是打开还是关闭着的传感器,而且装置图标484.5可以对应于一个运动传感器(例如,一个建在一灯开关内的传感器)。在图4D中,用户激活了装置图标484.5,这使得控制器在一个四分之一圆之内使用颜色来显示所检测到的运动水平。该控制器还在装置图标的周围覆盖了一组控制图标。控制图标允许用户控制相应的装置所提供的信息,和/或控制装置本身。例如,控制图标可以包括:“图表”图标;“详细信息”图标;“锁定”图标;以及“删除”图标。
[0180]该“图表”图标显示一个用颜色做标记的数值表,其基于装置的类型,表示低值,平均值,和/或高值,或事件频率。“详细信息”图标允许用户为查看物理装置的详细信息而打开一个详细信息视图窗口,该详细信息如接口装置的名称,型号,和mPort标识符,以及一个和物理装置相关联的端口。详细信息还可以包括历史状态/传感器数据,以及历史事件。在一些实施例中,详细信息视图窗口也允许用户控制装置,如把灯打开或关闭。
[0181]“锁定”图标是用来把选定的传感器锁定在空间的图像的当前位置上,并当传感器图标是锁定状态时禁用传感器的“删除”功能。“删除”图标允许用户在显示区482中的位置上删除该传感器。
[0182]如果该装置是一个基于串口的传感器,控制器还显示一个“壳”(shell)的图标,它允许用户打开一个命令行界面壳(command-line interface shell)用来控制装置或与装
置互动。
[0183]图4E示出了根据本发明的一个实施例的一个示例性的由控制器提供的空间视图⑶1490。⑶1490包括一个中央显示区492,它可以显示一个由用户选择的一个地理区域的地理图。该控制器可为用户显示一个地图,例如,一个从互联网的地图服务(例如,谷歌地图互联网服务)而来的地图,并且用户可以与地图互动,并通过滚屏和/或缩放得到显示区492的所想要的视图,以浏览到所想要的位置。
[0184]该用户可以从⑶1490的侧面板上拖动一装置图标至显示区492上的一个和该装置相关联的位置。⑶1490包括一组示范性的装置图标,如运动传感装置图标294,功率传感装置图标295,和一个温度传感装置图标297。在一些实施例中,基于用户在显示区域492中放置装置图标的位置,控制器可以确定一个与装置图标对应的地理位置。该控制器将该地理位置与该装置建立关联(例如,在一个装置位置信息库中),这样,尽管用户在“空间”中滚屏或缩放,该控制器在显示区492上相对“空间”图像的相同的位置上显示该装置图标。同时,通过给予装置图标一个地理位置的属性,用户可以使用一个在移动设备上的增强现实(augmented-reality)应用来监视和/或控制该装置。
[0185]基于位置的装置视觉表示
[0186]在一些实施例中,控制器允许用户基于一个或一个以上装置的位置或地理位置查看该装置的数据。该控制器可以从装置的内置GPS (全球定位系统)传感器确定装置的地理位置,这也可以通过W1-Fi三角测量法,或通过从一个装置位置存储库获取装置的位置标识符或地理位置而实现。
[0187]例如,如果用户正使用一地理地图用户界面(UI)查看装置的数据(例如,⑶1490),该控制器可以覆盖数据,使得它包括与地图UI所包括的地理区域相关联的传感器的数据。如果地图UI被缩小,使多个装置图标重叠,该控制器可以用一个聚合装置图标代替该重叠的装置图标。在一些实施例中,聚合装置图标表示数个在相应区域内重叠的装置。在一些实施例中,如果聚合装置图标所代表的图标为同一类型的装置,控制器可以生成一表明合计值的聚合装置图标。该合计值可以表示,例如,一个传感器测量平均值或中位数,传感器测量之和,或任何用数学函数对数个传感器测量值的计算结果。
[0188]然后,如果用户进一步放大该地图,使得一个或一个以上的装置已不再与其他装置重叠,该控制器可根据需要更新覆盖的图标。例如,该控制器可以更新地图Π以清晰地显示非重叠的装置图标,并生成聚合装置图标,用于指明从剩余的重叠的装置图标那里计算得到的数值。
[0189]在一些实施例中,控制器可以把装置的数据提供给用户的移动设备,用于在一个增强现实可视图中显示。类似于⑶1490 (图4E),该控制器向该移动设备提供了在Π的显示区域内(例如,用户的当前视图内)的接口装置和/或物理装置的装置数据。因为用户可以把他的移动设备的摄像机对准一个方向,该方向包括远处的装置(例如,遍及一个城市的温度传感器),该控制器可以只向该移动设备提供距离用户的移动设备一定范围内的装置的数据。
[0190]类似于Π480 (图4D),用户的移动设备把装置图标覆盖在从该移动设备上的摄像头拍摄到的实时图像传送之上。当用户将其移动设备的相机扫视,俯仰,或变焦时,增强现实系统更新覆盖的装置图标,使其只包括那些在用户的视野内的装置的图标。增强现实系统选择图标覆盖在拍摄到的图像上面,这是基于用户的移动设备的指向和地理位置,以及已知的物理装置和接口装置的地理位置做出的。用户可以和一个装置图标互动,来控制所展示的信息的类型,或控制和一个装置图标相关联的接口装置和/或物理装置。
[0191]生成及处理规则
[0192]图5A是一个流程图,示出了一根据本发明的一个实施例的示例性方法500,其用于生成并储存用于控制一接口装置或物理装置的规则。一个规则可以包含一个条件,或者可以包括多个条件。例如,一个单个装置可以与两个或两个以上的条件相关联,或可能有多个装置,每个至少和一个条件相关联。规则还可以包括一个操作,是在条件满足时被执行。
[0193]在操作过程中,控制器可以接受(例如,通过一个规则视图⑶I)用户选择的一个或一个以上要监控的装置(操作502 )。一接口装置可以包括一个mPort接口装置,一个mPower接口装置,或一个mSwitch或mDi_er接口装置。
[0194]如前所述,该mPower接口装置可实现一电源板,其可向控制器提供每个插座消耗的功率,并能基于处理一个规则的操作描述的结果控制一个插座的供电。该接口装置或控制器可从功率测量值中确定一个装置是否正在被使用或处于待机模式。因此,用户可以选择一电源板上的插座,用以监测一个相应的由该插座供电的电器的运行状态,并且该用户可以指定一个电压值作为触发一个操作的条件。
[0195]mPort接口装置可以与一个或一个以上物理传感器连接,以从每个传感器获得一个模拟或数字值。因此,用户可以选择连接到该接口装置的一个传感器,并可以指定一个原始值(或与原始值相关的描述性标签)作为触发一个操作的条件。
[0196]控制器还可以接收一个或一个以上装置的条件值,或嵌套的条件(操作504),和一个条件处理的类型,其表明如何处理从一个或一个以上装置来的条件(操作506)。例如,条件处理类型可以表明当任何,所有,或一特定数量的单个条件元素(例如,没有,一个,两个,所有,等)满足时,规则的条件得到满足。在一些实施例中,一个条件元素可以包括一个被监测物理装置的目标值。
[0197]在一些实施例中,一个条件元素可以包含一嵌套的条件,其本身具有一个条件类型。因此,一个规则的条件可以实现复杂的逻辑语句,如乘积之和(SoP)或和的乘积(PoS)的逻辑语句。作为一个例子,该规则的条件可以包括一个顶级的条件,其表明所有条件的元素都需要满足(例如,实施一个“和”的逻辑语句),以及一个嵌套的条件,其表明至少其中一个嵌套条件的元素需要满足(例如,实施一个“或”的逻辑语句)。
[0198]在另一些实施例中,一个条件元素可以包含一个“时间表”条件,其表明一个可以处理该规则的时刻或时间范围期间。接口装置可以使用一个时间表的时间(例如,启动时间)来触发规则的评估,并且/或者,如果规则是由另一个事件触发的(例如,通过与一个物理装置相关联的条件元素),接口装置可以判断该规则是否可以被处理。
[0199]进一步,控制器可接收一个想要做的操作的操作描述(操作508)。通过与一个规则视图GUI互动,用户可以提供操作描述,其指明一个或一个以上由一个或一个以上接口装置所要做出的操作。这些操作可以包括将接口装置的一个特定的端口的输出电压设置成一个预定的目标值。在一些实施例中,行为描述可以是一个脚本的形式,由一个或一个以上目标接口装置执行。
[0200]一旦用户设置了规则元素,控制器可以生成该规则,从而在条件处理类型所指明的条件满足时引发所期望的操作(操作510)。然后,控制器在一规则库中,例如,在一个接口装置中和/或在一个应用程序服务器的数据库上,存储生成的规则(操作512)。
[0201]图5B示出了根据本发明的一个实施例的一个示例性的控制器的图形用户界面(⑶I)。如图4C,⑶1550包括中心显示区,侧面板,和可选的标签。图5B中,选定的标签是“操作”标签,它允许用户定义一组规则。侧面板显示一先前定义的规则的列表,如门打开规则552。通过点击一个规则,用户可以在中心显示区查看该规则,其包括一个规则名称字段554,一条件字段556,和一个操作字段558。
[0202]条件字段556包括一组条件元素,其可以触发该规则的评估,并被分析以确定是否处理规则的操作描述。一个条件元素可以包括变量,其选择一个装置或嵌套条件,并且可以包括另一个变量,其定义哪些与该装置或条件相关的条件将触发规则。条件字段556也可以定义该规则是否是在满足任何条件元素时会被触发,还是在满足所有列出的条件元素时会被触发(未显不)。
[0203]在图5B所示的例子中,规则的名称是“规则123”,与该规则相关联的第一装置是“插座1”,相应的条件值指明,插座的功率需要大于I瓦能使条件元素得到满足。与规则相关联的第二装置是一个“传感器”,其监视一模拟输入信号,并且用户可以设置相应的条件值,其指明使条件元素得到满足的所需达到的最小电压。通过选择“添加”按钮562,用户可以为另一个物理装置或接口装置添加条件元素。同时,通过选择一个“时间表”按钮564,用户可以添加一条件元素,其指明规则的时间表。
[0204]操作字段558显示一旦条件满足将要采取的操作。在图5B所示的例子中,一旦条件满足,系统会导致插座I持续10秒为打开状态,并可以设置一个“楼层风扇”物理装置被开启0.08分钟。用户还可以添加其他的操作至操作字段558,如执行一脚本,设置一接口装置的输出(例如,控制“楼层风扇”输出),和/或发送一个通知(例如,通过发送电子邮件到指定的邮件地址和/或产生一个系统警报)。
[0205]同时,用户可以使用⑶1550来编辑和更新现有的规则552,
[0206]点击一个新的规则按钮560来定义一个新的规则,和/或启用或禁用规则。
[0207]图5C展示了一个用户界面560,其示出了根据本发明的一个实施例的示例性的预先定义的条件,该条件可以被纳入一个规则的条件组。具体而言,条件组562包括一组和各种物理环境相关联的条件。例如,当一个运动检测器检测一个特定的物理空间附近的运动时,条件“窗口 2的运动”,”窗口 3的运动”,“会议室的运动”,“运动:mFi实验室I”被评估为“正确”。当一红外光束被阻断时,条件“束探测器”被评估为“正确”,这表明一个物体通过一个特定的位置(例如,在门的入口)。当一个相应的门被打开,条件“门I”和“门2”被评估为“正确”。
[0208]同时,“时间表”组564可以指明若干与一个用户相关的时间表。例如,一个“夜间”计划可以指示在一个给定的建筑或空间内,灯具什么时间不应该被打开,一个“安全”计划可以对应于一个时间段,在这个时间段内没有人应当在一个给定的建筑中。一个“后院浇水”和“前院浇水”计划可以表示一个喷头可以被激活以便相应的为后院或前院浇水的时间范围。
[0209]图6A示出了根据本发明的一个实施例的一个示例性的控制器装置视图⑶1600。在图6A中,选中的标签是“装置”标签,并且,⑶1600的中央显示区显示了查看一组装置相关数据的两个面板。具体而言,面板602显示一个用户可以监测的物理装置的列表,面板604显示一个与用户关联的接口装置(mPorts)的列表。用户可以通过与⑶1600互动手动添加或删除物理和/或接口装置,并查看这些装置的当前工作状态。
[0210]图6B示出了根据本发明的一个实施例的一个示例性的控制器数据视图GUI630。⑶1630包括一个中心显不区,一个侧面板,和一组可选的与各种视图相关的标签。图6B中,被选定的标签是“数据”标签,它允许用户查看从一个或一个以上物理装置和接口装置采集的数据。
[0211]侧面板显示了三个选择面板:日期范围面板632,视图选择面板634,和装置面板636。装置面板636显示一个可用装置的列表,它根据类型分类。通过点击一个或一个以上装置,用户可以在中央显示区查看装置的数据。用户可以使用日期范围面板632指定显示的数据的时间段,并可以使用视图选择面板634创建一个自定义的、在指定的时间内的数据的视图。如果用户创建一个自定义的视图,系统可以再次使用自定义视图以便以用户所需的格式向用户呈现数据。在图6B所提供的示例性视图中,中央显示区显示两个图表,其显示两个选定的温度传感器的温度与时间的对映关系。
[0212]在一些实施例中,该中心显示区也可以在一地图或空间(未显示)展示传感器的历史数据。例如,用户可以选择一个时间段或时间范围,并且系统可更新GUI630,把一个传感器的值(例如,传感器平均值或一个传感器值的图表)放置在一个覆盖在该地图或空间的图像上的装置图标的旁边。⑶1630也可以把一组由该装置随时间推移所引发的事件呈现给用户。用户可以选择“播放”,“倒带”,或“快进”按钮,选择一个速度,用于查看传感器事件通知如何随时间推移而被触发,和/或看传感器值随时间的变化。另外,用户可以控制一个“擦”(scrubber)以选择一个显示传感器事件和/或传感器的值的特定的时刻或时间间隔。
[0213]⑶1630也具有鼠标悬停功能,允许用户把鼠标悬停在数据时间表上,以查看具体的细节,并点击和加亮时间表的特定区域,以给出时间表的一个特定部分的特写。在一个实施例中,在用户将鼠标指针悬停在数据时间表上时,一个放大镜图标出现,并且,当用户点击鼠标指针并把鼠标指针从时间表一边拖动到另一边时,由用户选择的时间范围将被加亮显示。一旦用户完成他的时间范围选择,视图中的所有装置将聚焦到选定的时间范围。
[0214]图6C示出了根据本发明的一个实施例的一个示例性的控制器事件视图GUI660。⑶1660包括一个中心显不区,一个侧面板,和一组可选的标签。在⑶1660中所选定的标签是“事件”标签,它允许用户查看与一组装置相关的历史事件。请注意,一个事件是指一个规则的一次执行。
[0215]侧面板显示了三个选择面板:过滤器面板662,日期范围面板664,和装置面板666。中央显示区显示历史事件的信息。装置面板666显示一个由类型分类的可用装置的列表,用户可以选择一个或一个以上装置以查看其历史事件数据。过滤器面板662允许用户使用特定的搜索条件筛选数据。更具体地,用户可以在过滤器面板662中输入一文本字符串,那么控制器采用输入的文本字符串,去除不匹配输入的文本字符串的事件数据,以执行一个实时搜索。用户还可以使用日期范围面板664,指定要在中央显示区显示的事件数据的时间段。控制器不显示发生在指定时间段外的事件。
[0216]在⑶1660中,中央显示区包括多个显示区域,如区域668,670,和672。区域668使用条形图显示在指定的时间范围内产生的事件的时间分布。每一栅条代表一个单位时间内所发生的事件,单位时间默认设置为2个小时的时间段。用户可以点击一个栅条以显示和时间段相关的事件。
[0217]区域670显示一个饼形图,显示在规定的时间内发生的事件的基于装置的分布。每次用户修改搜索或筛选条件时,控制器可以更新时间分布图和装置分布图。区域672是主要的显示区域,显示满足搜索或筛选条件的事件的列表。每个事件条目显示:一时间字段,显示事件发生时的日期和时间;一装置字段,显示产生事件的装置的名称;一个类型字段,显示事件的类型;一个数值字段,显示触发事件的值;和一个规则名称字段,显示触发事件的规则的名称。当用户鼠标悬停在一个事件上时,控制器可以显示一个呈现装置在相应的“空间”里的当前位置的窗口,(例如,通过在一地图上,一个存储的图像,或在一个“空间”的实时视频传送上覆盖一个装置图标),一个关于数值的24小时概要,事件发生时的数值,和最后的报告值,如区域674所示的。
[0218]接口装置运行时的功能
[0219]图7是一个流程图,示出了 一根据本发明的一个实施例的示例性方法700,其用于在一个本地接口装置处理一个规则。在操作过程中,本地接口装置可以检测到一个触发规则的事件(操作702),并选择一个与检测到的事件相关联的规则(操作704)。该装置可以接收来自一远程装置的事件,或可以在本地检测到该事件,如通过监测一本地连接的物理装置和/或监测一个触发一规则的时间表条件。为选择由事件触发的规则,本地装置可以执行一个规则查找操作,这个操作从规则库中选择至少一个包括与检测到的事件相关联的一个条件的规则。例如,远程装置可以包括一个mPort装置,接收来自门传感器的输入,本地接口装置可以选择一个或一个以上规则,当门传感器表明门是打开还是关闭时,该规则的操作被触发。
[0220]在一些实施例中,一个条件可以包括多个传感器变量,这些变量需要被评估来判断条件是否得到满足。此外,该条件还可以包括一个嵌套条件的引用,并且装置需要先评估嵌套条件来确定它的结果。一旦本地装置选择处理该规则,本地装置可以确定该规则的条件是否要求其它的输入数据(操作706 )。该规则可包括一个或一个以上条件元素,它们和例如,一个物理装置(例如,一个运动传感器),一个时间表条件,和/或一嵌套的条件相关联。如果规则的条件不需要其他的输入,本地装置可以使用接收到的表明近期状态的数据,或从远程接口装置那里来的测量数据处理该规则(操作712)。
[0221]然而,如果规则的条件确实需要其他输入,本地装置可确定规则的其他输入数据的来源(操作708),如传感器数据,有关规则时序安排的数据,或一个嵌套条件的结果。然后,本地装置从其他输入数据来源那里获得必要的数据(操作710),并进行到操作712,使用所获得的与规则相关的状态和/或测量数据处理规则。
[0222]处理规则后,本地装置可以确定该规则的条件是否已经由装置状态和/或测量数据满足(操作714)。如果是这样的话,本地装置可处理一个与规则相关的操作描述(操作716 )。否则,本地装置可忽略该规则,或执行补救措施(例如,在一个确定的时间段内忽略该规则)。
[0223]该操作描述,举例而言,可以包括一个命令,它把作为目标的一个或一个以上接口装置或物理装置设置到一个预定的状态。另一个例子是,操作描述可以包括一个执行复杂操作的脚本。在一些实施例中,该脚本可以为本地装置计算一个目标状态,这是通过执行一个指令序列以便处理一个或一个以上物理装置的近期和/或历史状态和测量来实现的。本地装置还确定是否有更多的与更新的状态或测量相关联的规则(操作718),如果是的,本地装置可以返回操作704去选择另一个规则。
[0224]注意,可能发生这样的情况:两个规则具有重叠的条件(例如,条件允许两个规则的操作都被执行),而该条件的操作相互冲突。一个规则的操作可能涉及到打开一个灯,而其他规则的操作可能涉及到关上相同的灯。如果两个规则的处理是“平行”的,两个规则可以以任何顺序执行(不一定是同时执行),这样一个规则的动作不会影响下一条规则的执行。在上面的控制灯的例子中,如果两个规则的条件都满足了,并且这两个规则基本上被并行执行,灯的最终状态取决于哪个规则被第二个处理。所以,意外的执行顺序可能导致意外的行为。
[0225]在一些实施例中,本地装置每次处理一个规则,并以用户指定的顺序处理。
[0226]例如,本地装置进行操作718,以在一个有序的集合中选择另一条规则,但这只是在执行操作714和/或716以处理之前的规则之后。同时,如果执行规则改变了一个装置的状态,有序的集合中下一条规则是根据装置的新的状态来处理。这样的规则处理确保从一个接口装置得到的每个更新的状态/测量只有一个预期的行为。
[0227]基于云的实施
[0228]在一些实施例中,控制器存在和运行在一个服务器集群(例如,“云”)中。该控制器可以为多个不同的用户监测和控制接口装置,这通过在广域网上,如互联网上,使用IP数据包和每个接口装置进行通信得以实现。当用户第一次在自己的局域网中部署一个接口装置,用户可以把该接口装置与他的个人账户在控制器上配对。例如,用户可以在设置接口装置时输入自己的帐号和密码。可供选择的,该用户可以在不透露他的密码的情况下把他的接口装置配对,例如,通过在控制器上注册他的接口装置的独一无二的标识符(例如,一个MAC地址),或通过一个开放式授权的协议授权该接口装置。
[0229]还有,如果用户想要与控制器互动来监视或控制在自己的局域网内的一个或一个以上装置,用户可以通过一个互联网(Web)浏览器访问该控制器的一个用户界面,或使用与控制器的Web应用程序接口(Web APIs)相接的应用程序(例如,使用一个智能手机或平板电脑计算机上的移动应用,或使用一个人电脑上的应用程序软件)。
[0230]图8示出了一示例性的计算机系统800,其用于把一个服务器集群内的一个控制器802和一个局域网内的装置808相接合。计算机系统800包括连接到广域网804的控制器802。计算机系统800还包括局域网808内的一个接口装置810和计算设备812,并包括一个把局域网808和广域网804分开的路由器/防火墙806。
[0231 ] 在操作过程中,在局域网808内的装置可以建立一个到控制器802的网络连接,或到一个或一个以上在局域网808内的对等装置的网络连接。例如,控制器802可以在一个数据库中存储每个装置的网络地址信息,并保持最新状态的网络地址信息,以方便与这些装置进行通信。这允许用户使用个人计算机(例如,计算装置812)来重新设置局域网808中一个或一个以上的接口装置,和/或接口装置的一个或一个以上规则。用户的个人电脑可以包括应用软件,其提供了一个用户界面,用于监测和/或配置装置接口网络,并向控制器802上传任何配置。用户的个人电脑也可以有一个互联网浏览器,访问控制器802的用户界面。
[0232]当用户向装置接口网络输入并传达配置的更改时,对于一个或一个以上配置需要更新的装置,控制器802把用户的配置编制成为这些特定装置的配置,并将更新的配置通过与这些接口装置相应的网络连接相关联的网络地址信息发送至这些接口装置。该特定装置的配置可以包括接口装置的网络配置、规则配置、针对一个或一个以上对等装置的网络地址信息(例如,用于订阅数据,作为一个或一个以上规则的输入信息)等的更新。
[0233]此外,在一些实施例中,在局域网808内的每个装置还可以和任何被它订阅了数据,和/或任何订阅了它的数据的装置建立网络连接。该装置可以作为一个服务器接收和响应从对等装置(或从控制器802)来的数据请求。该装置还可以作为一个客户端装置,它能从一个远程装置那里接收主动提供的数据(或对数据的请求),并能使用与到该远程装置的网络连接相关联的网络地址信息来把实时数据推送到该远程装置。因此,即使局域网808与广域网804断开(因此,也和控制器802断开),在局域网808内的装置可以彼此继续使用已建立的点对点连接进行通信,并行使服务器和客户端的功能。
[0234]在操作过程中,控制器802可以从装置810和装置812分别通过一个端口隧道信道814.1或814.2接收IP数据包。在一些实施例中,端口隧道信道814可以包括通过长轮询请求,暂时在路由器/防火墙806上打开一个端口所创建的网络连接(例如,通过如STUN(Session Traversal Utilities for NAT), Comet等协议创建的网络连接)。这些长轮询请求暂时在路由器/防火墙806上打开一个端口,它可以由控制器802使用,发出一响应数据包。
[0235]例如,在一些实施例中,控制器802需要发送未经请求的数据至接口装置810 (例如,实时数据或装置810的配置),或发送未经请求的数据到计算装置812(例如,实时数据)。通过定期和控制器802传递一个长轮询消息/要求(例如,当用Comet时,一个XHR消息,或在用STUN时一个STUN消息),局域网808内的装置可以和控制器802保持一个持续不断的网络连接。该消息指明该装置的一个独一无二的标识符(例如,一个MAC地址),控制器802用它来在一个装置接入存储库中存储该装置的最新的通信端口。
[0236]在其他一些实施例中,端口隧道信道814可以包括持续的双向网络连接,例如用WebSocket协议建立的一个信道。为了建立WebSocket信道,在局域网808内的装置向控制器802发送一个WebSocket握手请求,这把一个HTTP会话升级成一个WebSocket会话,握手请求可包括一个Sec-WebSocket-Key令牌。控制器802发送一个响应到该装置来回应,该响应承认该WebSocket会话,并且包括是来源于Sec-WebSocket-Key令牌的Sec-WebSocket-Accept 令牌。
[0237]之前提到过,与接口装置网络相关的每个装置(例如,控制器802,装置810,或装置812)包括一个装置接入存储库,它包括网络中的每一计算设备或接口装置的装置接入信息。在一些实施例中,该装置接入存储库把一个装置的独一无二的标识符与以下一个或更多信息建立关联:在路由器/防火墙806上的与该装置相关的端口号,为了抵达路由器/防火墙806的IP地址(例如,一个广域网IP地址),和在局域网808内为了抵达该装置所用的IP地址。例如,当控制器802需要发送一个数据包到装置810或装置812时,控制器802可以从装置接入存储库那里确定为抵达该装置所必要的IP地址和一个近期的端口号。然后,控制器802可以通过路由器/防火墙806的近期的端口号向该IP地址发送数据包。
[0238]通过点对点网络连接进行实时数据通信
[0239]在一些实施例中,通过从装置接入存储库中获取对等装置的装置接入信息,一个在局域网808内的接口装置可以和对等装置之间进行实时数据通信。装置接入信息可以指明一个与到目标对等装置的网络连接相关联的网络地址,并可以指明本地接口装置的授权信息(例如,用户名,密码,和/或证书)。如果到对等装置的网络连接处于工作状态,本地接口装置可以通过网络连接,并使用任何所需的授权信息,将数据发送到对等装置。
[0240]如果到对等装置的网络连接不在工作状态,本地接口装置可以建立点对点网络连接,这可以例如通过从一个中央控制器获取该对等装置的装置接入信息而实现。此点对点网络连接提供对等装置之间的可靠的通信,因为它不需要装置通过广域网804通信,也不需要一个中央转发服务(例如,控制器802)维持或完成对等接口装置之间的网络连接。[0241]通过转发服务进行实时数据通信
[0242]在一些实施例中,一个在局域网808内的接口装置可能无法建立一点对点网络连接,例如,当两个对等装置存在于不同的网络域中时。在这种情况下,本地接口装置可以通过使用一个转发服务和对等装置进行实时数据通信,该转发服务可以由控制器802提供,也可以由一个与控制器802分离的服务器(未显示)提供。
[0243]装置接入信息可以指明一个与转发服务的网络连接相关联的网络地址,一个对等装置的独一无二的识别码,以及本地接口装置的授权信息(例如,用户名,密码,和/或证书)。例如,如果本地装置没有到对等装置的网络连接,本地接口装置可以通过转发服务,并使用所需的任何授权信息,将数据发送到对等装置。这允许两个对等装置相互间进行实时数据的通信,即使两个装置不在同一网络域内。
[0244]作为另一个例子,通过到转发服务的网络连接,本地接口装置可以从多个对等装置接收实时数据。该转发服务可以保持到每个接口装置的网络连接,并可以使用到相应的接口装置的网络连接,向该接口装置发送该装置已订阅的从任何其他对等装置处来的实时数据。这允许接口装置从多个对等装置接收实时数据,而不用保持到每个对等装置的网络连接。
[0245]在一些实施例中,用户的个人计算设备可以直接与接口装置通信,或如果没有直接的网络连接,通过一个数据转发服务与接口装置通信。当用户打开该计算设备(或启动一个装置监测应用),该计算设备可以使用它为了以前的网络配置的快照所存储的一个网络地址信息与其它装置进行通信。如果本地没有该网络地址信息,用户的计算设备也可以从中央控制器得到该网络地址信息。
[0246]图9是一个流程图,示出了一根据本发明的一个实施例的示例性方法900,其用于建立到一个远程装置的网络连接,该连接基于从一个该远程装置的中央控制器接收到的网络地址信息。如上所述,该网络连接可以包括一个双向信道,其用WebSocket协议,STUN协议,Comet协议,或任何其他的现在已知的或以后开发的通信协议建立与保持。
[0247]在操作过程中,用户的计算设备确定一个需要与它建立通信的远程装置(操作902),并确定计算设备是否具有该远程接口装置的网络地址信息(操作904)。用户与用户接口互动,以对接口装置进行监测,设置,和/或控制;作为响应,该计算设备可确定它需要建立一个到该远程装置的网络连接。该计算设备可确定它是否具有远程装置的网络地址信息,例如,这可以通过在装置接入存储库中搜索相应的条目得以实现。
[0248]如果是这样的话,该计算设备基于该网络地址信息建立和远程装置的网络连接(操作908),如点对点网络连接,或通过数据转发服务的网络连接。
[0249]但是,如果计算设备没有该网络地址信息,计算设备从控制器(例如,图8中的控制器802)获取该远程装置的网络地址信息(操作906)。然后,该计算设备推进到操作908,以基于网络地址信息与远程装置建立通信。
[0250]图10是一个流程图,示出了一根据本发明的一个实施例的示例性方法1000,其用于建立一个与一个远程装置的网络连接,该连接基于被存储的该远程装置的网络地址信息。在操作过程中,用户的计算设备确定一远程装置的网络地址信息(操作1002),并基于网络地址信息测试与该远程装置的点对点连接(操作1004)。在一些实施例中,该计算设备可以通过发送一个访问对等装置中的一个预定的文件的请求来测试该点对点连接。该文件可以包含任何预计将由目标远程装置存储的文件,这样一个成功的请求就确认所需的接口装置可以通过点对点连接抵达。
[0251]然后,该计算设备确定它是否已经成功建立与远程装置的点对点连接(操作1006)。如果是这样,该计算设备通过已建立的点对点网络连接与远程装置通信(操作1008)。否则,计算设备可以通过一个数据转发服务与该远程装置建立一个通信信道(操作1010)。
[0252]装置认证和通信安全
[0253]在一些实施例中,为建立一个点对点的网络连接,在网络连接的一端的一个装置需要被网络连接的另一装置授权或认证。例如,两个装置可以通过每个装置建立一到另一装置的单向信道而互相通信。建立了一个单向信道的装置可以作为通信客户端(例如,订阅数据的接收方),承载了数据的装置可以作为通信服务器(例如,发出被订阅的实时数据的发件人)。
[0254]一个单向信道可以使用STUN协议,Comet协议,XHR消息,或任何其他的现在已知的或以后开发的通信协议来建立和维护。然而,两个装置也可以建立一个持续不断的双向通信信道,如用WebSocket协议建立的信道,或任何其他现在已知的或以后开发的协议建立的双向通信信道。
[0255]在一些实施例中,控制器可以给每个接口装置提供每个可以从该接口装置订阅数据的通信客户端的用户名和密码。密码可以是一个文本值的形式,一个哈希值(hashvalue),或〃加盐的〃哈希(salted hash)。通信客户端可以向通信服务器提供一个用户名和密码,以建立一个单向的网络连接,如果该用户名和密码匹配已知的、从控制器接收到的用户名和密码,通信服务器可以授权通信客户端。这两个装置可以通过以下方法建立一个双向的网络连接:每个装置向另一个装置提供一个用户名和密码,并根据收到的用户名和密码授权该另一个装置。
[0256]如果控制器向接口装置(通信服务器)提供加密哈希值或加盐的哈希作为客户密码,控制器还可以向接口装置提供一用来生成哈希值,或加盐的哈希的加密密钥(和〃盐〃,如果必要的话)。每个接口装置可接收一个可以被其通信客户使用的密钥和〃盐"。该控制器不向接口装置提供相应的用于从哈希或加盐的哈希中解密密码的解密密钥。因此,建立网络连接时,接口装置可以向通信客户端提供加密密钥和"盐",这样该客户端不向该接口装置公开其个人密码。通信客户端可以使用加密密钥和盐生成密码的哈希值或加盐的哈希,并向通信服务器提供用户名和密码的哈希值或加盐的哈希,以建立一个安全的网络连接。
[0257]在一些实施例中,控制器可以向每个接口装置提供一个数字证书,其表明接口装置所属于的域,也可以指明接口装置可以通信的其他域。该控制器可以作为一个证书颁发机构(CA)签署数字证书,或与一个第三方CA互动,以便给一个接口装置分配一个数字证书。为建立一个单向的网络连接,通信客户端可以向通讯服务器提供它的数字证书,如果数字证书是有效的,并且如果数字证书指明了一个通信服务器所属的域,通信服务器可以给通信客户端授权。因此,在接口装置网络,通信在属于同一域的装置之间发生,或是在被设置或被允许可以和其他的域内的装置通信的装置之间发生。这两个装置可以通过每个装置向另一装置提供一个数字证书,并基于所接收的数字证书认证另一装置来建立一个双向的网络连接。
[0258]两个接口装置也可以在持续不断的信道上使用加密的数据通信。例如,数字证书还可包括通信客户端的一个公钥,便于接口装置通过安全的信道进行通信。通信服务器可以使用公共密钥把要通过网络连接发送的数据加密,并且,通信的客户端可以使用相应的私钥解密它从通信服务器接收的数据。可供选择的,这两个装置可以使用Kerberos协议来使它们的数据安全,或通过一加密连接传送数据,例如使用安全套接协议层(SecureSocket Layer, or “SSL”)协议或传输层安全(Transport Layer Security, or “TLS”)协议。
[0259]负载均衡
[0260]图11示出了根据本发明的一个实施例的一个示例性的接口装置网络的分布式系统1100,其包括一个部署在计算机集群1102上的控制器。计算机集群1102可以包括多个计算节点1102.1-1102.k,它们可以在一个单一的位置,通过一本地网络互相连接,或者可以被部署在多个地理位置上,并通过广域网1104连接。
[0261]在一些实施例中,一个系统管理员可以在不同的地理位置部署一组计算节点,并可以在不同的地理位置部署冗余数据库。此外,由于在分布式系统1100上的冗余数据库是同步的,计算机集群的1102的多个计算节点作为一个单一的计算实体工作。
[0262]当接口装置在分布式系统1100中被添加或删除时,管理员可以调整分布式系统1100在不同的地理位置提供的计算能力,以满足这些地理位置的计算需求。例如,当接口装置在一个给定的地理位置被添加或删除时,管理员可以在该地理位置添加或删除计算节点。同时,当中央控制器的使用随着时间的推移而波动,计算机集群1102可以把在计算装置1102.1-1102.k上的负载进行负载平衡,从而增加每个计算节点的响应性,同时也增加了计算机集群1102作为一个整体的反应性。
[0263]典型应用:调光器
[0264]在一些实施例中,系统架构1100还可以包括一个调光器1114和灯具1118。调光器1114可以和灯具1118在同一个房间里,或可以通过广域网1104和/或局域网1110从远程位置控制灯具1118。例如,灯具1118可以连接到调光器1114,调光器1114可以包括一个功率调节器用来控制提供给灯具1118的功率。可供选择的,灯具1118也可连接到电源插座1116上,其包括一个功率调节器用来控制提供给灯具1118的功率,并且调光器1114可以通过局域网1110将命令发送到电源插座1116。
[0265]在另一些实施例中,调光器1114可以在一个与灯具1118不同的房间中,并能通过计算机网络发送命令到电源插座1116,以控制灯具1118的亮度水平。例如,灯具1118可以包括一个舞台灯,调光器1114可以安装在一个球场座位后面的音响及灯光控制室中。在控制室里的一个照明技术员可以和调光器1114互动,来控制一个或一个以上灯具,在这时,调光器1114可以生成装置控制事件,并将其通过局域网1110发送至一个或一个以上灯具。
[0266]作为另一个例子,一个安全机构可以在一个银行的关键的位置(例如,在银行金库)安装多个灯具,这样它们可以通过调光器1114在安全机构总部被远程控制。如果一个安全代理人想要来考察银行的营业场所,安全代理人可以和调光器1114互动,这时,调光器1114可以生成装置控制事件,并通过广域网1104把它们发送到一个或一个以上灯具。
[0267]如前所述,在一些实施例中,调光器1114可以保持和每个目标灯具(例如,灯具1118)的点对点网络连接,并可通过各自的网络连接向这些灯具发送装置控制事件。调光器1114和多个灯具(例如,灯具1118)可以通过广域网1104保持与一个转发服务(例如,一个通过计算机集群1102提供的转发服务)的网络连接。同时,调光器1114可以通过网络连接向转发服务提供装置控制事件,并可以指明哪些灯具将收到控制装置事件。这时,通过转发服务和指定的灯具之间的网络连接(例如,通过广域网1104和局域网1110),转发服务能够将装置控制事件发给指定灯具。
[0268]在一些实施例中,一个接口装置网络中的装置可以保持一个它执行过的事件的日志。当调光器1114通过触摸屏接口接收到一个用户接口事件时,调光器114可把该用户接口事件存储到日志中。调光器也可以处理用户接口事件(例如,手指扫动)来确定要执行的操作,并生成基于用户接口事件的装置控制事件。如果用户在触摸屏接口做一个向下的扫动,调光器1114可以确定用户是想要减少相应的灯具1118的照明水平,并能基于向下的手指扫动的速度和/或距离确定一个目标照明水平。调光器1114也可以在事件日志中记录该装置控制事件。
[0269]如果调光器1114被设置为直接控制灯具1118 (例如,通过一个内置的、其输出被电连接到灯具1118的功率调节器),调光器1114可基于装置控制事件调整提供给灯具1118的功率水平。同时,调光器1114可以监测功率水平被调整后灯具1118消耗的功率量,并可以创建一个事件日志条目,以记录检测到的功率水平。
[0270]另一方面,如果调光器1114被配置为控制插座1116,调光器1114可以向插座1116发送装置控制事件。然后,当插座1116接收到装置控制事件时,插座1116可以在事件日志中存储接收到的用户控制事件,并基于装置控制事件调整提供给灯具1118的功率水平。调光器1114还可以监测灯具1118在调整功率水平后消耗的功率量,并可在事件日志中记录检测到的功率水平。
[0271]控制器和/或用户可以比较在一个通信链中从各个对等装置来的日志条目,用来排除事件冲突。例如,一个用户1106可能为调光器1114生成了一个规则,在一内置的运动传感器检测到运动时,该规则设置调光器1114,以增加灯具1118的亮度到预定的水平。因此,如果一个用户与调光器1114的触摸屏接口互动,以关闭灯具1118或使其变暗,调光器1114将通过触摸屏接口检测到用户控制事件,也可以通过内置的运动传感器检测到运动感测事件。这些事件可能会导致调光器1114在执行用户使变暗或关闭灯具1118的命令后不久打开灯具1118,这可能是一个不想要的后果。
[0272]如前所述,当一个接口装置包括一个或一个以上产生冲突的事件的规则时,该接口装置可以以一个预定的顺序处理规则,这样最后执行的规则将产生最终的结果。因此,如果用户创建了一个序列的规则,其不能以一个想要的方式解决冲突,用户可以通过分析一个或更多的接口装置的事件日志,以确定新的一序列的规则,以解决冲突。
[0273]例如,用户可以通过分析调光器1114的事件日志,确定调光器1114在处理与触摸屏接口相关联的一个规则(关闭灯具1118或使其变暗)之后处理了一个和运动传感器关联的规则(打开灯具1118)。用户可以使调光器1114在处理和运动传感器关联的规则之后处理与触摸屏接口相关联的规则,从而改正上述问题。
[0274]作为另一个例子,通过分析事件日志,用户可以确定,在调光器1114处理用户的触摸屏事件以关闭灯具1118或使其变暗之后,调光器1114检测到一个关于用户移动他的手使其离开触摸屏接口的运动感测事件。用户可以通过设置调光器1114,在一个预定的时间段内,或直到运动传感器在一个预定的时间段内没有检测到运动,禁用与运动传感器相关的规则。
[0275]在一些实施例中,一个装置的日志可以存储多个历史记录条目,这样的存储操作可以是为一个确定的时间段(例如,过去的一周的日志条目)做出,并且/或者该历史记录有一个确定的数量限制(例如,最多1000个日志条目),或有一个确定文件的大小的限制(例如,最大为5MB)。
[0276]设置装置接口网络
[0277]如前所述,一个或一个以上计算设备可以与控制器互动来管理和设置接口装置网络。例如,用户可以与一个个人计算设备互动,以设置并供应一个新的接口装置网络上的接口装置,和/或部署一个或一个以上规则到该接口装置上。当用户提交该装置的配置,控制器可以把该新的装置增加到网络上,并能在新的装置和其他的它所需要与之进行实时数据交换的装置之间建立网络连接。
[0278]然而,在一些实施例中,存在在不同的网络域上的对等装置可能无法建立点对点连接。因此,为建立对等装置之间的网络连接,控制器可以设置对等装置,使其通过一个转发服务相互通信。转发服务可以做成控制器的一部分,也可以是一个独立的、网络上的对等装置可使用的网络服务。
[0279]在一些实施例中,该接口装置网络最多包含一个控制器,其设置接口装置,使其在网络内操作。例如,计算机集群1102可用于实现一个接口装置网络1100的控制器。如果一个用户需要使用一个网络设备(例如,连接到广域网1104的笔记本电脑1108,或局域网1110上的智能手机1112)重新设置网络结构,该网络设备需要通过主控制器进行该网络重设置。
[0280]如果另一个用户也和控制器互动以设置网络,该控制器可以把由第一用户做出的更改推送至第二用户的电脑,以防止两个用户对网络配置做出多余的或冲突的更改。同时,当一个用户提交了他的网络配置的更改,控制器可以为每个受影响的接口装置编制一个配置文件,并可以为每个被更改的接口装置下载该配置文件。
[0281]注意,如果与集中控制器的连接断开(例如,控制器脱机,或一个局域网失去了到互联网的连接),接口装置可以继续处理规则,并通过点对点网络连接进行通信。然而,考虑到主控制器不可用,无法向新的接口装置提供供应,编制和发布新的或更新的规则,或重新设置对等接口装置之间的网络连接,网络装置可能无法重新设置网络配置。
[0282]在一些实施例中,该接口装置网络可以包括超过一个集中控制器。例如,该网络可以包括一个用于对网络进行任何重新设置的主控制器,并可包括一个或更多个二次或备份控制器,其可用于在主控制器变得不可用的情况下重新设置网络的至少一部分。
[0283]图12A示出了一个根据本发明一个实施例的示范性的系统架构1200,其包括一个主控制器1204和一个或更多个带有数据库镜像的局域网控制器。例如,主控制器1204可以包括或被连接到一个数据库1206上,该数据库存储多个接口装置(例如,在局域网1208和1216中的接口装置)的配置信息和历史数据。局域网1208可以包括一个连接到一个数据库1212的本地控制器1210,该数据库存储在局域网内1208的接口装置的配置信息和历史数据。同时,局域网1216可以包括一个连接到一个数据库1220的本地控制器1218,该数据库存储在局域网内1216的接口装置的配置信息和历史数据。
[0284]在系统架构1200中,本地控制器保持他们的本地数据库与主控制器数据库同步。数据库1212可以为多个数据库1206的表的条目做镜像,这些条目与局域网1208中的装置1214.1-1214.m相关。同样地,数据库1220可以为多个数据库1206的表的条目做镜像,这些条目与局域网1216中的装置1222.1-1222.m相关。因此,如果系统架构1200包括分布在多个域中的接口装置(例如,分布在不同的城市),由本地控制器1210和1218在数据库1212和1220中存储的数据量与由主控制器存储在数据库1206中的数据量相比较是相当小的。
[0285]在一些实施例中,本地控制器1210可以监测和/或控制局域网1208内多个接口装置。另外,管理员可以与本地控制器1210互动,重新设置一组规则以被在局域网1210内的接口装置1214执行,控制器1210可以基于新的规则组重新设置装置1214。然而,在一些实施例中,本地控制器1210不能向新装置提供供应以把它们添加到接口装置网络,和/或不能从该网络删除装置。系统管理员可以通过与主控制器1204互动以向一个新的接口装置提供供应,以把它们添加到网络。主控制器1204可以为该新装置分配一个数字证书,设置该新装置以建立与其他对等装置的网络连接(例如,用来发送或接收已订阅的数据),并可以设置新装置使其处理一组规则。
[0286]如果控制器1210的数据库的版本已过时(例如,当数据库1212与数据库1206中与局域网1208所相关的一部分不同步了),控制器1210将不能重新设置一现有的接口装置。这一要求防止控制器1210逆转以前由主控制器1204或任何保持更新的控制器(例如,控制器1218)做出的设置。例如,如果本地控制器1210离线,并且控制器1204重新设置一个或一个以上接口装置1214.1-1214.m,在数据库1212中的配置数据可以成为过期的。又例如,如果本地控制器1210失去和中心控制器1204的通信,并且本地控制器1210重新设置一个或一个以上接口装置1214.1-1214.m,在数据库1206中的配置数据可以成为过期的。
[0287]每个接口装置可以存储一个配置版本号(例如,一个严格递增的数或时间戳),其指明该装置配置的一个本地独一无二的标识符。同时,每个数据库可以为一个装置存储一个相关的新配置版本号,它允许一个相应的控制器在重新设置一个接口装置之前判断该数据库是否过期。如果控制器试图重新设置现有的接口装置,该控制器可以先确定相应的数据库对于被设置的接口装置来说是否过期。
[0288]如果控制器确定其对应于一个接口装置的最新配置版本号与接口装置的配置版本号相匹配,控制器可以进行对接口装置的重新设置。然而,如果控制器确定其最新的配置版本号与接口装置的配置版本号不匹配(例如,其最新版本号是小于接口装置的版本号),控制器可以执行一个补救措施。补救措施可以包括向用户提醒关于版本的差异,并促使用户指定他是否想要基于过期的数据库的旧的装置配置来重新设置接口装置。可供选择的,补救措施可以包括在数据库被更新以后的一个时间重新设置接口装置。
[0289]可供选择的,在某些实施例中,当局域网1208与控制器1204的连接断开(例如,局域网1208与广域网1202的连接断开,或控制器1204离线)时,控制器1210可以成为局域网1208内的接口装置的主控制器。控制器1210可以向接口装置提供供应以将其添加到网络,或从网络中删除接口装置。控制器1210可以在数据库1212中跟踪网络的变化。然后,一旦控制器1210恢复和控制器1204的连接,控制器1210可以把网络的变化提供给控制器1204,并且,控制器1204更新数据库1206来反映这些网络的变化。
[0290]而且,一旦控制器1204把数据库1206与数据库1212同步,控制器1210可以进而放弃它作为主控制器的状态,此时控制器1204成为局域网1208的主控制器。如果在局域网1208内的一个新的接口装置要和局域网1208以外的一个装置进行通信,主控制器1204可以重新向该新装置供应,使该新装置可以与网络1208外部的装置进行互动。例如,主控制器1204可以向该新装置提供一个数字证书,其在局域网1208以外是有效的,并可重新设置该新装置,这样新装置建立与局域网1208以外的一个或一个以上装置的网络连接(例如,通过一个点对点信道,或是通过一个数据转发服务)。
[0291]图12B示出了根据本发明的一个实施例的一个示例性的系统架构1250,其包括一个在一局域网内的局域网控制器,和一个在广域网内可利用的转发服务。局域网1256可以包括一个主控制器1258,其可用于设置,监测,和/或控制在一本地域内,以及在一个或一个以上远程域内的接口装置。
[0292]具体而言,控制器1258可以安装在局域网1256内,并可包括或被连接到一个存储本地和远程域中的接口装置的配置信息和历史数据的数据库1260上。控制器1258可以建立一个到局域网1256内的装置1262.1-1262.m的点对点网络连接,并可以通过数据转发服务1254建立到一远程域内的一个或一个以上接口装置(例如,局域网1264中的装置1266.1-1266.η)的网络连接。
[0293]例如,控制器1258可以安装在一个组织的办公楼内,以管理多个装置。系统管理员可以与控制器1258互动,以在网络中添加一个接口装置,例如和一个运动传感器相连接的mPort装置,和一个连接到一个灯具上的mPower装置。该系统还可以设置控制器1258,以便在事件日志中从多个接口装置收集实时事件数据,这允许管理员分析事件日志以保证网络装置正确运行。
[0294]进一步,如果组织扩张到其他建筑,在同一个城市或在一个远程的位置,管理员可以设置控制器1258,以通过数据转发服务1254建立与在该远程位置的装置的网络连接。这允许控制器1258设置,控制,和/或监测在该远程位置的装置,而无需利用一个该组织任何一个局域网以外的中央控制器。因此,在该组织的局域网内安装控制器1258将允许管理员控制通过接口装置收集、并存储在数据库1260的数据,同时还允许管理员在远程地区部署额外的装置。
[0295]在一些实施例中,当管理员不在组织的任何局域网中时,管理员也可以与控制器1258和/或任何的接口装置互动。管理员可以在一个个人计算设备(例如,一个智能手机1268)上安装一个应用程序,该个人计算设备可接入广域网1252 (例如,通过一个蜂窝网络),并通过数据转发服务1254与中央控制器1258和/或接口装置通信。可供选择的,通过数据转发服务1254建立到控制器1258的连接,管理员可以使用一个互联网浏览器接入由控制器1258提供的、基于互联网的界面。
[0296]在一些实施例中,系统架构1250可以包括一个可以通过广域网1252接入的备份控制器,其包括或连接到一个数据库,该数据库是数据库1260的镜像。当主控制器1258离线时,备份控制器可以暂时成为主控制器。这允许管理员与备份控制器互动(例如,使用智能手机1268),以从接口装置网络添加或删除装置,和/或重新设置现有的接口装置。
[0297]图13示出了根据本发明的一个实施例的一个示例性的计算机系统,其用于装置的智能监视和控制。在一个实施例中,一个计算机和通信系统1300包括一个处理器1302,一个内存1304,和一个存储装置1306。存储装置1306存储一个智能监测与控制应用1308,以及其他的应用程序和数据(例如,额外的应用程序1310和1312)。在操作过程中,智能监测控制应用1308从存储装置1306被加载到内存1304,然后被处理器1302运行,用来监测来自多个接口装置的数据,设置接口装置,和/或控制一个接口装置的状态。当运行该程序时,处理器1302执行上述功能。计算机和通信系统1300可以和显示器1314,键盘1316,和指点装置1318相连接。显示器,键盘,指点装置可以方便用户进行监测,配置,和/或控制一个或一个以上接口装置。
[0298]本发明的一个实施例提供了一种装置控制系统,它设置、监测、和控制一个或一个以上接口装置,这样,接口装置可以从一个或一个以上连接着的物理装置获得传感器数据并将其传播,上述物理装置包括用于测量物理属性的传感器。在操作过程中,该系统可以通过建立与接口装置的网络连接来设置该接口装置,并为该接口装置确定一个或一个以上规贝U。一个规则可以指明为执行一个操作的一个操作描述,并指明一个条件,其指明处理规则的操作描述的标准。该系统可以设置接口装置使其处理其相关联的规则。
[0299]在这一实施例的一些变化中,系统设置接口装置,将近期的传感器数据发送给控制装置的计算机,而且,系统使用该数据来设置或控制一个或更多个接口装置。当系统基于一个或更多个接口装置的近期数据确定与接口装置相关联的规则得到满足,该系统基于规则的操作描述修改接口装置的运行状态。
[0300]在这一实施例的一些变化中,系统设置一个或一个以上接口装置,以便促进分布式规则处理。为设置接口装置,系统使接口装置按程序工作,以处理一个或一个以上规则。该系统还确定一个或一个以上的其他装置,其生成与该接口装置的一个或一个以上规则相关的传感器数据,并设置该接口装置,使其向该一个或一个以上的其他装置订阅传感器数据。
[0301 ] 在一些实施例中,该系统能从客户端设备接收一个要求获得一个装置监控界面的请求。通过获得与一个或一个以上接口装置相关联的、为该装置监控界面使用的数据,以及向客户端设备提供该装置监控界面,系统可以呈现该装置监控界面,使该装置监控界面呈现来自该一个或一个以上接口装置的传感器数据。
[0302]在这些实施例的一些变化中,一个接口装置相关联的数据包括接口装置的装置接入信息,这可以被客户端装置使用,以从相应的接口装置直接获得装置监控界面用的实时传感器数据。
[0303]在这些实施例的一些变化中,一个接口装置相关联的数据包括一个地理位置。同时,为提供装置监控界面,系统可以获取一张地图,其包括和至少一个接口装置相关的地理区域。然后系统生成该装置监控界面以显示得到的地图,并在地图上覆盖上该至少一个接
口装置。
[0304]在这些实施例的一些变化中,一个接口装置相关联的数据包括一组图像坐标。因此,当系统提供装置监控界面时,系统可以获得一个与至少一个接口装置相关的区域的图像。然后系统生成该装置监控界面以显示得到的地图,并在该获得的图像上覆盖该至少一个接口装置。得到的图像可以包括从一个实时视频传送中的一个帧,并且系统会定期更新装置监控界面以显示实时视频传送中的一个近期的帧。[0305]在这些实施例的一些变化中,该实时视频传送可以包括从一个扫视-俯仰-变焦(pan-tilt-zoom,或“PTZ”)摄像机来的视频传送。因此,当系统提供装置监控界面,系统可以将接口装置的图像坐标映射到一组和PTZ摄像机的帧相关联的坐标上。当摄像机的方向变化时,系统可以更新装置监控界面,以便基于被映射的图像坐标把接口装置覆盖到近期的帧上。
[0306]在一些实施例中,一个可由用户定义的规则可以包括一个复合的,和多个物理装置相关联的规则。
[0307]在一些实施例中,该系统能从一个客户端设备接收一个指令,以控制一个接口装置。然后,系统确定一个已建立的网络连接,用于和接口装置进行通信,并按照所接收的指令,通过网络连接设置接口装置。
[0308]系统也可以从客户端设备接收一个要求获取一个规则设置Π的请求。该规则设置Π可以指明一个或一个以上的有关一个或一个以上接口装置的现有的规则,并帮助创建或修改现有或新的规则。然后,作为对接收到一个规则的描述的响应,该系统确定一个或一个以上目标接口装置,其处理该规则的操作描述的至少一部分。然后系统为一个目标装置生成一个针对特定装置的规则,这样,该针对特定装置的规则包括该规则的操作描述的、应由目标装置处理的一部分。然后,该系统设置该目标装置,使其处理该针对特定装置的规则。
[0309]在一些上述实施例的变化中,当设置接口装置时,系统可确定该接口装置的地理位置,和/或可以确定一个或一个以上连接到该接口装置的物理装置的描述。同时,该系统可以为该接口装置生成一个数字证书,和/或可以基于至少该数字证书供应该接口装置。
[0310]本发明的一个实施例提供一个数据转发系统,它建立到多个网络装置的网络连接,以便于接口装置与装置控制系统、对等接口装置、或其他计算装置通信。在操作过程中,当系统从一个网络装置接收数据,该系统确定一个接收该数据的对等网络装置,例如,一个订阅该数据的装置。该系统可以把传感器数据转发至该对等网络装置,这是通过确定一个已建立的网络连接以便与该第二个网络装置通信,并通过已建立的网络连接把传感器数据发送到对等网络装置而实现。
[0311]在一些实施例中,为确定一个订阅了接收到的传感器数据的第二网络装置,该系统搜索一个存储了多个网络装置的数据订阅请求的数据订阅库,以获得一个被存储的、和接收到的传感器数据相关联的数据订阅请求。然后,基于被存储的数据订阅请求,该系统确定一个订阅了接收到的传感器数据的接口装置。
[0312]在一些实施例中,该系统实现了一个数据转发服务,其接收来自第一网络装置的数据订阅请求。数据订阅请求指明一个提供数据的接口装置,同时也指明了该提供数据的接口装置所提供的传感器数据。然后,该系统在数据订阅库中存储该与该第一网络装置相关联的订阅数据。该系统还将该数据订阅请求转发至该提供数据的接口装置。
[0313]在一些实施例中,在建立网络连接时,系统从一网络装置接收到一个要求建立该网络连接的请求,并且,系统基于该请求确定网络装置的装置接入信息。该系统存储与该网络装置相关联的装置接入信息,并基于该装置接入信息建立到该网络装置的网络连接。
[0314]在一些实施例中,该系统使用一个WebSocket协议,一个NAT会话传输应用程序(Session Traversal Utilities for Network-address-translation, SP“STUN”)协议,和/或Comet协议建立网络连接。
[0315]在这些实施例的一些变化中,在使用WebSocket协议建立网络连接时,该请求可以包括一个WebSocket握手请求,其把一个超文本传输协议(HTTP)会话升级到一个WebSocket会话,并可包括一个从网络装置来的Sec-WebSocket-Key令牌。该系统可以存储该与网络装置相关联的Sec-WebSocket-Key,并可以基于该Sec-WebSocket-Key,为该网络装置生成一个Sec-WebSocket-Accept令牌。然后,系统向该接口装置发送一个响应,该响应承认一个持续不断的WebSocket通信信道,这样该反应至少包括给该接口装置的Sec-WebSocket-Accept 令牌。
[0316]在这些实施例的一些变化中,在使用STUN协议建立网络连接时,该系统接收到一个绑定请求,其指明网络装置的网络地址信息,并存储与网络装置相关联的网络地址信息。该网络地址信息可以包括至少一个或一个以上网络地址和端口号。
[0317]在这些实施例的一些变化中,在用Comet协议建立网络连接时,系统从网络装置接收到一个长轮询请求,并基于该长轮询请求确定网络装置的网络地址信息。该网络地址信息包括至少一个或一个以上网络地址和端口号。该系统存储与网络装置相关联的网络地址信息,这便于在以后的时间接入该网络装置。
[0318]在一些实施例中,装置接入信息可以包括网络装置的网络地址,网络装置的端口号,和/或网络装置的独一无二的标识符。装置接入信息还可以包括身份验证信息,如分配给网络装置的数字证书,与网络装置相关联的登录证书,等等。
[0319]在一些实施例中,该系统可以基于一个包括该请求的网络数据包的报文首部(message header)确定该网络装置的网络地址和/或端口号,进而通过这些确定装置接入信息。
[0320]在一些实施例中,该网络装置可以包括传感器接口装置,电源插座,电源板,调光器,灯开关,或客户计算设备。
[0321 ] 本发明的一个实施例提供了一个接口装置,该接口装置通过已建立的网络连接与其他装置通信,以发送和/或接收实时传感器数据。在操作过程中,本地装置可以建立和远程网络装置的网络连接,该远程网络装置例如是对等接口装置,或数据转发系统。通过选择一个这样的规则:该规则把一个或一个以上远程接口装置的传感器数据作为输入,并生成一个针对与该规则相关的传感器数据元素的数据订阅请求,该装置可以维持对其他对等装置的数据的订阅。该数据订阅请求指明一个提供数据的接口装置,同时也指明了该提供数据的接口装置所提供的传感器数据。然后,通过所建立的网络连接,该装置将数据订阅请求发送到该远程装置。
[0322]在一些实施例中,该远程装置可以包括与该数据订阅请求相关联的远程对等装置,或数据转发装置,该转发装置被设置为维护该本地网络装置和与该数据订阅请求相关联的远程对等装置之间的网络连接。
[0323]在一些实施例中,本地接口装置可以在规则库中存储该规则。然后,当装置通过建立网络连接接收传感器的数据,并当确定所接收到的传感器数据与存储的规则相关时,该装置至少基于所接收到的传感器数据处理该规则。
[0324]在一些实施例中,本地接口装置可以从本地的一个物理装置获取传感器的数据,这样该物理装置可以包括用于测量一个或一个以上物理属性的传感器。如果接口装置确定该远程装置订阅了传感所器获得的数据,该接口装置通过所建立的网络连接把传感器数据发送到远程装置。
[0325]在一些实施例中,该本地接口装置使用一个WebSocket协议,一个NAT会话传输应用程序(Session Traversal Utilities for Network-address-translation,即 “STUN”)协议,和/或Comet协议建立网络连接。
[0326]在这些实施例的一些变化中,该请求可以包括一个WebSocket握手请求,其把一个超文本传输协议(HTTP)会话升级到一个WebSocket会话,并可包括一个从网络装置来的Sec-WebSocket-Key令牌。还有,在使用WebSocket协议建立网络连接时,该本地接口装置可以存储与远程装置相关联的Sec-WebSocket-Key,并基于该Sec-WebSocket-Key为该远程装置生成一个Sec-WebSocket-Accept令牌。然后,该本地接口装置向该远程装置发送一个响应,该响应承认一个持续不断的WebSocket通信信道,这样该反应至少包括给该远程接口 装置的 Sec-WebSocket-Accept 令牌。
[0327]在这些实施例的一些变化中,在使用STUN协议建立网络连接时,该本地接口装置接收到一个绑定请求,其指明该远程装置的网络地址信息,并存储与该远程装置相关联的网络地址信息。该网络地址信息可以包括至少一个或一个以上网络地址和端口号。
[0328]在这些实施例的一些变化中,在用Comet协议建立网络连接时,该本地接口装置从该远程装置接收到一个长轮询请求,并基于该长轮询请求确定远程装置的网络地址信息。该网络地址信息包括至少一个或一个以上网络地址和端口号。该本地接口装置存储与该远程装置相关联的网络地址信息,这便于在以后的时间使用该网络连接。
[0329]本发明的一个实施例提供了一个本地控制器,其维持一本地数据库,该数据库用于存储一组局域网上的接口装置的相关信息。本地数据库可包括一个远程控制器的远程数据库的数据库镜像,其用于为一组被供应的接口装置存储信息。在正常操作过程中,一个作为该远程数据库的宿主的远程控制器可以具有局域网和/或其他网络域内接口装置的主控制,并且,该本地控制器维护本地数据库,让其包括远程数据库的至少一个子集。然而,当确认远程控制器离线,本地控制器可以获得局域网内接口装置的主控制。
[0330]在一些实施例中,当设置本地网络控制器以获取局域网内的主控制时,本地控制器能够监测局域网中的接口装置,重新设置局域网中的接口装置,和/或控制局域网中的接口装置。
[0331]在一些实施例中,本地控制器并未设置为在接口装置网络中添加一个接口装置,或从所提供的接口装置集合中删除一个接口装置。
[0332]在一些实施例中,在获取局域网的主控制时,本地控制器确定本地数据库与远程数据库的最新版本同步。
[0333]在一些实施例中,作为对于确定本地数据库和远程数据库同步的响应,本地控制器被设置为获得局域网的主控制。为获取局域网的主控制,本地控制器能够在得到供应的接口装置集合中添加一个接口装置,以及从得到供应的接口装置集合中删除一个接口装置。
[0334]在一些实施例中,作为对于确定一个作为远程数据库的宿主的远程控制器变成为在线状态的响应,本地控制器被设置为解除对局域网的主控制。
[0335]在一些实施例中,当解除局域网的主控制时,本地控制器使本地数据库与远程数据库同步。
[0336]一个实施例提供了一个接口装置,其被设置为基于传感器数据处理一个或一个以上规则,以做出预定的操作。在操作过程中,该装置可以接收装置的配置,包括一个该接口装置所用的规则。该规则可以包括用于执行一个操作的一个操作描述,还可以包括一个条件,该条件以传感器的数据作为输入,并指示执行该操作的准则。该装置可以在规则库中存储该规则,并确定一个远程接口装置,该远程接口装置生成与该规则的条件相关联的数据。该装置还可以从该远程接口装置订阅该数据。
[0337]在一些实施例中,本地接口装置建立与远程接口装置的网络连接,并通过所建立的连接从远程接口装置订阅数据。
[0338]在一些实施例中,在建立网络连接时,本地接口装置建立与远程接口装置的点对点网络连接。
[0339]在一些实施例中,该本地接口装置使用一个WebSocket协议,一个NAT会话传输应用程序(Session Traversal Utilities for Network-address-translation,即 “STUN”)协议,和/或Comet协议建立该网络连接。
[0340]在一些实施例中,在建立网络连接时,如果本地接口装置确定无法通过一个点对点通信信道获得该远程接口装置,本地接口装置通过数据转发服务建立网络连接。
[0341 ] 在一些实施例中,当本地接口装置获得传感器数据时,本地接口装置基于传感器数据选择一规则来处理。如果该本地接口装置确定一个规则的条件已满足,该本地接口装置可以处理该规则的操作描述以做出该操作。
[0342]在一些实施例中,该本地接口装置从一本地或远程的、测量一个或一个以上物理属性的物理装置获得传感器数据,和/或从一个检测和/或设置一个或一个以上接口装置的网络控制器那里获得传感器数据。
[0343]在一些实施例中,在选择要处理的规则时,该本地接口装置选择一组规则,该规则的条件把获得的数据作为输入,并确定用户指定的该组规则的排序。该用户指定的排序指明处理规则的顺序。然后,根据用户指定的排序,该本地接口装置从该组规则中选择一个规则。
[0344]在一些实施例中,通过定期地监测从一个和接口装置相连接的物理装置那里来的数据值,本地接口装置获取传感器数据。而且,如果本地接口装置确定所获得的数据满足一个远程接口装置的数据订阅请求,本地接口装置把所获得的数据传送到远程接口装置。
[0345]在一些实施例中,本地接口装置可以通过已建立的网络连接把该数据传送到远程接口装置,该网络连接是为了与远程接口装置通信而建立。
[0346]一个实施例提供了一种传感器监测接口装置,它连接到一个或更多的物理装置上,该物理装置包含有测量物理属性的传感器。在操作过程中,该接口装置从物理装置那里获取和处理传感器数据。当接口装置从一个物理装置处获得传感器数据,该接口装置基于所获得的传感器数据选择规则来处理。如果接口装置确定该规则的条件已满足,该接口装置可以处理该规则的操作描述以做出相应的操作。
[0347]在一些实施例中,物理装置可以包括一个温度传感器,湿度传感器,电压传感器,电流传感器,运动传感器,光传感器,水分传感器,数字值传感器,和/或门窗传感器。
[0348]在一些实施例中,该操作可以包括通过串口发送预定信号模式,和/或通过一个或一个以上通用输出引脚发送预定信号模式。而且,该操作可以包括处理预定脚本,以便通过一串口来设置一个外围装置,向预定的收件人发送电子邮件消息,创建系统警报,为事件日志生成事件,和/或部分地基于所接收到的传感器数据来计算一数据值。
[0349]在一些实施例中,如果本地接口装置确定所获得的数据满足一个远程接口装置的数据订阅请求,本地接口装置把该传感器数据传送到远程接口装置。
[0350]在一些实施例中,数据订阅请求可以指明有关传感器数据的最小阈值,有关传感器数据的最大阈值,从上一个传感器数据被提供给远程接口装置到目前的时间间隔,和/或有关得到的传感器数据和上一个被提供给远程接口装置的传感器数据的差值的阈值。[0351 ] 在一些实施例中,在传送数据到远程接口装置时,本地接口装置可以通过一与远程接口装置相关联的已建立的点对点网络连接传送该数据。
[0352]在一些实施例中,在选择要处理的规则时,该本地接口装置选择一组规则,该规则的条件把获得的数据作为输入,并确定用户指定的该组规则的排序。该用户指定的排序指明处理规则的顺序。然后,根据用户指定的排序,该本地接口装置选择一个规则。
[0353]在一些实施例中,在确定本地接口装置处于出厂默认模式的基础上,该接口装置可以调节一个发光二极管(LED )指示灯的颜色。在确定本地接口装置由一个监控一个或一个以上接口装置的网络控制灯提供配置的基础上,和/或在确定该接口装置正在被该网络控制器监测的基础上,接口装置可以调整一个发光二极管指示灯的颜色。
[0354]一个实施例提供了一种负载控制接口装置,其从一用户接口和/或其他装置获取并处理传感器数据,并基于传感器数据处理规则,以控制电气负载,如灯具。在操作过程中,当该接口装置获得传感器数据,该接口装置基于从用户接口来的传感器数据选择一个规则来处理。如果该接口装置确定该规则的条件已满足,该接口装置可以处理该规则的操作描述以做出相应的操作,以控制该电气负载的功率。
[0355]在一些实施例中,该电气负载包括一灯具。
[0356]在一些实施例中,事件数据包括从触摸屏用户接口来的传感器数据。该触摸屏用户接口可以包括一个电容式触摸表面,电阻式触摸表面,接近传感器,和/或运动传感器。
[0357]在一些实施例中,从触摸屏用户接口来的事件数据可以指明触摸屏用户接口上的一个本地用户触摸了的一部分,在触摸屏用户接口一个确定的距离之内检测到的物体,和/或检测到的运动。
[0358]在一些实施例中,在获取事件数据时,该接口装置处理触摸屏用户接口的信息,以便确定一个手势。该手势可以包括代表增加灯具光强度的向上扫动手指,代表降低灯具的光强度的向下扫动手指,代表激活或停止向灯具供电的一个手指轻击,和/或代表调整灯具的光强度到一定水平的手指轻击。
[0359]在一些实施例中,该接口装置可以确定该事件数据满足一个来自远程接口装置的数据订阅请求,并把该事件数据传送到该远程接口装置。
[0360]在一些实施例中,该远程接口装置电连接到相应的灯具,并且,远程接口装置能够被设置成基于事件数据调节相应灯具的功率。
[0361]一个实施例提供了一个负载监控接口装置,其获取和处理从一个电气负载来的传感器数据。该接口装置可以包括至少一个电源插座,用于为一个相应的电气负载供电。在操作过程中,该接口装置可以从一个连接一个电负载的本地电源插座获得传感器数据,这样,该传感器数据可以表明一个与该电负载相关的电气测量数据。该接口装置基于所获得的传感器数据选择一个规则来处理,并处理该规则来决定是否要做出一个操作。如果该规则的条件得到满足,该接口装置进而处理该规则的操作描述,以做出该操作,如启用或禁用一个电源插座,或做出其他任何预先确定的操作。
[0362]在一些实施例中,从电源插座来的传感器数据可以包括相应的电气负载的功率状态,电流测量,和/或电压测量。
[0363]在一些实施例中,该操作可以包括激活一个电源插座,停用一个电源插座,调整一个插座提供的电压,和/或调整一个电源插座提供的电流量。而且,该操作可以包括向预定的收件人发送电子邮件消息,创建系统警报,为事件日志生成事件,和/或部分地基于所接收到的传感器数据来计算一数据值。
[0364]在本说明书中描述的数据结构和代码通常存储在计算机可读存储介质上,它可以是任何可以存储代码和/或数据,并使其为一计算机系统所使用的设备或介质。计算机可读存储介质包括,但不限于,非永久性存储器,永久性存储器,磁性或光学存储设备,如磁盘驱动器,磁带,光盘(compact discs), DVD (数字多功能光盘或数字视频光盘),或其他现在已知的或以后开发的可存储计算机可读媒体的介质。
[0365]在本说明书中描述的的方法和流程可以体现为代码和/或数据,它可以存储在如上面所描述的计算机可读存储介质中。当计算机系统读取并执行存储在计算机可读存储介质上的代码或数据时,计算机系统做出该体现为数据结构和代码并存储在计算机可读存储介质上的的方法和流程。
[0366]此外,在此描述的的方法和流程可以包括在硬件模块或设备之中。这些模块或设备可能包括,但不限于,专用集成电路(ASIC)芯片,现场可编程门阵列(FPGA),在一个特定的时间执行一个特定的软件模块或一段代码的专用或共享处理器,和/或其它现在已知的或以后开发的可编程逻辑装置。当该硬件模块或设备被激活,它们执行包括在它们之中的方法和流程。
[0367]上述各种实施例的描述只为例证和说明的目的。它们不是详尽无遗的,或是把本发明限制在其所披露的形式上。因此,对本领域的技术人员来说,许多修改和变化将是明显的。此外,上述披露并不限制本发明。
【权利要求】
1.一种方法,包括步骤: 在接口装置处接收装置配置,该装置配置包括由接口装置处理的规则,该规则包括用于做出操作的操作描述,并包括做出该操作的条件; 在规则库中存储该规则; 确定远程接口装置,该远程接口装置生成和该规则的条件相关的数据; 和该远程接口装置建立网络连接; 通过建立的该网络连接向该远程接口装置订阅该数据。
2.如权利要求1所述的方法,其中所述和该远程接口装置建立网络连接的步骤包括: 用WebSocket协议和该远程接口装置建立网络连接;和/或 用Comet协议和该远程接口装置建立网络连接;和/或 用STUN协议和该远程接口装置建立网络连接。
3.如权利要求1所述的方法,其中所述建立网络连接包括和该远程接口装置建立点对点网络连接。
4.如权利要求1所述的方法,其中所述建立网络连接包括: 确定无法和该远程接口装置建立点对点网络连接; 通过数据转发服务和该远程接口装置建立网络连接。
5.如权利要求1所述的方法,其中所述向该远程接口装置订阅该数据的步骤包括: 生成对该规则相关的传感器数据元素的订阅请求,该订阅请求指明该远程接口装置以及该远程接口装置提供的传感器数据; 通过建立的该网络连接向该远程接口装置发送该数据订阅请求。
6.如权利要求1所述的方法,还包括步骤: 获取传感器数据; 基于该传感器数据选择规则; 确定该规则的条件已满足; 处理该规则的操作描述以做出操作。
7.如权利要求6所述的方法,其中所述获取传感器数据的步骤包括: 从本地物理装置获取传感器数据;和/或 从远程接口装置获取传感器数据;和/或 从网络控制器获取传感器数据,该网络控制器控制和/或设置一个或一个以上接口装置。
8.如权利要求6所述的方法,其中所述获取传感器数据的步骤包括定期监测和该接口装置相连的物理装置的数据,该方法还包括步骤: 确定该获取的数据满足远程接口装置的数据订阅请求; 向该远程接口装置发送该获取的数据。
9.一种设备,包括: 通信模块,用于接收装置配置,该装置配置包括由本地接口装置处理的规则,该规则包括用于做出操作的操作描述,并包括做出该操作的条件; 来源确定模块,用于确定远程接口装置,该远程接口装置生成和该规则的条件相关的数据;数据订阅模块,用于和该远程接口装置建立网络连接,并向该远程接口装置订阅该数据。
10.如权利要求9所述的装置,其中所述通信模块包括: 以太网通信模块;和/或 W1-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所述的装置,其中所述通信模块包括: 以太网通信模块,和/或 W1-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所述的装置,其中所述通信模块包括:以太网通信模块,和/或 W1-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所 述的装置,其中所述通信模块包括: 以太网通信模块,和/或 W1-Fi无线通信模块,和/或 蓝牙无线通信模块。
50.如权利要求42所述的装置,该装置还: 从网络控制器接收装置配置信息,该装置配置信息包括该装置所用的规则; 将该规则在规则库中存储。
51.如权利要求42-50中的任一项所述的装置,其中所述处理器: 确定接收到的传感器数据满足来自远程接口装置和/或控制器的数据订阅请求;并 将该传感器数据发送到该远程接口装置和/或控制器。
52.如权利要求51所述的装置,其中所述将该传感器数据发送到该远程接口装置和/或控制器还包括: 与远程接口装置和/或控制器建立一个持续不断的点对点通讯信道; 通过该点对点通讯信道将该传感器数据发送到该远程接口装置和/或控制器。
53.如权利要求51所述的装置,该装置向远程接口装置和/或控制器发送数据订阅请求,并从该远程接口装置和/或控制器接收所订阅的数据。
【文档编号】G05B19/418GK103543700SQ201310261774
【公开日】2014年1月29日 申请日期:2013年6月27日 优先权日:2012年6月27日
【发明者】兰德尔·W·弗雷, 程令可, 罗伯特·J·佩拉 申请人:尤比奎蒂网络公司