ES2806680T3 - Dispositivo de interfaz, procedimiento y programa informático para controlar dispositivos sensores - Google Patents

Dispositivo de interfaz, procedimiento y programa informático para controlar dispositivos sensores Download PDF

Info

Publication number
ES2806680T3
ES2806680T3 ES13744857T ES13744857T ES2806680T3 ES 2806680 T3 ES2806680 T3 ES 2806680T3 ES 13744857 T ES13744857 T ES 13744857T ES 13744857 T ES13744857 T ES 13744857T ES 2806680 T3 ES2806680 T3 ES 2806680T3
Authority
ES
Spain
Prior art keywords
interface device
data
interface
network
rule
Prior art date
Legal status (The legal status 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 status listed.)
Active
Application number
ES13744857T
Other languages
English (en)
Inventor
Randall Frei
Linker Cheng
Robert Pera
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Ubiquiti Inc
Original Assignee
Ubiquiti 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
Application filed by Ubiquiti Inc filed Critical Ubiquiti Inc
Application granted granted Critical
Publication of ES2806680T3 publication Critical patent/ES2806680T3/es
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/10Program control for peripheral devices
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/10Active monitoring, e.g. heartbeat, ping or trace-route
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B15/00Systems controlled by a computer
    • G05B15/02Systems controlled by a computer electric
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • GPHYSICS
    • G08SIGNALLING
    • G08BSIGNALLING OR CALLING SYSTEMS; ORDER TELEGRAPHS; ALARM SYSTEMS
    • G08B25/00Alarm systems in which the location of the alarm condition is signalled to a central station, e.g. fire or police telegraphic systems
    • G08B25/01Alarm systems in which the location of the alarm condition is signalled to a central station, e.g. fire or police telegraphic systems characterised by the transmission medium
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/2803Home automation networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/2803Home automation networks
    • H04L12/2807Exchanging configuration information on appliance services in a home automation network
    • H04L12/2809Exchanging configuration information on appliance services in a home automation network indicating that an appliance service is present in a home automation network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/2803Home automation networks
    • H04L12/2807Exchanging configuration information on appliance services in a home automation network
    • H04L12/281Exchanging configuration information on appliance services in a home automation network indicating a format for calling an appliance service function in a home automation network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/2803Home automation networks
    • H04L12/2816Controlling appliance services of a home automation network by calling their functionalities
    • H04L12/2818Controlling appliance services of a home automation network by calling their functionalities from a device located outside both the home and the home network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/2803Home automation networks
    • H04L12/2823Reporting information sensed by appliance or service execution status of appliance services in a home automation network
    • H04L12/2825Reporting to a device located outside the home and the home network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/02Standardisation; Integration
    • H04L41/024Standardisation; Integration using relational databases for representation of network management data, e.g. managing via structured query language [SQL]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/06Generation of reports
    • H04L43/065Generation of reports related to network devices
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L51/00User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
    • H04L51/04Real-time or near real-time messaging, e.g. instant messaging [IM]
    • H04L51/046Interoperability with other network applications or services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L51/00User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
    • H04L51/58Message adaptation for wireless communication
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/09Mapping addresses
    • H04L61/25Mapping addresses of the same type
    • H04L61/2503Translation of Internet protocol [IP] addresses
    • H04L61/256NAT traversal
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/50Address allocation
    • H04L61/5061Pools of addresses
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/104Peer-to-peer [P2P] networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/12Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/12Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
    • H04L67/125Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks involving control of end-device applications over a network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/14Session management
    • H04L67/141Setup of application sessions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/2866Architectures; Arrangements
    • H04L67/289Intermediate processing functionally located close to the data consumer application, e.g. in same machine, in same home or in same sub-network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/55Push-based network services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/12Messaging; Mailboxes; Announcements
    • H04W4/14Short messaging services, e.g. short message services [SMS] or unstructured supplementary service data [USSD]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/09Mapping addresses
    • H04L61/25Mapping addresses of the same type
    • H04L61/2503Translation of Internet protocol [IP] addresses
    • H04L61/256NAT traversal
    • H04L61/2575NAT traversal using address mapping retrieval, e.g. simple traversal of user datagram protocol through session traversal utilities for NAT [STUN]
    • 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
    • Y02BCLIMATE CHANGE MITIGATION TECHNOLOGIES RELATED TO BUILDINGS, e.g. HOUSING, HOUSE APPLIANCES OR RELATED END-USER APPLICATIONS
    • Y02B70/00Technologies for an efficient end-user side electric power management and consumption
    • Y02B70/10Technologies improving the efficiency by using switched-mode power supplies [SMPS], i.e. efficient power electronics conversion e.g. power factor correction or reduction of losses in power supplies or efficient standby modes
    • 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
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Automation & Control Theory (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Medical Informatics (AREA)
  • Computing Systems (AREA)
  • Cardiology (AREA)
  • Business, Economics & Management (AREA)
  • Emergency Management (AREA)
  • Databases & Information Systems (AREA)
  • Computer And Data Communications (AREA)
  • Telephonic Communication Services (AREA)
  • Selective Calling Equipment (AREA)
  • Arrangements For Transmission Of Measured Signals (AREA)
  • Programmable Controllers (AREA)

Abstract

Un primer dispositivo de interfaz (200) para su uso en un sistema de domótica (100), comprendiendo el primer dispositivo de interfaz: un módulo de comunicación (228) configurado para recibir una configuración del dispositivo del primer dispositivo de interfaz para realizar una acción, en el que la regla incluye una descripción de la acción y una condición para realizar esa acción; un repositorio de reglas para almacenar la regla; un módulo de determinación de fuente configurado para identificar un segundo sensor de un dispositivo físico acoplado a un segundo dispositivo de interfaz remoto; un módulo de suscripción de datos configurado para suscribirse a través de una conexión de red con el segundo dispositivo de interfaz para los datos del segundo sensor; en respuesta para determinar que procesar la regla requiere los datos del segundo sensor, obtener los datos del segundo sensor; en el que el primer dispositivo de interfaz se adapta, tras la recepción de la configuración del dispositivo, para configurarse a sí mismo para realizar la acción tras determinar que los datos del primer y segundo sensor cumplen la condición.

Description

DESCRIPCIÓN
Dispositivo de interfaz, procedimiento y programa informático para controlar dispositivos sensores
Antecedentes de la invención
Campo
Esta divulgación se refiere generalmente al control de múltiples dispositivos. Más específicamente, esta divulgación se refiere al control inteligente de los múltiples dispositivos.
Técnica anterior
La domótica, u hogares inteligentes, ha mejorado la calidad de vida de sus usuarios. Más específicamente, un sistema de domótica permite el control centralizado de la iluminación, el HVAC (calefacción, ventilación, y aire acondicionado), electrodomésticos, y otros sistemas, por lo tanto, se proporciona mayor conveniencia, comodidad, eficiencia energética, y seguridad. Algunos sistemas de automatización proporcionan un modo para automatizar el control de un dispositivo en base a factores temporizados o ambientales, tales como en una unidad de HVAC o un sistema de rociadores. Sin embargo, estos sistemas de automatización típicos proporcionan control automatizado para un tipo individual de electrodoméstico, y los sistemas de automatización diferentes no interactúan entre sí para proporcionar una solución de domótica completa.
En contraste, en un hogar inteligente, todos los dispositivos/electrodomésticos eléctricos en la casa se integran juntos para proporcionar conveniencia y una mejor experiencia de vida para sus usuarios. Además, la ubicuidad de la conexión a Internet ha hecho posible además para un usuario monitorear y/o controlar su hogar de forma remota. Por ejemplo, mientras vacaciona en Europa, un usuario puede conectarse a un sistema de vigilancia para su hogar en Washington D.C. para monitorear actividades en su hogar; o el usuario puede apagar su sistema de rociadores del hogar en respuesta a recibir un pronóstico de tormenta para el área de Washington D.C.
Las tecnologías de domótica típicas a menudo se implementan mediante el uso de dispositivos de control y monitoreo especialmente diseñados que se comunican entre sí mediante el uso de un protocolo de comunicación dedicado. Debido a que este protocolo de comunicación entre dispositivos es patentado, los propietarios de hogares tienen problemas para personalizar el sistema para incluir dispositivos de monitoreo nuevos o diferentes de otros proveedores. En el ejemplo del sistema de vigilancia del hogar, el controlador del sistema de vigilancia se conecta a diversos sensores y/o cámaras especialmente diseñados que se fabrican por el mismo proveedor. Además, para implementar el control centralizado, los electrodomésticos (o al menos los controladores para cada electrodoméstico) necesitan fabricarse además por el mismo proveedor. En el ejemplo mencionado anteriormente, el sistema de vigilancia del hogar y el sistema de rociadores (o los controladores para estos sistemas) tienen que ser los productos del mismo proveedor para permitir que el usuario acceda a ambos sistemas mediante el uso de una única interfaz. Sin embargo, instalar estos dispositivos dedicados o controladores de electrodomésticos puede ser costoso y derrochador ya que muchos hogares existentes pueden ya equiparse con sensores y electrodomésticos que se fabrican por diversos proveedores diferentes.
El documento US 2009070477 divulga un sistema de seguridad integrado que integra la banda ancha y el acceso y control móviles con sistemas de seguridad convencionales y dispositivos locales para proporcionar una red de seguridad trimodal que tiene conectividad y acceso remotos. El sistema de seguridad integrado ofrece la funcionalidad del monitoreo y control del local remoto para la protección local monitoreada convencional y complementa el equipo de protección local existente. El sistema de seguridad integrado se integra en la red local y se acopla de forma inalámbrica con el panel de seguridad convencional, lo que permite el acceso de banda ancha a los sistemas de seguridad locales. Pueden agregarse dispositivos de automatización, lo que permite a los usuarios ver de forma remota videos o imágenes en vivo y controlar los dispositivos del hogar a través de un portal web personal u otro dispositivo cliente. La gestión de la cámara permite la configuración y gestión automática de las cámaras en la red local. La gestión de la cámara se extiende al control y monitoreo remotos desde fuera del cortafuego de la red local para incluir el enrutamiento de imágenes o video desde un dispositivo fuente de transmisión a un dispositivo cliente solicitante.
El documento US 7526539 divulga un módulo de control de software para permitir que un usuario monitoree y controle sistemas y electrodomésticos de domótica desde una o más interfaces remotas en una red de paquetes de datos que se proporciona. El módulo comprende una función de informe para informar el estado actual de los sistemas y electrodomésticos de domótica; una función de selección para seleccionar opciones referidas a los ajustes del sistema y los electrodomésticos; una función de construcción de comandos para construir comandos para el control del sistema y el electrodoméstico; una función de ejecución para ejecutar comandos; y una función de visualización para mostrar datos relevantes y para facilitar la capacidad de control interactivo, el módulo de control de software se distribuye para preseleccionar las ubicaciones de red frecuentadas por un usuario de manera que el usuario pueda tener control sobre los sistemas y electrodomésticos de domótica mientras que visita la ubicación de la red durante la navegación de red.
Sumario
La presente invención se define como un dispositivo de interfaz, un procedimiento y programa informático como se establece respectivamente en las reivindicaciones independientes 1, 13 y 14, con algunas características opcionales establecidas en las reivindicaciones dependientes a las mismas.
Breve descripción de las figuras
La Figura 1A ilustra una arquitectura del sistema ilustrativa de un sistema de monitoreo y control de acuerdo con una implementación.
La Figura 1B ilustra una arquitectura del sistema ilustrativa de un sistema de monitoreo y control que incluye un controlador desplegado en un grupo de ordenadores accesible a través de una red de área amplia de acuerdo con una implementación.
La Figura 2a presenta un diagrama que ilustra una arquitectura del dispositivo ilustrativa de un dispositivo de interfaz de acuerdo con una implementación.
La Figura 2B presenta un diagrama que ilustra una arquitectura del software ilustrativa de un dispositivo de interfaz de acuerdo con una implementación.
La Figura 2C presenta un diagrama que ilustra una arquitectura del dispositivo ilustrativa de un dispositivo de interfaz mPort de acuerdo con una implementación.
La Figura 2D ilustra un dispositivo de interfaz mPort de acuerdo con una implementación.
La Figura 2E presenta un diagrama que ilustra una arquitectura del dispositivo ilustrativa de un dispositivo de interfaz mPower de acuerdo con una implementación.
La Figura 2F ilustra un dispositivo de interfaz mPower de acuerdo con una implementación.
La Figura 2G presenta un diagrama que ilustra una arquitectura del dispositivo ilustrativa de un dispositivo de interfaz mDimmer o un mSwitch de acuerdo con una implementación.
La Figura 2H ilustra un dispositivo de interfaz mDimmer de acuerdo con una implementación.
La Figura 2I ilustra una pluralidad de dispositivos de interfaz mDimmer acoplados a través de una interfaz de comunicación serie de acuerdo con una implementación.
La Figura 3A presenta un diagrama de flujo que ilustra un procedimiento ilustrativo para configurar un controlador del dispositivo de acuerdo con una implementación.
La Figura 3B presenta un diagrama de flujo que ilustra un procedimiento ilustrativo para presentar los datos de configuración y/o datos de sensores de acuerdo con una implementación.
La Figura 4A presenta un diagrama de flujo que ilustra un procedimiento ilustrativo para configurar un espacio de colocación de dispositivos para una interfaz gráfica de usuario (GUI) de vista espacial de acuerdo con una implementación.
La Figura 4B presenta un diagrama de flujo que ilustra un procedimiento ilustrativo para mostrar y actualizar una GUI de vista espacial de acuerdo con una implementación.
La Figura 4C presenta un diagrama que ilustra una GUI de vista espacial ilustrativa del controlador de acuerdo con una implementación.
La Figura 4D presenta un diagrama que ilustra una GUI de vista espacial ilustrativa proporcionada por el controlador de acuerdo con una implementación.
La Figura 4E presenta un diagrama que ilustra una GUI de vista espacial ilustrativa proporcionada por el controlador de acuerdo con una implementación.
La Figura 5A presenta un diagrama de flujo que ilustra un procedimiento ilustrativo para generar y almacenar reglas para controlar un dispositivo de acuerdo con una implementación.
La Figura 5B presenta un diagrama que ilustra una GUI de vista de regla ilustrativa del controlador de acuerdo con una implementación.
La Figura 5C presenta una interfaz de usuario que ilustra condiciones predefinidas ilustrativas que pueden incorporarse en un conjunto de condiciones de regla de acuerdo con una implementación.
La Figura 6A presenta un diagrama que ilustra una GUI de vista del dispositivo ilustrativa del controlador de acuerdo con una implementación.
La Figura 6B presenta un diagrama que ilustra una GUI de vista de datos ilustativa del controlador de acuerdo con una implementación.
La Figura 6C presenta un diagrama que ilustra una GUI de vista de eventos ilustrativa del controlador de acuerdo con una implementación.
La Figura 7 presenta un diagrama de flujo que ilustra un procedimiento ilustrativo para procesar una regla en un dispositivo de interfaz local de acuerdo con una implementación.
La Figura 8 ilustra un sistema informático ilustrativo para interconectar un controlador dentro de un grupo de servidores con dispositivos dentro de una LAN.
La Figura 9 presenta un diagrama de flujo que ilustra un procedimiento ilustrativo para establecer una conexión de red con un dispositivo remoto en base a la información de direccionamiento de red recibida desde un controlador central para el dispositivo remoto de acuerdo con una implementación.
La Figura 10 presenta un diagrama de flujo que ilustra un procedimiento ilustrativo para establecer una conexión de red con un dispositivo remoto en base a una información de direccionamiento de red almacenada para el dispositivo remoto de acuerdo con una implementación.
La Figura 11 ilustra una arquitectura del sistema ilustrativa que incluye un dispositivo mDimmer de acuerdo con una implementación.
La Figura 12A ilustra una arquitectura del sistema ilustrativa que incluye un controlador central y uno o más controladores de LAN con bases de datos reflejadas de acuerdo con una implementación.
La Figura 12B ilustra una arquitectura del sistema ilustrativa que incluye un controlador de LAN dentro de una red de área local y un servicio de reenvío accesible dentro de una red de área amplia de acuerdo con una implementación.
La Figura 13 ilustra un sistema informático ilustrativo para el monitoreo y control inteligentes de dispositivos de acuerdo con una implementación.
La Figura 14A ilustra una vista en ángulo de un dispositivo de interfaz mPort de acuerdo con una implementación.
La Figura 14B ilustra una vista lateral de un dispositivo de interfaz mPort de acuerdo con una implementación. La Figura 14C ilustra una vista lateral de un dispositivo de interfaz mPort de acuerdo con una implementación. La Figura 15A ilustra una vista en ángulo de un dispositivo de interfaz mPort de acuerdo con una implementación.
La Figura 15B ilustra una vista en ángulo de un dispositivo de interfaz mPort que incluye un conector de antena de acuerdo con una implementación.
La Figura 15C ilustra una vista lateral de un dispositivo de interfaz mPort de acuerdo con una implementación. La Figura 15D ilustra una vista lateral de un dispositivo de interfaz mPort de acuerdo con una implementación.
Descripción detallada
La siguiente descripción se presenta de manera que un experto habitual en la técnica pueda hacer y usar las implementaciones, y se proporciona en el contexto de una solicitud particular y sus requisitos. Diversas modificaciones a las implementaciones divulgadas serán fácilmente evidentes para los expertos en la técnica, y los principios generales definidos en la presente memoria pueden aplicarse a otras implementaciones y solicitudes sin apartarse del ámbito de la presente invención como se define por las reivindicaciones adjuntas. Alguna de las implementaciones descritas en la presente memoria pueden caer fuera del ámbito de la invención reivindicada, pero no obstante son útiles para una mejor comprensión de la invención reivindicada, por ejemplo al proporcionar el contexto relevante y/o al proporcionar ejemplos de dispositivos que pueden utilizarse junto con el dispositivo de interfaz de la invención reivindicada.
Descripción general
Las implementaciones proporcionan un controlador que puede usar diversos sensores y dispositivos de diversos proveedores para implementar un entorno "inteligente" unificado, tal como un entorno del sistema del hogar o industrial "inteligente". Más específicamente, estos diversos dispositivos físicos se acoplan a uno o más dispositivos de interfaz que monitorean y controlan de forma continua los dispositivos físicos, de manera que pueda accederse a estos dispositivos de interfaz y configurarse a través del controlador. Por ejemplo, el controlador centralizado puede residir en un grupo de servidores (por ejemplo, la "nube"), y permite que un usuario acceda a una UI de control a través de un navegador Web o una aplicación en el ordenador del usuario. Además, el dispositivo de interfaz y los dispositivos físicos pueden distribuirse sobre un área amplia (por ejemplo, en toda una ciudad, o en diversas ciudades a través del mundo). El usuario puede interactuar con el controlador centralizado para configurar cómo los dispositivos de interfaz deben monitorear los datos desde los dispositivos físicos en tiempo casi real, y para controlar cómo los dispositivos de interfaz deben controlar uno o más dispositivos físicos en base a los datos monitoreados.
Cada dispositivo de interfaz incluye una pluralidad de acopladores del dispositivo y una o más interfaces de red, que permiten el acoplamiento entre el dispositivo de interfaz y el controlador centralizado a través de una red pública o privada. En una implementación, el dispositivo de interfaz se acopla al controlador a través de una red basada en IP (Protocolo de Internet). La comunicación entre los dispositivos de interfaz y el controlador centralizado se realiza al intercambiar paquetes IP. El controlador centralizado puede proporcionar una interfaz gráfica de usuario (GUI), que un usuario puede usar mientras el usuario está lejos en una ubicación remota, para monitorear y controlar cómo deben operar los dispositivos. Además, la GUI permite que el usuario configure reglas compuestas que rigen las operaciones de los dispositivos automáticamente.
En la presente memoria se describe un sistema de control de dispositivos que configura, monitorea, y/o controla uno o más dispositivos de interfaz. Un dispositivo de interfaz puede obtener y difundir datos de sensores desde uno o más dispositivos físicos conectados, tales como dispositivos que incluyen sensores para medir atributos físicos. Durante la operación, el sistema puede configurar un dispositivo de interfaz al establecer una conexión de red con el dispositivo de interfaz, y seleccionar una o más reglas que deben procesarse por el dispositivo de interfaz. El sistema configura el dispositivo de interfaz para procesar sus reglas asociadas.
En la presente memoria se describe un sistema que establece una conexión de red con una pluralidad de dispositivos de red para facilitar que un dispositivo de interfaz se comunique con un sistema de control de dispositivos, un dispositivo de interfaz par, u otros dispositivos informáticos. El sistema puede recibir datos desde un dispositivo de red, y reenviar los datos a un dispositivo de red par que se suscribe a los datos. El sistema envía los datos al dispositivo de red par a través de una conexión de red que se ha establecido con el dispositivo de red par.
En la presente memoria se describe un dispositivo de interfaz que se comunica con otros dispositivos a través de una conexión de red establecida para enviar y/o recibir datos de sensores en tiempo real. Durante la operación, el dispositivo local puede establecer una conexión de red con un dispositivo de red remoto, tal como con un dispositivo de interfaz par, o un sistema de reenvío de datos. El dispositivo local puede mantener suscripciones de datos a otros dispositivos pares para obtener elementos de datos en tiempo real asociados con una regla, tal como al enviar una solicitud de suscripción de datos a un dispositivo de red par que genera un elemento de datos, a través de la conexión de red establecida.
En la presente memoria se describe un controlador local que mantiene una base de datos local que almacena información asociada con un conjunto de dispositivos de interfaz de una red de área local. La base de datos local puede incluir una base de datos reflejada para una base de datos remota, de un controlador remoto, que almacena información para un conjunto de dispositivos de interfaz provisionados. Durante la operación, el controlador local mantiene la base de datos local sincronizada con al menos un subconjunto de la base de datos remota. Sin embargo, cuando el controlador local determina que el controlador remoto se ha desconectado, si el controlador remoto tiene el control primario de los dispositivos de interfaz en la red de área local, el controlador local puede obtener el control primario de los dispositivos de interfaz dentro de la red de área local.
En la presente memoria se describe un dispositivo de interfaz que se configura para procesar una o más reglas, en base a datos de sensores, para realizar una acción predeterminada. Durante la operación, el dispositivo puede recibir una configuración del dispositivo que incluye una regla para el dispositivo de interfaz. La regla puede incluir una descripción de acción para realizar una acción, y puede incluir una condición que toma datos de sensores como entrada e indica los criterios para realizar la acción. El dispositivo puede almacenar la regla en un repositorio de reglas, y determina un dispositivo de interfaz remoto que genera una porción de datos asociada con la condición de la regla. El dispositivo puede suscribirse además a la porción de datos desde el dispositivo de interfaz remoto.
En la presente memoria se describe un dispositivo de interfaz de monitoreo de sensores, que se acopla a uno o más dispositivos físicos que incluyen sensores para medir atributos físicos. Durante la operación, el dispositivo de interfaz obtiene y procesa los datos de sensores desde los dispositivos físicos. Cuando el dispositivo de interfaz determina que una condición de la regla se satisface en base a los datos de sensores, el dispositivo de interfaz puede procesar la descripción de acción de la regla para realizar una acción correspondiente.
En la presente memoria se describe un dispositivo de interfaz de control de carga que obtiene y procesa datos de sensores recibidos de una interfaz de usuario y/o desde un dispositivo de interfaz remoto. Durante la operación, el dispositivo de interfaz de control de carga procesa reglas en base a los datos de sensores para controlar una carga eléctrica, tal como una lámpara.
En la presente memoria se describe un dispositivo de interfaz de monitoreo de carga que obtiene y procesa datos de sensores de una carga eléctrica. El dispositivo de interfaz puede incluir al menos una toma de corriente para proporcionar energía a una carga eléctrica correspondiente. Durante la operación, el dispositivo de interfaz puede obtener datos de sensores de una toma de corriente local acoplada a una carga eléctrica, de manera que los datos de sensores pueden indicar una medición eléctrica asociada con la carga eléctrica. El dispositivo de interfaz puede procesar una regla asociada con los datos de sensores, tal como para habilitar o deshabilitar una toma de corriente, o para realizar cualquier otra acción predefinida.
En la presente memoria se describe un sistema de control de dispositivos que configura, monitorea, y/o controla uno o más dispositivos de interfaz. Un dispositivo de interfaz puede obtener y difundir datos de sensores desde uno o más dispositivos físicos conectados, tales como dispositivos que incluyen sensores para medir atributos físicos. Durante la operación, el sistema puede configurar un dispositivo de interfaz al establecer una conexión de red con el dispositivo de interfaz, y seleccionar una o más reglas que deben procesarse por el dispositivo de interfaz. El sistema configura el dispositivo de interfaz para procesar sus reglas asociadas.
En la presente memoria se describe un sistema que establece una conexión de red con una pluralidad de dispositivos de red para facilitar que un dispositivo de interfaz se comunique con un sistema de control de dispositivos, un dispositivo de interfaz par, u otros dispositivos informáticos. El sistema puede recibir datos desde un dispositivo de red, y reenviar los datos a un dispositivo de red par que se suscribe a los datos. El sistema envía los datos al dispositivo de red par a través de una conexión de red que se ha establecido con el dispositivo de red par.
En la presente memoria se describe un dispositivo de interfaz que se comunica con otros dispositivos a través de una conexión de red establecida para enviar y/o recibir datos de sensores en tiempo real. Durante la operación, el dispositivo local puede establecer una conexión de red con un dispositivo de red remoto, tal como con un dispositivo de interfaz par, o un sistema de reenvío de datos. El dispositivo local puede mantener suscripciones de datos a otros dispositivos pares para obtener elementos de datos en tiempo real asociados con una regla, tal como al enviar una solicitud de suscripción de datos a un dispositivo de red par que genera un elemento de datos, a través de la conexión de red establecida.
En la presente memoria se describe un controlador local que mantiene una base de datos local que almacena información asociada con un conjunto de dispositivos de interfaz de una red de área local. La base de datos local puede incluir una base de datos reflejada para una base de datos remota, de un controlador remoto, que almacena información para un conjunto de dispositivos de interfaz provisionados. Durante la operación, el controlador local mantiene la base de datos local sincronizada con al menos un subconjunto de la base de datos remota. Sin embargo, cuando el controlador local determina que el controlador remoto se ha desconectado, si el controlador remoto tiene el control primario de los dispositivos de interfaz en la red de área local, el controlador local puede obtener el control primario de los dispositivos de interfaz dentro de la red de área local.
En la presente memoria se describe un dispositivo de interfaz que se configura para procesar una o más reglas, en base a datos de sensores, para realizar una acción predeterminada. Durante la operación, el dispositivo puede recibir una configuración del dispositivo que incluye una regla para el dispositivo de interfaz. La regla puede incluir una descripción de acción para realizar una acción, y puede incluir una condición que toma datos de sensores como entrada e indica los criterios para realizar la acción. El dispositivo puede almacenar la regla en un repositorio de reglas, y determina un dispositivo de interfaz remoto que genera una porción de datos asociada con la condición de la regla. El dispositivo puede suscribirse además a la porción de datos desde el dispositivo de interfaz remoto.
En la presente memoria se describe un dispositivo de interfaz de monitoreo de sensores, que se acopla a uno o más dispositivos físicos que incluyen sensores para medir atributos físicos. Durante la operación, el dispositivo de interfaz obtiene y procesa los datos de sensores desde los dispositivos físicos. Cuando el dispositivo de interfaz determina que una condición de la regla se satisface en base a los datos de sensores, el dispositivo de interfaz puede procesar la descripción de acción de la regla para realizar una acción correspondiente.
En la presente memoria se describe un dispositivo de interfaz de control de carga que obtiene y procesa datos de sensores recibidos de una interfaz de usuario y/o desde un dispositivo de interfaz remoto. Durante la operación, el dispositivo de interfaz de control de carga procesa reglas en base a los datos de sensores para controlar una carga eléctrica, tal como una lámpara.
En la presente memoria se describe un dispositivo de interfaz de monitoreo de carga que obtiene y procesa datos de sensores de una carga eléctrica. El dispositivo de interfaz puede incluir al menos una toma de corriente para proporcionar energía a una carga eléctrica correspondiente. Durante la operación, el dispositivo de interfaz puede obtener datos de sensores de una toma de corriente local acoplada a una carga eléctrica, de manera que los datos de sensores pueden indicar una medición eléctrica asociada con la carga eléctrica. El dispositivo de interfaz puede procesar una regla asociada con los datos de sensores, tal como para habilitar o deshabilitar una toma de corriente, o para realizar cualquier otra acción predefinida.
En la presente memoria se describe un sistema de control de dispositivos que configura, monitorea, y/o controla uno o más dispositivos de interfaz. Un dispositivo de interfaz puede obtener y difundir datos de sensores desde uno o más dispositivos físicos conectados, tales como dispositivos que incluyen sensores para medir atributos físicos. Durante la operación, el sistema puede configurar un dispositivo de interfaz al establecer una conexión de red con el dispositivo de interfaz, y seleccionar una o más reglas que deben procesarse por el dispositivo de interfaz. El sistema configura el dispositivo de interfaz para procesar sus reglas asociadas.
En la presente memoria se describe un sistema que establece una conexión de red con una pluralidad de dispositivos de red para facilitar que un dispositivo de interfaz se comunique con un sistema de control de dispositivos, un dispositivo de interfaz par, u otros dispositivos informáticos. El sistema puede recibir datos desde un dispositivo de red, y reenviar los datos a un dispositivo de red par que se suscribe a los datos. El sistema envía los datos al dispositivo de red par a través de una conexión de red que se ha establecido con el dispositivo de red par.
En la presente memoria se describe un dispositivo de interfaz que se comunica con otros dispositivos a través de una conexión de red establecida para enviar y/o recibir datos de sensores en tiempo real. Durante la operación, el dispositivo local puede establecer una conexión de red con un dispositivo de red remoto, tal como con un dispositivo de interfaz par, o un sistema de reenvío de datos. El dispositivo local puede mantener suscripciones de datos a otros dispositivos pares para obtener elementos de datos en tiempo real asociados con una regla, tal como al enviar una solicitud de suscripción de datos a un dispositivo de red par que genera un elemento de datos, a través de la conexión de red establecida.
En la presente memoria se describe un controlador local que mantiene una base de datos local que almacena información asociada con un conjunto de dispositivos de interfaz de una red de área local. La base de datos local puede incluir una base de datos reflejada para una base de datos remota, de un controlador remoto, que almacena información para un conjunto de dispositivos de interfaz provisionados. Durante la operación, el controlador local mantiene la base de datos local sincronizada con al menos un subconjunto de la base de datos remota. Sin embargo, cuando el controlador local determina que el controlador remoto se ha desconectado, si el controlador remoto tiene el control primario de los dispositivos de interfaz en la red de área local, el controlador local puede obtener el control primario de los dispositivos de interfaz dentro de la red de área local.
En la presente memoria se describe un dispositivo de interfaz que se configura para procesar una o más reglas, en base a datos de sensores, para realizar una acción predeterminada. Durante la operación, el dispositivo puede recibir una configuración del dispositivo que incluye una regla para el dispositivo de interfaz. La regla puede incluir una descripción de acción para realizar una acción, y puede incluir una condición que toma datos de sensores como entrada e indica los criterios para realizar la acción. El dispositivo puede almacenar la regla en un repositorio de reglas, y determina un dispositivo de interfaz remoto que genera una porción de datos asociada con la condición de la regla. El dispositivo puede suscribirse además a la porción de datos desde el dispositivo de interfaz remoto.
En la presente memoria se describe un dispositivo de interfaz de monitoreo de sensores, que se acopla a uno o más dispositivos físicos que incluyen sensores para medir atributos físicos. Durante la operación, el dispositivo de interfaz obtiene y procesa los datos de sensores desde los dispositivos físicos. Cuando el dispositivo de interfaz determina que una condición de la regla se satisface en base a los datos de sensores, el dispositivo de interfaz puede procesar la descripción de acción de la regla para realizar una acción correspondiente.
En la presente memoria se describe un dispositivo de interfaz de control de carga que obtiene y procesa datos de sensores recibidos de una interfaz de usuario y/o desde un dispositivo de interfaz remoto. Durante la operación, el dispositivo de interfaz de control de carga procesa reglas en base a los datos de sensores para controlar una carga eléctrica, tal como una lámpara.
En la presente memoria se describe un dispositivo de interfaz de monitoreo de carga que obtiene y procesa datos de sensores de una carga eléctrica. El dispositivo de interfaz puede incluir al menos una toma de corriente para proporcionar energía a una carga eléctrica correspondiente. Durante la operación, el dispositivo de interfaz puede obtener datos de sensores de una toma de corriente local acoplada a una carga eléctrica, de manera que los datos de sensores pueden indicar una medición eléctrica asociada con la carga eléctrica. El dispositivo de interfaz puede procesar una regla asociada con los datos de sensores, tal como para habilitar o deshabilitar una toma de corriente, o para realizar cualquier otra acción predefinida.
En la presente memoria se describe un sistema de control de dispositivos que configura, monitorea, y/o controla uno o más dispositivos de interfaz. Un dispositivo de interfaz puede obtener y difundir datos de sensores desde uno o más dispositivos físicos conectados, tales como dispositivos que incluyen sensores para medir atributos físicos. Durante la operación, el sistema puede configurar un dispositivo de interfaz al establecer una conexión de red con el dispositivo de interfaz, y seleccionar una o más reglas que deben procesarse por el dispositivo de interfaz. El sistema configura el dispositivo de interfaz para procesar sus reglas asociadas.
En la presente memoria se describe un sistema que establece una conexión de red con una pluralidad de dispositivos de red para facilitar que un dispositivo de interfaz se comunique con un sistema de control de dispositivos, un dispositivo de interfaz par, u otros dispositivos informáticos. El sistema puede recibir datos desde un dispositivo de red, y reenviar los datos a un dispositivo de red par que se suscribe a los datos. El sistema envía los datos al dispositivo de red par a través de una conexión de red que se ha establecido con el dispositivo de red par. En la presente memoria se describe un dispositivo de interfaz que se comunica con otros dispositivos a través de una conexión de red establecida para enviar y/o recibir datos de sensores en tiempo real. Durante la operación, el dispositivo local puede establecer una conexión de red con un dispositivo de red remoto, tal como con un dispositivo de interfaz par, o un sistema de reenvío de datos. El dispositivo local puede mantener suscripciones de datos a otros dispositivos pares para obtener elementos de datos en tiempo real asociados con una regla, tal como al enviar una solicitud de suscripción de datos a un dispositivo de red par que genera un elemento de datos, a través de la conexión de red establecida.
En la presente memoria se describe un controlador local que mantiene una base de datos local que almacena información asociada con un conjunto de dispositivos de interfaz de una red de área local. La base de datos local puede incluir una base de datos reflejada para una base de datos remota, de un controlador remoto, que almacena información para un conjunto de dispositivos de interfaz provisionados. Durante la operación, el controlador local mantiene la base de datos local sincronizada con al menos un subconjunto de la base de datos remota. Sin embargo, cuando el controlador local determina que el controlador remoto se ha desconectado, si el controlador remoto tiene el control primario de los dispositivos de interfaz en la red de área local, el controlador local puede obtener el control primario de los dispositivos de interfaz dentro de la red de área local.
En la presente memoria se describe un dispositivo de interfaz que se configura para procesar una o más reglas, en base a datos de sensores, para realizar una acción predeterminada. Durante la operación, el dispositivo puede recibir una configuración del dispositivo que incluye una regla para el dispositivo de interfaz. La regla puede incluir una descripción de acción para realizar una acción, y puede incluir una condición que toma datos de sensores como entrada e indica los criterios para realizar la acción. El dispositivo puede almacenar la regla en un repositorio de reglas, y determina un dispositivo de interfaz remoto que genera una porción de datos asociada con la condición de la regla. El dispositivo puede suscribirse además a la porción de datos desde el dispositivo de interfaz remoto.
En la presente memoria se describe un dispositivo de interfaz de monitoreo de sensores, que se acopla a uno o más dispositivos físicos que incluyen sensores para medir atributos físicos. Durante la operación, el dispositivo de interfaz obtiene y procesa los datos de sensores desde los dispositivos físicos. Cuando el dispositivo de interfaz determina que una condición de la regla se satisface en base a los datos de sensores, el dispositivo de interfaz puede procesar la descripción de acción de la regla para realizar una acción correspondiente.
En la presente memoria se describe un dispositivo de interfaz de control de carga que obtiene y procesa datos de sensores recibidos de una interfaz de usuario y/o desde un dispositivo de interfaz remoto. Durante la operación, el dispositivo de interfaz de control de carga procesa reglas en base a los datos de sensores para controlar una carga eléctrica, tal como una lámpara.
En la presente memoria se describe un dispositivo de interfaz de monitoreo de carga que obtiene y procesa datos de sensores de una carga eléctrica. El dispositivo de interfaz puede incluir al menos una toma de corriente para proporcionar energía a una carga eléctrica correspondiente. Durante la operación, el dispositivo de interfaz puede obtener datos de sensores de una toma de corriente local acoplada a una carga eléctrica, de manera que los datos de sensores pueden indicar una medición eléctrica asociada con la carga eléctrica. El dispositivo de interfaz puede procesar una regla asociada con los datos de sensores, tal como para habilitar o deshabilitar una toma de corriente, o para realizar cualquier otra acción predefinida.
En la presente memoria se describe un sistema de control de dispositivos que configura, monitorea, y/o controla uno o más dispositivos de interfaz. Un dispositivo de interfaz puede obtener y difundir datos de sensores desde uno o más dispositivos físicos conectados, tales como dispositivos que incluyen sensores para medir atributos físicos. Durante la operación, el sistema puede configurar un dispositivo de interfaz al establecer una conexión de red con el dispositivo de interfaz, y seleccionar una o más reglas que deben procesarse por el dispositivo de interfaz. El sistema configura el dispositivo de interfaz para procesar sus reglas asociadas.
En la presente memoria se describe un sistema que establece una conexión de red con una pluralidad de dispositivos de red para facilitar que un dispositivo de interfaz se comunique con un sistema de control de dispositivos, un dispositivo de interfaz par, u otros dispositivos informáticos. El sistema puede recibir datos desde un dispositivo de red, y reenviar los datos a un dispositivo de red par que se suscribe a los datos. El sistema envía los datos al dispositivo de red par a través de una conexión de red que se ha establecido con el dispositivo de red par.
En la presente memoria se describe un dispositivo de interfaz que se comunica con otros dispositivos a través de una conexión de red establecida para enviar y/o recibir datos de sensores en tiempo real. Durante la operación, el dispositivo local puede establecer una conexión de red con un dispositivo de red remoto, tal como con un dispositivo de interfaz par, o un sistema de reenvío de datos. El dispositivo local puede mantener suscripciones de datos a otros dispositivos pares para obtener elementos de datos en tiempo real asociados con una regla, tal como al enviar una solicitud de suscripción de datos a un dispositivo de red par que genera un elemento de datos, a través de la conexión de red establecida.
En la presente memoria se describe un controlador local que mantiene una base de datos local que almacena información asociada con un conjunto de dispositivos de interfaz de una red de área local. La base de datos local puede incluir una base de datos reflejada para una base de datos remota, de un controlador remoto, que almacena información para un conjunto de dispositivos de interfaz provisionados. Durante la operación, el controlador local mantiene la base de datos local sincronizada con al menos un subconjunto de la base de datos remota. Sin embargo, cuando el controlador local determina que el controlador remoto se ha desconectado, si el controlador remoto tiene el control primario de los dispositivos de interfaz en la red de área local, el controlador local puede obtener el control primario de los dispositivos de interfaz dentro de la red de área local.
En la presente memoria se describe un dispositivo de interfaz que se configura para procesar una o más reglas, en base a datos de sensores, para realizar una acción predeterminada. Durante la operación, el dispositivo puede recibir una configuración del dispositivo que incluye una regla para el dispositivo de interfaz. La regla puede incluir una descripción de acción para realizar una acción, y puede incluir una condición que toma datos de sensores como entrada e indica los criterios para realizar la acción. El dispositivo puede almacenar la regla en un repositorio de reglas, y determina un dispositivo de interfaz remoto que genera una porción de datos asociada con la condición de la regla. El dispositivo puede suscribirse además a la porción de datos desde el dispositivo de interfaz remoto.
En la presente memoria se describe un dispositivo de interfaz de monitoreo de sensores, que se acopla a uno o más dispositivos físicos que incluyen sensores para medir atributos físicos. Durante la operación, el dispositivo de interfaz obtiene y procesa los datos de sensores desde los dispositivos físicos. Cuando el dispositivo de interfaz determina que una condición de la regla se satisface en base a los datos de sensores, el dispositivo de interfaz puede procesar la descripción de acción de la regla para realizar una acción correspondiente.
En la presente memoria se describe un dispositivo de interfaz de control de carga que obtiene y procesa datos de sensores recibidos de una interfaz de usuario y/o desde un dispositivo de interfaz remoto. Durante la operación, el dispositivo de interfaz de control de carga procesa reglas en base a los datos de sensores para controlar una carga eléctrica, tal como una lámpara.
En la presente memoria se describe un dispositivo de interfaz de monitoreo de carga que obtiene y procesa datos de sensores de una carga eléctrica. El dispositivo de interfaz puede incluir al menos una toma de corriente para proporcionar energía a una carga eléctrica correspondiente. Durante la operación, el dispositivo de interfaz puede obtener datos de sensores de una toma de corriente local acoplada a una carga eléctrica, de manera que los datos de sensores pueden indicar una medición eléctrica asociada con la carga eléctrica. El dispositivo de interfaz puede procesar una regla asociada con los datos de sensores, tal como para habilitar o deshabilitar una toma de corriente, o para realizar cualquier otra acción predefinida.
En la presente memoria se describe un sistema de control de dispositivos que configura, monitorea, y/o controla uno o más dispositivos de interfaz. Un dispositivo de interfaz puede obtener y difundir datos de sensores desde uno o más dispositivos físicos conectados, tales como dispositivos que incluyen sensores para medir atributos físicos. Durante la operación, el sistema puede configurar un dispositivo de interfaz al establecer una conexión de red con el dispositivo de interfaz, y seleccionar una o más reglas que deben procesarse por el dispositivo de interfaz. El sistema configura el dispositivo de interfaz para procesar sus reglas asociadas.
En la presente memoria se describe un sistema que establece una conexión de red con una pluralidad de dispositivos de red para facilitar que un dispositivo de interfaz se comunique con un sistema de control de dispositivos, un dispositivo de interfaz par, u otros dispositivos informáticos. El sistema puede recibir datos desde un dispositivo de red, y reenviar los datos a un dispositivo de red par que se suscribe a los datos. El sistema envía los datos al dispositivo de red par a través de una conexión de red que se ha establecido con el dispositivo de red par. En la presente memoria se describe un dispositivo de interfaz que se comunica con otros dispositivos a través de una conexión de red establecida para enviar y/o recibir datos de sensores en tiempo real. Durante la operación, el dispositivo local puede establecer una conexión de red con un dispositivo de red remoto, tal como con un dispositivo de interfaz par, o un sistema de reenvío de datos. El dispositivo local puede mantener suscripciones de datos a otros dispositivos pares para obtener elementos de datos en tiempo real asociados con una regla, tal como al enviar una solicitud de suscripción de datos a un dispositivo de red par que genera un elemento de datos, a través de la conexión de red establecida.
En la presente memoria se describe un controlador local que mantiene una base de datos local que almacena información asociada con un conjunto de dispositivos de interfaz de una red de área local. La base de datos local puede incluir una base de datos reflejada para una base de datos remota, de un controlador remoto, que almacena información para un conjunto de dispositivos de interfaz provisionados. Durante la operación, el controlador local mantiene la base de datos local sincronizada con al menos un subconjunto de la base de datos remota. Sin embargo, cuando el controlador local determina que el controlador remoto se ha desconectado, si el controlador remoto tiene el control primario de los dispositivos de interfaz en la red de área local, el controlador local puede obtener el control primario de los dispositivos de interfaz dentro de la red de área local.
En la presente memoria se describe un dispositivo de interfaz que se configura para procesar una o más reglas, en base a datos de sensores, para realizar una acción predeterminada. Durante la operación, el dispositivo puede recibir una configuración del dispositivo que incluye una regla para el dispositivo de interfaz. La regla puede incluir una descripción de acción para realizar una acción, y puede incluir una condición que toma datos de sensores como entrada e indica los criterios para realizar la acción. El dispositivo puede almacenar la regla en un repositorio de reglas, y determina un dispositivo de interfaz remoto que genera una porción de datos asociada con la condición de la regla. El dispositivo puede suscribirse además a la porción de datos desde el dispositivo de interfaz remoto.
En la presente memoria se describe un dispositivo de interfaz de monitoreo de sensores, que se acopla a uno o más dispositivos físicos que incluyen sensores para medir atributos físicos. Durante la operación, el dispositivo de interfaz obtiene y procesa los datos de sensores desde los dispositivos físicos. Cuando el dispositivo de interfaz determina que una condición de la regla se satisface en base a los datos de sensores, el dispositivo de interfaz puede procesar la descripción de acción de la regla para realizar una acción correspondiente.
En la presente memoria se describe un dispositivo de interfaz de control de carga que obtiene y procesa datos de sensores recibidos de una interfaz de usuario y/o desde un dispositivo de interfaz remoto. Durante la operación, el dispositivo de interfaz de control de carga procesa reglas en base a los datos de sensores para controlar una carga eléctrica, tal como una lámpara.
En la presente memoria se describe un dispositivo de interfaz de monitoreo de carga que obtiene y procesa datos de sensores de una carga eléctrica. El dispositivo de interfaz puede incluir al menos una toma de corriente para proporcionar energía a una carga eléctrica correspondiente. Durante la operación, el dispositivo de interfaz puede obtener datos de sensores de una toma de corriente local acoplada a una carga eléctrica, de manera que los datos de sensores pueden indicar una medición eléctrica asociada con la carga eléctrica. El dispositivo de interfaz puede procesar una regla asociada con los datos de sensores, tal como para habilitar o deshabilitar una toma de corriente, o para realizar cualquier otra acción predefinida.
En la presente memoria se describe un sistema de control de dispositivos que configura, monitorea, y/o controla uno o más dispositivos de interfaz. Un dispositivo de interfaz puede obtener y difundir datos de sensores desde uno o más dispositivos físicos conectados, tales como dispositivos que incluyen sensores para medir atributos físicos. Durante la operación, el sistema puede configurar un dispositivo de interfaz al establecer una conexión de red con el dispositivo de interfaz, y seleccionar una o más reglas que deben procesarse por el dispositivo de interfaz. El sistema configura el dispositivo de interfaz para procesar sus reglas asociadas.
En la presente memoria se describe un sistema que establece una conexión de red con una pluralidad de dispositivos de red para facilitar que un dispositivo de interfaz se comunique con un sistema de control de dispositivos, un dispositivo de interfaz par, u otros dispositivos informáticos. El sistema puede recibir datos desde un dispositivo de red, y reenviar los datos a un dispositivo de red par que se suscribe a los datos. El sistema envía los datos al dispositivo de red par a través de una conexión de red que se ha establecido con el dispositivo de red par.
En la presente memoria se describe un dispositivo de interfaz que se comunica con otros dispositivos a través de una conexión de red establecida para enviar y/o recibir datos de sensores en tiempo real. Durante la operación, el dispositivo local puede establecer una conexión de red con un dispositivo de red remoto, tal como con un dispositivo de interfaz par, o un sistema de reenvío de datos. El dispositivo local puede mantener suscripciones de datos a otros dispositivos pares para obtener elementos de datos en tiempo real asociados con una regla, tal como al enviar una solicitud de suscripción de datos a un dispositivo de red par que genera un elemento de datos, a través de la conexión de red establecida.
En la presente memoria se describe un controlador local que mantiene una base de datos local que almacena información asociada con un conjunto de dispositivos de interfaz de una red de área local. La base de datos local puede incluir una base de datos reflejada para una base de datos remota, de un controlador remoto, que almacena información para un conjunto de dispositivos de interfaz provisionados. Durante la operación, el controlador local mantiene la base de datos local sincronizada con al menos un subconjunto de la base de datos remota. Sin embargo, cuando el controlador local determina que el controlador remoto se ha desconectado, si el controlador remoto tiene el control primario de los dispositivos de interfaz en la red de área local, el controlador local puede obtener el control primario de los dispositivos de interfaz dentro de la red de área local.
En la presente memoria se describe un dispositivo de interfaz que se configura para procesar una o más reglas, en base a datos de sensores, para realizar una acción predeterminada. Durante la operación, el dispositivo puede recibir una configuración del dispositivo que incluye una regla para el dispositivo de interfaz. La regla puede incluir una descripción de acción para realizar una acción, y puede incluir una condición que toma datos de sensores como entrada e indica los criterios para realizar la acción. El dispositivo puede almacenar la regla en un repositorio de reglas, y determina un dispositivo de interfaz remoto que genera una porción de datos asociada con la condición de la regla. El dispositivo puede suscribirse además a la porción de datos desde el dispositivo de interfaz remoto.
En la presente memoria se describe un dispositivo de interfaz de monitoreo de sensores, que se acopla a uno o más dispositivos físicos que incluyen sensores para medir atributos físicos. Durante la operación, el dispositivo de interfaz obtiene y procesa los datos de sensores desde los dispositivos físicos. Cuando el dispositivo de interfaz determina que una condición de la regla se satisface en base a los datos de sensores, el dispositivo de interfaz puede procesar la descripción de acción de la regla para realizar una acción correspondiente.
En la presente memoria se describe un dispositivo de interfaz de control de carga que obtiene y procesa datos de sensores recibidos de una interfaz de usuario y/o desde un dispositivo de interfaz remoto. Durante la operación, el dispositivo de interfaz de control de carga procesa reglas en base a los datos de sensores para controlar una carga eléctrica, tal como una lámpara.
En la presente memoria se describe un dispositivo de interfaz de monitoreo de carga que obtiene y procesa datos de sensores de una carga eléctrica. El dispositivo de interfaz puede incluir al menos una toma de corriente para proporcionar energía a una carga eléctrica correspondiente. Durante la operación, el dispositivo de interfaz puede obtener datos de sensores de una toma de corriente local acoplada a una carga eléctrica, de manera que los datos de sensores pueden indicar una medición eléctrica asociada con la carga eléctrica. El dispositivo de interfaz puede procesar una regla asociada con los datos de sensores, tal como para habilitar o deshabilitar una toma de corriente, o para realizar cualquier otra acción predefinida.
La arquitectura del sistema
La Figura 1A ilustra una arquitectura del sistema ilustrativa de un sistema de monitoreo y control 100. El sistema de monitoreo y control 100 incluye un controlador 102, una red 106, un número de dispositivos de interfaz 108 (por ejemplo, los dispositivos de interfaz 108.1 y 108.m), cada uno acoplado a un número de dispositivos físicos 110 bajo control. Por ejemplo, el dispositivo de interfaz 108.1 se acopla a los dispositivos físicos 110.1, 110.2, y 110.n.
El controlador 102 puede incluir cualquier dispositivo informático que se comunique con los dispositivos de interfaz 108, y que ejecute una aplicación de software usada por un usuario 104 para monitorear y controlar las operaciones de los dispositivos físicos acoplados a los dispositivos de interfaz 108. Por ejemplo, el controlador 102 puede residir y ejecutarse en un dispositivo informático independiente, que incluye, pero no limitado a un ordenador de escritorio o portátil 102.1, un asistente digital personal (PDA) o teléfono inteligente 102.2, un ordenador de tableta 102.3, y un ordenador central 102.k. En algunas implementaciones, el controlador 102 reside y se ejecuta en una nube de servidores. Además, en algunas implementaciones (no mostradas), el controlador 102 reside y se ejecuta en uno o más dispositivos de interfaz (por ejemplo, el dispositivo de interfaz 108.1 y/o 108.m) para implementar un controlador distribuido.
La red 106 puede incluir generalmente cualquier tipo de canal de comunicación cableado o inalámbrico capaz de acoplar juntos los nodos informáticos. La red 106 incluye, pero no se limita a una red de área local, una red de área amplia, una red privada, una red pública, o una combinación de redes. En adición, la red 106 puede incluir una red cableada, una red inalámbrica, o una combinación de las mismas. En algunas implementaciones, la red 106 incluye una red basada en IP. En una implementación adicional, la red 106 incluye el Internet.
Cada dispositivo de interfaz 108, tal como el dispositivo de interfaz 108.1 o 108.m, incluye un número de puertos físicos que permiten el acoplamiento entre el dispositivo de interfaz y un número de dispositivos físicos. Además, los dispositivos físicos 110 (por ejemplo, los dispositivos 110.1-110.n) pueden incluir cualquier tipo de dispositivo físico, tal como un sensor, una máquina, o cualquier tipo de componente operado eléctricamente ahora conocido o desarrollado más adelante. Los dispositivos pueden incluir un sensor (por ejemplo, un sensor de temperatura, un sensor de humedad, un sensor de corriente, un sensor de movimiento, y un sensor de puerta/ventana), o un dispositivo controlable (por ejemplo, un interruptor de luz, una toma de corriente, una regleta de alimentación, un relé, etc.).
En algunas implementaciones, los dispositivos físicos 110 pueden ser dispositivos "tontos" que no poseen ninguna inteligencia, tales como capacidades informáticas o de red. En una implementación adicional, los dispositivos físicos 110 pueden incluir cualquier tipo de sensores disponibles que detecten factores ambientales, que incluyen pero no limitados a una temperatura, un sonido, un nivel de luz, una medición de humedad, un movimiento, una corriente eléctrica, una apertura o cierre de una puerta/ventana, etc. La salida de un sensor puede incluir una señal analógica o digital. Por ejemplo, la salida de un sensor de temperatura puede ser una señal de tensión analógica dentro de un cierto intervalo, y la salida de un sensor de movimiento puede ser una señal digital binaria con "1" que indica que se ha detectado un movimiento.
En algunas implementaciones, los dispositivos de interfaz 108 pueden incluir un puerto serie (tal como un puerto RS232 o RS485), y un dispositivo 110 puede ser un dispositivo basado en serie que se comunica con un dispositivo de interfaz 108 a través de un puerto serie. Por ejemplo, el dispositivo 110.1 puede incluir un electrodoméstico que puede controlarse a través de un puerto serie, y el dispositivo de interfaz 108.1 puede acoplarse al electrodoméstico a través de un puerto serie. Por lo tanto, el dispositivo de interfaz 108.1 puede recibir información de estado desde el electrodoméstico a través del puerto serie, y puede comunicar comandos a través del puerto serie para controlar el electrodoméstico. Como otro ejemplo, el dispositivo 110.n puede incluir un enrutador, y el dispositivo de interfaz 108.1 puede acoplarse a un puerto de consola del enrutador, por lo tanto, se permite el monitoreo y control remoto del enrutador.
La Figura 1B ilustra una arquitectura del sistema ilustrativa de un sistema de monitoreo y control 150 que incluye un controlador desplegado en un grupo de ordenadores 152 accesible a través de una red de área amplia 154. En algunas implementaciones, el grupo de ordenadores 152 puede incluir una pluralidad de ordenadores servidores 152.1- 152.k, que usan el equilibrio de carga para distribuir las cargas a través del grupo de ordenadores 152.
Con el tiempo, un administrador del sistema puede agregar servidores adicionales al grupo de ordenadores 152 a medida que aumenta la carga a través del grupo de ordenadores 152. Específicamente, los ordenadores servidores 152.1- 152.k pueden distribuirse a través de diversas ubicaciones geográficas, de manera que el número de servidores para una ubicación geográfica específica puede ajustarse en base a las demandas de esa ubicación geográfica. Esto permite que el grupo de ordenadores 152 atienda solicitudes desde y envíe datos a una pluralidad de dispositivos en tiempo casi real.
Durante la operación, el grupo de ordenadores 152 puede mantener una conexión de red persistente o continua con una pluralidad de dispositivos clientes (por ejemplo, un dispositivo informático 158, y/o dispositivos de interfaz 162). La conexión de red puede incluir un canal bidireccional establecido mediante el uso del protocolo de WebSocket, o una conexión de red que se mantiene mediante el uso del protocolo de STUN, el protocolo de Comet, o cualquier otro protocolo de comunicación ahora conocido o desarrollado más adelante. El grupo de ordenadores 152 puede recibir datos en tiempo real desde estos dispositivos clientes, y puede reenviar una porción de datos en tiempo real a un dispositivo cliente que se ha suscrito a la porción de datos. Por ejemplo, en algunas implementaciones, el grupo de ordenadores 152 puede incluir una base de datos 166 asociada con el controlador, de manera que la base de datos 166 pueda mantener una lista de "cursores disponibles". Estos cursores disponibles implementan una cola para reenviar datos a los dispositivos clientes que se han suscrito a una porción de datos. Los dispositivos clientes pueden enlazar, y esperar, estos cursores disponibles.
En algunas implementaciones, el dispositivo 158 puede incluir un dispositivo informático cliente, tal como un ordenador (por ejemplo, un ordenador portátil), un dispositivo móvil (por ejemplo, un teléfono inteligente o tableta), etc. El dispositivo 158 puede comunicarse con el grupo de ordenadores 152 y/o los dispositivos de interfaz 162 al establecer y mantener una conexión de red con el dispositivo de destino deseado. Por ejemplo, un usuario 156 puede usar una aplicación que se ejecuta en el dispositivo 158 (por ejemplo, un ordenador portátil o un teléfono inteligente) para establecer una sesión con un controlador que se ejecuta en el grupo de ordenadores 152, y recibe información de direccionamiento de red para uno o más dispositivos de interfaz 162 desde el controlador. El dispositivo 158 entonces puede usar una información de direccionamiento de red del dispositivo de interfaz para enviar datos al dispositivo de interfaz, y/o para establecer una conexión de red con el dispositivo de interfaz.
En algunas implementaciones, el dispositivo 158 y/o el dispositivo de interfaz 162 pueden determinar cuándo pueden comunicarse entre sí punto a punto, y cuándo necesitan comunicarse entre sí a través de un servicio de reenvío (por ejemplo, a través del grupo de ordenadores 152). Por ejemplo, el dispositivo 158 puede recordar una instantánea de configuración para la red de dispositivos de interfaz distribuida al almacenar la información de acceso al dispositivo para los dispositivos de interfaz 162 y/o cualesquiera otros dispositivos informáticos. Esta información de acceso al dispositivo puede incluir información de direccionamiento de red tal como una dirección IP y el número de puerto para el dispositivo remoto, y/o puede incluir información de autenticación para acceder al dispositivo remoto (por ejemplo, un certificado digital, un nombre de usuario, una contraseña, un código de autorización, etc.). Por lo tanto, si los dispositivos de interfaz 162 dentro de la LAN 160 pierden su conexión con el controlador (por ejemplo, la LAN 160 se desacopla de la WAN 154), la aplicación en el dispositivo 158 puede usar la instantánea de configuración almacenada para comunicarse directamente con los dispositivos de interfaz 162 a través de la LAN 160. Esto permite que una aplicación de software que monitorea la red de dispositivos de interfaz se comunique directamente con los dispositivos de interfaz 162, sin contactar primero a un controlador en el grupo de ordenadores 152.
En algunas implementaciones, el dispositivo 158 puede probar una conexión con un dispositivo de interfaz al enviar una solicitud al dispositivo de interfaz mediante el uso de la información de direccionamiento de red conocida (por ejemplo, a través de un mensaje JSONP). La solicitud puede indicar la información de identificación del dispositivo para el dispositivo de interfaz deseado (por ejemplo, un identificador lógico, una dirección MAC, etc.), que permite que el dispositivo 158 pruebe la conexión sin solicitar información sensible del dispositivo remoto. Si la solicitud alcanza un dispositivo de interfaz, el dispositivo de interfaz compara esta información de identificación del dispositivo con su información de identificación del dispositivo local, y reconoce su identidad si es de hecho el dispositivo de interfaz de destino. En algunas implementaciones, el dispositivo de interfaz reconoce su identidad con el dispositivo 158 al proporcionar información de autenticación, tal como un certificado digital.
Si la información de direccionamiento de red incluye una dirección IP para el dispositivo de interfaz, el dispositivo 158 puede usar esta dirección IP para comunicarse con el dispositivo de interfaz mientras se acopla a la misma red de área local que el dispositivo de interfaz (por ejemplo, la LAN 160). Sin embargo, si el dispositivo 158 no se acopla a la misma lAn que el dispositivo de interfaz y no puede establecer una conexión punto a punto a través de los dominios (por ejemplo, debido a un cortafuego), el dispositivo 158 puede comunicarse con el dispositivo de interfaz mediante el uso de un servicio de reenvío de datos (por ejemplo, el grupo de ordenadores 152, u otro ordenador servidor acoplado a la WAN 154).
Adicionalmente, en algunas implementaciones, el dispositivo 158 puede descubrir automáticamente la presencia de otros dispositivos (por ejemplo, mediante el uso de protocolos de conectar y usar universales (UPnP), u otros de descubrimiento automático). Por ejemplo, si una información de red del dispositivo de interfaz ha cambiado, y el dispositivo 158 no puede establecer una conexión de red con el controlador central, el dispositivo 158 puede descubrir automáticamente la presencia de otros dispositivos para obtener información de identificación del dispositivo (por ejemplo, una dirección MAC, un certificado digital, etc.). El dispositivo 158 puede comparar la información de identificación del dispositivo recibida de los dispositivos descubiertos con la de un conjunto de dispositivos de interfaz deseados. Si un dispositivo de descubrimiento automático coincide con un dispositivo de interfaz deseado, el dispositivo 158 puede obtener y almacenar información de direccionamiento de red para el dispositivo descubierto (por ejemplo, para reemplazar información antigua o no válida), y puede usar esta información de direccionamiento de red para establecer una conexión de red con el dispositivo descubierto.
El usuario 156 puede interactuar con el controlador central mediante el uso de un navegador web de Internet en el dispositivo 158 (por ejemplo, para acceder al controlador alojado por el grupo de ordenadores 152), que permite que el usuario navegue por datos en tiempo real desde diversos dispositivos de interfaz 162. El controlador puede generar una página web para el usuario que incluye la información de direccionamiento de red para los diversos dispositivos de interfaz. Si el dispositivo 158 está dentro del mismo dominio que un dispositivo de interfaz (por ejemplo, una red de área local, o una red privada virtual), el navegador web en el dispositivo 158 puede obtener los datos en tiempo real directamente desde el dispositivo de interfaz. Por ejemplo, el navegador web puede usar JSONP (notación de objetos JavaScript, con relleno) o CORS (intercambio de recursos de origen cruzado) para solicitar datos desde el dispositivo de interfaz que pueden residir en un dominio diferente como el controlador que aloja la página web.
En algunas implementaciones, los dispositivos dentro de la arquitectura del sistema 150 pueden comunicarse entre sí en tiempo casi real al establecer y mantener una conexión de red persistente o continua. Por ejemplo, los dispositivos de interfaz 162 pueden suscribirse a datos entre sí, y pueden enviar datos en tiempo real a los dispositivos de suscripción mediante el uso de la conexión de red. Como otro ejemplo, el dispositivo 158 puede establecer una conexión de red con una pluralidad de dispositivos de interfaz 162, y recibe datos en tiempo real para presentar al usuario.
Además, un dispositivo local dentro de la LAN 160 puede establecer y mantener una conexión de red persistente con el grupo de ordenadores 152 al determinar su dirección externa y compartir esta dirección con el grupo de ordenadores 152 (por ejemplo, mediante el uso de STUN), o al mantener un túnel de puerto a través de un cortafuego dentro de la LAN 160 (por ejemplo, mediante el uso de Comet). Alternativamente, el dispositivo local puede establecer además una conexión de red bidireccional persistente, tal como mediante el uso del protocolo de WebSocket o cualquier otro protocolo de comunicación bidireccional.
Para mantener la conexión de red mediante el uso de Comet, el dispositivo local puede enviar solicitudes de sondeo largo al grupo de ordenadores 152 (por ejemplo, como un mensaje XMLHttpRequest (XHR)), que abre un puerto temporal dentro del cortafuego a través del que puede usar el grupo de ordenadores 152 para proporcionar un mensaje de respuesta. Si el grupo de ordenadores 152 tiene nuevos datos para proporcionar al dispositivo local, el grupo de ordenadores 152 puede responder al mensaje XHR mediante el uso de una respuesta XHR que incluye los nuevos datos. De lo contrario, si el grupo de ordenadores 152 no tiene nuevos datos para el dispositivo local, el grupo de ordenadores 152 no responde a la solicitud XHR, por lo tanto, se permite que la solicitud x Hr caduque. Una vez que caduque una solicitud XHR, un enrutador de red o cortafuego puede cerrar un puerto asociado con la solicitud XHR, que evita que el grupo de ordenadores 152 proporcione nuevos datos al dispositivo local. Por lo tanto, para mantener una conexión de red con el grupo de ordenadores 152, el dispositivo local puede enviar periódicamente solicitudes de sondeo largo adicionales antes del tiempo de espera de la solicitud existente (por ejemplo, en intervalos de 30 segundos). El grupo de ordenadores 152 puede asociar la solicitud XHR reciente con el dispositivo local (por ejemplo, al reemplazar la solicitud XHR anterior), y usa información de direccionamiento de red de la solicitud XHR reciente para enviar datos en tiempo real al dispositivo local.
Para establecer una conexión de red mediante el uso del protocolo de WebSocket, el dispositivo local puede enviar una solicitud de protocolo de enlace WebSocket al grupo de ordenadores 152, que actualiza una sesión de HTTP a una sesión de WebSocket e incluye un código Sec-WebSocket-Key para el controlador en el grupo de ordenadores 152. El controlador responde al enviar al dispositivo local una respuesta que reconoce la sesión de WebSocket, e incluye un código Sec-WebSocket-Accept que se deriva del código Sec-WebSocket-Key.
La arquitectura del dispositivo
La Figura 2A presenta un diagrama que ilustra una arquitectura del dispositivo ilustrativa de un dispositivo de interfaz 200. El dispositivo de interfaz 200 incluye un número de puertos físicos, tales como los puertos 202, 204, y 206, para proporcionar conectividad física a un número de dispositivos físicos; una unidad de procesamiento 208, una unidad de almacenamiento 210, un generador/analizador de paquetes 212 para generar o analizar paquetes de comunicación, una interfaz de red cableada 214, y una interfaz de red inalámbrica 216. El dispositivo de interfaz 200 puede incluir opcionalmente un puerto de bus serie universal (USB) 218.
Los puertos físicos 202-206 proporcionan acoplamiento entre el dispositivo de interfaz 200 y un número de dispositivos físicos. Más particularmente, los puertos físicos 206-208 pueden proporcionar energía para, recibir señales de entrada desde, y enviar señales de salida a los dispositivos físicos acoplados. En algunas implementaciones, estas funciones se realizan por conexiones cableadas entre un puerto físico y un dispositivo físico. Por ejemplo, un sensor de temperatura típico puede incluir tres pines, uno para tierra, uno para entrada de alimentación, y uno para salida de tensión analógica. Cuando el sensor de temperatura se acopla a un puerto físico, cada uno de los tres pines se cablean al punto de conexión correspondiente dentro del puerto físico, por lo tanto, se permite que el dispositivo de interfaz 200 proporcione energía a y reciba tensiones de salida desde el sensor de temperatura a través de esas conexiones cableadas. En algunas implementaciones, los puertos físicos incluyen al menos un puerto RJ45 (que es un conector hembra RJ45) que proporciona ocho canales de conducción igualmente espaciados. Un cable RJ45 conectado en el conector proporciona conexiones cableadas a un dispositivo, que puede o puede no incluir un conector RJ45. En algunas implementaciones, los puertos físicos incluyen un puerto de bloque de terminales, que incluye ocho postes metálicos igualmente espaciados cada uno puede cablearse a un terminal del dispositivo. Note que este puerto de bloque de terminales simple permite el acoplamiento entre el dispositivo de interfaz 200 y casi cualquier tipo de dispositivo siempre que el dispositivo tenga igual o menos de ocho conexiones.
La unidad de procesamiento 208 es responsable de muestrear, analizar, e interpretar las señales de entrada sin procesar (ya sea analógicas o digitales) recibidas desde los dispositivos físicos. Por ejemplo, si un dispositivo físico acoplado es un sensor de temperatura, las señales de entrada sin procesar recibidas por el puerto físico correspondiente serán tensiones analógicas dentro de un cierto intervalo (tal como desde 0 a 2 Volts), y la unidad de procesamiento 208 puede convertir las tensiones analógicas a temperaturas correspondientes mediante el uso de la información de calibración asociada con el sensor de temperatura. En algunas implementaciones, la información de calibración asociada con un sensor puede proporcionarse por el usuario. En algunas implementaciones, el sistema de monitoreo y control mantiene un registro de muchos sensores existentes, y puede hacer una búsqueda para la información de calibración en base a la marca y el modelo de un sensor. En adición, la unidad de procesamiento 208 es responsable además de ejecutar los comandos de control recibidos desde el controlador. Por ejemplo, si el controlador envía un comando para apagar un sensor de temperatura, la unidad de procesamiento 208 dejará de proporcionar energía a los terminales correspondientes.
La unidad de almacenamiento 210 es responsable de almacenar diversos tipos de información, tales como datos históricos, asociados con los dispositivos acoplados. El generador/analizador de paquetes 212 genera paquetes de comunicación mediante el uso de información obtenida de la unidad de procesamiento 208 y la unidad de almacenamiento 210, y analiza paquetes de comunicación recibidos del controlador. En algunas implementaciones, el generador/analizador de paquetes 212 es capaz de generar y analizar paquetes IP.
La interfaz de red cableada 214 y la interfaz de red inalámbrica 216 proporcionan acoplamiento entre el dispositivo de interfaz 200 y una red, por lo tanto, se acopla entre el dispositivo de interfaz 200 y el controlador. En algunas implementaciones, la interfaz de red cableada 214 y la interfaz de red inalámbrica 216 permiten que el dispositivo de interfaz 200 se acople al Internet. En algunas implementaciones, la interfaz de red cableada 214 incluye un puerto Ethernet. En una implementación adicional, el puerto Ethernet proporciona además energía al dispositivo de interfaz 200 a través de la Alimentación a través de Ethernet (PoE). En adición a proporcionar una interfaz de comunicación al controlador, la interfaz de red cableada 214 y la interfaz de red inalámbrica 216 permiten además que el dispositivo de interfaz 200 se comunique con otros dispositivos de interfaz pares.
En algunas implementaciones, si el dispositivo de interfaz 200 no se ha configurado, el dispositivo de interfaz 200 puede configurar la interfaz de red inalámbrica 216 para funcionar como un punto de acceso. El usuario puede usar un dispositivo informático personal para obtener acceso al punto de acceso al conectarse a una LAN inalámbrica asociada con el dispositivo de interfaz 200 (por ejemplo, el usuario puede determinar un SSID y el código de acceso para la LAN inalámbrica, por ejemplo, del texto impreso en el chasis del dispositivo de interfaz 200). Una vez que el dispositivo informático del usuario se conecta al punto de acceso, el dispositivo de interfaz 200 puede proporcionar una GUI de configuración al usuario, por ejemplo, a través de una sesión de HTTP (protocolo de transferencia de hipertexto).
Cuando el usuario inicia un navegador web en su ordenador personal, el dispositivo de interfaz 200 puede redirigir el navegador web del usuario a la GUI de configuración que permite que el usuario configure el punto de acceso como lo desee. Por ejemplo, el usuario puede configurar una conexión con el punto de acceso personal del usuario (por ejemplo, un enrutador inalámbrico conectado al Internet), y puede ingresar su información de inicio de sesión personal para un servicio que permita que el usuario controle el dispositivo de interfaz 200 a través del Internet.
Una vez que el usuario ha terminado de configurar el dispositivo de interfaz 200, el dispositivo de interfaz 200 pasa a guardar la configuración y se reinicia. Mientras el dispositivo de interfaz 200 se reinicia, si el dispositivo de interfaz 200 determina que se ha configurado adecuadamente, el dispositivo de interfaz 200 puede configurar la interfaz de red inalámbrica 216 para funcionar como un dispositivo cliente inalámbrico, y se conecta al punto de acceso inalámbrico personal del usuario.
En algunas implementaciones, un dispositivo de interfaz puede ser además una regleta de alimentación especialmente diseñada, habilitada para la web que puede monitorear el uso de energía (tal como corriente y/o tensión) de un dispositivo acoplado a la regleta de alimentación. Este dispositivo de regleta de alimentación puede controlar un dispositivo acoplado, por ejemplo, al encender o apagar una toma de corriente correspondiente localmente o de forma remota.
La Figura 2B presenta un diagrama que ilustra una arquitectura de software 220 ilustrativa de un dispositivo de interfaz. La arquitectura de software 220 puede incluir un núcleo del sistema operativo 222, controladores de dispositivos 224, módulos de comunicación 228, un servidor web 234, y un módulo de agente de microcontrolador (mcAgent 226). Específicamente, el dispositivo de interfaz 200 puede almacenar la arquitectura de software 220 dentro de la unidad de almacenamiento 210 y puede ejecutar uno o más módulos de la arquitectura de software 220 mediante el uso de la unidad de procesamiento 208.
Los módulos de comunicación 228 pueden incluir un módulo de protocolo de Internet (IP) 230 para establecer y mantener una conexión de red con un dispositivo remoto en base a un protocolo de nivel IP, tal como mediante el uso del protocolo de STUN, el protocolo de Comet, etc. En algunas implementaciones, los módulos de comunicación 228 pueden incluir un módulo WebSocket 232 para establecer y mantener una conexión de red con un dispositivo remoto en base al protocolo de WebSocket. El módulo WebSocket 232 puede incluir una aplicación o servicio de espacio de usuario que utiliza otros servicios de espacio de núcleo (por ejemplo, controladores de dispositivos 224) y/u otros servicios de espacio de usuario para establecer y mantener la conexión de red.
El núcleo de OS 222 puede incluir cualquier sistema operativo, tal como una variante del sistema operativo Linux. El agente de microcontrolador (mcAgent) 226 puede incluir una aplicación de espacio de usuario que se ejecuta en el núcleo de OS 222 para realizar la funcionalidad del dispositivo de interfaz 200 como se describe en la presente memoria. Por ejemplo, el mcAgent puede interactuar con los controladores de dispositivos 224 para detectar un evento controlado por el usuario (por ejemplo, desde un dispositivo de entrada de usuario, tal como un interruptor de luz), para monitorear periódicamente una entrada del sensor (por ejemplo, un sensor de movimiento), y/o para controlar un dispositivo de salida (por ejemplo, una fuente de alimentación). Además, el mcAgent puede interactuar con los módulos de comunicación 228 para establecer una conexión de red con un controlador remoto y/o con uno o más dispositivos de interfaz remotos, y/o para enviar o recibir datos a/desde el controlador o un dispositivo de interfaz remoto a través de la conexión de red correspondiente.
Los controladores de dispositivos 224 pueden incluir uno o más módulos de controlador de espacio de núcleo accesibles a través de una interfaz de archivo virtual (por ejemplo, un archivo virtual en el directorio "/proc" del sistema de archivos de Linux). Los módulos de comunicación 228 y/o el mcAgent 226 pueden interactuar con los controladores de dispositivos 224 al leer desde y/o escribir a un archivo virtual que corresponde a un dispositivo de destino.
Los controladores de dispositivos 224 pueden incluir, por ejemplo, un controlador de dispositivos de red para acceder y controlar una interfaz de red, tal como un controlador Ethernet, un controlador Wi-Fi, o un controlador Bluetooth. El núcleo de OS 222 puede acceder al controlador de dispositivo de red para comunicarse con un dispositivo informático remoto. Además, los módulos de comunicación 228 pueden acceder al controlador de dispositivos de red para establecer y mantener una conexión de red con un controlador y/o a un dispositivo de interfaz par.
Como otro ejemplo, los controladores de dispositivos 224 pueden incluir módulos de controlador para monitorear o controlar un dispositivo periférico a través de un puerto de entrada/salida de propósito general (GPIO) de la unidad de procesamiento, a través de una interfaz serie de la unidad de procesamiento, o a través de un puerto receptor/transmisor asíncrono universal (UART) de la unidad de procesamiento. La interfaz serie, por ejemplo, puede incluir un bus de interfaz periférica serie (SPI), un bus de circuito interintegrado (I2C), o cualquier interfaz serie ahora conocida o desarrollada más adelante.
En algunas implementaciones, el dispositivo periférico puede incluir un dispositivo de almacenamiento volátil (por ejemplo, un módulo de memoria de acceso aleatorio (RAM)), o un dispositivo de almacenamiento no volátil (por ejemplo, un dispositivo de memoria flash). En algunas otras implementaciones, el dispositivo periférico puede incluir un registro de desplazamiento, un convertidor analógico a digital (ADC), un convertidor digital a analógico (DAC), un regulador de salida de potencia, un relé, un dispositivo basado en un triodo para corriente alterna (TRIAC), etc. Además, el dispositivo periférico puede incluir además un dispositivo de entrada de usuario, tal como una interfaz de usuario sensible al tacto.
Agente de microcontrolador
En algunas implementaciones, el agente de microcontrolador (mcAgent) 226 gestiona lo realizado por un dispositivo de interfaz, tal como para gestionar suscripciones de datos desde una pluralidad de dispositivos remotos, y para procesar reglas que se activan cuando se detectan nuevos eventos. Durante la operación, el mcAgent 226 puede recibir una solicitud de suscripción de datos desde un dispositivo remoto (por ejemplo, un controlador o un dispositivo de interfaz), en cuyo punto el mcAgent 226 puede insertar la solicitud de suscripción de datos en un repositorio de suscripciones de datos. La solicitud de suscripción de datos puede indicar un tipo de datos que se suscriben a, y una condición (por ejemplo, un valor umbral mínimo o máximo) que necesita satisfacerse para que el mcAgent 226 envíe los datos al dispositivo remoto.
Además, el mcAgent 226 puede muestrear periódicamente datos desde diversos sensores de entrada, y puede enviar datos a un dispositivo remoto que se ha suscrito a un cierto tipo de actualizaciones de datos. El mcAgent 226 puede muestrear datos desde un sensor o dispositivo de entrada periódicamente en un intervalo predeterminado (por ejemplo, cada 15 milisegundos). Cada vez que el mcAgent 226 obtiene una muestra de datos, el mcAgent 226 puede comparar el valor muestreado (o un cambio en el valor desde el último valor muestreado) con uno o más valores umbrales asociados con un conjunto de suscripciones de datos. Si el valor de datos muestreados (o el cambio en el valor) satisface una solicitud de suscripción, el mcAgent determina un dispositivo remoto asociado con la suscripción de datos, y envía el valor de datos muestreado al dispositivo remoto. En algunas implementaciones, el sistema puede enviar el valor de datos muestreado al dispositivo remoto, por ejemplo, mediante el uso de información de direccionamiento de red asociada con una conexión de red persistente con dispositivo remoto (por ejemplo, mediante el uso del módulo WebSocket 232).
En algunas implementaciones, el dispositivo remoto es un dispositivo de interfaz que usa los datos muestreados para determinar si realizar una acción de regla.
En algunas otras implementaciones, el dispositivo remoto puede incluir un controlador que recopila y/o presenta datos a un usuario. Por ejemplo, un usuario puede configurar el controlador para almacenar un registro de eventos para eventos que satisfacen ciertas condiciones en el dispositivo de interfaz 200. El controlador puede establecer y mantener una conexión de red con el dispositivo de interfaz 200, y completa el registro de eventos al suscribirse a los datos muestreados del dispositivo de interfaz 200, bajo las condiciones especificadas por el usuario.
Como otro ejemplo, el usuario puede usar un dispositivo informático personal para monitorear datos desde diversos dispositivos de interfaz a través del controlador. El usuario accede a una interfaz de usuario (UI) de "mapa" desde el controlador, de manera que la UI de mapa ilustra los sensores asociados con el dispositivo de interfaz 200 en un mapa, y puede ilustrar además los datos muestreados en tiempo real en el mapa. Por lo tanto, para mostrar los datos en tiempo real al usuario, el controlador puede establecer y mantener una conexión de red persistente con el dispositivo de interfaz 200, y se suscribe a los datos muestreados por el dispositivo de interfaz 200. La suscripción puede indicar que el dato muestreado debe enviarse al controlador periódicamente en un intervalo de tiempo predeterminado (por ejemplo, cada segundo), o cuando los datos muestreados cambian de valor por al menos una cantidad umbral. De este modo, mientras el usuario navega por la UI de mapa, el controlador puede recibir y mostrar los datos de sensores al usuario en tiempo casi real. Cuando el usuario navegue lejos del sensor en la UI de mapa, o cuando el usuario cierre la UI de mapa, el controlador puede enviar una solicitud al dispositivo de interfaz 200 para cancelar la suscripción de datos. El controlador puede terminar además la conexión de red con el dispositivo de interfaz 200 si el controlador no necesita enviar o recibir datos a/desde el dispositivo de interfaz 200.
Dispositivos de interfaz ilustrativos
La Figura 2C presenta un diagrama que ilustra una arquitectura del dispositivo 240 ilustrativa de un dispositivo de interfaz mPort. La arquitectura del dispositivo 240 puede incluir un dispositivo de almacenamiento flash 246 que almacena datos e instrucciones de software para operar el dispositivo de interfaz mPort, así como también una unidad de procesamiento 242 y un dispositivo de memoria 244 para ejecutar las instrucciones.
La arquitectura del dispositivo 240 puede incluir entradas digitales 252, y salidas digitales 254. Las entradas digitales 252 pueden acoplarse a señales de salida digital de uno o más dispositivos externos, tales como un sensor de puerta, un conmutador, etc. Las salidas digitales 254 pueden acoplarse a un dispositivo externo para configurar o controlar el dispositivo externo, o pueden acoplarse a una pantalla de salida del dispositivo mPort (por ejemplo, una pantalla de cristal líquido (LCD), o indicadores del diodo emisor de luz (LED)).
La arquitectura del dispositivo 240 puede incluir además al menos un convertidor analógico a digital (ADC) 255, que convierte una cantidad física de señal analógica en una señal digital (por ejemplo, un número binario) que representa la amplitud de la cantidad física. En algunas implementaciones, el ADC puede acoplarse a un dispositivo externo a través de entradas analógicas 256, tal como un sensor, para muestrear una cantidad física asociada con el sensor. Las entradas analógicas 256 pueden incluir un par diferencial desde el que el ADC 255 muestrea una señal analógica correspondiente. La unidad de procesamiento 242 puede leer datos desde el ADC 255 a través de pines de interfaz digital o a través de un bus serie, y almacena u opera en los datos que representan una cantidad física asociada con el sensor conectado.
Por ejemplo, en algunas implementaciones, las entradas analógicas 256 pueden acoplarse a un par diferencial desde un sensor de temperatura (no mostrado). El sensor de temperatura puede proporcionar una señal analógica continua sobre el par diferencial, de manera que la señal analógica representa una cantidad de temperatura física detectada por una porción de detección del sensor de temperatura. Además, la unidad de procesamiento 242 puede interactuar con el sensor a través de las salidas digitales 254, por ejemplo, para calibrar el sensor, o para configurar la operación del sensor (por ejemplo, para configurar un período de detección).
La arquitectura del dispositivo 240 puede incluir uno o más módulos para comunicarse con dispositivos externos. Por ejemplo, la arquitectura del dispositivo 240 puede incluir módulos de comunicación 247, que pueden incluir un módulo Ethernet acoplado a un puerto Ethernet 249, y/o pueden incluir o acoplarse a un módulo inalámbrico 248 (por ejemplo, un módulo Wi-Fi, o un módulo Bluetooth). La arquitectura del dispositivo 240 puede incluir además un puerto serie 250 (por ejemplo, un conector RS-232 para un puerto UART), que puede acoplarse a un dispositivo periférico externo, y puede usarse por la unidad de procesamiento 242 para monitorear y/o controlar el dispositivo periférico. El dispositivo periférico puede incluir un electrodoméstico (por ejemplo, un sistema de HVAC), o cualquier dispositivo electrónico o informático que pueda comunicarse a través del puerto UART 250.
La Figura 2D ilustra un dispositivo de interfaz mPort. Específicamente, el chasis para el dispositivo 258 incluye acceso a al menos un interruptor de reinicio, un puerto Ethernet, un puerto de bus serie universal (USB), un puerto Ethernet, un puerto serie, y un conjunto de conexiones a uno o más dispositivos físicos externos (por ejemplo, a través de un puerto RJ-45, o a través de terminales de conexión). El dispositivo 258 puede incluir además dispositivos de red inalámbricos, tales como un módulo Wi-Fi interno.
Además, el dispositivo de interfaz mPort 258 puede incluir un conjunto de indicadores LED. Un indicador LED de energía se vuelve verde constante cuando el dispositivo de interfaz mPort 258 se conecta adecuadamente a una fuente de alimentación. Un indicador LED de Ethernet se ilumina en verde constante cuando se hace una conexión Ethernet activa, y parpadea cuando la conexión Ethernet tiene actividad. Un LED de estado se ilumina en amarillo cuando el dispositivo de interfaz mPort 258 se alimenta primero en el modo predeterminado de fábrica de inmediato, y se ilumina en verde constante cuando el dispositivo 258 se ha integrado exitosamente en una red y trabaja adecuadamente. Además, el LED de estado parpadea cuando el botón Ubicar se usa en el software del controlador mFi para mostrar el dispositivo 258 en un mapa.
La Figura 14A ilustra una vista en ángulo de un dispositivo de interfaz mPort 1400. Específicamente, el dispositivo 1400 incluye un conjunto de conexiones a uno o más dispositivos físicos externos (por ejemplo, a través de un puerto RJ-45 1402, o a través de terminales de conexión 1404), incluye un botón de reinicio 1410, e incluye indicadores LED 1412. El dispositivo 1400 puede incluir además un conector de bus serie universal (USB) 1406 y un puerto Ethernet 1408, que facilita conectar el dispositivo 1400 a una red informática o a otro dispositivo (por ejemplo, un ordenador personal para configurar el dispositivo 1400).
La Figura 14B ilustra una vista lateral de un dispositivo de interfaz mPort 1430. Específicamente, la vista lateral del dispositivo 1460 ilustra un conjunto de indicadores LED, e ilustra dos puertos RJ-45 y un conjunto de terminales de conexión, que pueden acoplarse a uno o más dispositivos físicos externos.
La Figura 14C ilustra una vista lateral de un dispositivo de interfaz mPort 1460. Específicamente, la vista lateral del dispositivo 1430 ilustra un puerto USB, un puerto Ethernet, y un botón de reinicio.
La Figura 15A ilustra una vista en ángulo de un dispositivo de interfaz mPort 1500. Específicamente, el dispositivo 1500 incluye un conector serie 1502 (por ejemplo, un puerto RS-232, puerto RS-422, y/o puerto RS-485) que puede acoplarse a un dispositivo periférico (por ejemplo, un electrodoméstico), e incluye terminales de conexión 1504 que pueden acoplarse a un dispositivo físico (por ejemplo, un sensor). El dispositivo 1500 incluye además un botón de reinicio 1510, e indicadores LED 1512. El dispositivo 1500 puede incluir además un conector de bus serie universal (USB) 1506 y un puerto Ethernet 1508, que facilita conectar el dispositivo 1500 a una red informática o a otro dispositivo (por ejemplo, un ordenador personal para configurar el dispositivo 1500).
La Figura 15B ilustra una vista en ángulo de un dispositivo de interfaz mPort 1520 que incluye un conector de antena 1522. Específicamente, el conector de antena 1522 puede incluir un conector coaxial macho, que puede acoplarse a una antena para su uso por un módulo inalámbrico, tal como un módulo Wi-Fi (por ejemplo, el módulo inalámbrico 248 de la Figura 2C).
La Figura 15C ilustra una vista lateral de un dispositivo de interfaz mPort 1540. Específicamente, la vista lateral del dispositivo 1540 ilustra un conjunto de indicadores LED, un conector de antena, así como también un conector serie y un conjunto de terminales de conexión que pueden acoplarse a uno o más dispositivos físicos externos.
La Figura 15D ilustra una vista lateral de un dispositivo de interfaz mPort 1560. Específicamente, la vista lateral del dispositivo 1560 ilustra un puerto USB, un puerto Ethernet, y un botón de reinicio.
La Figura 2E presenta un diagrama que ilustra una arquitectura del dispositivo 260 ilustrativa de un dispositivo de interfaz mPower. La arquitectura del dispositivo 260 puede incluir un dispositivo de almacenamiento flash 266 que almacena datos e instrucciones de software para operar el dispositivo de interfaz mPower, así como también una unidad de procesamiento 262 y un dispositivo de memoria 264 para ejecutar las instrucciones.
La arquitectura del dispositivo 260 puede incluir uno o más módulos de salida de potencia 270, y cada módulo de salida de potencia 270 puede incluir un controlador de salida de potencia 274 (por ejemplo, un dispositivo de circuito integrado (IC) Prolific PL7221), un relé 272, y una toma de corriente 276. La unidad de procesamiento 262 puede habilitar o deshabilitar la potencia transmitida a través de la toma de corriente 276 al controlar el controlador de salida de potencia 274 correspondiente a través de pines de interfaz digital o a través de un bus serie, en cuyo punto el controlador de salida de potencia 274 puede generar una señal eléctrica para abrir o cerrar el relé 272 para habilitar o deshabilitar la transmisión de potencia a la toma de corriente 276. La unidad de procesamiento 262 puede configurar además el controlador de salida de potencia 274 para monitorear una cantidad de potencia disipada por la toma de corriente 276, por ejemplo, para obtener periódicamente una medición de potencia para una carga eléctrica correspondiente.
La unidad de procesamiento 262 puede configurar el controlador de salida de potencia 274 para muestrear cantidades físicas de la señal de potencia en la toma de corriente 276, y puede obtener el valor muestreado a través de los pines de interfaz digital o el bus serie. Las cantidades físicas muestreadas pueden incluir una corriente eléctrica, una tensión eléctrica, una potencia real, una potencia reactiva, una potencia aparente, y/u otras cantidades físicas de una señal de potencia.
En algunas implementaciones, la arquitectura del dispositivo 260 puede incluir un dispositivo de regulación de corriente (por ejemplo, un dispositivo TRIAC, no mostrado) para controlar una cantidad de potencia que se proporciona a un dispositivo externo. El controlador de salida de potencia 274 puede proporcionar un impulso de activación al dispositivo de regulación de corriente durante un intervalo de tiempo determinable, cuando la fase de la señal de potencia alcanza un cierto ángulo de fase, para proporcionar un nivel de potencia deseado al dispositivo externo. Cuando la toma de corriente 276 se acopla a una lámpara, por ejemplo, el controlador de salida de potencia 274 puede controlar el dispositivo de regulación de corriente como un medio para ajustar el nivel de brillo de la lámpara. Como otro ejemplo, cuando la toma de corriente 276 se acopla a un motor de inducción (por ejemplo, un ventilador de ventilación), el controlador de salida de potencia 274 puede controlar el dispositivo de regulación de corriente como unos medios para ajustar la velocidad de rotación del eje del motor (por ejemplo, las aspas de ventilador).
La arquitectura del dispositivo 260 puede incluir además un puerto serie 267, que puede acoplarse a un dispositivo periférico externo que recibe energía de la toma de corriente 276. Por ejemplo, la unidad de procesamiento 262 puede usar el puerto serie 267 para configurar el dispositivo periférico después de alimentar el dispositivo periférico a través de la toma de corriente 276 (por ejemplo, un dispositivo informático), y/o para monitorear y controlar el dispositivo periférico mientras el dispositivo está operativo. En algunas implementaciones, si el dispositivo no responde a los comandos a través del puerto serie 267, la unidad de procesamiento 262 puede determinar que el dispositivo periférico ha experimentado un evento de falla, y puede reiniciar el dispositivo al realizar una operación de ciclo de energía a través de la toma de corriente 276. Si la unidad de procesamiento 262 necesita deshabilitar la energía al dispositivo periférico mientras el dispositivo periférico está operativo, la unidad de procesamiento 262 puede usar el puerto serie 267 para realizar una secuencia de apagado en el dispositivo periférico.
La arquitectura del dispositivo 260 puede incluir además uno o más módulos para comunicarse con dispositivos externos. Por ejemplo, la arquitectura del dispositivo 260 puede incluir módulos de comunicación 268, que pueden incluir un módulo Ethernet acoplado a un puerto Ethernet 269, y/o pueden incluir o acoplarse a un módulo inalámbrico 265 (por ejemplo, un módulo Wi-Fi, o un módulo Bluetooth).
La Figura 2F ilustra un dispositivo de interfaz mPower 278. Específicamente, el dispositivo 278 incluye al menos un botón de reinicio, un indicador LED de estado, una o más tomas de corriente, y un conector de alimentación. El indicador LED de estado se ilumina en amarillo cuando el dispositivo 278 se alimenta primero en el modo predeterminado de fábrica de inmediato, y se ilumina en verde constante cuando el dispositivo 278 se ha integrado exitosamente en una red y trabaja adecuadamente. Además, el LED de estado parpadea cuando el botón Ubicar se usa en el software del controlador mFi para mostrar el dispositivo 278 en un mapa.
La Figura 2G presenta un diagrama que ilustra una arquitectura del dispositivo 280 ilustrativa de un dispositivo de interfaz mDimmer o un mSwitch. La arquitectura del dispositivo 280 puede incluir un dispositivo de almacenamiento flash 284 que almacena datos e instrucciones de software para operar el dispositivo de interfaz mDimmer, así como también una unidad de procesamiento 282 y un dispositivo de memoria 283 para ejecutar las instrucciones. La arquitectura del dispositivo 260 puede incluir además una interfaz de usuario sensible al tacto 294 y un microcontrolador 288 para controlar la interfaz de usuario sensible al tacto 294. La interfaz de usuario sensible al tacto 294 puede incluir un sensor de proximidad 295, un sensor de movimiento 296, y una pluralidad de sensores sensibles al tacto 297.
El sensor de proximidad 295 puede detectar cuándo un objeto (por ejemplo, una mano del usuario) está dentro de una proximidad cercana de la interfaz de usuario sensible al tacto 294, y genera una señal analógica en base a la proximidad del objeto detectado al sensor de proximidad 295. Por ejemplo, el sensor de proximidad 295 puede incluir un sensor de proximidad infrarrojo, que emite una señal infrarroja desde un emisor infrarrojo, y genera la señal analógica en base a una cantidad de luz infrarroja detectada por un detector infrarrojo (por ejemplo, la luz infrarroja que refleja la mano del usuario).
Los sensores sensibles al tacto 297 pueden incluir sensores táctiles resistivos, sensores táctiles capacitivos, o cualesquiera sensores de pantalla táctil ahora conocidos o desarrollados más adelante. Cuando un usuario toca un sensor sensible al tacto respectivo (por ejemplo, el sensor 297.n), el sensor sensible al tacto detecta un aumento en la capacitancia en la superficie de su pantalla táctil, y genera una tensión analógica que refleja la cantidad de capacitancia que se detectó.
Un sensor sensible al tacto respectivo puede incluir una forma irregular a lo largo de una dimensión, tal como una pluralidad de formas de galón contiguas a lo largo de una dimensión horizontal, y el conjunto de sensores sensibles al tacto 297.1-297 .n puede disponerse a lo largo de una dimensión de la interfaz de usuario 294 perpendicular a la forma irregular (por ejemplo, a lo largo de una dimensión vertical de la interfaz de usuario 294). Además, dos sensores sensibles al tacto vecinos pueden colocarse en proximidad cercana, por ejemplo, de manera que un punto más bajo en un sensor sensible al tacto (por ejemplo, el sensor 297.1) tenga una coordenada vertical a lo largo de la interfaz de usuario 294 que sea menor que o igual a un punto más alto en un sensor sensible al tacto vecino inferior (por ejemplo, el sensor 297.2).
Alternativamente, un sensor sensible al tacto respectivo puede incluir cualquier otra forma adecuada para implementar una cuadrícula sensible al tacto, y el conjunto de sensores sensibles al tacto 297.1-297 .n puede disponerse a lo largo de dos dimensiones de la interfaz de usuario 294 para crear una superficie sensible al tacto (por ejemplo, una cuadrícula o cualquier otro patrón de interfaz de usuario) asociada con un conjunto predeterminado de gestos de la superficie táctil.
Respecto al sensor de movimiento 296, el sensor de movimiento 296 puede incluir un sensor de movimiento ultrasónico, un sensor de movimiento por microondas, un sensor de movimiento tomográfico, o cualquier sensor de movimiento ahora conocido o desarrollado más adelante. Cuando un usuario o un objeto se mueve frente a la interfaz de usuario sensible al tacto 294, el sensor de movimiento 296 puede detectar el movimiento y puede generar un valor binario que indica que se ha detectado un objeto. En algunas implementaciones, el sensor de movimiento 296 puede generar un valor analógico o digital que indica, por ejemplo, un cambio en una medición ultrasónica, un cambio en una medición de microondas, etc.
La interfaz de usuario sensible al tacto 294 genera una señal de salida digital para cada uno del sensor de proximidad 295, los sensores sensibles al tacto 297.1-297.ny el sensor de movimiento 296. En algunas implementaciones, la interfaz de usuario sensible al tacto 294 puede incluir un dispositivo ADC para cada sensor, que convierte el valor de la señal analógica del sensor a una señal binaria digital. La interfaz de usuario sensible al tacto 294 puede proporcionar la señal binaria digital al microcontrolador 288 a través de un bus paralelo (por ejemplo, una pluralidad de pines GPIO en el microcontrolador 288), o a través de un bus serie (por ejemplo, un bus SPI o un I2C en el microcontrolador 288).
En algunas otras implementaciones, la interfaz de usuario sensible al tacto 294 puede incluir un dispositivo de activación Schmitt para cada sensor, y un activador Schmitt respectivo genera una señal de salida binaria que indica si un sensor correspondiente ha detectado un objeto. La interfaz de usuario sensible al tacto 294 puede transmitir los valores binarios para los diversos sensores al microcontrolador 288 a través de un bus paralelo (por ejemplo, una pluralidad de pines GPIO en el microcontrolador 288, un pin por sensor), o a través de un bus serie (por ejemplo, un bus SPI o I2C en el microcontrolador 288).
El microcontrolador 288 puede monitorear periódicamente el estado para los diversos sensores de la interfaz de usuario sensible al tacto 294, por ejemplo, en intervalos de aproximadamente 15 milisegundos. Si el microcontrolador 288 determina que el sensor de proximidad 295 detecta un objeto, el microcontrolador 288 puede activar una fuente de luz para la interfaz de usuario sensible al tacto 294 para permitir que el usuario vea la interfaz de usuario 294 mientras el usuario ingresa un comando de control de dispositivos a través de la interfaz de usuario 294. El microcontrolador 288 puede activar la fuente de luz, por ejemplo, al aumentar el brillo de la fuente de luz durante un intervalo de tiempo determinable a un nivel determinable (por ejemplo, a un nivel fijo, o a un nivel derivado de una cantidad de luz ambiente).
Además, si el microcontrolador 288 determina que un sensor sensible al tacto ha detectado un toque del objeto, el microcontrolador 288 puede determinar un gesto en base al estado actual y el estado anterior de la interfaz de usuario de pantalla táctil 294. Por ejemplo, el microcontrolador 288 puede determinar una región actual de la interfaz de usuario 294 que el usuario toca (por ejemplo, el estado actual), y puede determinar una dirección para un gesto en base a un sensor sensible al tacto anterior que detectó un toque del objeto ( por ejemplo, el estado anterior). Una vez que el usuario ha completado su interacción con la interfaz de usuario 294, el microcontrolador 288 puede generar un gesto que indica una velocidad y una dirección del gesto del usuario, y/o una distancia recorrida por el gesto del usuario. Por lo tanto, el microcontrolador 288 puede determinar que el usuario hace un gesto de deslizar el dedo hacia arriba o un gesto de deslizar el dedo hacia abajo, así como también una velocidad y distancia recorridas por el gesto de deslizar el dedo.
Si el usuario no desliza su dedo a través de la superficie de la interfaz de usuario sensible al tacto 294 (por ejemplo, el estado anterior no implicaba que el usuario tocara o se deslizara a través la interfaz de usuario 288), el microcontrolador 288 puede determinar una región de la interfaz de usuario 294 que el usuario ha tocado. El microcontrolador 288 puede generar y almacenar un gesto que indica la porción de la superficie de la interfaz de usuario 294 que el usuario ha tocado, por ejemplo, mediante el uso de un valor numérico que indica una coordenada vertical de la interfaz de usuario 294 tocada por el usuario. La unidad de procesamiento 282 puede configurar la salida de potencia a la lámpara para alcanzar una intensidad de luz que corresponda al valor numérico.
En algunas implementaciones, la unidad de procesamiento 282 sondea periódicamente las lecturas del sensor (por ejemplo, en intervalos de aproximadamente 15 milisegundos) y/o detecta gestos del microcontrolador 288. Además, la unidad de procesamiento 282 puede usar los datos obtenidos para seleccionar un conjunto de reglas para evaluar, y puede realizar una acción asociada con cualesquiera reglas cuyas condiciones se hayan cumplido. La unidad de procesamiento 282 puede seleccionar además un conjunto de dispositivos remotos que se han suscrito a una porción de datos (por ejemplo, datos para un movimiento detectado y/o un gesto detectado), y puede enviar la porción de datos a los dispositivos seleccionados mediante el uso de información de direccionamiento de red asociada con sus conexiones de red correspondientes.
La arquitectura del dispositivo 280 puede incluir uno o más módulos de comunicación 285 para comunicarse con dispositivos externos. Los módulos de comunicación 285 pueden incluir o acoplarse a un módulo inalámbrico 286 (por ejemplo, un módulo Wi-Fi, o un módulo Bluetooth), y/o pueden incluir un módulo Ethernet acoplado a un puerto Ethernet (no mostrado). La arquitectura del dispositivo 280 puede incluir además un puerto serie 287 (por ejemplo, un conector RS-232 para un puerto UART), que puede acoplarse a un dispositivo periférico externo, y puede usarse por la unidad de procesamiento 282 para monitorear y/o controlar el dispositivo periférico. El dispositivo periférico puede incluir un electrodoméstico (por ejemplo, un sistema de HVAC), o cualquier dispositivo electrónico o informático que pueda comunicarse a través del puerto serie 287.
La arquitectura del dispositivo 280 puede incluir además módulos de control de potencia 290 para controlar y/o regular una señal de potencia de salida, y puede incluir un controlador de salida de potencia 289 para configurar y monitorear la salida de potencia por los módulos de control de potencia 290. La arquitectura del dispositivo 280 puede incluir además terminales de potencia 292 para proporcionar la señal de potencia de salida a una carga eléctrica, tal como una lámpara, un motor eléctrico, un sistema de HVAC, etc. En algunas implementaciones, la arquitectura del dispositivo 280 implementa un interruptor de luz (por ejemplo, un dispositivo mSwitch), y los módulos de control de potencia 290 incluyen un relé 290.1. Cuando la unidad de procesamiento 282 determina que el usuario ha tocado una superficie de la interfaz de usuario sensible al tacto 294 (por ejemplo, ha tocado cualquiera de los sensores sensibles al tacto 297), la unidad de procesamiento 282 puede configurar el microcontrolador 288 para abrir el relé 290.1 si se cierra, o para cerrar el relé 290.1 si se abre. Esta configuración permite que el usuario encienda o apague una lámpara acoplada eléctricamente a los terminales de potencia 292. El microcontrolador 288 abre o cierra el relé 290.1 al configurar el controlador de salida de potencia 289 para generar las señales eléctricas necesarias para abrir o cerrar el relé 290.1. El microcontrolador puede configurar además el controlador de salida de potencia 289 para monitorear una cantidad de potencia disipada por los terminales de potencia 292, por ejemplo, para obtener periódicamente una medición de potencia para una carga eléctrica.
En algunas implementaciones, la arquitectura del dispositivo 280 implementa un atenuador de luz (por ejemplo, un dispositivo mDimmer), y los módulos de control de potencia 290 incluyen un TRIAC 290.2. Cuando la unidad de procesamiento 282 detecta un gesto de la pantalla táctil de un usuario (por ejemplo, a través del microcontrolador 288), la unidad de procesamiento 282 puede configurar el microcontrolador 288 para ajustar un nivel de brillo para una lámpara acoplada eléctricamente a los terminales de potencia 292. Por ejemplo, a medida que el usuario realiza un deslizamiento del dedo hacia arriba en la interfaz de usuario sensible al tacto 294, la unidad de procesamiento 282 puede determinar un nivel de brillo para la lámpara en base a la posición, dirección y/o velocidad actual (o más reciente) del dedo del usuario en la interfaz de usuario sensible al tacto 294. La unidad de procesamiento 282 puede seleccionar el nivel de brillo más alto si el usuario toca en el sensor sensible al tacto 297.1, o puede seleccionar el nivel de brillo más bajo (o apagado) si el usuario toca en el sensor sensible al tacto 297.n. La unidad de procesamiento 282 puede configurar el microcontrolador 288 para ajustar la salida de potencia transmitida por el triac 290.2 para corresponder al nivel de brillo deseado del usuario. El microcontrolador 288 controla la salida de potencia al configurar el controlador de salida de potencia 289 para generar las señales eléctricas necesarias para configurar el triac 290.2 para alcanzar y mantener la salida de potencia en el nivel deseado.
En algunas implementaciones, el controlador de salida de potencia 289 monitorea además una cantidad de corriente, una cantidad de potencia, y/o una fase de la potencia que se transmite a través de los terminales de potencia 292. El microcontrolador 288 puede calibrar el controlador de salida de potencia 289, en base a los valores medidos, para estabilizar la potencia transmitida a través de los terminales de potencia 292. Si el microcontrolador 288 detecta un cambio en la carga eléctrica, por ejemplo, debido a una lámpara de atenuación, el microcontrolador 288 puede ajustar el controlador de salida de potencia 289 para compensar el cambio en la carga eléctrica para alcanzar una salida de potencia deseada. Por lo tanto, el microcontrolador 288 puede usar el controlador de salida de potencia 289 para implementar un circuito de retroalimentación que ajuste la potencia a una lámpara para garantizar una intensidad de luz constante (no fluctuante), incluso a medida que la lámpara envejece con el tiempo.
En algunas implementaciones, la unidad de procesamiento 282 puede almacenar un nivel de iluminación anterior para el usuario. Por ejemplo, el usuario puede realizar un gesto de deslizar el dedo para ajustar el nivel de iluminación a un nivel deseado (por ejemplo, al deslizar su dedo a una posición asociada con el nivel de iluminación deseado). Entonces, para apagar la luz, el usuario puede tocar cualquier parte en la interfaz de usuario sensible al tacto 294, en cuyo punto la unidad de procesamiento 282 almacena el nivel de iluminación actual para el usuario, y configura el controlador de salida de potencia 289 para deshabilitar la energía a los terminales de potencia 292. Si un usuario toca cualquier parte en la interfaz de usuario sensible al tacto 294 en un tiempo posterior para encender las luces, la unidad de procesamiento 282 puede restaurar la energía a las lámparas al nivel de iluminación anterior en base a los ajustes almacenados.
Además, la unidad de procesamiento 282 puede aumentar o disminuir rápidamente el nivel de brillo si el usuario realiza un deslizamiento del dedo hacia arriba o hacia abajo rápido. Alternativamente, la unidad de procesamiento 282 puede realizar ajustes de grano fino al nivel de brillo de la lámpara si el usuario realiza un deslizamiento del dedo hacia arriba o hacia abajo lento, por ejemplo, para aumentar o disminuir el nivel de brillo por una granularidad más fina que puede lograrse al tocar en cualquiera de los sensores sensibles al tacto 297.
En algunas implementaciones, la unidad de procesamiento 282 puede controlar una lámpara que no se acopla eléctricamente a los terminales de potencia 292. Cuando la unidad de procesamiento 282 detecta un evento de gesto realizado por el usuario (por ejemplo, a través del microcontrolador 288), la unidad de procesamiento 282 puede enviar el evento de gesto a un dispositivo de interfaz remoto que se ha suscrito a eventos desde el dispositivo de interfaz local. El dispositivo de interfaz remoto puede incluir un dispositivo que proporciona energía a una lámpara, tal como un dispositivo mPower ilustrado en la Figura 2E. Cuando el dispositivo de interfaz remoto recibe el evento de gesto, el dispositivo de interfaz remoto puede usar la información de evento para controlar la potencia a una lámpara en base a una regla almacenada en el repositorio de reglas local del dispositivo.
En algunas implementaciones, la carga eléctrica acoplada a los terminales de potencia 292 puede incluir un sistema de HVAC. Por ejemplo, la unidad de procesamiento 282 puede configurarse para controlar un sistema de HVAC en base a los comandos de entrada de usuario recibidos a través de la interfaz de usuario sensible al tacto 294. El usuario puede realizar un deslizamiento del dedo hacia arriba para aumentar la temperatura, un deslizamiento del dedo hacia abajo para disminuir la temperatura, y puede alternar la potencia del sistema de HVAC al tocar en la superficie de la interfaz de usuario sensible al tacto 294. Además, el microcontrolador 288 puede configurar el controlador de salida de potencia 289 para monitorear una cantidad de potencia consumida por el sistema de HVAC, lo que facilita que el usuario cree reglas para controlar la unidad de HVAC en base a los comandos del usuario, así como también una cantidad de potencia que se consume por el sistema de HVAC y/u otros electrodomésticos.
La Figura 2H ilustra un dispositivo de interfaz mDimmer 298. Específicamente, el dispositivo 298 incluye al menos un botón de reinicio, un área de panel táctil, y un indicador LED de estado. El indicador LED de estado se ilumina en amarillo cuando el dispositivo 298 se alimenta primero en el modo predeterminado de fábrica de inmediato, y se ilumina en verde constante cuando el dispositivo 298 se ha integrado exitosamente en una red y trabaja adecuadamente. Además, el LED de estado parpadea cuando el botón Ubicar se usa en el software del controlador mFi para mostrar el dispositivo 298 en un mapa.
En algunas implementaciones, un dispositivo mDimmer o mSwitch puede comunicarse con un dispositivo de interfaz de puente de red a través de una interfaz de comunicación serie, tal como una interfaz SPI o una I2C. El dispositivo de interfaz de puente de red puede incluir una conexión de red cableada o inalámbrica a una red de área local.
La Figura 2I ilustra una pluralidad de dispositivos de interfaz mDimmer 299 acoplados a través de una interfaz de comunicación serie. Específicamente, un dispositivo mDimmer 299.1 incluye un módulo de red, tal como un módulo Ethernet o un módulo Wi-Fi. Además, los dispositivos mDimmer 299.2-299 .k pueden o pueden no incluir un módulo de red, y pueden acoplarse al dispositivo 299.1 a través de una conexión serie. Por ejemplo, el dispositivo mDimmer 299.1 puede servir como puerta de enlace de red a los dispositivos mDimmer 299.2-299.k. Si un dispositivo mDimmer 299 .k se suscribe a los datos desde un dispositivo de interfaz remoto, el dispositivo mDimmer 299 .k puede recibir datos en tiempo real (por ejemplo, un evento de sensores desde un dispositivo remoto) a través del dispositivo mDimmer 299.1. Una vez que el dispositivo mDimmer 299 .k recibe los datos en tiempo real, dispositivo 299 .k puede procesar una o más reglas que se activan por los datos recibidos.
Dispositivo de interfaz como un servidor de datos
En algunas implementaciones, el dispositivo de interfaz 200 puede funcionar como un servidor de datos para enviar datos en tiempo real desde un dispositivo físico conectado a un dispositivo remoto que se ha suscrito a estos datos (por ejemplo, un controlador alojado por el grupo de ordenadores 152 de la Figura IB). Por ejemplo, el generador/analizador de paquetes 212 puede recibir una solicitud de suscripción de condición desde el dispositivo remoto, que suscribe el dispositivo remoto para recibir mensajes de alerta de condición desde el dispositivo de interfaz 200.
La solicitud de suscripción de condición puede indicar una condición para cuando el dispositivo de interfaz 200 deba enviar datos de estado y/o medición de sensores actualizados desde un dispositivo físico conectado al dispositivo remoto. El dispositivo de interfaz 200 puede almacenar la condición recibida dentro de la unidad de almacenamiento 210 en asociación con el dispositivo remoto (por ejemplo, en asociación con una dirección IP para el dispositivo remoto, y/o cualquier otra información de accesibilidad de red o identificador de dispositivos para el dispositivo remoto). Entonces, cuando el dispositivo de interfaz 200 determina que se ha cumplido la condición (por ejemplo, cuando una medición de sensores desde un dispositivo físico conectado satisface la condición), el dispositivo de interfaz 200 puede enviar un mensaje de alerta de condición correspondiente al dispositivo remoto (por ejemplo, en base a la información de accesibilidad a la red del dispositivo). El dispositivo de interfaz 200 puede enviar el mensaje de alerta de condición correspondiente al dispositivo remoto mediante el uso de información de direccionamiento de red asociada con una conexión de red al dispositivo remoto. El mensaje de alerta de condición puede indicar que se ha cumplido la condición, y/o puede indicar un estado y/o medición de sensores desde el dispositivo físico acoplado al dispositivo de interfaz 200.
Dispositivo de interfaz como un cliente de datos
En algunas implementaciones, el dispositivo de interfaz 200 puede funcionar como un cliente de datos para recibir datos de estado y/o medición de sensores desde un dispositivo de interfaz remoto (por ejemplo, para uno o más dispositivos físicos conectados al dispositivo de interfaz remoto) o desde un controlador central. El dispositivo de interfaz 200 puede usar los datos que recibe para modificar su estado operativo. Específicamente, la unidad de almacenamiento 210 puede almacenar una o más reglas compuestas que deben ejecutarse por el dispositivo de interfaz 200. Una regla compuesta puede indicar un conjunto de condiciones que activan una acción, y puede indicar una descripción de acción para la acción. El dispositivo de interfaz 200 puede seleccionar y procesar una regla en base a los datos recibidos, y modifica su estado operativo en base a una descripción de acción de la regla.
El controlador central puede analizar un conjunto de reglas para identificar un dispositivo de interfaz remoto desde el que el dispositivo de interfaz 200 necesita recibir datos para un dispositivo físico, y para identificar condiciones asociadas con los datos. Por ejemplo, el controlador puede determinar que necesita recibir una medición de temperatura desde un dispositivo físico X conectado a un dispositivo de interfaz remoto Y cuando el dispositivo físico X determina que la temperatura ha alcanzado por encima de los 100 °F. El controlador puede proporcionar el dispositivo de interfaz 200 con información de acceso al dispositivo para el dispositivo remoto, que el dispositivo de interfaz 200 usa para establecer una conexión de red con el dispositivo remoto.
Específicamente, el dispositivo de interfaz 200 puede usar el generador/analizador de paquetes 212 para enviar una solicitud de suscripción de condición al dispositivo de interfaz remoto, que suscribe el dispositivo de interfaz 200 para recibir mensajes de alerta de condición desde el dispositivo de interfaz remoto. Una vez que el dispositivo de interfaz 200 se ha suscrito exitosamente para recibir mensajes de alerta de condición, el dispositivo de interfaz remoto enviará un mensaje de alerta de condición al dispositivo de interfaz 200 una vez que se haya cumplido la condición deseada. El mensaje de alerta de condición puede indicar que se ha cumplido la condición, y/o puede indicar un estado y/o medición de sensores desde un dispositivo físico acoplado al dispositivo de interfaz remoto.
Una vez que el generador/analizador de paquetes 212 recibe un mensaje de alerta de condición, el dispositivo de interfaz 200 puede usar la unidad de almacenamiento 210 para almacenar los datos de estado/medición del mensaje de alerta de condición. Además, la unidad de procesamiento 208 identifica una o más reglas de la unidad de almacenamiento 210 cuyas condiciones se cumplen por los datos de estado/medición recibidos desde el mensaje de alerta de condición y/o desde otros datos de estado/medición reciente almacenados en la unidad de almacenamiento 210. La unidad de procesamiento 208 puede ejecutar una descripción de acción para cualquier regla cuyas condiciones se hayan cumplido.
Operación del sistema
Al volver a la Figura 1, las comunicaciones entre el controlador 102 y los dispositivos de interfaz 106 y 108 se logran al intercambiar los paquetes de comunicación, tales como paquetes IP, a través de la red 106, que puede ser una red IP. En algunas implementaciones, el dispositivo de interfaz 108 procesa los datos de entrada sin procesar recibidos desde los dispositivos acoplados 110.1-110 .n (por ejemplo, al traducir los datos analógicos o digitales sin procesar en información significativa, tal como lecturas de temperatura o humedad). El dispositivo de interfaz 108.1 empaqueta los datos traducidos en paquetes IP, y envía los paquetes al controlador 102, por lo tanto, se permite al usuario 104 ver tal información. En adición, el usuario 104 puede emitir un comando, tal como establecer una regla que rija las operaciones de los dispositivos físicos acoplados. El controlador 102 puede empaquetar el comando del usuario en paquetes IP, y envía estos paquetes a los dispositivos de interfaz correspondientes (por ejemplo, los dispositivos 108.1 y 108.m), que a su vez analizan estos paquetes y ejecutan el comando del usuario. Note que, debido a que la red 106 puede incluir el Internet, el usuario 104 y el controlador 102 pueden estar en cualquier ubicación donde tenga acceso a la red 106, y todavía ser capaz de monitorear y controlar los dispositivos físicos 110.
La Figura 3A presenta un diagrama de flujo que ilustra un procedimiento 300 ilustrativo para configurar un controlador de dispositivo. Durante el proceso de inicialización del sistema, el controlador descubre un número de dispositivos de interfaz (denominados además mPorts) que son parte del sistema (operación 302). En algunas implementaciones, el controlador y los mPorts están dentro de un mismo dominio de red de área local (LAN). En algunas otras implementaciones, el controlador interactúa con los mPorts a través de una red de área amplia (WAN), tal como el Internet.
Para descubrir la interfaz del dispositivo, el controlador puede recibir información de inicio de sesión del usuario desde el usuario, y el controlador identifica los dispositivos de interfaz asociados con la cuenta de usuario. El controlador puede identificar cada dispositivo de interfaz por su dirección MAC, y/o por su dirección IP. Además, durante la fase de descubrimiento, el controlador puede detectar además automáticamente ciertos dispositivos físicos (tales como dispositivos fabricados por el mismo proveedor de los mPorts) acoplados a los dispositivos de interfaz del usuario, independientemente de si el usuario ha registrado estos dispositivos para asociarse con su cuenta de usuario.
Posteriormente, el sistema puede recibir información para dispositivos físicos de terceros acoplados a los dispositivos de interfaz (por ejemplo, para dispositivos de propósito especial acoplados a los mPorts) (operación 304). Por ejemplo, el usuario puede interactuar con una GUI proporcionada por el controlador para ingresar un número de modelo para el dispositivo de terceros, y para identificar a qué mPort (por ejemplo, identificado por su dirección MAC) y a qué puerto en ese mPort el dispositivo de terceros se acopla. Recuerde que el dispositivo mPort puede interactuar con un dispositivo físico a través de un terminal analógico, o a través de un puerto de comunicación serie. El sistema puede usar el número de modelo del dispositivo físico para determinar una etiqueta descriptiva para el dispositivo, para determinar los tipos de datos que pueden observarse desde el dispositivo (por ejemplo, un valor analógico o digital, y una etiqueta descriptiva para el valor observado), así como también qué tipos de valores de datos pueden proporcionarse al dispositivo físico. En algunas implementaciones, si el sistema no reconoce el dispositivo físico, el usuario puede usar la GUI para ingresar parámetros que indican los valores de datos que deben esperarse desde el dispositivo físico o pueden proporcionarse al dispositivo físico, así como también etiquetas descriptivas para estos valores de datos.
El sistema puede recibir además ajustes de configuración del dispositivo desde el usuario para los dispositivos de interfaz (operación 306). Durante este proceso, el usuario puede interactuar con la GUI para indicar ubicaciones en un mapa donde el usuario ha colocado o instalado los dispositivos, y puede indicar cómo deben operar estos dispositivos. Por ejemplo, el usuario puede indicar una programación de operación para un dispositivo mPort, y puede indicar una programación y/o frecuencia para monitorear un puerto en el dispositivo.
El controlador recibe además una o más reglas definidas por el usuario (operación 308). Cada regla define las condiciones que activan una acción, y qué acción(es) deben ocurrir una vez que se cumplan esas condiciones. Una condición de la regla puede incluir elementos de condición que se toman como mediciones de sensores de entrada para uno o más valores físicos. Los valores físicos detectados pueden incluir, por ejemplo, un valor de tiempo, una temperatura, un nivel de humedad, un nivel de potencia, una tensión, una corriente, un movimiento detectado, un estado encendido/apagado (por ejemplo, para una carga eléctrica), un estado abierto/cerrado (por ejemplo, para una puerta), el nivel de iluminación (por ejemplo, una luz ambiente), y un nivel de humedad.
Además, un elemento de condición puede incluir una operación de comparación, que puede evaluarse al comparar una medición de sensores con un valor predeterminado (por ejemplo, con un valor constante), o con otra medición de sensores. La comparación puede incluir, por ejemplo, si la medición de sensores es mayor que, menor que, o igual al valor predeterminado u otra medición de sensores. Un elemento de condición puede incluir además una evaluación o comparación de un valor físico relacionado con el tiempo. Por ejemplo, el elemento de condición puede tomar el tiempo actual como entrada, y compara el tiempo actual con un valor de tiempo predeterminado. Como otro ejemplo, el elemento de condición puede tomar una duración de tiempo para un estado actual del sensor, tal como una cantidad de tiempo que el estado del sensor ha permanecido en su valor actual, o permanecido por encima o por debajo de un valor umbral predeterminado. El elemento de condición puede comparar la duración de tiempo con un tiempo predeterminado, por ejemplo, para determinar si un estado del sensor ha estado en el valor actual (o por encima de un umbral dado) durante al menos 10 minutos.
En algunas implementaciones, una regla puede ser una regla compuesta que implica múltiples dispositivos. Un elemento de condición puede incluir un operador lógico, que puede evaluarse al realizar una operación lógica en el resultado de uno o más elementos de condición. Por ejemplo, una regla puede establecer que una vez que un sensor de puerta detecta que se ha abierto una puerta y un sensor de movimiento determina que no se ha detectado movimiento en la habitación (por ejemplo, lo que significa que una persona entra en la habitación), un interruptor de luz enciende automáticamente una luz en la habitación. Además, otra regla puede establecer que una vez que se ha abierto la puerta y se detectó anteriormente movimiento en la habitación (por ejemplo, lo que significa que la persona sale de la habitación), el interruptor de luz apaga la luz. Note que estas reglas definen condiciones (por ejemplo, una puerta que se abre y que se detecta movimiento/no movimiento) que activan una acción correspondiente (por ejemplo, encender la luz o apagarla), y pueden implicar múltiples dispositivos (por ejemplo, el sensor de la puerta, el sensor de movimiento, y el interruptor de luz). El controlador puede entonces almacenar las reglas dentro de un repositorio de reglas (operación 310), por lo tanto, se configura el controlador para realizar acciones en base a las definiciones de reglas y los datos desde los dispositivos físicos.
Una descripción de acción de la regla indica una o más operaciones que deben realizarse cuando se cumplen los criterios de la condición. La descripción de acción puede incluir una o más acciones que deben realizarse, tal como encender una señal de salida digital o apagarla, con un límite de tiempo opcional (por ejemplo, encender la señal de salida digital o apagarla durante 10 minutos, o hacerlo de esta manera después de 10 minutos). Como otro ejemplo, la descripción de acción puede especificar un script que debe procesarse por el dispositivo de interfaz. El script puede incluir una secuencia de instrucciones que deben realizarse por el dispositivo de interfaz para lograr un resultado deseado. Además, la descripción de acción puede indicar que el dispositivo de interfaz debe enviar un mensaje a una entidad de destino (por ejemplo, un mensaje de correo electrónico), o generar un evento, que se almacena dentro de un registro de eventos para que lo vea un administrador.
En algunas implementaciones, si los dispositivos de interfaz (los mPorts) deben ejecutar las reglas (por ejemplo, implementar un sistema de control distribuido), el controlador local (por ejemplo, el dispositivo informático personal del usuario) puede enviar las reglas definidas a los dispositivos de interfaz a los que se acoplan los dispositivos físicos implicados. Por ejemplo, el controlador local puede enviar las reglas a una dirección IP asociada con un dispositivo de interfaz que debe ejecutar la regla, o puede enviar las reglas al dispositivo de interfaz a través de una conexión de red con el dispositivo.
La Figura 3B presenta un diagrama de flujo que ilustra un procedimiento 350 ilustrativo para presentar datos de configuración y/o datos de sensores. Durante la operación, el controlador puede presentar al usuario una GUI que permite que el usuario seleccione uno o más dispositivos físicos para monitorear. El controlador puede recibir una selección desde el usuario para uno o más dispositivos de interfaz para monitorear (operación 352), y en respuesta para recibir la selección, el controlador obtiene datos históricos y/o en tiempo real para los dispositivos físicos (operación 354). El sistema puede obtener los datos desde un repositorio de datos de sensores local (por ejemplo, en una base de datos local), o puede solicitar los datos desde dispositivos de interfaz a los que se acoplan los dispositivos físicos. El controlador entonces puede presentar información de configuración del dispositivo asociada con estos dispositivos físicos, y puede presentar además datos históricos y/o en tiempo real al usuario a través de la GUI (operación 356). Por ejemplo, el usuario puede seleccionar un sensor de temperatura, y el mPort asociado con el sensor de temperatura envía las temperaturas detectadas por este sensor durante un período de tiempo especificado al controlador. La GUI puede incluir un mapa que ilustra un ícono para el sensor de temperatura en su ubicación correspondiente, puede mostrar una medición de temperatura actual o reciente cercana al ícono del sensor en el mapa. La GUI puede incluir además una tabla o gráfico lineal que presenta mediciones de temperatura históricas desde el sensor de temperatura.
Vistas de la interfaz de usuario
La Figura 4A presenta un diagrama de flujo que ilustra un procedimiento ilustrativo para configurar un espacio de colocación de dispositivos para una interfaz gráfica de usuario (GUI) de vista espacial. Durante la operación, el controlador puede recibir datos del espacio de despliegue para un área de despliegue del dispositivo (operación 402). Los datos del espacio de despliegue pueden incluir, por ejemplo, coordenadas de mapa para un área exterior (por ejemplo, un mapa de calles) dentro del que se han desplegado un conjunto de dispositivos físicos y/o de interfaz, o una imagen que representa un mapa para un área interior (por ejemplo, un plano en planta) o un área exterior. Como otro ejemplo, los datos del espacio de despliegue pueden incluir una imagen estática de una habitación dentro de la que se ha desplegado un conjunto de dispositivos físicos, o pueden incluir una transmisión de video en vivo para la habitación o el espacio (por ejemplo, desde una cámara con inclinación y acercamiento). El usuario puede cargar una imagen para un espacio dado al seleccionar un archivo de imagen existente desde un dispositivo de almacenamiento accesible desde su dispositivo informático personal, o al seleccionar una fuente para la imagen o transmisión en tiempo real (por ejemplo, una dirección de red, un número de puerto, y/o credenciales del cliente). El usuario puede cargar además la imagen al tomar una imagen del espacio (por ejemplo, mediante el uso de una cámara conectada a un teléfono inteligente, ordenador de tableta, u ordenador portátil), y cargar la imagen resultante al controlador.
Si el dato del espacio de despliegue es para un mapa de un área exterior, el usuario puede proporcionar los datos del espacio de despliegue al controlador al indicar un área geográfica que cubre el conjunto de dispositivos desplegados. El usuario puede indicar el área geográfica al proporcionar dos o más conjuntos de coordenadas geográficas asociadas con los dispositivos desplegados (por ejemplo, al proporcionar las coordenadas geográficas de un área que cubre los dispositivos, o las coordenadas geográficas de los dispositivos en sí mismos), y el sistema puede determinar una región geográfica para presentar al usuario de manera que la región cubra los dispositivos desplegados. Alternativamente o adicionalmente, el controlador puede proporcionar una GUI de vista espacial que permite que el usuario navegue por un mapa interactivo (por ejemplo, un mapa de calles o un mapa de vista satelital). El usuario puede proporcionar el área geográfica al navegar por el mapa interactivo al área que cubre los dispositivos desplegados (por ejemplo, al ingresar un nombre de ciudad o código postal en un campo de búsqueda y/o al desplazarse a través del mapa interactivo), y al ajustar el nivel de acercamiento para cubrir un área deseada que rodea los dispositivos desplegados.
Una vez que el controlador recibe los datos del espacio de despliegue, el controlador puede proporcionar una GUI de vista espacial que incluye una representación visual para el espacio de despliegue del dispositivo (operación 404), y puede obtener información de colocación del dispositivo para uno o más dispositivos desplegados en este espacio (operación 406). El controlador puede obtener la información de colocación del dispositivo desde un repositorio de dispositivos que incluye información de configuración para una pluralidad de dispositivos físicos y de interfaz. El controlador puede además obtener la información de colocación del dispositivo desde el usuario cuando el usuario arrastra un ícono de un dispositivo físico o un dispositivo de interfaz a una ubicación en la representación visual para el espacio de despliegue, de manera que la ubicación de destino representa la ubicación de despliegue para el dispositivo. Una vez que el usuario termina de colocar los dispositivos desplegados en la representación visual, el usuario puede hacer clic en un botón "Guardar" de la GUI de vista espacial para finalizar los ajustes, en cuyo punto el controlador puede almacenar los datos del espacio de despliegue y la información de colocación del dispositivo (operación 408).
En algunas implementaciones, mientras el usuario interactúa con la GUI de vista espacial, el controlador puede recibir un estado del dispositivo y/o medición de sensores recientes para uno o más de los dispositivos desplegados (operación 410). En respuesta a recibir estos nuevos datos, el controlador puede actualizar la GUI de vista espacial para presentar esta información al usuario, por ejemplo, al superponer los iconos del dispositivo y sus datos de estado y/o medición reciente sobre la representación visual del espacio de despliegue del dispositivo (operación 412).
La Figura 4B presenta un diagrama de flujo que ilustra un procedimiento 430 ilustrativo para mostrar y actualizar una interfaz gráfica de usuario (GUI) de vista espacial. Durante la operación, el controlador puede mostrar una GUI de vista espacial que ilustra una representación visual de un espacio de despliegue del dispositivo superpuesto con íconos de dispositivos y sus datos de estado y/o medición de sensores correspondientes (operación 432). Por ejemplo, el controlador puede presentar el estado del dispositivo mediante el uso de un ícono que indica si el dispositivo está activo (por ejemplo, que se utiliza), disponible pero inactivo (por ejemplo, que no se utiliza), o no responde (por ejemplo, apagado, sin conectividad de red, o mal funcionamiento). Además, el controlador puede presentar los datos de medición de sensores del dispositivo al mostrar un valor alfanumérico o cualquier imagen gráfica que represente el valor medido recientemente (por ejemplo, un valor numérico para una lectura de temperatura, o una imagen de un LED para un valor de encendido/apagado o cualquier valor binario).
En algunas implementaciones, el controlador puede determinar si ha recibido un estado o medición actualizado desde un dispositivo (operación 434). De ser así, el controlador puede actualizar la GUI de vista espacial para ilustrar el estado del dispositivo actualizado y/o la medición de sensores actualizada (operación 436). El controlador puede entonces volver a la operación 434 (por ejemplo, después de un período de retraso determinable) para recibir un estado o medición actualizado desde el mismo dispositivo o desde un dispositivo diferente.
De lo contrario, si el controlador no ha recibido un estado o medición actualizado, el controlador puede determinar si los datos de estado o medición mostrados actualmente han excedido el tiempo de espera (operación 438). Si los datos mostrados actualmente han excedido el tiempo de espera, el controlador puede actualizar la GUI de la vista espacial para eliminar los datos de tiempo de espera excedidos, y/o para indicar que los datos han excedido el tiempo de espera (operación 440). El controlador entonces puede volver a la operación 434 para determinar si ha recibido un estado o medición actualizado desde el mismo dispositivo o desde un dispositivo diferente.
La Figura 4C presenta un diagrama que ilustra una GUI de vista espacial 460 ilustrativa proporcionada por el controlador. La GUI 460 incluye un área de visualización central 462, un panel lateral 464, y un número de pestañas seleccionables, tales como una pestaña de espacios 466, una pestaña de datos 468, una pestaña de eventos 470, una pestaña de reglas 472, y una pestaña de dispositivos 474. El área de visualización central 462 muestra información, tal como imágenes, gráficos, y paneles de control, asociados con una pestaña seleccionada. En la Figura 4C, la pestaña seleccionada es la pestaña "espacios" 466, y el área de visualización central 462 muestra el diseño de un edificio que muestra las ubicaciones de un conjunto de dispositivos de interfaz (mPorts) y dispositivos físicos mediante el uso de los íconos adecuados. Por ejemplo, un ícono 476 representa un mPort, y un ícono 478 representa un sensor de temperatura.
En algunas implementaciones, un usuario puede cargar una imagen de vista espacial al seleccionar una imagen existente de un mapa o una habitación en el ordenador del usuario, o al tomar una imagen de una habitación mediante el uso de la cámara del teléfono inteligente del usuario. En algunas otras implementaciones, la imagen de vista espacial puede incluir una imagen capturada o una transmisión en tiempo real desde una cámara de seguridad. En algunas implementaciones, el usuario puede usar una imagen obtenida desde un servicio de mapas basado en Internet (por ejemplo, el servicio web Google Maps) para demostrar la ubicación de los mPorts y dispositivos físicos.
El contenido del panel lateral 464 se asocia además con la pestaña "espacios", y puede mostrar una lista de dispositivos disponibles que pueden arrastrarse a ubicaciones adecuadas en el espacio mostrado en el área de visualización central 462. En adición, un usuario puede arrastrar además un ícono del dispositivo (por ejemplo, un ícono para un dispositivo mPort) desde su ubicación actual en la imagen de vista espacial a una nueva ubicación. En la Figura 4C, el área de visualización central 462 incluye además un control deslizante de acercamiento 480 que puede usarse para acercar y alejar el mapa.
La Figura 4D presenta un diagrama que ilustra una GUI de vista espacial 480 ilustrativa proporcionada por el controlador. La GUI 480 incluye un área de visualización central 482, que puede mostrar una imagen seleccionada por el usuario de una habitación dentro de la que se despliegan un conjunto de sensores, o puede mostrar una transmisión en tiempo real desde una cámara de seguridad que cubre una porción deseada de la habitación, o una transmisión en tiempo real desde un dispositivo portátil del usuario.
El usuario puede arrastrar un ícono del dispositivo desde el panel lateral de la GUI 480 a una ubicación del área de visualización 482 asociada con el dispositivo correspondiente. El controlador puede almacenar una ubicación de visualización para el dispositivo, que permite que el sistema superponga el ícono del dispositivo sobre la misma ubicación del área de visualización 482 en relación con la imagen del "espacio". En algunas implementaciones, si el área de visualización 482 presenta una transmisión en tiempo real desde una cámara de seguridad de paneo/inclinación/acercamiento, el controlador puede ajustar la ubicación del ícono del dispositivo a lo largo del área de visualización 482 a medida que la cámara panea, se inclina, y/o se acerca. Esto provoca que el ícono del dispositivo parezca que permanece bloqueado en una porción o ubicación de la habitación. De forma similar, si el área de visualización 482 presenta una transmisión en tiempo real desde el dispositivo portátil del usuario, el controlador puede obtener coordenadas geográficas y una orientación para el dispositivo portátil. El controlador entonces determina un conjunto de íconos del dispositivo para mostrar, y puede ajustar la ubicación de los íconos del dispositivo a lo largo del área de visualización 482 a medida que el usuario mueve, panea, inclina, y/o acerca su cámara del dispositivo portátil.
En algunas implementaciones, un usuario puede interactuar con un ícono del dispositivo para controlar el tipo de información que se presenta, o para controlar el dispositivo de interfaz y/o el dispositivo físico asociado con el ícono de dispositivo. Por ejemplo, el ícono del dispositivo 484.1 corresponde a un dispositivo de medición de corriente para una lámpara montada en la pared. El usuario puede ver una cantidad de corriente que se consume por la lámpara para determinar si la bombilla de la lámpara se desgasta o se ha apagado. Además, los íconos del dispositivo 484.2 y 484.3 pueden corresponder a un termostato, y pueden indicar una temperatura ambiente actual y una medición de humedad, respectivamente.
El ícono del dispositivo 484.4 puede corresponder a un sensor que indica si una puerta se abre o se cierra, y el ícono del dispositivo 484.5 puede corresponder a un sensor de movimiento (por ejemplo, un sensor incorporado en un interruptor de luz). En la Figura 4D, el usuario ha activado el ícono del dispositivo 484.5, lo que provoca que el controlador muestre un nivel de movimiento detectado mediante el uso de un color dentro de un cuarto de círculo. El controlador superpone además un conjunto de íconos de control que rodean el ícono del dispositivo. Los íconos de control permiten que el usuario controle la información que se presenta desde el dispositivo correspondiente, y/o controle el dispositivo en sí mismo. Por ejemplo, los íconos de control pueden incluir: un ícono "gráfico"; un ícono "detalles"; un ícono "bloquear"; y un ícono "eliminar".
El ícono "gráfico" muestra un gráfico de valores codificados por colores que representan valores bajos, promedio, y/o altos o frecuencia de eventos en base al tipo de dispositivo. El ícono "detalles" permite que el usuario abra una ventana de vista de detalles para ver información detallada del dispositivo físico, tal como un nombre, modelo, e identificador de mPort para el dispositivo de interfaz, y un puerto asociado con el dispositivo físico. La información detallada puede incluir además datos de estado/sensor histórico, así como también eventos históricos. En algunas implementaciones, la ventana de vista de detalles permite además que el usuario controle el dispositivo, tal como encender o apagar una luz.
El ícono "bloquear" es para bloquear el sensor seleccionado a la ubicación actual en la imagen del espacio, y deshabilita la funcionalidad del ícono "eliminar" para el sensor mientras el ícono del sensor se bloquea. El ícono "eliminar" permite que el usuario elimine el sensor de la ubicación en el área de visualización 482.
Si el dispositivo es un sensor basado en serie, el controlador muestra además un ícono "cubierta", que permite que el usuario abra una cubierta de interfaz de línea de comandos para interactuar con o controlar el dispositivo.
La Figura 4E presenta un diagrama que ilustra una GUI de vista espacial 490 ilustrativa proporcionada por el controlador. La GUI 490 incluye un área de visualización central 492, que puede mostrar un mapa geográfico para una región geográfica seleccionada por el usuario. El controlador puede presentar un mapa, por ejemplo, desde un servicio de mapas basado en Internet (por ejemplo, el servicio web de Google Maps) al usuario, y el usuario puede interactuar con el mapa para navegar a una ubicación deseada al desplazarse y/o acercarse a una vista deseada para el área de visualización 492.
El usuario puede arrastrar un ícono del dispositivo desde el panel lateral de la GUI 490 a una ubicación del área de visualización 492 asociada con el dispositivo correspondiente. La GUI 490 incluye un conjunto de íconos de dispositivos ilustrativos, tales como un ícono del dispositivo de detección de movimiento 294, un ícono del dispositivo de detección de potencia 295, y un ícono del dispositivo de detección de temperatura 297. En algunas implementaciones, el controlador puede determinar una ubicación geográfica asociada con un ícono del dispositivo en base a la ubicación del área de visualización 492 en la que el usuario colocó el ícono del dispositivo. El controlador asocia esta ubicación geográfica con el dispositivo (por ejemplo, en un repositorio de ubicación del dispositivo), lo que permite que el controlador muestre el ícono del dispositivo en la misma ubicación del área de visualización 492 en relación con la imagen "espacio", incluso a medida que el usuario se desplaza o se acerca a través del espacio. Además, al atribuir una ubicación geográfica al ícono del dispositivo, el usuario puede monitorear y/o controlar el dispositivo mediante el uso de una aplicación de realidad aumentada en un dispositivo móvil.
Visualizaciones de dispositivos basados en la ubicación
En algunas implementaciones, el controlador permite que un usuario vea datos desde uno o más dispositivos en base a su ubicación o ubicación geográfica. El controlador puede determinar una ubicación geográfica del del sensor GPS (sistema de posicionamiento global) incorporado del dispositivo, al realizar la triangulación de Wi-Fi, o al obtener el identificador de ubicación del dispositivo o la ubicación geográfica de un repositorio de ubicación del dispositivo.
Por ejemplo, si el usuario usa una UI de mapa geográfico para ver los datos del dispositivo (por ejemplo, la GUI 490), el controlador puede superponer los datos de manera que incluya datos desde sensores asociados con la región geográfica cubierta por la UI del mapa. Si la UI del mapa se aleja de manera que múltiples íconos de dispositivos se superpongan, el controlador puede reemplazar los íconos de dispositivos superpuestos con un ícono del dispositivo agregado. En algunas implementaciones, el ícono del dispositivo agregado indica un número de dispositivos que se superponen dentro de la región correspondiente. En algunas implementaciones, si el ícono del dispositivo agregado reemplaza los íconos para dispositivos del mismo tipo, el controlador puede generar el ícono del dispositivo agregado de manera que indique un valor agregado. El valor agregado puede indicar, por ejemplo, una medición de sensores media o mediana, una suma de las mediciones de sensores, o cualquier resultado calculado de las mediciones de sensores mediante el uso de una función matemática.
Entonces, si el usuario se acerca más en el mapa de manera que uno o más de los dispositivos ya no se superpongan con otros dispositivos, el controlador puede actualizar los íconos superpuestos como sea necesario. Por ejemplo, el controlador puede actualizar la UI del mapa para mostrar los íconos de dispositivos no superpuestos explícitamente, y para generar el ícono del dispositivo agregado de manera que indique un valor calculado de los íconos de dispositivos superpuestos restantes.
En algunas implementaciones, el controlador puede proporcionar datos del dispositivo a un dispositivo móvil del usuario para mostrar dentro de una visualización de realidad aumentada. Similar a la GUI 490 (Figura 4E), el controlador proporciona al dispositivo móvil con datos de dispositivo para dispositivos de interfaz y/o dispositivos físicos que están dentro del área de visualización de la UI (por ejemplo, dentro de la vista actual del usuario). Debido a que el usuario puede apuntar su cámara del dispositivo móvil en una dirección que incluye dispositivos distantes (por ejemplo, sensores de temperatura distribuidos a través de una ciudad), el controlador sólo puede proporcionar al dispositivo móvil con datos para dispositivos dentro de una distancia umbral del dispositivo móvil del usuario.
Similar a la UI 480 (Figura 4D), el dispositivo móvil del usuario superpone los íconos del dispositivo en la parte superior de una transmisión de imágenes en tiempo real capturada desde la cámara del dispositivo móvil. A medida que el usuario panea, inclina, o acerca su cámara del dispositivo móvil, el sistema de realidad aumentada actualiza los íconos del dispositivo superpuestos para sólo incluir íconos para aquellos dispositivos que están dentro del campo de visión del usuario. El sistema de realidad aumentada selecciona los íconos para superponer en la parte superior de las imágenes capturadas en base a la orientación y la ubicación geográfica para el dispositivo móvil del usuario, así como también las ubicaciones geográficas conocidas para los dispositivos de interfaz y dispositivos físicos. El usuario puede interactuar con un ícono del dispositivo para controlar el tipo de información que se presenta, o para controlar el dispositivo de interfaz y/o dispositivo físico asociado con el ícono del dispositivo.
Reglas de generación y procesamiento
La Figura 5A presenta un diagrama de flujo que ilustra un procedimiento 500 ilustrativo para generar y almacenar reglas para controlar un dispositivo de interfaz o un dispositivo físico. Una regla puede incluir una condición, o puede incluir una pluralidad de condiciones. Por ejemplo, un único dispositivo puede asociarse con dos o más condiciones, o puede existir una pluralidad de dispositivos que se asocien cada uno con al menos una condición. Una regla puede incluir además una acción que debe realizarse cuando se cumplan las condiciones.
Durante la operación, el controlador puede recibir (por ejemplo, a través de una GUI de vista de reglas) una selección desde un usuario para uno o más dispositivos para monitorear (operación 502). Un dispositivo de interfaz puede incluir un dispositivo de interfaz mPort, un dispositivo de interfaz mPower o mOutlet, o un dispositivo de interfaz mSwitch o mDimmer.
Como se mencionó anteriormente, el dispositivo de interfaz mPower o mOutlet puede implementar una regleta de alimentación que puede proporcionar al controlador con una cantidad de potencia que se consume por cada una de sus salidas, y puede controlar la potencia a una salida en base a un resultado de procesamiento de una descripción de acción de la regla. El dispositivo o controlador de interfaz puede determinar de las mediciones de potencia si se usa un cierto electrodoméstico o está en modo de espera. Por lo tanto, el usuario puede seleccionar una salida de la regleta de alimentación para monitorear el estado operativo de un electrodoméstico correspondiente que se alimenta por la salida seleccionada, y el usuario puede especificar un valor de tensión como la condición para activar una acción.
El dispositivo de interfaz mPort puede interactuar con uno o más sensores físicos para obtener un valor analógico o digital de cada sensor. Por lo tanto, el usuario puede seleccionar un sensor acoplado al dispositivo de interfaz, y puede especificar un valor sin procesar (o una etiqueta descriptiva asociada con el valor sin procesar) como la condición para activar una acción.
El controlador puede recibir además un valor de condición para cada uno de uno o más dispositivos o condiciones anidadas (operación 504), y un tipo de procesamiento de condición, que indica cómo procesar las condiciones del uno o más dispositivos (operación 506). Por ejemplo, el tipo de procesamiento de condiciones puede indicar que se cumplen las condiciones de la regla cuando se han cumplido ya sea cualesquiera, todos, o un cierto número de los elementos de condición individuales (por ejemplo, ninguno, uno, dos, todos, etc.). En algunas implementaciones, un elemento de condición puede incluir un valor objetivo para un dispositivo físico que se monitorea.
En algunas implementaciones, un elemento de condición puede incluir una condición anidada, que tiene un tipo de condición en sí misma. Por lo tanto, una condición de la regla puede implementar sentencias lógicas complejas, tales como una expresión lógica de suma de productos (SoP) o un producto de sumas (PoS). Como un ejemplo, la condición de la regla puede incluir una condición de nivel superior que indica que todos los elementos de condición necesitan cumplirse (por ejemplo, implementar una expresión lógica "Y"), y una condición anidada puede indicar que al menos uno de los elementos de condición anidada necesita cumplirse (por ejemplo, implementar una expresión lógica "O").
En algunas otras implementaciones, un elemento de condición puede incluir una condición de "programación", que indica una instancia de tiempo o intervalo de tiempo durante el que puede procesarse la regla. Un dispositivo de interfaz puede usar el tiempo de una programación (por ejemplo, un tiempo de inicio) para activar la evaluación de la regla, y/o para determinar si la regla puede procesarse si la regla se activa por otro evento (por ejemplo, por un elemento de condición asociado con un dispositivo físico).
Además, el controlador puede recibir una descripción de acción para una acción deseada (operación 508). El usuario puede proporcionar la descripción de acción al interactuar con una GUI de vista de reglas para indicar una o más acciones que deben tomarse por uno o más dispositivos de interfaz. Estas acciones pueden incluir establecer una tensión de salida para un cierto puerto del dispositivo de interfaz a un valor objetivo predeterminado. En algunas implementaciones, la descripción de acción puede estar en la forma de un script que debe ejecutarse por uno o más dispositivos de interfaz de destino.
Una vez que el usuario ha configurado los elementos de la regla, el controlador puede generar la regla, que activa la acción deseada en respuesta a las condiciones que se cumplen como se indica por el tipo de procesamiento de condición (operación 510). El controlador entonces almacena la regla generada en un repositorio de reglas (operación 512), por ejemplo, en un dispositivo de interfaz y/o dentro de una base de datos de un servidor de aplicaciones.
La Figura 5B presenta un diagrama que ilustra una vista ilustrativa de la interfaz gráfica de usuario (GUI) del controlador. Como la Figura 4C, la GUI 550 incluye el área de visualización central, el panel lateral, y las pestañas seleccionables. En la Figura 5B, la pestaña seleccionada es la pestaña "acción", que permite que el usuario defina un conjunto de reglas. El panel lateral muestra una lista de reglas definidas anteriormente, tal como una regla de puerta abierta 552. Al hacer clic en una regla, el usuario puede ver la regla en el área de visualización central, que incluye un campo de nombre de regla 554, un campo de condición 556, y un campo de acción 558.
El campo de condición 556 incluye un conjunto de elementos de condición que pueden activar la evaluación de la regla y que se analizan para determinar si procesar la descripción de acción de la regla. Campo de condición 556 can. Un elemento de condición puede incluir la variable que selecciona un dispositivo o condición anidada, y puede incluir otra variable que define qué condiciones asociadas con el dispositivo o la condición activarán la regla. El campo de condición 556 puede definir además si la regla se activa al cumplir cualesquiera o todos los elementos de condición enumerados (no mostrados).
En el ejemplo ilustrado en la Figura 5B, el nombre de la regla es "Regla 123", un primer dispositivo asociado con la regla es "Salida 1", y el valor de condición correspondiente indica que la potencia de salida necesita ser mayor que 1 watt para que se satisfaga el elemento de condición. Un segundo dispositivo asociado con la regla es un "Sensor" que monitorea una señal de entrada analógica, y el usuario puede establecer un valor de condición correspondiente que indica una tensión mínima que necesita alcanzarse para que se satisfaga el elemento de condición. El usuario puede agregar un elemento de condición para otro dispositivo físico o de interfaz al seleccionar un botón "agregar" 562. Además, el usuario puede agregar un elemento de condición que indica una programación para la regla al seleccionar un botón "programación" 564.
El campo de acción 558 muestra las acciones a tomarse una vez que se cumplan las condiciones. En el ejemplo ilustrado en la Figura 5B, una vez que se cumplen las condiciones, el sistema puede provocar que la Salida 1 permanezca encendida durante 10 segundos, y puede configurar un dispositivo físico de "ventilador de piso" para encenderse durante 0,08 minutos. El usuario puede agregar además otras acciones al campo de acción 558, tales como ejecutar un script, configurar una salida de un dispositivo de interfaz (por ejemplo, una salida que controla el "ventilador de piso"), y/o enviar una notificación (por ejemplo, al enviar un correo electrónico a una dirección de correo electrónico especificada y/o genera una alerta del sistema).
Además, el usuario puede usar la GUI 550 para editar y actualizar una regla 552 existente, para definir una nueva regla al hacer clic en un botón de nueva regla 560, y/ o para habilitar o deshabilitar una regla.
La Figura 5C presenta una interfaz de usuario 560 que ilustra condiciones predefinidas ilustrativas que pueden incorporarse en un conjunto de condiciones de reglas. Específicamente, los conjuntos de condiciones 562 incluyen un conjunto de condiciones asociadas con diversos contextos físicos. Por ejemplo, las condiciones "movimiento por la ventana 2", "movimiento por la ventana 3", "movimiento de la habitación de conferencias", "Movimiento: mFi Lab 1" se evalúan como "verdaderas" cuando un detector de movimiento ha detectado un movimiento cerca de un espacio físico específico. La condición "detector de haz" se evalúa como "verdadera" cuando se ha roto un haz infrarrojo, lo que indica que un objeto ha pasado a través de una ubicación específica (por ejemplo, en un umbral de puerta). La condición "Puerta 1" y "Puerta 2" se evalúan como "verdaderas" cuando se deja abierta una puerta correspondiente.
Además, el conjunto de "programaciones" 564 puede indicar una pluralidad de programaciones de tiempo asociadas con un contexto de usuario. Por ejemplo, una programación de "horario nocturno" puede indicar cuándo las lámparas no deben encenderse dentro de un edificio o espacio dado, y una programación de "seguridad" puede corresponder a un período de tiempo cuando no se espera que nadie esté dentro de un edificio dado. Un "patio trasero de agua" y un "patio delantero de agua" pueden indicar un intervalo de tiempo cuando los rociadores pueden activarse para regar un patio trasero, o un patio delantero, respectivamente.
La Figura 6A presenta un diagrama que ilustra una GUI de vista del dispositivo 600 ilustrativa del controlador. En la Figura 6A, la pestaña seleccionada es la pestaña "dispositivo", y el área de visualización central de la GUI 600 muestra dos paneles para ver datos relacionados con un conjunto de dispositivos. Específicamente, el panel 602 muestra una lista de dispositivos físicos que el usuario puede monitorear, y un panel 604 muestra una lista de dispositivos de interfaz (mPorts) asociados con el usuario. El usuario puede interactuar con la GUI 600 para agregar o eliminar manualmente dispositivos físicos y/o de interfaz, y para ver un estado operativo actual para estos dispositivos.
La Figura 6B presenta un diagrama que ilustra una GUI de vista de datos 630 ilustrativa del controlador. La GUI 630 incluye un área de visualización central, un panel lateral, y un conjunto de pestañas seleccionables asociadas con diversas vistas. En la Figura 6B, la pestaña seleccionada es la pestaña "datos", que permite que el usuario vea los datos recopilados de uno o más dispositivos físicos y de interfaz.
El panel lateral muestra tres paneles de selección: un panel de intervalo de fechas 632, un panel de selección de vista 634, y un panel de dispositivos 636. El panel de dispositivos 636 muestra una lista de dispositivos disponibles categorizados por tipo. Al hacer clic en uno o más dispositivos, un usuario puede ver los datos para los dispositivos en el área de visualización central. El usuario puede usar el panel de intervalo de fechas 632 para especificar un período de tiempo para los datos mostrados, y puede usar el panel de selección de vista 634 para crear una vista personalizada de los datos dentro del período de tiempo especificado. Si el usuario crea una vista personalizada, el sistema puede reusar la vista personalizada para presentar los datos al usuario en el formato deseado por el usuario. En la vista ilustrativa proporcionada en la Figura 6B, el área de visualización central muestra dos gráficos que muestran la temperatura vs. el tiempo para dos sensores de temperatura seleccionados.
En algunas implementaciones, el área de visualización central puede mostrar además los datos de sensores históricos en un mapa o espacio (no mostrado). Por ejemplo, el usuario puede seleccionar un período de tiempo o intervalo de tiempo, y el sistema puede actualizar la GUI 630 para colocar un valor del sensor (por ejemplo, un valor del sensor promedio o un gráfico de valores del sensor) cercano a un ícono del dispositivo superpuesto sobre una imagen para el mapa o espacio. La GUI 630 puede presentar además al usuario con un conjunto de eventos que se activaron por los dispositivos con el tiempo. El usuario puede seleccionar un botón "reproducir", "rebobinar", o "avanzar rápido" para seleccionar una velocidad para ver cómo se activaron las notificaciones de eventos del sensor con el tiempo, y/o ver cómo cambian los valores del sensor con el tiempo. Alternativamente, el usuario puede controlar un depurador para seleccionar una instancia de tiempo o intervalo de tiempo específicos para los que se muestran los eventos del sensor y/o valores del sensor.
La GUI 630 habilita además funciones de mouse-over que permiten que un usuario use el ratón para desplazarse sobre la línea de tiempo de datos para ver detalles específicos y hacer clic y resaltar áreas específicas de la línea de tiempo para acercarse a una sección específica de la línea de tiempo. En una implementación, aparece un ícono de lupa a medida que el usuario desplaza un puntero del ratón sobre la línea de tiempo de datos, y el marco de tiempo seleccionado por el usuario se resaltará a medida que el usuario haga clic y arrastre el puntero del ratón a través de la línea de tiempo. Una vez que el usuario completa su selección de marco de tiempo, todos los dispositivos en la vista se acercarán en el marco de tiempo seleccionado.
La Figura 6C presenta un diagrama que ilustra una GUI de vista de eventos 660 ilustrativa del controlador. La GUI 660 incluye un área de visualización central, un panel lateral, y un conjunto de pestañas seleccionables. La pestaña seleccionada en la GUI 660 es la pestaña "evento", que permite que el usuario vea eventos históricos asociados a un conjunto de dispositivos. Note que un evento se refiere a una ejecución única de una regla.
El panel lateral muestra tres paneles: un panel de filtro 662; un panel de intervalo de fechas 664; y un panel de dispositivos 666. El área de visualización central muestra la información de eventos históricos. El panel de dispositivos 666 muestra una lista de dispositivos disponibles categorizados por tipo, y el usuario puede seleccionar uno o más dispositivos para los que ver datos de eventos históricos. El panel de filtro 662 permite que el usuario filtre datos mediante el uso criterios de búsqueda específicos. Más específicamente, un usuario puede ingresar una cadena de texto en el panel de filtro 662, y el controlador usa la cadena de texto ingresada para realizar una búsqueda en tiempo real al eliminar datos de eventos que no coinciden con la cadena de texto ingresada. El usuario puede usar además el panel de intervalo de fechas 664 para especificar un período de tiempo para el dato del evento que debe mostrarse en el área de visualización central. El controlador no muestra eventos que ocurrieron fuera del período de tiempo especificado.
En la GUI 660, el área de visualización central incluye múltiples regiones de visualización, tales como las regiones 668, 670, y 672. La región 668 usa un gráfico de barras para mostrar una distribución temporal de los eventos generados durante el marco de tiempo especificado. Cada barra representa eventos que ocurrieron dentro de una unidad de tiempo, que por defecto se establece en bloques de tiempo de 2-horas. Un usuario puede hacer clic en una barra para mostrar los eventos asociados con el bloque.
La región 670 muestra un gráfico circular que muestra una distribución basada en el dispositivo para eventos que ocurrieron durante el período de tiempo especificado. El controlador puede actualizar el gráfico de distribución temporal y el gráfico de distribución del dispositivo cada vez que el usuario modifique los criterios de búsqueda o filtro. La región 672 es la región de visualización principal que muestra la lista de eventos que se ajustan a los criterios de búsqueda o filtro. Cada entrada de eventos indica: un campo de tiempo que muestra la fecha y el tiempo cuando ocurrió el evento; un campo del dispositivo que muestra el nombre del dispositivo que generó el evento; un campo de tipo que muestra el tipo de evento; un campo de valor que muestra el valor que activó el evento; y un campo de nombre de regla que muestra el nombre de la regla que activó el evento. Cuando el usuario desplaza el ratón sobre un evento, el controlador puede responder al mostrar una ventana que presenta la ubicación actual del dispositivo en un "espacio" correspondiente (por ejemplo, al superponer un ícono del dispositivo en un mapa, una imagen almacenada, o sobre una transmisión de video en tiempo real para un "espacio"), una instantánea de valores de 24-horas, cuando ocurrió el evento, el valor de alarma, y el último valor informado, como se muestra por una región 674.
Funcionalidad de tiempo de ejecución del dispositivo de interfaz
La Figura 7 presenta un diagrama de flujo que ilustra un procedimiento 700 ilustrativo para procesar una regla en un dispositivo de interfaz local. Durante la operación, el dispositivo de interfaz local puede detectar un evento de activación de reglas (operación 702), y selecciona una regla asociada con el evento detectado (operación 704). El dispositivo puede recibir el evento desde un dispositivo remoto, o puede detectar el evento localmente, tal como al monitorear un dispositivo físico conectado localmente y/o monitorear una condición de programación que activa una regla. Para seleccionar la regla que se activa por el evento, el dispositivo local puede realizar una operación de búsqueda de reglas que selecciona, desde el repositorio de reglas, al menos una regla que incluye una condición asociada con el evento detectado. Por ejemplo, el dispositivo remoto puede incluir un dispositivo mPort que recibe entradas desde un sensor de puerta, y el dispositivo de interfaz local puede seleccionar una o más reglas cuyas acciones se activan cuando el sensor de puerta indica que la puerta se abre o se cierra.
En algunas implementaciones, una condición puede incluir una pluralidad de variables de sensores que necesitan evaluarse para determinar si se cumple la condición. Además, la condición puede incluir además una referencia a una condición anidada, y el dispositivo necesita evaluar primero la condición anidada para determinar su resultado. Una vez que el dispositivo local selecciona la regla para procesar, el dispositivo local puede determinar si la condición de la regla requiere otros datos de entrada (operación 706). La regla puede incluir uno o más elementos de condición asociados con, por ejemplo, un dispositivo físico (por ejemplo, un sensor de movimiento), una condición de programación, y/o una condición anidada. Si la condición de la regla no requiere otras entradas, el dispositivo local puede procesar la regla mediante el uso de los datos recibidos que indican datos de estado o medición recientes desde el dispositivo de interfaz remoto (operación 712).
Sin embargo, si la condición de la regla requiere otras entradas, el dispositivo local puede determinar otras fuentes de datos de entrada para la regla (operación 708), tales como datos de sensores, datos de programación de reglas, o un resultado de una condición anidada. El dispositivo local entonces obtiene los datos necesarios para las otras fuentes de datos de entrada (operación 710), y pasa a la operación 712 para procesar la regla mediante el uso de los datos de estado y/o medición obtenidos asociados con la regla.
Después de procesar la regla, el dispositivo local puede determinar si las condiciones de la regla se han satisfecho por los datos de estado del dispositivo y/o medición (operación 714). De ser así, el dispositivo local puede procesar una descripción de acción asociada con la regla (operación 716). De lo contrario, el dispositivo local puede ignorar la regla o realizar una acción correctiva (por ejemplo, ignorar la regla durante un período de tiempo determinable).
La descripción de acción, por ejemplo, puede incluir un comando para configurar uno o más dispositivos intermedios de destino o dispositivos físicos en un estado predeterminado. Como otro ejemplo, la descripción de acción puede incluir un script que realiza una operación compleja. En algunas implementaciones, el script puede calcular un estado de destino para el dispositivo local al ejecutar una secuencia de instrucciones para procesar el estado reciente y/o histórico y las mediciones desde uno o más dispositivos físicos. El dispositivo local determina además si existen más reglas asociadas con el estado o medición actualizados (operación 718), y puede volver a la operación 704 para seleccionar otra regla si existe.
Note que es posible que dos reglas con condiciones superpuestas (por ejemplo, condiciones que permiten que ambas realicen sus acciones) tengan acciones conflictivas. Una acción de la regla puede implicar encender una luz, mientras la acción de la otra regla puede implicar apagar la misma luz. Si ambas reglas se procesaran en "paralelo", la ejecución de las dos reglas puede realizarse en cualquier orden (no necesariamente simultáneamente), de manera que una acción de la regla no afecte la siguiente ejecución de la regla. En el ejemplo anterior para controlar la luz, si se cumplen las condiciones de ambas reglas y ambas reglas se ejecutan sustancialmente en paralelo, el estado final de la luz depende de qué regla se procese en segundo lugar. Este orden inesperado de ejecución puede provocar un comportamiento inesperado.
En algunas implementaciones, el dispositivo local procesa una regla a la vez, y las procesa en un orden especificado por el usuario. Por ejemplo, el dispositivo local realiza la operación 718 para seleccionar otra regla en un conjunto sólo ordenado después de realizar las operaciones 714 y/o 716 para procesar la regla anterior. Además, si ejecutar una regla cambia un estado del dispositivo, la siguiente regla del conjunto ordenado se procesa de acuerdo con el nuevo estado del dispositivo. Las reglas de procesamiento de este modo garantizan que sólo hay un comportamiento esperado para cada estado/medición actualizado que se obtiene desde un dispositivo de interfaz. Implementación basada en la nube
En algunas implementaciones, el controlador reside y opera dentro de un grupo de servidores (por ejemplo, la "nube"). El controlador puede monitorear y controlar dispositivos de interfaz para una pluralidad de usuarios diferentes al comunicarse con cada dispositivo de interfaz mediante el uso de paquetes IP a través de una red de área amplia, tal como el Internet. Cuando un usuario despliega primero un dispositivo de interfaz dentro de su LAN, el usuario puede vincular el dispositivo de interfaz con su cuenta personal en el controlador. Por ejemplo, el usuario puede ingresar su número de cuenta y contraseña personal cuando configura el dispositivo de interfaz. Alternativamente, el usuario puede vincular su dispositivo de interfaz sin revelar su contraseña, por ejemplo, al registrar su identificador único del dispositivo de interfaz (por ejemplo, una dirección MAC) con el controlador, o al autorizar el dispositivo de interfaz a través de un protocolo de autorización abierta.
Además, si el usuario desea interactuar con el controlador para monitorear o controlar uno o más dispositivos dentro de su LAN, el usuario puede acceder a una UI para el controlador a través de un navegador Web, o mediante el uso de una aplicación que interactúa con las APIs del controlador Web (por ejemplo, mediante el uso de una aplicación móvil para un teléfono inteligente u ordenador de tableta, o mediante el uso de una aplicación de software en un ordenador personal).
La Figura 8 ilustra un sistema informático 800 ilustrativo para interconectar un controlador 802 dentro de un grupo de servidores con dispositivos dentro de una LAN 808. El sistema informático 800 incluye el controlador 802 acoplado a una WAN 804. El sistema informático 800 incluye además un dispositivo de interfaz 810 y un dispositivo informático 812 dentro de una LAN 808, e incluye un enrutador/cortafuego 806 que separa la LAN 808 de la Wa N 804.
Durante la operación, los dispositivos dentro de la LAN 808 pueden establecer una conexión de red con el controlador 802, o con uno o más dispositivos pares dentro de la LAN 808. Por ejemplo, el controlador 802 puede almacenar información de direccionamiento de red en una base de datos para cada dispositivo, y mantiene la información de direccionamiento de red actualizada para facilitar comunicarse con estos dispositivos. Esto permite que un usuario use un ordenador personal (por ejemplo, el dispositivo informático 812) para reconfigurar uno o más dispositivos de interfaz dentro de la LAN 808, y/o una o más reglas para los dispositivos de interfaz. El ordenador personal del usuario puede incluir una aplicación de software que proporciona una UI para monitorear y/o configurar la red de interfaz del dispositivo, y carga cualesquiera configuraciones al controlador 802. El ordenador personal del usuario puede incluir además un navegador Web que accede a la UI desde el controlador 802.
Cuando el usuario ingresa y asigna los cambios de configuración a la red de interfaz del dispositivo, el controlador 802 compila las configuraciones del usuario en una configuración específica del dispositivo para uno o más dispositivos cuya configuración necesita actualizarse, y envía la configuración actualizada a estos dispositivos de interfaz a través de la información de direccionamiento de red asociada con su conexión de red correspondiente. La configuración específica del dispositivo puede incluir una actualización de la configuración de red del dispositivo de interfaz, configuraciones de reglas, información de direccionamiento de red para uno o más dispositivos pares (por ejemplo, para suscribirse a datos que sirven como entradas a una o más reglas), etc.
Además, en algunas implementaciones, cada dispositivo dentro de la LAN 808 puede establecer además una conexión de red con cualquier dispositivo con el que tiene una suscripción de datos, y/o con cualquier dispositivo que se suscribe a sus datos. El dispositivo puede funcionar como un servidor para recibir y responder a solicitudes de datos, desde un dispositivo par (o desde el controlador 802). El dispositivo puede funcionar además como un dispositivo cliente, ya que puede recibir datos no solicitados (o una solicitud de datos) desde un dispositivo remoto, y puede usar información de direccionamiento de red asociada con una conexión de red con el dispositivo remoto para enviar datos en tiempo real al dispositivo remoto. Por lo tanto, incluso si la LAN 808 se desconecta de la WAN 804 (y por lo tanto, del controlador 802), los dispositivos dentro de la LAN 808 pueden continuar comunicándose entre sí mediante el uso de las conexiones punto a punto establecidas, y funcionar tanto servidores como clientes.
Durante la operación, el controlador 802 puede recibir paquetes IP desde el dispositivo 810 o el dispositivo 812 a través de un canal de túnel de puerto 814.1 o un canal de túnel de puerto 814.2, respectivamente. En algunas implementaciones, los canales de túneles de puertos 814 pueden incluir conexiones de red creadas por solicitudes de sondeo largo que abren temporalmente un puerto dentro del enrutador/cortafuego 806 (por ejemplo, creado por protocolos tales como STUN (Utilidades transversales de sesión para la NAT), Comet, etc.). Estas solicitudes de sondeo largo abren temporalmente un puerto dentro del enrutador/cortafuego 806 que puede usarse por el controlador 802 para emitir un paquete de respuesta.
Por ejemplo, en algunas implementaciones, el controlador 802 necesita enviar datos no solicitados al dispositivo de interfaz 810 (por ejemplo, datos en tiempo real o una configuración para el dispositivo 810), o enviar datos no solicitados al dispositivo informático 812 (por ejemplo, datos en tiempo real). Los dispositivos dentro de la LAN 808 pueden mantener una conexión de red persistente con el controlador 802 al comunicar periódicamente un mensaje/solicitud de sondeo largo al controlador 802 (por ejemplo, un mensaje XHR cuando se usa Comet, o un mensaje STUN cuando se usa STUN). El mensaje indica un identificador único para el dispositivo (por ejemplo, una dirección MAC), que el controlador 802 usa para almacenar el puerto de comunicación más reciente para el dispositivo dentro de un repositorio de acceso al dispositivo.
En algunas otras implementaciones, los canales de túneles de puerto 814 pueden incluir la conexión de red persistente y bidireccional, tal como un canal establecido mediante el uso del protocolo de WebSocket. Para establecer el canal WebSocket, el dispositivo dentro de la LAN 808 envía al controlador 802 una solicitud de protocolo de enlace WebSocket, que actualiza una sesión de HTTP a una sesión de WebSocket e incluye un código Sec-WebSocket-Key para el controlador 802. El controlador 802 responde al enviar al dispositivo una respuesta que reconoce la sesión de WebSocket, e incluye un código Sec-WebSocket-Accept que se deriva del código Sec-WebSocket-Key.
Recuerde que cada dispositivo asociado con la red de dispositivos de interfaz (por ejemplo, el controlador 802, el dispositivo 810, o el dispositivo 812) incluye un repositorio de acceso a dispositivos que incluye información de acceso al dispositivo para cada dispositivo informático o dispositivo de interfaz de la red. En algunas implementaciones, el repositorio de acceso al dispositivo asocia un identificador único del dispositivo con uno o más de: un número de puerto asociado con el dispositivo en el enrutador/cortafuego 806, una dirección IP para alcanzar el enrutador/cortafuego 806 (por ejemplo, una dirección IP WAN), y una dirección IP para alcanzar el dispositivo dentro de la LAN 808. Por ejemplo, cuando el controlador 802 necesita enviar un paquete de datos al dispositivo 810 o el dispositivo 812, el controlador 802 puede determinar la dirección IP necesaria y un número de puerto reciente para el dispositivo desde el repositorio de acceso al dispositivo. El controlador 802 entonces puede enviar el paquete de datos a la dirección IP a través del número de puerto reciente del enrutador/cortafuego 806.
Comunicación de datos en tiempo real a través de una conexión de red punto a punto
En algunas implementaciones, un dispositivo de interfaz dentro de la LAN 808 puede comunicar datos en tiempo real a dispositivos pares al obtener la información de acceso al dispositivo para un dispositivo par desde el repositorio de acceso al dispositivo. La información de acceso al dispositivo puede indicar una dirección de red asociada con una conexión de red con el dispositivo par de destino, y puede indicar información de autorización para el dispositivo de interfaz local (por ejemplo, un nombre de usuario, una contraseña, y/o un certificado). Si la conexión de red con el dispositivo par está activa, el dispositivo de interfaz local puede enviar los datos al dispositivo par a través de la conexión de red, y mediante el uso de cualquier información de autorización requerida.
Si la conexión de red con el dispositivo par no está activa, el dispositivo de interfaz local puede establecer la conexión de red punto a punto, por ejemplo, al obtener información de acceso al dispositivo para el dispositivo par desde un controlador central. Esta conexión de red punto a punto proporciona la comunicación robusta entre dispositivos pares, ya que no requiere que los dispositivos se comuniquen a través de la WAN 804, y no requiere un servicio de reenvío central (por ejemplo, el controlador 802) para mantener o completar la conexión de red entre los dispositivos de interfaz pares.
Comunicación de datos en tiempo real a través de un servicio de reenvío
En algunas implementaciones, un dispositivo de interfaz dentro de la LAN 808 puede no ser capaz de establecer una conexión de red punto a punto, por ejemplo, cuando dos dispositivos pares residen dentro de dominios de red diferentes. En este caso, el dispositivo de interfaz local puede comunicar datos en tiempo real a los dispositivos pares mediante el uso de un servicio de reenvío, que puede proporcionarse por el controlador 802, o puede proporcionarse por un servidor que se separa del controlador 802 (no mostrado).
La información de acceso al dispositivo puede indicar información de direccionamiento de red asociada con una conexión de red con el servicio de reenvío, un identificador único para el dispositivo par, e información de autorización para el dispositivo de interfaz local (por ejemplo, un nombre de usuario, una contraseña, y/o un certificado). Por ejemplo, si el dispositivo local no tiene una conexión de red con el dispositivo par, el dispositivo de interfaz local puede enviar los datos al dispositivo par a través del servicio de reenvío, y mediante el uso de cualquier información de autorización requerida. Esto permite que dos dispositivos pares comuniquen datos en tiempo real entre sí, incluso cuando los dos dispositivos no están dentro del mismo dominio de red.
Como un ejemplo adicional, el dispositivo de interfaz local puede recibir datos en tiempo real desde una pluralidad de dispositivos pares a través de la conexión de red con el servicio de reenvío. El servicio de reenvío puede mantener una conexión de red con cada dispositivo de interfaz, y puede usar una conexión de red con un dispositivo de interfaz respectivo para enviar datos en tiempo real desde cualquier otro dispositivo par al que se ha suscrito el dispositivo respectivo. Esto permite que el dispositivo de interfaz reciba datos en tiempo real desde una pluralidad de dispositivos pares, sin mantener una conexión de red con cada dispositivo par individual.
En algunas implementaciones, el dispositivo informático personal de un usuario puede comunicarse directamente con los dispositivos de interfaz, o a través de un servicio de reenvío de datos si no está disponible una conexión de red directa. Cuando el usuario enciende el dispositivo informático (o inicia una aplicación de monitoreo del dispositivo), el dispositivo informático puede usar la información de direccionamiento de red que el dispositivo del usuario almacena para una instantánea anterior de la configuración de red para comunicarse con otros dispositivos. El dispositivo informático del usuario puede obtener además la información de direccionamiento de red desde el controlador central si la información no está disponible localmente.
La Figura 9 presenta un diagrama de flujo que ilustra un procedimiento 900 ilustrativo para establecer una conexión de red con un dispositivo remoto en base a la información de direccionamiento de red recibida desde un controlador central para el dispositivo remoto. Como se mencionó anteriormente, la conexión de red puede incluir un canal bidireccional establecido mediante el uso del protocolo de WebSocket, o una conexión de red que se mantiene mediante el uso del protocolo de STUN, el protocolo de Comet, o cualquier otro protocolo de comunicación ahora conocido o desarrollado más adelante.
Durante la operación, el dispositivo informático del usuario determina un dispositivo remoto con el que establecer comunicación (operación 902), y determina si el dispositivo informático tiene información de direccionamiento de red para el dispositivo de interfaz remoto (operación 904). El dispositivo informático puede determinar que necesita establecer una conexión de red con un dispositivo remoto en respuesta a la interacción del usuario con una interfaz de usuario para monitorear, configurar, y/o controlar los dispositivos de interfaz. El dispositivo informático del usuario puede determinar si tiene información de direccionamiento de red para el dispositivo remoto, por ejemplo, al buscar una entrada correspondiente del repositorio de acceso al dispositivo.
De ser así, el dispositivo informático establece una conexión de red con el dispositivo remoto en base a la información de direccionamiento de red (operación 908), tal como una conexión de red punto a punto, o una conexión de red a través de un servicio de reenvío de datos.
Sin embargo, si el dispositivo informático no tiene la información de direccionamiento de red, el dispositivo informático obtiene la información de direccionamiento de red para el dispositivo remoto desde el controlador (por ejemplo, el controlador 802 de la Figura 8) (operación 906). El dispositivo informático entonces pasa a la operación 908 para establecer la comunicación con el dispositivo remoto en base a la información de direccionamiento de red.
La Figura 10 presenta un diagrama de flujo que ilustra un procedimiento 1000 ilustrativo para establecer una conexión de red con un dispositivo remoto en base a una información de direccionamiento de red almacenada para el dispositivo remoto. Durante la operación, el dispositivo informático del usuario determina la información de direccionamiento de red para un dispositivo remoto (operación 1002), y prueba una conexión punto a punto con el dispositivo remoto en base a la información de direccionamiento de red (operación 1004). En algunas implementaciones, el dispositivo informático puede probar la conexión punto a punto al enviar una solicitud para acceder a un archivo predeterminado desde el dispositivo par. El archivo puede incluir cualquier archivo que se espera que se almacene por el dispositivo remoto de destino, de manera que una solicitud exitosa confirme que el dispositivo de interfaz deseado es accesible a través de la conexión punto a punto.
El dispositivo informático entonces determina si logró establecer una conexión punto a punto con el dispositivo remoto (operación 1006). De ser así, el dispositivo informático se comunica con el dispositivo remoto a través de la conexión de red punto a punto establecida (operación 1008). De lo contrario, el dispositivo informático puede establecer un canal de comunicación con el dispositivo remoto a través de un servicio de reenvío de datos (operación 1010).
Autenticación del dispositivo y seguridad de la comunicación
En algunas implementaciones, para establecer una conexión de red punto a punto, un dispositivo en un extremo de la conexión de red necesita autorizarse o autenticarse por el otro dispositivo de la conexión de red. Por ejemplo, dos dispositivos pueden comunicarse entre sí al establecer cada uno un canal unidireccional al otro dispositivo. El dispositivo que establece un canal unidireccional dado puede funcionar como el cliente de comunicación (por ejemplo, el receptor que se suscribe a los datos), y el dispositivo que aloja los datos puede funcionar como el servidor de comunicación (por ejemplo, el emisor que transmite los datos en tiempo real a los que se suscribe).
Puede establecerse y mantenerse un canal unidireccional mediante el uso del protocolo de STUN, el protocolo de Comet, los mensajes XHR, o cualquier otro protocolo de comunicación ahora conocido o desarrollado más adelante. Sin embargo, dos dispositivos pueden establecer un canal de comunicación bidireccional persistente, tal como un canal establecido mediante el uso del protocolo de WebSocket, o cualquier otro protocolo de comunicación bidireccional ahora conocido o desarrollado más adelante.
En algunas implementaciones, el controlador puede proporcionar a cada dispositivo de interfaz un nombre de usuario y contraseña para cada cliente de comunicación que pueda suscribirse a los datos desde el dispositivo de interfaz. La contraseña puede ser en la forma de un valor de texto sin cifrar, un valor control, o un control de sal. El cliente de comunicación puede proporcionar un nombre de usuario y una contraseña al servidor de comunicación para establecer una conexión de red unidireccional, y el servidor de comunicación puede autorizar al cliente de comunicación si el nombre de usuario y la contraseña coinciden con el nombre de usuario y la contraseña conocidos recibidos desde el controlador. Los dos dispositivos pueden establecer una conexión de red bidireccional al proporcionar cada uno un nombre de usuario y contraseña al otro dispositivo, y al autorizar al otro dispositivo en base al nombre de usuario y contraseña recibidos.
Si el controlador proporciona las contraseñas del cliente a los dispositivos de interfaz (servidores de comunicación) como un valor control cifrado o control de sal, el controlador puede proporcionar además los dispositivos de interfaz con una clave de cifrado (y la sal si es necesario) para generar el valor control o control de sal. Cada dispositivo de interfaz puede recibir una clave y una sal que pueden usarse por sus clientes de comunicación. El controlador no proporciona los dispositivos de interfaz con una clave de descifrado correspondiente para descifrar la contraseña del control o control de sal. Por lo tanto, cuando se establece la conexión de red, el dispositivo de interfaz puede proporcionar la clave de cifrado y la sal al cliente de comunicación, de manera que el cliente no exponga su contraseña personal al dispositivo de interfaz. El cliente de comunicación puede usar la clave de cifrado y la sal para generar el valor control o control de sal para la contraseña, y proporcionar el nombre de usuario y el control de contraseña o control de sal al servidor de comunicación para establecer una conexión de red segura.
En algunas implementaciones, el controlador puede proporcionar, a cada dispositivo de interfaz, un certificado digital que indica un dominio al que pertenece el dispositivo de interfaz, y puede indicar otros dominios con los que el dispositivo de interfaz puede comunicarse. El controlador puede funcionar como una autoridad de certificación (CA) para firmar el certificado digital, o puede interactuar con una CA de terceros para asignar un certificado digital a un dispositivo de interfaz. Para establecer una conexión de red unidireccional, un cliente de comunicación puede proporcionar su certificado digital al servidor de comunicación, y el servidor de comunicación puede autorizar al cliente de comunicación si el certificado digital es válido, y si el certificado digital indica un dominio al que pertenece el servidor de comunicación. Por lo tanto, en la red del dispositivo de interfaz, la comunicación ocurre entre dispositivos que pertenecen al mismo dominio, o entre dispositivos que se configuran o se les permite comunicarse con dispositivos en dominios entre sí. Los dos dispositivos pueden establecer una conexión de red bidireccional al proporcionar cada uno un certificado digital al otro dispositivo, y autenticar el otro dispositivo en base al certificado digital recibido.
Los dos dispositivos de interfaz pueden comunicarse además a través del canal persistente mediante el uso de datos cifrados. Por ejemplo, el certificado digital puede incluir además una clave pública del cliente de comunicación para facilitar que los dispositivos de interfaz se comuniquen a través de un canal seguro. El servidor de comunicación puede usar la clave pública para cifrar los datos que deben enviarse a través de la conexión de red, y el cliente de comunicación puede usar una clave privada correspondiente para descifrar los datos que recibe desde el servidor de comunicación. Alternativamente, los dos dispositivos pueden asegurar sus datos mediante el uso del protocolo de Kerberos, o al construir un túnel de sus datos a través de una conexión cifrada, tal como mediante el uso de un protocolo de capa de conexión segura (SSL) o un protocolo de seguridad de capa de transporte (TLS).
Balance de carga
La Figura 11 ilustra un sistema distribuido 1100 ilustrativo para una red de dispositivos de interfaz que incluye un controlador desplegado en un grupo de ordenadores 1102. El grupo de ordenadores 1102 puede incluir una pluralidad de nodos informáticos 1102.1-1102.k, que pueden residir dentro de una única ubicación e interconectarse a través de una red local, o pueden desplegarse a través de una pluralidad de ubicaciones geográficas e interconectarse a través de la w An 1104.
En algunas implementaciones, un administrador del sistema puede desplegar un conjunto de nodos informáticos en diversas ubicaciones geográficas, y puede desplegar bases de datos redundantes a través de las diversas ubicaciones geográficas. Además, debido a que las bases de datos redundantes a través del sistema distribuido 1100 se sincronizan, la pluralidad de nodos informáticos del grupo de ordenadores 1102 puede funcionar como una única entidad informática.
A medida que los dispositivos de interfaz se agregan o eliminan al/desde el sistema distribuido 1100, el administrador puede ajustar la capacidad informática proporcionada por el sistema distribuido 1100 en diversas ubicaciones geográficas para tener en cuenta las demandas informáticas de estas ubicaciones geográficas. Por ejemplo, el administrador puede desplegar o eliminar nodos informáticos en una ubicación geográfica dada a medida que se agregan o eliminan dispositivos de interfaz de esta ubicación. Además, a medida que el uso del controlador central fluctúa con el tiempo, el grupo de ordenadores 1102 puede balancear la carga de las cargas a través de los dispositivos informáticos 1102.1-1102.k, lo que aumenta la capacidad de respuesta de cada nodo informático, y aumenta además la capacidad de respuesta del grupo de ordenadores 1102 como un todo.
Aplicación ilustrativa: Atenuador de luz
En algunas implementaciones, la arquitectura del sistema 1100 puede incluir además un atenuador 1114 y una lámpara 1118. El atenuador 1114 puede estar en la misma habitación que la lámpara 1118, o puede controlar la lámpara 1118 desde una ubicación remota a través de la WAN 1104 y/o la LAN 1110. Por ejemplo, la lámpara 1118 puede acoplarse al atenuador 1114, de manera que el atenuador 1114 pueda incluir un regulador de potencia que controle una cantidad de potencia que se proporciona a la lámpara 1118. Alternativamente, la lámpara 1118 puede acoplarse a una toma de corriente 1116 que incluye el regulador de potencia que controla la cantidad de potencia a la lámpara 1118, y el atenuador 1114 puede enviar comandos a la toma de corriente 1116 a través de la lAn 1110.
En algunas otras implementaciones, el atenuador 1114 puede estar en una habitación diferente a la lámpara 1118, y puede controlar un nivel de brillo para la lámpara 1118 al enviar comandos a la toma de corriente 1116 a través de la red informática. Por ejemplo, la lámpara 1118 puede incluir una luz de escenario, y el atenuador 1114 puede instalarse dentro de una habitación de control de sonido e iluminación detrás de los asientos del estadio. Un técnico de iluminación en la habitación de control puede interactuar con el atenuador 1114 para controlar una o más lámparas, en cuyo punto el atenuador 1114 puede generar y enviar el evento de control de dispositivos a una o más lámparas a través de la LAN 1110.
Como otro ejemplo, una agencia de seguridad puede instalar una pluralidad de lámparas en ubicaciones clave en todo un banco (por ejemplo, dentro de una bóveda de banco), de manera que puedan controlarse de forma remota a través de un atenuador 1114 dentro de la sede de la agencia de seguridad. Si un agente de seguridad desea inspeccionar las instalaciones del banco, el agente de seguridad puede interactuar con el atenuador 1114, en cuyo punto el atenuador 1114 puede generar y enviar el evento de control de dispositivos a una o más lámparas a través de la WAN 1104.
Recuerde que, en algunas implementaciones, el atenuador 1114 puede mantener una conexión de red punto a punto con cada lámpara de destino (por ejemplo, la lámpara 1118), y puede enviar el evento de control de dispositivos a estas lámparas a través de su conexión de red respectiva. El atenuador 1114 y la pluralidad de lámparas (por ejemplo, la lámpara 1118) pueden mantener una conexión de red con un servicio de reenvío (por ejemplo, un servicio de reenvío proporcionado a través del grupo de ordenadores 1102) a través de la WAN 1104. Además, el atenuador 1114 puede proporcionar el evento de control de dispositivos al servicio de reenvío a través de la conexión de red, y puede indicar qué lámparas deben recibir el evento de control de dispositivos. En este punto, el servicio de reenvío puede comunicar el evento de control de dispositivos a las lámparas especificadas a través de las conexiones de red entre el servicio de reenvío y las lámparas especificadas (por ejemplo, a través de la WAN 1104 y la LAN 1110).
En algunas implementaciones, un dispositivo de la red de dispositivos de interfaz puede mantener un registro de los eventos que ha realizado. Cuando el atenuador 1114 recibe un evento de UI a través de la interfaz de pantalla táctil, el atenuador 1114 puede almacenar el evento de UI en el registro. El atenuador puede procesar además el evento de UI (por ejemplo, un deslizamiento del dedo) para determinar una acción a realizar, y genera un evento de control de dispositivos en base al evento de UI. Si el usuario realiza un deslizamiento hacia abajo en la interfaz de pantalla táctil, el atenuador 1114 puede determinar que el usuario pretende disminuir un nivel de iluminación de una lámpara 1118 correspondiente, y puede determinar un nivel de luz objetivo en base a una velocidad y/o distancia del deslizamiento del dedo hacia abajo. El atenuador 1114 puede registrar además el evento de control de dispositivos en el registro de eventos.
Si el atenuador 1114 se configura para controlar la lámpara 1118 directamente (por ejemplo, a través de un regulador de potencia incorporado cuya salida se acopla eléctricamente a la lámpara 1118), el atenuador 1114 puede ajustar un nivel de potencia proporcionado a la lámpara 1118 en base al evento de control de dispositivos. Además, el atenuador 1114 puede monitorear una cantidad de potencia consumida por la lámpara 1118 después de ajustar el nivel de potencia, y puede crear una entrada en el registro de eventos para registrar el nivel de potencia detectado.
Por otro lado, si el atenuador 1114 se configura para controlar la salida 1116, el atenuador 1114 puede enviar el evento de control de dispositivos a la salida 1116. Entonces, cuando la salida 1116 recibe el evento de control de dispositivos, la salida 1116 puede almacenar el evento de control del usuario recibido en el registro, y ajusta un nivel de potencia proporcionado a la lámpara 1118 en base al evento de control de dispositivos. El atenuador 1114 puede monitorear además una cantidad de potencia consumida por la lámpara 1118 después de ajustar el nivel de potencia, y puede registrar el nivel de potencia detectado en el registro de eventos.
El controlador y/o un usuario puede comparar entradas desde registro de diversos dispositivos pares en una cadena de comunicación para depurar conflictos de eventos. Por ejemplo, un usuario 1106 puede haber generado una regla para el atenuador 1114 que configura el atenuador 1114 para aumentar el brillo de la lámpara 1118 a un nivel predeterminado cuando un sensor de movimiento incorporado detecta un movimiento. Por lo tanto, si un usuario interactúa con la interfaz de pantalla táctil del atenuador 1114 para atenuar o apagar la lámpara 1118, el atenuador 1114 detectará el evento de control del usuario a través de la interfaz de pantalla táctil, y puede detectar además un evento de detección de movimiento a través del sensor de movimiento incorporado. Estos eventos pueden provocar que el atenuador 1114 encienda la lámpara 1118 poco después de haber ejecutado el comando del usuario para atenuar o apagar la lámpara 1118, que puede ser una consecuencia no intencional.
Recuerde que cuando un dispositivo de interfaz incluye una o más reglas que producen eventos conflictivos, el dispositivo de interfaz puede procesar las reglas en una secuencia predeterminada de manera que la última regla ejecutada produzca el resultado final. Por lo tanto, si el usuario ha creado una secuencia de reglas que no resuelven los conflictos de un modo deseable, el usuario puede analizar los registros de eventos para uno o más dispositivos de interfaz para determinar una nueva secuencia de reglas que resuelvan los conflictos como se desee.
Por ejemplo, el usuario puede analizar los registros de eventos desde el atenuador 1114 para determinar que el atenuador 1114 procesa una regla asociada con el sensor de movimiento (que enciende la lámpara 1118) después de procesar una regla asociada con la interfaz de la pantalla táctil (que atenúa o apaga la lámpara 1118). El usuario puede corregir esto al provocar que el atenuador 1114 procese la regla para la interfaz de pantalla táctil después de procesar la regla asociada con el sensor de movimiento.
Como otro ejemplo, al analizar los registros de eventos, el usuario puede determinar que después que el atenuador 1114 procesa el evento de la pantalla táctil del usuario para atenuar o apagar la lámpara 1118, el atenuador 1114 detecta un evento de detección de movimiento a medida que el usuario mueve su mano lejos de la interfaz de pantalla táctil. El usuario puede corregir esto al configurar el atenuador 1114 para deshabilitar la regla asociada con el sensor de movimiento durante un período de tiempo predeterminado, o hasta que el sensor de movimiento no detecte movimiento durante un período de tiempo predeterminado.
En algunas implementaciones, un registro del dispositivo puede almacenar un número de entradas de registro históricas durante un intervalo de tiempo determinable (por ejemplo, entradas de registro durante la última semana), y/o que se limitan por una cantidad determinable (por ejemplo, un máximo de 1.000 entradas de registro) o un tamaño de archivo determinable (por ejemplo, un máximo de 5 MB).
Configurar la red de interfaz del dispositivo
Recuerde que uno o más dispositivos informáticos pueden interactuar con el controlador para gestionar y configurar la red de dispositivos de interfaz. Por ejemplo, un usuario puede interactuar con un dispositivo informático personal para provisionar y configurar un nuevo dispositivo de interfaz de la red de dispositivos de interfaz, y/o para desplegar una o más reglas en el dispositivo de interfaz. Una vez que el usuario asigna las configuraciones para el dispositivo, el controlador puede agregar el nuevo dispositivo a la red, y puede establecer conexiones de red punto a punto entre el nuevo dispositivo y otros dispositivos con los que necesita intercambiar datos en tiempo real.
Sin embargo, en algunas implementaciones, los dispositivos pares que residen en dominios de red diferentes pueden no ser capaces de establecer una conexión punto a punto. Por lo tanto, para establecer conexiones de red entre los dispositivos pares, el controlador puede configurar los dispositivos pares para comunicarse entre sí a través de un servicio de reenvío. El servicio de reenvío puede implementarse como una parte del controlador, o puede ser un servicio de Internet separado disponible para los dispositivos pares de la red.
En algunas implementaciones, la red de dispositivos de interfaz incluye como máximo un controlador que configura los dispositivos de interfaz para operar dentro de la red. Por ejemplo, el grupo de ordenadores 1102 puede implementar un controlador para la red de dispositivos de interfaz 1100. Si un usuario necesita reconfigurar la estructura de la red mediante el uso de un dispositivo de red (por ejemplo, un ordenador portátil 1108 acoplado a la WAN 1104, o el teléfono inteligente 1112 de la LAN 1110), el dispositivo de red necesita hacer esta reconfiguración de la red a través del controlador maestro.
Si un segundo usuario interactúa además con el controlador para configurar la red, el controlador puede enviar cualesquiera cambios hechos por el primer usuario al ordenador del segundo usuario para evitar que los dos usuarios hagan cambios redundantes o conflictivos en la configuración de red. Además, cuando un usuario asigna sus cambios en la configuración de la red, el controlador puede compilar un archivo de configuración para cada dispositivo de interfaz afectado, y puede descargar el archivo de configuración para cada dispositivo de interfaz que se modifica.
Note que si la conexión con el controlador centralizado se desconecta (por ejemplo, el controlador se desconecta, o una LAN pierde la conexión al Internet), los dispositivos de interfaz pueden continuar para procesar las reglas y comunicarse a través de sus conexiones de red punto a punto. Sin embargo, el dispositivo de red puede no ser capaz de reconfigurar la configuración de red, dado que el controlador maestro no está disponible para provisionar nuevos dispositivos de interfaz, para compilar y distribuir reglas nuevas o actualizadas, o para reconfigurar las conexiones de red entre dispositivos de interfaz pares.
En algunas implementaciones, la red de dispositivos de interfaz puede incluir más de un controlador centralizado. Por ejemplo, la red puede incluir un controlador primario que se usa para hacer cualesquiera reconfiguraciones a la red, y puede incluir uno o más controladores secundarios o de respaldo que pueden usarse para reconfigurar al menos una porción de la red en el caso de que el controlador primario no quede disponible.
La Figura 12A ilustra una arquitectura del sistema 1200 ilustrativa que incluye un controlador primario 1204 y uno o más controladores LAN con bases de datos reflejadas. Por ejemplo, el controlador primario 1204 puede incluir o acoplarse a una base de datos 1206 que almacena información de configuración y datos históricos para una pluralidad de dispositivos de interfaz (por ejemplo, dispositivos de interfaz dentro de las LANs 1208 y 1216). La LAN 1208 puede incluir un controlador local 1210 acoplado a una base de datos 1212, que almacena información de configuración y datos históricos para dispositivos de interfaz dentro de la LAN 1208. Además, la LAN 1216 puede incluir un controlador local 1218 acoplado a una base de datos 1220, que almacena información de configuración y datos históricos para dispositivos de interfaz dentro de la LAN 1216.
En la arquitectura del sistema 1200, los controladores locales mantienen su base de datos local sincronizada con la base de datos del controlador primario. La base de datos 1212 puede reflejar una pluralidad de entradas de tabla de la base de datos 1206 que se asocian con los dispositivos 1214.1-1214 .m de la LAN 1208. De forma similar, la base de datos 1220 puede reflejar una pluralidad de entradas de tabla de la base de datos 1206 que se asocian con los dispositivos 1222.1-1222.0 de la LAN 1216. Por lo tanto, si la arquitectura del sistema 1200 incluye dispositivos de interfaz que se distribuyen a través de una pluralidad de dominios (por ejemplo, a través de diversas ciudades), la cantidad de datos almacenados por los controladores locales 1210 y 1218 en las bases de datos 1212 y 1220 es sustancialmente pequeña en comparación con la cantidad de datos almacenados en la base de datos 1206 por el controlador primario.
En algunas implementaciones, el controlador local 1210 puede monitorear y/o controlar una pluralidad de dispositivos de interfaz dentro de la LAN 1208. Además, un administrador puede interactuar con el controlador local 1210 para reconfigurar un conjunto de reglas que deben ejecutarse por los dispositivos de interfaz 1214 dentro de la LAN 1210, y el controlador 1210 puede reconfigurar los dispositivos 1214 en base al nuevo conjunto de reglas. Sin embargo, en algunas implementaciones, el controlador local 1210 puede no provisionar nuevos dispositivos para agregar a la red de dispositivos de interfaz, y/o puede no eliminar dispositivos de la red. Un administrador del sistema puede agregar un dispositivo de interfaz a la red al interactuar con el controlador primario 1204 para provisionar el nuevo dispositivo. El controlador primario 1204 puede asignar un certificado digital para el nuevo dispositivo, configurar el nuevo dispositivo para establecer una conexión de red con otros dispositivos pares (por ejemplo, para enviar o recibir datos suscritos), y puede configurar el nuevo dispositivo para procesar un conjunto de reglas.
Puede evitarse además que el controlador 1210 reconfigure un dispositivo de interfaz existente si el controlador 1210 tiene una versión desactualizada de la base de datos (por ejemplo, cuando la base de datos 1212 se desincroniza de una porción de la base de datos 1206 asociada con la LAN 1208). Este requisito evita que el controlador 1210 invierta una configuración anterior hecha por el controlador primario 1204 o cualquier controlador actualizado (por ejemplo, el controlador 1218). Por ejemplo, si el controlador local 1210 se desconecta, y el controlador 1204 reconfigura uno o más de los dispositivos de interfaz 1214.1-1214.m, los datos de configuración dentro de la base de datos 1212 pueden desactualizarse. Como otro ejemplo, si el controlador local 1210 pierde la comunicación con el controlador central 1204, y el controlador local 1210 reconfigura uno o más de los dispositivos de interfaz 1214.1-1214.m, los datos de configuración dentro de la base de datos 1206 pueden desactualizarse.
Cada dispositivo de interfaz puede almacenar un número de versión de configuración (por ejemplo, un número estrictamente mayor o una marca de tiempo), que indica un identificador único local para la configuración del dispositivo. Además, cada base de datos puede almacenar un número de versión de configuración reciente para los dispositivos a los que se asocia, lo que permite que un controlador correspondiente determine si la base de datos se desactualiza antes de reconfigurar un dispositivo de interfaz. Si el controlador intenta reconfigurar un dispositivo de interfaz existente, el controlador puede primero determinar si la base de datos correspondiente se actualiza con respecto al dispositivo de interfaz que se reconfigura.
Si el controlador determina que su número de versión de configuración más reciente para un dispositivo de interfaz coincide con el del dispositivo de interfaz, el controlador puede pasar a reconfigurar el dispositivo de interfaz. Sin embargo, el controlador puede realizar una acción correctiva si el controlador determina que su número de configuración más reciente no coincide con el del dispositivo de interfaz (por ejemplo, su número de versión más reciente es menor que el del dispositivo de interfaz). La acción correctiva puede incluir alertar a un usuario de la discrepancia de la versión, y solicitar que el usuario especifique si desea reconfigurar el dispositivo de interfaz en base a la configuración del dispositivo más antigua de la base de datos desactualizada. Alternativamente, la acción correctiva puede incluir reconfigurar el dispositivo de interfaz en un tiempo posterior después que la base de datos se actualice.
Alternativamente, en algunas implementaciones, el controlador 1210 puede volverse el controlador primario para los dispositivos de interfaz dentro de la LAN 1208 en el caso de que la LAN 1208 se desacople del controlador 1204 (por ejemplo, la LAN 1208 se desacople de la WAN 1202 o el controlador 1204 se desconecte). Puede permitirse que el controlador 1210 provisione los dispositivos de interfaz para agregar a la red, o para eliminar los dispositivos de interfaz de la red. El controlador 1210 puede mantener el seguimiento de los cambios en la red dentro de la base de datos 1212. Entonces, una vez que el controlador 1210 recupera una conexión con el controlador 1204, el controlador 1210 puede proporcionar los cambios a la red al controlador 1204, y el controlador 1204 actualiza la base de datos 1206 para reflejar estos cambios en la red.
Además, una vez que el controlador 1204 sincroniza la base de datos 1206 con la base de datos 1212, el controlador 1210 puede pasar a renunciar a su estado como un controlador primario, en cuyo punto el controlador 1204 se vuelve el controlador primario para la LAN 1208. Si un nuevo dispositivo de interfaz dentro de la LAN 1208 debe comunicarse con un dispositivo fuera de la LAN 1208, el controlador primario 1204 puede reprovisionar el nuevo dispositivo de manera que el nuevo dispositivo pueda interactuar con los dispositivos fuera de la red 1208. Por ejemplo, el controlador primario 1204 puede proporcionar el nuevo dispositivo con un certificado digital que es válido fuera de la LAN 1208, y puede reconfigurar el nuevo dispositivo de manera que el nuevo dispositivo establezca una conexión de red con uno o más dispositivos fuera de la LAN 1208 (por ejemplo, a través de un canal de punto a punto, o a través de un servicio de reenvío de datos).
La Figura 12B ilustra una arquitectura del sistema 1250 ilustrativa que incluye un controlador LAN dentro de una red de área local y un servicio de reenvío accesible dentro de una red de área amplia. La LAN 1256 puede incluir un controlador primario 1258 que puede usarse para configurar, monitorear, y/o controlar dispositivos de interfaz dentro de un dominio local, así como también dispositivos de interfaz dentro de uno o más dominios remotos.
Específicamente, el controlador 1258 puede instalarse dentro de la LAN 1256, y puede incluir o acoplarse a una base de datos 1260 que almacena información de configuración y datos históricos para los dispositivos de interfaz de los dominios locales y remotos. El controlador 1258 puede establecer una conexión de red punto a punto con los dispositivos 1262.1-1262 .m dentro de la LAN 1256, y puede establecer conexiones de red con uno o más dispositivos de interfaz de un dominio remoto (por ejemplo, con los dispositivos 1266.1-1266 .n de la LAN 1264) a través del servicio de reenvío de datos 1254.
Por ejemplo, el controlador 1258 puede instalarse dentro de un edificio de oficinas de una organización para gestionar una pluralidad de dispositivos. Un administrador del sistema puede interactuar con el controlador 1258 para agregar un dispositivo de interfaz a la red, tal como un dispositivo mPort acoplado a un sensor de movimiento, y un dispositivo mPower acoplado a una lámpara. El sistema puede configurar además el controlador 1258 para recoger datos de eventos en tiempo real desde la pluralidad de dispositivos de interfaz dentro de un registro de eventos, lo que permite que el administrador estudie el registro de eventos en un esfuerzo para garantizar que la red de dispositivos opere como se desea.
Además, si la organización se expande a otros edificios, ya sea dentro de la misma ciudad o en una ubicación distante, el administrador puede configurar el controlador 1258 para establecer una conexión de red con los dispositivos en la ubicación remota a través del servicio de reenvío de datos 1254. Esto permite que el controlador 1258 reconfigure, controle, y/o monitoree dispositivos en la ubicación remota, sin la utilización de un controlador central fuera de cualquiera de las redes de área local de la organización. Por lo tanto, instalar el controlador 1258 dentro de la red local de la organización permite que el administrador tenga control sobre el dato que se recoge por los dispositivos de interfaz y se almacena en la base de datos 1260, mientras todavía permite que el administrador despliegue dispositivos adicionales en ubicaciones remotas.
En algunas implementaciones, el administrador puede interactuar además con el controlador 1258 y/o cualquiera de los dispositivos de interfaz mientras el administrador no está dentro de cualquiera de las redes de área local de la organización. El administrador puede instalar una aplicación en un dispositivo informático personal (por ejemplo, un teléfono inteligente 1268), que tiene acceso a la WAN 1252 (por ejemplo, a través de una red celular), y que se comunica con el controlador central 1258 y/o con los dispositivos de interfaz a través del servicio de reenvío de datos 1254. Alternativamente, el administrador puede usar un navegador web de Internet para acceder a una interfaz basada en web alojada por el controlador 1258 al establecer una conexión con el controlador 1258 a través del servicio de reenvío de datos 1254.
En algunas implementaciones, la arquitectura del sistema 1250 puede incluir un controlador de respaldo accesible a través de la WAN 1252, que incluye o se acopla a una base de datos que refleja la base de datos 1260. En el caso de que el controlador primario 1258 se desconecte, el controlador de respaldo puede volverse temporalmente el controlador primario. Esto permite que el administrador interactúe con el controlador de respaldo (por ejemplo, mediante el uso del teléfono inteligente 1268) para agregar o eliminar dispositivos a/desde la red de dispositivos de interfaz y/o para reconfigurar un dispositivo de interfaz existente.
La Figura 13 ilustra un sistema informático ilustrativo para el monitoreo y control inteligente de dispositivos. En una implementación, un sistema informático y de comunicación 1300 incluye un procesador 1302, una memoria 1304, y un dispositivo de almacenamiento 1306. El dispositivo de almacenamiento 1306 almacena una aplicación de monitoreo y control inteligente 1308, así como también otras aplicaciones y datos (por ejemplo, las aplicaciones adicionales 1310 y 1312). Durante la operación, la aplicación de monitoreo y control inteligente 1308 se carga desde el dispositivo de almacenamiento 1306 en la memoria 1304 y entonces se ejecuta por el procesador 1302 para monitorear los datos desde una pluralidad de dispositivos de interfaz, para configurar un dispositivo de interfaz, y/o controlar un estado de un dispositivo de interfaz. Mientras ejecuta el programa, el procesador 1302 realiza las funciones mencionadas anteriormente. El sistema informático y de comunicación 1300 puede acoplarse además a una pantalla 1314, un teclado 1316, y un dispositivo apuntador 1318. La pantalla, el teclado, y el dispositivo apuntador pueden facilitar que un usuario monitoree, configure, y/o controle uno o más dispositivos de interfaz.
Se proporciona un sistema de control de dispositivos que configura, monitorea, y controla uno o más dispositivos de interfaz, de manera que un dispositivo de interfaz pueda obtener y difundir datos de sensores desde uno o más dispositivos físicos conectados que incluyan sensores para medir atributos físicos. Durante la operación, el sistema puede configurar un dispositivo de interfaz al establecer una conexión de red con el dispositivo de interfaz, y determinar una o más reglas para el dispositivo de interfaz. Una regla puede indicar una descripción de acción para realizar una acción, e indica una condición que indica los criterios para procesar la descripción de acción de la regla. El sistema puede configurar el dispositivo de interfaz para procesar sus reglas asociadas.
En algunas variaciones a esta implementación, el sistema configura el dispositivo de interfaz para enviar datos de sensores recientes al ordenador de control de dispositivos, y el sistema usa estos datos para configurar o controlar uno o más dispositivos de interfaz. Cuando el sistema determina que una regla asociada con el dispositivo de interfaz se satisface en base a datos recientes de uno o más dispositivos de interfaz, el sistema modifica el estado operativo del dispositivo de interfaz en base a la descripción de acción de la regla.
En algunas variaciones a esta implementación, el sistema configura uno o más dispositivos de interfaz para facilitar el procesamiento de reglas distribuido. Para configurar el dispositivo de interfaz, el sistema programa el dispositivo de interfaz para procesar la una o más reglas. El sistema determina además uno o más otros dispositivos que generan datos de sensores asociados con la una o más reglas para el dispositivo de interfaz, y configuran el dispositivo de interfaz para suscribirse a los datos de sensores desde el uno o más otros dispositivos.
En algunas implementaciones, el sistema puede recibir una solicitud, desde un dispositivo cliente, para obtener una UI de monitoreo del dispositivo. El sistema puede presentar la UI de monitoreo del dispositivo al obtener datos asociados con uno o más dispositivos de interfaz para la UI de monitoreo del dispositivo, y proporcionar la UI de monitoreo del dispositivo al dispositivo cliente de manera que la UI de monitoreo del dispositivo presente datos de sensores desde el uno o más dispositivos de interfaz.
En algunas variaciones a estas implementaciones, los datos asociados con un dispositivo de interfaz incluyen información de acceso al dispositivo para el dispositivo de interfaz, que el dispositivo cliente puede usar para obtener datos de sensores en tiempo real para la UI de monitoreo del dispositivo directamente desde el dispositivo de interfaz respectivo.
En algunas variaciones a estas implementaciones, los datos asociados con un dispositivo de interfaz incluyen una ubicación geográfica. Además, para proporcionar la UI de monitoreo del dispositivo, el sistema puede obtener un mapa que cubre un área geográfica asociada con al menos un dispositivo de interfaz. El sistema entonces genera la UI de monitoreo del dispositivo para mostrar el mapa obtenido, y para superponer el al menos un dispositivo de interfaz sobre el mapa.
En algunas variaciones a estas implementaciones, los datos asociados con un dispositivo respectivo incluyen un conjunto de coordenadas de imagen. Por lo tanto, cuando el sistema proporciona la UI de monitoreo del dispositivo, el sistema puede obtener una imagen de un área asociada con al menos un dispositivo de interfaz. El sistema entonces genera la UI de monitoreo del dispositivo para mostrar la imagen obtenida, y para superponer el al menos un dispositivo de interfaz sobre la imagen obtenida. La imagen obtenida puede incluir un marco de una transmisión de video en tiempo real, y el sistema puede actualizar periódicamente la UI de monitoreo del dispositivo para mostrar un marco reciente de la transmisión de video en tiempo real.
En algunas variaciones a estas implementaciones, la transmisión de video en tiempo real puede incluir una transmisión de video desde una cámara de paneo-inclinación-acercamiento (PTZ). Por lo tanto, mientras el sistema proporciona la UI de monitoreo del dispositivo, el sistema puede asignar las coordenadas de la imagen para un dispositivo de interfaz a un conjunto de coordenadas asociadas con el marco de la cámara de PTZ. Cuando cambia la orientación de la cámara, el sistema puede actualizar la UI de monitoreo del dispositivo para superponer el dispositivo de interfaz sobre el marco reciente en base a las coordenadas de la imagen asignadas.
En algunas implementaciones, una regla definible por el usuario puede incluir una regla compuesta que se asocia con múltiples dispositivos físicos.
En algunas implementaciones, el sistema puede recibir un comando, desde un dispositivo cliente, para controlar un dispositivo de interfaz. El sistema entonces determina una conexión de red establecida para comunicarse con el dispositivo de interfaz, y configura el dispositivo de interfaz, a través de la conexión de red, como se indica por el comando recibido.
El sistema puede recibir, además, desde un dispositivo cliente, una solicitud para obtener una UI de configuración de reglas. La UI de configuración de reglas puede indicar una o más reglas existentes para uno o más dispositivos de interfaz, y facilita crear o modificar reglas nuevas o existentes. Entonces, en respuesta a recibir una descripción para una regla, el sistema determina uno o más dispositivos de interfaz de destino que procesan al menos una porción de la descripción de acción de la regla. El sistema entonces genera una regla específica del dispositivo para un dispositivo de destino, de manera que la regla específica del dispositivo incluye una porción de la descripción de acción de la regla que debe procesarse por el dispositivo de destino. El sistema entonces configura el dispositivo de destino para procesar la regla específica del dispositivo.
En algunas variaciones a las implementaciones, mientras se configura el dispositivo de interfaz, el sistema puede determinar una ubicación geográfica para el dispositivo de interfaz, y/o puede determinar una descripción para uno o más dispositivos físicos acoplados al dispositivo de interfaz. Además, el sistema puede generar un certificado digital para el dispositivo de interfaz, y/o puede provisionar el dispositivo de interfaz en base a al menos el certificado digital.
Se proporciona un sistema de reenvío de datos que establece una conexión de red con una pluralidad de dispositivos de red para facilitar que un dispositivo de interfaz se comunique con un sistema de control de dispositivos, un dispositivo de interfaz par, u otros dispositivos informáticos. Durante la operación, cuando el sistema recibe datos desde un dispositivo de red, el sistema determina un dispositivo de red par que debe recibir los datos, tal como un dispositivo que se suscribe para recibir los datos. El sistema puede reenviar los datos de sensores al dispositivo de red par al determinar una conexión de red establecida para comunicarse con el segundo dispositivo de red, y enviar los datos de sensores al dispositivo de red par a través de la conexión de red establecida.
En algunas implementaciones, para determinar un segundo dispositivo de red que se suscribe a los datos de sensores recibidos, el sistema busca a través de un repositorio de suscripción de datos, que almacena las solicitudes de suscripción de datos para una pluralidad de dispositivos de red, para obtener una solicitud de suscripción de datos almacenada asociada con los datos de sensores recibidos. El sistema entonces identifica un dispositivo de interfaz que se suscribe a los datos de sensores recibidos en base a la solicitud de suscripción de datos almacenada.
En algunas implementaciones, el sistema implementa un servicio de reenvío de datos que recibe una solicitud de suscripción de datos desde el primer dispositivo de red. La solicitud de suscripción de datos indica un dispositivo de interfaz de suministro de datos, e indica además datos de sensores suministrados por el dispositivo de interfaz de suministro de datos. El sistema entonces almacena la suscripción de datos, en el repositorio de suscripción de datos, en asociación con el primer dispositivo de red. El sistema reenvía además la solicitud de suscripción de datos al dispositivo de interfaz de suministro de datos.
En algunas implementaciones, mientras se establece la conexión de red, el sistema recibe una solicitud de un dispositivo de red para establecer la conexión de red, y el sistema determina la información de acceso al dispositivo para el dispositivo de red en base a la solicitud. El sistema almacena la información de acceso al dispositivo en asociación con el dispositivo de red, y establece la conexión de red con el dispositivo de red en base a la información de acceso al dispositivo.
En algunas implementaciones, el sistema establece la conexión de red mediante el uso de un protocolo de WebSocket, un protocolo de Utilidades transversales de sesión para la traducción de direcciones de red (STUN), y/o un protocolo de Comet.
En algunas variaciones a estas implementaciones, cuando se establece la conexión de red mediante el uso del protocolo de WebSocket, la solicitud puede incluir una solicitud de protocolo de enlace WebSocket para actualizar una sesión de protocolo de transferencia de hipertexto (HTTP) a una sesión de WebSocket, y puede incluir un código Sec-WebSocket-Key desde el dispositivo de red. El sistema puede almacenar el Sec-WebSocket-Key en asociación con el dispositivo de red, y genera un código Sec-WebSocket-Accept para el dispositivo de interfaz en base al Sec-WebSocket-Key. El sistema entonces envía al dispositivo de interfaz una respuesta que reconoce un canal de comunicación WebSocket persistente, de manera que la respuesta incluye al menos el código Sec-WebSocket-Accept para el dispositivo de interfaz.
En algunas variaciones a estas implementaciones, cuando se establece la conexión de red mediante el uso del protocolo de STUN, el sistema recibe una solicitud vinculante que indica información de direccionamiento de red para el dispositivo de red, y almacena la información de direccionamiento de red en asociación con el dispositivo de red. La información de direccionamiento de red puede incluir al menos una o más de una dirección de red y un número de puerto.
En algunas variaciones a estas implementaciones, cuando se establece la conexión de red mediante el uso del protocolo de Comet, el sistema recibe una solicitud de sondeo largo desde el dispositivo de red, y determina la información de direccionamiento de red para el dispositivo de red en base a la solicitud de sondeo largo. La información de direccionamiento de red incluye al menos una o más de una dirección de red y un número de puerto. El sistema almacena la información de direccionamiento de red en asociación con el dispositivo de red, lo que facilita el acceso a la conexión de red en un tiempo posterior.
En algunas implementaciones, la información de acceso al dispositivo puede incluir una dirección de red para el dispositivo de red, un número de puerto para el dispositivo de red, y/o un identificador único para el dispositivo de red. La información de acceso al dispositivo puede incluir además información de autenticación, tal como un certificado digital asignado al dispositivo de red, credenciales de inicio de sesión asociadas con el dispositivo de red, etc.
En algunas implementaciones, el sistema puede determinar la información de acceso al dispositivo al determinar la dirección de red y/o el número de puerto para el dispositivo de red en base al encabezado del mensaje de un paquete de red que incluye la solicitud.
En algunas implementaciones, el dispositivo de red puede incluir un dispositivo de interfaz de sensor, una toma de corriente, una regleta de alimentación, un atenuador de luz, un interruptor de luz, o un dispositivo informático del cliente.
Se proporciona un dispositivo de interfaz que se comunica con otros dispositivos a través de una conexión de red establecida para enviar y/o recibir datos de sensores en tiempo real. Durante la operación, el dispositivo de interfaz local puede establecer una conexión de red con un dispositivo de red remoto, tal como con un dispositivo de interfaz par, o un sistema de reenvío de datos. El dispositivo puede mantener suscripciones de datos a otros dispositivos pares al seleccionar una regla que toma datos de sensores de uno o más dispositivos de interfaz remotos como entrada, y que genera una solicitud de suscripción de datos para un elemento de datos de sensores asociado con la regla. La solicitud de suscripción de datos indica un dispositivo de interfaz de suministro de datos, e indica además datos de sensores suministrados por el dispositivo de interfaz de suministro de datos. El dispositivo entonces envía la solicitud de suscripción de datos al dispositivo remoto a través de la conexión de red establecida.
En algunas implementaciones, el dispositivo remoto puede incluir un dispositivo par remoto asociado con la solicitud de suscripción de datos, o un dispositivo de reenvío de datos configurado para mantener una conexión de red entre el dispositivo de red local y un dispositivo par remoto asociado con la solicitud de suscripción de datos.
En algunas implementaciones, el dispositivo de interfaz local puede almacenar la regla en un repositorio de reglas. Entonces, cuando el dispositivo recibe datos de sensores a través de la conexión de red establecida, y en respuesta a determinar que el dato del sensor recibido se asocia con la regla almacenada, el dispositivo procesa la regla en base al menos al menos a los datos de sensores recibidos.
En algunas implementaciones, el dispositivo de interfaz local puede obtener datos de sensores desde un dispositivo físico local, de manera que el dispositivo físico puede incluir un sensor para medir uno o más atributos físicos. Si el dispositivo de interfaz determina que el dispositivo remoto se suscribe a los datos de sensores obtenidos, el dispositivo de interfaz envía los datos de sensores al dispositivo remoto a través de la conexión de red establecida.
En algunas implementaciones, el dispositivo de interfaz local establece la conexión de red mediante el uso de un protocolo de WebSocket, un protocolo de Utilidades transversales de sesión para la traducción de direcciones de red (STUN), y/o un protocolo de Comet.
En algunas variaciones a estas implementaciones, la solicitud puede incluir una solicitud de protocolo de enlace WebSocket para actualizar una sesión de protocolo de transferencia de hipertexto (HTTP) a una sesión de WebSocket, y puede incluir un código Sec-WebSocket-Key desde el dispositivo de red. Además, cuando se establece la conexión de red mediante el uso del protocolo de WebSocket, el dispositivo de interfaz local puede almacenar el Sec-WebSocket-Key en asociación con el dispositivo remoto, y genera un código Sec-WebSocket-Accept para el dispositivo remoto en base al Sec-WebSocket-Key. El dispositivo de interfaz local entonces envía al dispositivo remoto una respuesta que reconoce un canal de comunicación WebSocket persistente, de manera que la respuesta incluye al menos el código Sec-WebSocket-Accept para el dispositivo remoto.
En algunas variaciones a estas implementaciones, cuando se establece la conexión de red mediante el uso del protocolo de STUN, el dispositivo de interfaz local recibe una solicitud vinculante que indica información de direccionamiento de red para el dispositivo remoto, y almacena información de direccionamiento de red en asociación con el dispositivo remoto. La información de direccionamiento de red puede incluir al menos una o más de una dirección de red y un número de puerto.
En algunas variaciones a estas implementaciones, cuando se establece la conexión de red mediante el uso del protocolo de Comet, el dispositivo de interfaz local recibe una solicitud de sondeo largo desde el dispositivo remoto, y determina la información de direccionamiento de red para el dispositivo remoto en base a la solicitud de sondeo largo. La información de direccionamiento de red incluye al menos una o más de una dirección de red y un número de puerto. El dispositivo de interfaz local almacena la información de direccionamiento de red en asociación con el dispositivo remoto, lo que facilita el acceso a la conexión de red en un tiempo posterior.
Se proporciona un controlador local que mantiene una base de datos local que almacena información asociada con un conjunto de dispositivos de interfaz de una red de área local. La base de datos local puede incluir una base de datos reflejada para una base de datos remota, de un controlador remoto, que almacena información para un conjunto de dispositivos de interfaz provisionados. Durante la operación normal, un controlador remoto que aloja la base de datos remota puede tener el control primario de los dispositivos de interfaz dentro de la red de área local y/u otros dominios de red, y el controlador local mantiene la base de datos local para incluir al menos un subconjunto de la base de datos remota. Sin embargo, cuando el controlador local determina que el controlador remoto se ha desconectado, el controlador local puede obtener el control primario de los dispositivos de interfaz dentro de la red de área local.
En algunas implementaciones, mientras que configura el controlador de red local para obtener el control primario de la red de área local, el controlador local se habilita para monitorear dispositivos de interfaz de la red de área local, para reconfigurar un dispositivo de interfaz de la red de área local, y/o para controlar un dispositivo de interfaz de la red de área local.
En algunas implementaciones, el controlador local no se configura para agregar un dispositivo de interfaz a la red de dispositivos de interfaz, o para eliminar un dispositivo de interfaz desde el conjunto de dispositivos de interfaz provisionados.
En algunas implementaciones, mientras se obtiene el control primario de la red de área local, el controlador local determina que la base de datos local se sincroniza con una última versión de la base de datos remota.
En algunas implementaciones, en respuesta a la determinación de que la base de datos local y la base de datos remota se sincronizan, el controlador local se configura para obtener el control primario de la red de área local. Para obtener el control primario de la red de área local, el controlador local se habilita para agregar un nuevo dispositivo de interfaz al conjunto de dispositivos de interfaz provisionados, y para eliminar un dispositivo de interfaz desde el conjunto de dispositivos de interfaz provisionados.
En algunas implementaciones, el controlador local se configura para rescindir el control primario de la red de área local, en respuesta a determinar que un controlador remoto que aloja la base de datos remota se ha conectado. En algunas implementaciones, mientras se rescinde el control primario de la red de área local, el controlador local sincroniza la base de datos local con la base de datos remota.
Una implementación proporciona un dispositivo de interfaz que se configura para procesar una o más reglas, en base a los datos de sensores, para realizar una acción predeterminada. Durante la operación, el dispositivo puede recibir una configuración del dispositivo que incluye una regla para el dispositivo de interfaz. La regla puede incluir una descripción de acción para realizar una acción, y puede incluir una condición que toma datos de sensores como entrada e indica los criterios para realizar la acción. El dispositivo puede almacenar la regla en un repositorio de reglas, y determina un dispositivo de interfaz remoto que genera una porción de datos asociada con la condición de la regla. El dispositivo puede suscribirse además a la porción de datos desde el dispositivo de interfaz remoto.
En algunas implementaciones, el dispositivo de interfaz local establece una conexión de red con el dispositivo de interfaz remoto, y se suscribe a los datos del dispositivo de interfaz remoto a través de la conexión establecida. En algunas implementaciones, mientras se establece la conexión de red, los dispositivos de interfaz locales establecen una conexión de red punto a punto con el dispositivo de interfaz remoto.
En algunas implementaciones, el dispositivo de interfaz local establece la conexión de red mediante el uso de un protocolo de WebSocket, un protocolo de Utilidades transversales de sesión para la traducción de direcciones de red (STUN), y/o un protocolo de Comet.
En algunas implementaciones, mientras se establece la conexión de red, si el dispositivo de interfaz local determina que el dispositivo de interfaz remoto no es accesible a través de un canal de comunicación punto a punto, el dispositivo de interfaz local establece la conexión de red a través de un servicio de reenvío de datos.
En algunas implementaciones, cuando el dispositivo de interfaz local obtiene datos de sensores, el dispositivo de interfaz local selecciona una regla para procesar en base a los datos de sensores. Si el dispositivo de interfaz local determina que la condición de la regla se satisface, y el dispositivo de interfaz local procesa la descripción de acción de la regla para realizar la acción.
En algunas implementaciones, el dispositivo de interfaz local obtiene datos de sensores desde un dispositivo físico local o remoto que mide uno o más atributos físicos, y/o desde un controlador de red que monitorea y/o configura uno o más dispositivos de interfaz.
En algunas implementaciones, mientras se selecciona la regla a procesar, el dispositivo de interfaz local selecciona un conjunto de reglas cuya condición toma los datos obtenidos como entrada, y determina un pedido especificado por el usuario para el conjunto de reglas. El perdido especificado por el usuario indica un orden en el que deben procesarse las reglas. El dispositivo de interfaz local entonces selecciona una regla, del conjunto de reglas, en base al pedido especificado por el usuario.
En algunas implementaciones, el dispositivo de interfaz local obtiene datos de sensores al monitorear periódicamente un valor de datos desde un dispositivo físico acoplado al dispositivo de interfaz. Además, si el dispositivo de interfaz local determina que los datos obtenidos satisfacen una solicitud de suscripción de datos desde un dispositivo de interfaz remoto, el dispositivo de interfaz local comunica los datos obtenidos al dispositivo de interfaz remoto.
En algunas implementaciones, el dispositivo de interfaz local puede comunicar los datos al dispositivo de interfaz remoto al comunicar los datos a través de una conexión de red establecida, que se ha establecido para comunicarse con el dispositivo de interfaz remoto.
Una implementación proporciona un dispositivo de interfaz de monitoreo de sensores, acoplado a uno o más dispositivos físicos que incluyen sensores para medir atributos físicos. Durante la operación, el dispositivo de interfaz obtiene y procesa los datos de sensores desde los dispositivos físicos. Cuando el dispositivo de interfaz obtiene datos de sensores desde un dispositivo físico, el dispositivo de interfaz selecciona una regla a procesar en base a los datos de sensores obtenidos. Si el dispositivo de interfaz determina que se satisface la condición de la regla, el dispositivo de interfaz puede procesar la descripción de acción de la regla para realizar una acción correspondiente. En algunas implementaciones, el dispositivo físico puede incluir un sensor de temperatura, un sensor de humedad, un sensor de tensión, un sensor de corriente, un sensor de movimiento, un sensor de luz, un sensor de humedad, un sensor de valor digital, y/o un sensor de puerta/ventana.
En algunas implementaciones, la acción puede incluir enviar un patrón de señal predeterminado a través de un puerto serie, y/o enviar un patrón de señal predeterminado a través de uno o más pines de salida de propósito general. Además, la acción puede incluir procesar un script predeterminado para configurar un dispositivo periférico a través de un puerto serie, enviar un mensaje de correo electrónico a un destinatario predeterminado, crear una alerta del sistema, generar un evento para un registro de eventos, y/o calcular un valor de datos en base en parte a los datos de sensores recibidos.
En algunas implementaciones, si el dispositivo de interfaz local determina que los datos de sensores satisfacen una solicitud de suscripción de datos desde un dispositivo de interfaz remoto, el dispositivo de interfaz comunica los datos de sensores al dispositivo de interfaz remoto.
En algunas implementaciones, la solicitud de suscripción de datos puede indicar un valor umbral mínimo para los datos de sensores, un valor umbral máximo para los datos de sensores, una duración de tiempo desde que se proporcionó una porción anterior de datos de sensores al dispositivo de interfaz remoto, y/o un umbral de diferencia entre los datos de sensores obtenidos y una porción anterior de datos de sensores que se proporcionó al dispositivo de interfaz remoto.
En algunas implementaciones, mientras se comunican los datos al dispositivo de interfaz remoto, el dispositivo de interfaz local puede comunicar los datos a través de una conexión de red punto a punto establecida asociada con el dispositivo de interfaz remoto.
En algunas implementaciones, mientras se selecciona la regla a procesar, el dispositivo de interfaz local selecciona un conjunto de reglas cuya condición toma los datos obtenidos como entrada, y determina un pedido especificado por el usuario para el conjunto de reglas. El perdido especificado por el usuario indica un orden en el que deben procesarse las reglas. El dispositivo de interfaz local entonces selecciona una regla en base al pedido especificado por el usuario.
En algunas implementaciones, el dispositivo de interfaz local puede ajustar un color de un indicador de diodo emisor de luz (LED) en base a determinar que el dispositivo de interfaz está en un modo predeterminado de fábrica. El dispositivo de interfaz local puede ajustar un color de un indicador de diodo emisor de luz en base a determinar que el dispositivo de interfaz se provisiona por un controlador de red que monitorea o controla uno o más dispositivos de interfaz, y/o determinar que el dispositivo de interfaz se monitorea por el controlador de red.
Una implementación proporciona un dispositivo de interfaz de control de carga que obtiene y procesa datos de sensores desde una interfaz de usuario y/u otros dispositivos, y que procesa las reglas en base a los datos de sensores para controlar una carga eléctrica, tal como una lámpara. Durante la operación, cuando el dispositivo de interfaz obtiene datos de sensores, el dispositivo de interfaz selecciona una regla para procesar en base a los datos de sensores desde la interfaz de usuario. Si el dispositivo de interfaz determina que se satisface la condición de la regla, el dispositivo de interfaz puede procesar la descripción de acción de la regla para realizar una acción correspondiente para controlar la potencia a la carga eléctrica.
En algunas implementaciones, la carga eléctrica incluye una lámpara.
En algunas implementaciones, los datos de eventos incluyen datos de sensores desde una interfaz de usuario de pantalla táctil. La interfaz de usuario de la pantalla táctil puede incluir un área de superficie táctil capacitiva, un área de superficie táctil resistiva, un sensor de proximidad, y/o un sensor de movimiento.
En algunas implementaciones, los datos de eventos desde la interfaz de usuario de la pantalla táctil pueden indicar una porción de la interfaz de usuario de la pantalla táctil que se tocó por un usuario local, un objeto detectado dentro de una distancia determinable desde la interfaz de usuario de la pantalla táctil, y/o un movimiento detectado.
En algunas implementaciones, mientras se obtienen los datos de eventos, el dispositivo de interfaz procesa la información de la UI de la pantalla táctil para determinar un gesto. El gesto puede incluir un deslizamiento del dedo hacia arriba para aumentar una intensidad de luz de la lámpara, un deslizamiento del dedo hacia abajo para disminuir una intensidad de luz de la lámpara, un toque con el dedo para activar o desactivar la alimentación a la lámpara, y/o un toque con el dedo para ajustar la intensidad de la luz de la lámpara a un nivel determinable.
En algunas implementaciones, el dispositivo de interfaz puede determinar que los datos de eventos satisfacen una solicitud de suscripción de datos desde un dispositivo de interfaz remoto, y comunica los datos de eventos al dispositivo de interfaz remoto.
En algunas implementaciones, el dispositivo de interfaz remoto se acopla eléctricamente a una lámpara correspondiente, y el dispositivo de interfaz remoto puede configurarse para ajustar la alimentación a la lámpara correspondiente en base a los datos de eventos.
Una implementación proporciona un dispositivo de interfaz de monitoreo de carga que obtiene y procesa datos de sensores desde una carga eléctrica. El dispositivo de interfaz puede incluir al menos una toma de corriente para proporcionar energía a una carga eléctrica correspondiente. Durante la operación, el dispositivo de interfaz puede obtener datos de sensores de una toma de corriente local acoplada a una carga eléctrica, de manera que los datos de sensores pueden indicar una medición eléctrica asociada con la carga eléctrica. El dispositivo de interfaz selecciona una regla para procesar en base a los datos de sensores obtenidos, y procesa la regla para determinar si realizar una acción. Si se satisface la condición de la regla, el dispositivo de interfaz pasa a procesar la descripción de acción de la regla para realizar la acción, tal como para habilitar o deshabilitar una toma de corriente, o para realizar cualquier otra acción predefinida.
En algunas implementaciones, los datos de sensores desde la toma de corriente pueden incluir un estado de alimentación para la carga eléctrica correspondiente, una medición de corriente, y/o una medición de tensión.
En algunas implementaciones, la acción puede incluir activar una toma de corriente, desactivar una toma de corriente, modular una tensión proporcionada por una salida, y/o modular una cantidad de corriente proporcionada por una toma de corriente. Además, la acción puede incluir enviar un mensaje de correo electrónico a un destinatario predeterminado, crear una alerta del sistema, generar un evento para un registro de eventos, y/o calcular un valor de datos en base en parte a los datos de sensores recibidos.
Las estructuras de datos y el código descritos en esta descripción detallada se almacenan típicamente en un medio de almacenamiento legible por ordenador, que puede ser cualquier dispositivo o medio que pueda almacenar código y/o datos para su uso por un sistema informático. El medio de almacenamiento legible por ordenador incluye, pero no se limita a, memoria volátil, memoria no volátil, dispositivos de almacenamiento magnético y óptico tales como unidades de disco, cinta magnética, CDs (discos compactos), DVDs (discos versátiles digitales o discos de video digital), u otros medios capaces de almacenar medios legibles por ordenador ahora conocidos o desarrollados más adelante.
Los procedimientos y procesos descritos en la sección de descripción detallada pueden incorporarse como código y/o datos, que pueden almacenarse en un medio de almacenamiento legible por ordenador como se describió anteriormente. Cuando un sistema informático lee y ejecuta el código y/o los datos almacenados en el medio de almacenamiento legible por ordenador, el sistema informático realiza los procedimientos y procesos incorporados como estructuras de datos y código y se almacena dentro del medio de almacenamiento legible por ordenador. Además, los procedimientos y procesos descritos en la presente memoria pueden incluirse en módulos o aparatos de hardware. Estos módulos o aparatos pueden incluir, pero no se limitan a, un chip de circuito integrado de aplicación específica (ASIC), una matriz de puerta programable en campo (FPGA), un procesador dedicado o compartido que ejecuta un módulo de software particular o una porción de código en un tiempo particular, y/u otros dispositivos lógicos programables ahora conocidos o desarrollados más adelante. Cuando se activan los módulos o aparatos de hardware, realizan los procedimientos y procesos incluidos en ellos.
Las descripciones anteriores de diversas implementaciones se han presentado sólo para propósitos de ilustración y descripción. No pretenden ser exhaustivas o limitar la presente invención a las formas divulgadas. En consecuencia, muchas modificaciones y variaciones serán evidentes para los profesionales expertos en la técnica. Adicionalmente, la divulgación anterior no pretende limitar la presente invención.

Claims (13)

REIVINDICACIONES
1. Un primer dispositivo de interfaz (200) para su uso en un sistema de domótica (100),
comprendiendo el primer dispositivo de interfaz:
un módulo de comunicación (228) configurado para recibir una configuración del dispositivo del primer dispositivo de interfaz para realizar una acción, en el que la regla incluye una descripción de la acción y una condición para realizar esa acción;
un repositorio de reglas para almacenar la regla;
un módulo de determinación de fuente configurado para identificar un segundo sensor de un dispositivo físico acoplado a un segundo dispositivo de interfaz remoto;
un módulo de suscripción de datos configurado para suscribirse a través de una conexión de red con el segundo dispositivo de interfaz para los datos del segundo sensor;
en respuesta para determinar que procesar la regla requiere los datos del segundo sensor, obtener los datos del segundo sensor;
en el que el primer dispositivo de interfaz se adapta, tras la recepción de la configuración del dispositivo, para configurarse a sí mismo para realizar la acción tras determinar que los datos del primer y segundo sensor cumplen la condición.
2. El dispositivo de interfaz de acuerdo con la reivindicación 1, en el que el módulo de comunicación se configura para establecer la conexión de red mediante el uso de uno o más de:
un protocolo de WebSocket;
un canal de comunicación a través del protocolo de Utilidades transversales de sesión para la traducción de direcciones de red (STUN); y
un protocolo de Comet.
3. El primer dispositivo de interfaz de acuerdo con la reivindicación 1, en el que el módulo de comunicación se configura para establecer la conexión de red con el segundo dispositivo de interfaz mediante el uso del protocolo de WebSocket y al extraer al menos uno de:
una solicitud de protocolo de enlace WebSocket para actualizar una sesión de protocolo de transferencia de hipertexto (HTTP)
a una sesión de WebSocket; y
un código Sec-WebSocket-Key desde un dispositivo de red (102).
4. El primer dispositivo de interfaz de acuerdo con la reivindicación 3, en el que el módulo de comunicación se configura para establecer la conexión de red al:
almacenar el Sec-WebSocket-Key en asociación con el dispositivo de red;
generar un código Sec-WebSocket-Accept para el segundo dispositivo de interfaz en base al
Sec-WebSocket-Key; y
enviar al segundo dispositivo de interfaz una respuesta que reconoce el
canal de comunicación WebSocket persistente, en el que la respuesta incluye al menos el código Sec-WebSocket-Accept para el segundo dispositivo de interfaz.
5. El primer dispositivo de interfaz de acuerdo con la reivindicación 2, en el que el módulo de comunicación se configura para establecer la conexión de red con el segundo dispositivo de interfaz mediante el uso del protocolo, de Utilidades transversales de sesión para la traducción de direcciones de red, STUN, y al:
recibir una solicitud vinculante que indica información de direccionamiento de red para el dispositivo de red, en la que la información de direccionamiento de red incluye al menos una o más de una dirección de red y un número de puerto; y
almacenar la información de direccionamiento de red en asociación con el dispositivo de red.
6. El primer dispositivo de interfaz de acuerdo con la reivindicación 2, en el que el módulo de comunicación se configura para establecer la conexión de red con el segundo dispositivo de interfaz mientras que establece la conexión de red mediante el uso del protocolo de Comet al:
determinar la información de direccionamiento de red para el dispositivo de red en base a la solicitud de sondeo largo, en la que la información de direccionamiento de red incluye al menos una o más de una
dirección de red y un número de puerto; y
almacenar la información de direccionamiento de red en asociación con el dispositivo de red.
7. El primer dispositivo de interfaz de acuerdo con la reivindicación 1, en el que el módulo de comunicación se configura para establecer la conexión de red con el segundo dispositivo de interfaz al establecer una conexión de red punto a punto con el segundo dispositivo de interfaz.
8. El primer dispositivo de interfaz de acuerdo con la reivindicación 1, en el que el módulo de comunicación se configura para establecer la conexión de red al:
determinar que el segundo dispositivo de interfaz no es accesible a través de un canal de comunicación punto a punto; y
establecer la conexión de red a través de un servicio de reenvío de datos.
9. El primer dispositivo de interfaz de acuerdo con la reivindicación 1, que comprende además un módulo de procesamiento de reglas para: obtener datos del primer sensor;
seleccionar una regla para procesar en base a los datos del primer sensor;
determinar que se satisface la condición de la regla; y
procesar la descripción para realizar la acción.
10. El primer dispositivo de interfaz de acuerdo con la reivindicación 9, que comprende además un módulo de procesamiento de reglas configurado para:
seleccionar un conjunto de reglas cuya condición es tomar los datos del primer sensor obtenidos como entrada; determinar un pedido especificado por el usuario para el conjunto seleccionado de reglas, en el que el pedido especificado por el usuario indica un orden en el que deben procesarse las reglas; y
seleccionar una regla, del conjunto de reglas, en base al pedido especificado por el usuario.
11. El primer dispositivo de interfaz de acuerdo con la reivindicación 9, en el que la configuración del módulo de procesamiento de reglas para seleccionar la regla comprende una configuración del módulo de procesamiento de reglas para:
monitorear periódicamente un valor de datos desde un dispositivo físico acoplado al primer dispositivo de interfaz;
determinar que los datos del primer sensor obtenidos satisfacen una solicitud de suscripción de datos del segundo dispositivo de interfaz; y
configurar el módulo de comunicación para comunicar los datos del primer sensor obtenidos al segundo dispositivo de interfaz a través de la conexión de red establecida asociada con el segundo dispositivo de interfaz.
12. Un procedimiento realizado por un primer dispositivo de interfaz de un sistema de domótica, comprendiendo el procedimiento:
recibir, por un módulo de comunicación del primer dispositivo de interfaz, una configuración del dispositivo del primer dispositivo de interfaz para realizar una acción, en la que la regla incluye una descripción de la acción y una condición para realizar esa acción;
almacenar, por un repositorio de reglas del primer dispositivo de interfaz, la regla;
identificar, por un módulo de determinación de fuente del primer dispositivo de interfaz, un sensor de un dispositivo físico acoplado a un segundo dispositivo de interfaz,
suscribir, por un módulo de suscripción de datos del primer dispositivo de interfaz, a través de una conexión de red al segundo dispositivo de interfaz para los datos del segundo sensor, y
el primer dispositivo de interfaz que se configura a sí mismo, tras la recepción de la configuración del dispositivo, para realizar la acción tras determinar que los datos del primer y segundo sensor cumplen la condición.
13. Un programa informático que comprende instrucciones de programa adaptadas, cuando se ejecutan por uno o más procesadores de un primer dispositivo de interfaz, para realizar el procedimiento de acuerdo con la reivindicación 12.
ES13744857T 2012-06-27 2013-06-26 Dispositivo de interfaz, procedimiento y programa informático para controlar dispositivos sensores Active ES2806680T3 (es)

Applications Claiming Priority (14)

Application Number Priority Date Filing Date Title
US201261665238P 2012-06-27 2012-06-27
US201261665772P 2012-06-28 2012-06-28
US201261665769P 2012-06-28 2012-06-28
US201261665839P 2012-06-28 2012-06-28
US201261716429P 2012-10-19 2012-10-19
US201261716392P 2012-10-19 2012-10-19
US13/736,767 US9425978B2 (en) 2012-06-27 2013-01-08 Method and apparatus for configuring and controlling interfacing devices
US13/736,859 US9183163B2 (en) 2012-06-27 2013-01-08 Method and apparatus for distributed control of an interfacing-device network
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,872 US10326678B2 (en) 2012-06-27 2013-01-08 Method and apparatus for controlling power to an electrical load based on sensor data
US13/736,838 US9201815B2 (en) 2012-06-27 2013-01-08 Method and apparatus for maintaining network connections between devices
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,869 US10498623B2 (en) 2012-06-27 2013-01-08 Method and apparatus for monitoring and processing sensor data using a sensor-interfacing device
PCT/US2013/047954 WO2014004705A1 (en) 2012-06-27 2013-06-26 Method and apparatus for controlling sensor devices

Publications (1)

Publication Number Publication Date
ES2806680T3 true ES2806680T3 (es) 2021-02-18

Family

ID=49778907

Family Applications (1)

Application Number Title Priority Date Filing Date
ES13744857T Active ES2806680T3 (es) 2012-06-27 2013-06-26 Dispositivo de interfaz, procedimiento y programa informático para controlar dispositivos sensores

Country Status (6)

Country Link
US (12) US9183163B2 (es)
EP (2) EP3761567B1 (es)
CY (1) CY1123608T1 (es)
ES (1) ES2806680T3 (es)
PL (1) PL3761567T3 (es)
WO (2) WO2014004133A1 (es)

Families Citing this family (368)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10522026B2 (en) 2008-08-11 2019-12-31 Icontrol Networks, Inc. Automation system user interface with three-dimensional display
US10062273B2 (en) 2010-09-28 2018-08-28 Icontrol Networks, Inc. Integrated security system with parallel processing architecture
US11916870B2 (en) 2004-03-16 2024-02-27 Icontrol Networks, Inc. Gateway registry methods and systems
US10142392B2 (en) 2007-01-24 2018-11-27 Icontrol Networks, Inc. Methods and systems for improved system performance
US9729342B2 (en) 2010-12-20 2017-08-08 Icontrol Networks, Inc. Defining and implementing sensor triggered response rules
US20050216302A1 (en) 2004-03-16 2005-09-29 Icontrol Networks, Inc. Business method for premises management
US11811845B2 (en) 2004-03-16 2023-11-07 Icontrol Networks, Inc. Communication protocols over internet protocol (IP) networks
US11190578B2 (en) 2008-08-11 2021-11-30 Icontrol Networks, Inc. Integrated cloud system with lightweight gateway for premises automation
US20170118037A1 (en) 2008-08-11 2017-04-27 Icontrol Networks, Inc. Integrated cloud system for premises automation
US11368429B2 (en) 2004-03-16 2022-06-21 Icontrol Networks, Inc. Premises management configuration and control
US11343380B2 (en) 2004-03-16 2022-05-24 Icontrol Networks, Inc. Premises system automation
US11244545B2 (en) 2004-03-16 2022-02-08 Icontrol Networks, Inc. Cross-client sensor user interface in an integrated security network
US11489812B2 (en) 2004-03-16 2022-11-01 Icontrol Networks, Inc. Forming a security network including integrated security system components and network devices
US10721087B2 (en) 2005-03-16 2020-07-21 Icontrol Networks, Inc. Method for networked touchscreen with integrated interfaces
US10237237B2 (en) 2007-06-12 2019-03-19 Icontrol Networks, Inc. Communication protocols in integrated systems
US11582065B2 (en) 2007-06-12 2023-02-14 Icontrol Networks, Inc. Systems and methods for device communication
US20120324566A1 (en) 2005-03-16 2012-12-20 Marc Baum Takeover Processes In Security Network Integrated With Premise Security System
US11700142B2 (en) 2005-03-16 2023-07-11 Icontrol Networks, Inc. Security network integrating security system and network devices
US11496568B2 (en) 2005-03-16 2022-11-08 Icontrol Networks, Inc. Security system with networked touchscreen
US10999254B2 (en) 2005-03-16 2021-05-04 Icontrol Networks, Inc. System for data routing in networks
US20170180198A1 (en) 2008-08-11 2017-06-22 Marc Baum Forming a security network including integrated security system components
US20110128378A1 (en) 2005-03-16 2011-06-02 Reza Raji Modular Electronic Display Platform
US11615697B2 (en) 2005-03-16 2023-03-28 Icontrol Networks, Inc. Premise management systems and methods
US10079839B1 (en) 2007-06-12 2018-09-18 Icontrol Networks, Inc. Activation of gateway device
US11706279B2 (en) 2007-01-24 2023-07-18 Icontrol Networks, Inc. Methods and systems for data communication
US7633385B2 (en) 2007-02-28 2009-12-15 Ucontrol, Inc. Method and system for communicating with and controlling an alarm system from a remote server
US8451986B2 (en) 2007-04-23 2013-05-28 Icontrol Networks, Inc. Method and system for automatically providing alternate network access for telecommunications
US11646907B2 (en) 2007-06-12 2023-05-09 Icontrol Networks, Inc. Communication protocols in integrated systems
US11212192B2 (en) 2007-06-12 2021-12-28 Icontrol Networks, Inc. Communication protocols in integrated systems
US10523689B2 (en) 2007-06-12 2019-12-31 Icontrol Networks, Inc. Communication protocols over internet protocol (IP) networks
US11601810B2 (en) 2007-06-12 2023-03-07 Icontrol Networks, Inc. Communication protocols in integrated systems
US11316753B2 (en) 2007-06-12 2022-04-26 Icontrol Networks, Inc. Communication protocols in integrated systems
US11423756B2 (en) 2007-06-12 2022-08-23 Icontrol Networks, Inc. Communication protocols in integrated systems
US12003387B2 (en) 2012-06-27 2024-06-04 Comcast Cable Communications, Llc Control system user interface
US11218878B2 (en) 2007-06-12 2022-01-04 Icontrol Networks, Inc. Communication protocols in integrated systems
US11831462B2 (en) 2007-08-24 2023-11-28 Icontrol Networks, Inc. Controlling data routing in premises management systems
US11916928B2 (en) 2008-01-24 2024-02-27 Icontrol Networks, Inc. Communication protocols over internet protocol (IP) networks
US20170185278A1 (en) * 2008-08-11 2017-06-29 Icontrol Networks, Inc. Automation system user interface
US11758026B2 (en) 2008-08-11 2023-09-12 Icontrol Networks, Inc. Virtual device systems and methods
US11729255B2 (en) 2008-08-11 2023-08-15 Icontrol Networks, Inc. Integrated cloud system with lightweight gateway for premises automation
US11792036B2 (en) 2008-08-11 2023-10-17 Icontrol Networks, Inc. Mobile premises automation platform
TR200805998A2 (tr) 2008-08-12 2009-12-21 Kodalfa B�Lg� Ve �Let���M Teknoloj�Ler� Sanay� Ve T�Caret A.�. Seralar için uzaktan kablosuz iklim gözlemleme ve kontrol sistemi
US10716269B2 (en) 2008-08-12 2020-07-21 Rain Bird Corporation Methods and systems for irrigation control
US8638211B2 (en) 2009-04-30 2014-01-28 Icontrol Networks, Inc. Configurable controller and interface for home SMA, phone and multimedia
US8836601B2 (en) 2013-02-04 2014-09-16 Ubiquiti Networks, Inc. Dual receiver/transmitter radio devices with choke
US9496620B2 (en) 2013-02-04 2016-11-15 Ubiquiti Networks, Inc. Radio system for long-range high-speed wireless communication
GB201006510D0 (en) * 2010-04-20 2010-06-02 Senselogix Ltd Energy management system
CN103069451A (zh) * 2010-08-17 2013-04-24 Abb技术股份有限公司 技术设备的控制方法
US8836467B1 (en) 2010-09-28 2014-09-16 Icontrol Networks, Inc. Method, system and apparatus for automated reporting of account and sensor zone information to a central station
US9459018B2 (en) * 2010-11-19 2016-10-04 Google Inc. Systems and methods for energy-efficient control of an energy-consuming system
US8612578B2 (en) * 2011-03-10 2013-12-17 International Business Machines Corporation Forecast-less service capacity management
US9703275B2 (en) 2011-06-23 2017-07-11 Rain Bird Corporation Methods and systems for irrigation and climate control
WO2013012547A1 (en) * 2011-06-30 2013-01-24 Lutron Electronics Co., Inc. Load control device having internet connectivity, and method of programming the same using a smart phone
US20140316599A1 (en) * 2011-11-29 2014-10-23 Hitachi, Ltd. Consumer energy management system and consumer energy management method
US9183163B2 (en) 2012-06-27 2015-11-10 Ubiquiti Networks, Inc. Method and apparatus for distributed control of an interfacing-device network
USD733106S1 (en) * 2012-06-28 2015-06-30 Ubiquiti Networks, Inc. Sensor communication device with wall mount
JP2014017114A (ja) * 2012-07-09 2014-01-30 Panasonic Corp 照明システム
US20140019319A1 (en) * 2012-07-10 2014-01-16 Honeywell International Inc. Floorplan-based residential energy audit and asset tracking
US9468162B2 (en) 2012-08-01 2016-10-18 Rain Bird Corporation Irrigation controller wireless network adapter and networked remote service
US9786281B1 (en) * 2012-08-02 2017-10-10 Amazon Technologies, Inc. Household agent learning
CN102843278B (zh) * 2012-08-31 2015-11-25 鸿富锦精密工业(深圳)有限公司 智能家庭网络系统及其注册控制装置与家电设备注册方法
CN102868066A (zh) * 2012-09-25 2013-01-09 鸿富锦精密工业(深圳)有限公司 智能插排及应用该智能插排的智能家居系统
EP2730159B1 (en) 2012-11-07 2019-03-20 Rain Bird Corporation Irrigation control system
CN103460675B (zh) * 2013-01-14 2016-09-28 华为技术有限公司 集群以及转发方法
US9253262B2 (en) * 2013-01-24 2016-02-02 Rovi Guides, Inc. Systems and methods for connecting media devices through web sockets
US9543635B2 (en) 2013-02-04 2017-01-10 Ubiquiti Networks, Inc. Operation of radio devices for long-range high-speed wireless communication
US9397820B2 (en) 2013-02-04 2016-07-19 Ubiquiti Networks, Inc. Agile duplexing wireless radio devices
US9038142B2 (en) * 2013-02-05 2015-05-19 Google Inc. Authorization flow initiation using short-term wireless communication
US9293817B2 (en) 2013-02-08 2016-03-22 Ubiquiti Networks, Inc. Stacked array antennas for high-speed wireless communication
WO2014128770A1 (ja) * 2013-02-20 2014-08-28 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ 携帯情報端末の制御方法及びプログラム
CN104350335B (zh) * 2013-02-20 2017-10-20 松下电器(美国)知识产权公司 便携信息终端、便携信息终端的控制方法以及记录介质
US20140244997A1 (en) * 2013-02-25 2014-08-28 Qualcomm Incorporated Emergency mode for iot devices
US20140244001A1 (en) * 2013-02-25 2014-08-28 Qualcomm Incorporated Controlling many different devices from a smart controller
US20180173416A1 (en) * 2013-03-07 2018-06-21 UBE, INC. d/b/a PLUM Distributed networking of configurable load controllers
US20140253483A1 (en) * 2013-03-07 2014-09-11 UBE Inc. dba Plum Wall-Mounted Multi-Touch Electronic Lighting- Control Device with Capability to Control Additional Networked Devices
US20140278260A1 (en) 2013-03-15 2014-09-18 Leeo, Inc. Environmental measurement display system and method
US9568902B2 (en) * 2013-03-15 2017-02-14 Vivint, Inc. Home security system with touch-sensitive control panel
US9037735B1 (en) * 2013-03-15 2015-05-19 Kaazing Corporation Establishing websocket protocol extensions
TWI495220B (zh) * 2013-03-29 2015-08-01 鴻海精密工業股份有限公司 電源控制裝置及控制電力設備電源通斷的方法
US20140304381A1 (en) * 2013-04-05 2014-10-09 Nokia Corporation Method and apparatus for communicating with smart objects
CN105308657A (zh) * 2013-04-23 2016-02-03 卡纳里连接公司 安全和/或监测设备及系统
JP5867448B2 (ja) * 2013-04-26 2016-02-24 コニカミノルタ株式会社 ネットワークシステム、アクセス支援サーバ、処理装置、通信代行装置、およびコンピュータプログラム
US9262915B2 (en) 2013-05-09 2016-02-16 KERBspace, Inc Intelligent urban communications portal and methods
KR101453671B1 (ko) * 2013-05-13 2014-10-23 엘에스산전 주식회사 전력계통 감시 및 제어 시스템을 위한 통합 인터페이스 시스템
JP5976210B2 (ja) * 2013-05-22 2016-08-23 三菱電機株式会社 監視システム、設備管理装置、監視方法及びプログラム
US20140365199A1 (en) * 2013-06-11 2014-12-11 The Mathworks, Inc. Pairing a physical device with a model element
US10523728B1 (en) * 2013-06-28 2019-12-31 EMC IP Holding Company LLC Ingesting data from managed elements into a data analytics platform
US20150019625A1 (en) * 2013-07-09 2015-01-15 Google Inc. Providing indoor map data to a client computing device
EP2824891A1 (en) * 2013-07-12 2015-01-14 Twinlife SAS Distributed programmable connection method to establish peer-to-peer multimedia interactions
WO2015009350A1 (en) 2013-07-16 2015-01-22 Leeo, Inc. Electronic device with environmental monitoring
US9116137B1 (en) 2014-07-15 2015-08-25 Leeo, Inc. Selective electrical coupling based on environmental conditions
US9986307B2 (en) 2013-07-19 2018-05-29 Bottle Rocket LLC Interactive video viewing
US9784460B2 (en) * 2013-08-01 2017-10-10 Nautilus Data Technologies, Inc. Data center facility and process that utilizes a closed-looped heat management system
US9503541B2 (en) * 2013-08-21 2016-11-22 International Business Machines Corporation Fast mobile web applications using cloud caching
CN104468483B (zh) * 2013-09-22 2019-01-22 腾讯科技(深圳)有限公司 数据传输方法及系统、控制装置与节点装置
US9646484B2 (en) 2013-09-24 2017-05-09 Fibar Group S.A. Intelligent smoke sensor
PL227800B1 (pl) 2013-10-02 2018-01-31 Fibar Group Spólka Akcyjna Urządzenie do wykrywania i sygnalizowania stanu pojawienia się wody na powierzchniach, zwłaszcza na powierzchniach podłóg pomieszczeń
WO2015054567A1 (en) 2013-10-11 2015-04-16 Ubiquiti Networks, Inc. Wireless radio system optimization by persistent spectrum analysis
US9575773B2 (en) * 2013-10-23 2017-02-21 Vmware, Inc. Monitoring multiple remote desktops on a wireless device
US9834984B2 (en) 2013-10-31 2017-12-05 Fibar Group S.A. Roller shutter controller
USD747228S1 (en) 2013-11-04 2016-01-12 Fibar Group S.A. Door/window sensor
US9723380B2 (en) 2013-11-12 2017-08-01 Ecovent Corp. Method of and system for automatically adjusting airflow and sensors for use therewith
US10222768B2 (en) 2013-11-12 2019-03-05 EcoVent Systems Inc. Method of and system for determination of measured parameter gradients for environmental system control
US10177933B2 (en) 2014-02-05 2019-01-08 Apple Inc. Controller networks for an accessory management system
US10454783B2 (en) 2014-02-05 2019-10-22 Apple Inc. Accessory management system using environment model
US9693427B2 (en) 2014-01-06 2017-06-27 Fibar Group S.A. RGBW controller
US20150193127A1 (en) * 2014-01-07 2015-07-09 Opentv Inc. Systems and methods of displaying integrated home automation modules
US9921557B2 (en) * 2014-01-15 2018-03-20 SILVAIR Sp. z o.o. Automation system comprising a monitoring device and methods therefor
KR20150088559A (ko) * 2014-01-24 2015-08-03 한국전자통신연구원 네트워크의 장애를 복구하는 방법 및 장치
US11245285B2 (en) * 2014-01-27 2022-02-08 Ivani, LLC Faceplate switch
US10361585B2 (en) 2014-01-27 2019-07-23 Ivani, LLC Systems and methods to allow for a smart device
JP6166484B2 (ja) 2014-02-05 2017-07-19 アップル インコーポレイテッド コントローラとアクセサリとの通信のための統一的通信プロトコル
US11405463B2 (en) 2014-03-03 2022-08-02 Icontrol Networks, Inc. Media content management
US10574474B2 (en) 2014-03-07 2020-02-25 Ubiquiti Inc. Integrated power receptacle wireless access point (AP) adapter devices
US9172605B2 (en) * 2014-03-07 2015-10-27 Ubiquiti Networks, Inc. Cloud device identification and authentication
WO2015134755A2 (en) * 2014-03-07 2015-09-11 Ubiquiti Networks, Inc. Devices and methods for networked living and work spaces
DE112014006483T5 (de) 2014-03-17 2016-12-22 Mitsubishi Electric Corporation Managementsystem, Gateway-Vorrichtung, Server-Vorrichtung, Management-Verfahren, Gateway-Verfahren, Managementprozess-Ausführungsverfahren und Programm
EP3120642B1 (en) 2014-03-17 2023-06-07 Ubiquiti Inc. Array antennas having a plurality of directional beams
US20170134239A1 (en) * 2014-03-21 2017-05-11 Ptc Inc. Systems and methods for routing messages in distributed computing environments
US9350791B2 (en) 2014-03-21 2016-05-24 Ptc Inc. System and method of injecting states into message routing in a distributed computing environment
US20150277407A1 (en) * 2014-03-27 2015-10-01 Trane International Inc. Location detection of control equipment in a building
US20150281321A1 (en) * 2014-03-28 2015-10-01 Viachaslau Hrytsevich Real-time event monitoring and video surveillance web application based on data push
EP3780261B1 (en) 2014-04-01 2022-11-23 Ubiquiti Inc. Antenna assembly
US9918351B2 (en) 2014-04-01 2018-03-13 Belkin International Inc. Setup of multiple IOT networks devices
US9451462B2 (en) * 2014-08-10 2016-09-20 Belkin International Inc. Setup of multiple IoT network devices
CN103973786B (zh) * 2014-05-07 2017-05-24 惠州Tcl移动通信有限公司 电子设备的通知消息的同步方法及电子设备
CN103957150B (zh) 2014-05-07 2017-05-17 惠州Tcl移动通信有限公司 电子设备的通知消息的同步方法及服务器、电子设备
US20150326604A1 (en) * 2014-05-08 2015-11-12 Popo Technologies, Inc. Rules based monitoring and intrusion detection system
US11722365B2 (en) * 2014-05-13 2023-08-08 Senseware, Inc. System, method and apparatus for configuring a node in a sensor network
US9813489B1 (en) 2014-05-13 2017-11-07 Senseware, Inc. System, method and apparatus for enabling a shared infrastructure
US10373259B1 (en) 2014-05-20 2019-08-06 State Farm Mutual Automobile Insurance Company Fully autonomous vehicle insurance pricing
US10599155B1 (en) 2014-05-20 2020-03-24 State Farm Mutual Automobile Insurance Company Autonomous vehicle operation feature monitoring and evaluation of effectiveness
US9972054B1 (en) 2014-05-20 2018-05-15 State Farm Mutual Automobile Insurance Company Accident fault determination for autonomous vehicles
US11669090B2 (en) 2014-05-20 2023-06-06 State Farm Mutual Automobile Insurance Company Autonomous vehicle operation feature monitoring and evaluation of effectiveness
US10185998B1 (en) 2014-05-20 2019-01-22 State Farm Mutual Automobile Insurance Company Accident fault determination for autonomous vehicles
US20150350041A1 (en) * 2014-05-30 2015-12-03 Paladin Innovators Protocols & Mechanisms of Comm Between Live Production Server and Mobile or Remote Clients
US9575560B2 (en) 2014-06-03 2017-02-21 Google Inc. Radar-based gesture-recognition through a wearable device
GB2527079A (en) * 2014-06-10 2015-12-16 Paxton Access Ltd Control system
JP6561562B2 (ja) * 2014-06-30 2019-08-21 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカPanasonic Intellectual Property Corporation of America 加熱調理装置、情報表示装置、制御方法、調理器具、およびコンピュータプログラム
CN109905842B (zh) 2014-06-30 2020-11-17 优倍快公司 确定无线传输特征的方法
CN106576106B (zh) * 2014-07-02 2020-09-04 英特尔公司 用于利用中间件交换传感器信息的方法、装置和系统
US9170625B1 (en) * 2014-07-15 2015-10-27 Leeo, Inc. Selective electrical coupling based on environmental conditions
US9213327B1 (en) 2014-07-15 2015-12-15 Leeo, Inc. Selective electrical coupling based on environmental conditions
US9372477B2 (en) 2014-07-15 2016-06-21 Leeo, Inc. Selective electrical coupling based on environmental conditions
US11030696B1 (en) 2014-07-21 2021-06-08 State Farm Mutual Automobile Insurance Company Methods of providing insurance savings based upon telematics and anonymous driver data
US10447492B1 (en) * 2014-07-24 2019-10-15 Savant Systems, Llc Residential management system for use with a plurality of home automation systems
KR20160012795A (ko) * 2014-07-25 2016-02-03 엘지전자 주식회사 공기조화시스템
US9898175B2 (en) * 2014-08-05 2018-02-20 Fibar Group S.A. Home network manager for home automation
US11190400B2 (en) 2014-08-06 2021-11-30 Belkin International, Inc. Identifying and automating a device type using image data
US9811164B2 (en) 2014-08-07 2017-11-07 Google Inc. Radar-based gesture sensing and data transmission
US9921660B2 (en) * 2014-08-07 2018-03-20 Google Llc Radar-based gesture recognition
TWI532330B (zh) * 2014-08-11 2016-05-01 普易科技股份有限公司 居家控制器與其資訊更新方法
US9588625B2 (en) 2014-08-15 2017-03-07 Google Inc. Interactive textiles
US10268321B2 (en) 2014-08-15 2019-04-23 Google Llc Interactive textiles within hard objects
US9872240B2 (en) 2014-08-19 2018-01-16 Belkin International Inc. Network device source entity triggered device configuration setup
US11169988B2 (en) 2014-08-22 2021-11-09 Google Llc Radar recognition-aided search
US9778749B2 (en) 2014-08-22 2017-10-03 Google Inc. Occluded gesture recognition
US9092060B1 (en) 2014-08-27 2015-07-28 Leeo, Inc. Intuitive thermal user interface
CN110149650B (zh) 2014-08-31 2022-06-28 优倍快公司 监测无线网络的方法以及无线设备
US20160070276A1 (en) 2014-09-08 2016-03-10 Leeo, Inc. Ecosystem with dynamically aggregated combinations of components
US9841740B2 (en) * 2014-09-09 2017-12-12 Vivint, Inc. Hybrid rule implementation for an automation system
US10310704B2 (en) * 2014-09-18 2019-06-04 Ademco Inc. System and method to have location based personalized UI updates on mobile app for connected users in security, video and home automation applications
JP6621813B2 (ja) 2014-09-30 2019-12-18 コーニンクレッカ フィリップス エヌ ヴェKoninklijke Philips N.V. 難読化された算術を実行するための電子計算装置
US9600080B2 (en) 2014-10-02 2017-03-21 Google Inc. Non-line-of-sight radar-based gesture recognition
US9338071B2 (en) 2014-10-08 2016-05-10 Google Inc. Locale profile for a fabric network
US9445451B2 (en) 2014-10-20 2016-09-13 Leeo, Inc. Communicating arbitrary attributes using a predefined characteristic
US10026304B2 (en) 2014-10-20 2018-07-17 Leeo, Inc. Calibrating an environmental monitoring device
US10057079B2 (en) * 2014-10-21 2018-08-21 T-Mobile Usa, Inc. Wireless building automation
CN104360876B (zh) * 2014-10-22 2017-10-31 深圳市国微电子有限公司 一种基于sopc的boot启动与fpga配置方法及装置
CN105093943A (zh) * 2014-10-26 2015-11-25 深圳市艾瑟网络技术有限公司 智能家居系统及其数据处理和后台控制服务方法
US10250712B2 (en) 2014-10-29 2019-04-02 Xiaomi Inc. Method and server of configuring scenario mode for smart devices
CN104391626B (zh) * 2014-10-29 2020-10-09 小米科技有限责任公司 设备列表动态显示的方法及装置
US10055094B2 (en) * 2014-10-29 2018-08-21 Xiaomi Inc. Method and apparatus for dynamically displaying device list
CN104394045B (zh) * 2014-10-29 2018-02-02 小米科技有限责任公司 针对智能设备的场景模式推荐方法和装置
US10057077B2 (en) 2014-10-29 2018-08-21 Xiaomi Inc. Method and server for controlling smart devices based on predefined scenario mode
CN107079182B (zh) * 2014-10-31 2020-05-19 惠普发展公司,有限责任合伙企业 用于受控内容递送的方法、装置及计算机可读介质
WO2016073757A1 (en) 2014-11-05 2016-05-12 Seed Labs Sp. Z O.O. Sensory and control platform for an automation system
US10915965B1 (en) 2014-11-13 2021-02-09 State Farm Mutual Automobile Insurance Company Autonomous vehicle insurance based upon usage
CN104363500A (zh) * 2014-11-14 2015-02-18 小米科技有限责任公司 视频同步处理方法及装置
US10161646B2 (en) * 2014-11-17 2018-12-25 Sears Brands, L.L.C. Sensors for detecting presence, occupancy, and/or motion and related systems and methods
GB2532432B (en) 2014-11-18 2021-09-08 Arm Ip Ltd Methods of accessing a remote resource from a data processing device
JP6320563B2 (ja) * 2014-11-28 2018-05-09 三菱電機株式会社 通信機器、通信アダプタ、通信システム、通信パラメータ応答方法及びプログラム
US20160156569A1 (en) * 2014-11-28 2016-06-02 Igor, Inc. Node and Method of Assigning Node to Space
EP3029943B1 (en) * 2014-12-04 2018-01-31 Axis AB Method and device for determining properties of a graphical overlay for a video stream
RU2710310C2 (ru) 2014-12-12 2019-12-25 Конинклейке Филипс Н.В. Электронное устройство формирования
CN104486504B (zh) * 2014-12-16 2018-05-01 上海斐讯数据通信技术有限公司 一种手机来电提醒方法和系统
WO2016099148A1 (en) 2014-12-16 2016-06-23 Samsung Electronics Co., Ltd. Method and apparatus for controlling device using a service rule
US9811312B2 (en) * 2014-12-22 2017-11-07 Intel Corporation Connected device voice command support
US10541986B2 (en) * 2014-12-31 2020-01-21 Onespan North America Inc. Method and apparatus for securing an application using a measurement of a location dependent physical property of the environment
KR102338899B1 (ko) * 2015-01-02 2021-12-13 삼성전자주식회사 홈 디바이스를 제어하는 방법 및 디바이스
CN104678851B (zh) * 2015-01-29 2018-03-16 小米科技有限责任公司 智能插座开关控制方法和装置
US10206170B2 (en) 2015-02-05 2019-02-12 Apple Inc. Dynamic connection path detection and selection for wireless controllers and accessories
US20160246312A1 (en) * 2015-02-19 2016-08-25 Matthew Toddy Cloud computing enabled building control system and method
CN104678809B (zh) * 2015-02-25 2018-01-26 刘彤 可通用传感器控制设备及系统
DE102015002821A1 (de) * 2015-03-03 2016-09-08 Deutsche Telekom Ag Verfahren und System zur Integration von entfernten Geräten in eine lokale Automatisierungsstruktur
US10257268B2 (en) * 2015-03-09 2019-04-09 Vapor IO Inc. Distributed peer-to-peer data center management
KR101698265B1 (ko) * 2015-03-16 2017-01-19 에스케이 주식회사 장비별 발생 이벤트의 시간 흐름에 따른 복합 상황 판단 방법 및 시스템
US10031722B1 (en) * 2015-03-17 2018-07-24 Amazon Technologies, Inc. Grouping devices for voice control
WO2016149369A1 (en) * 2015-03-17 2016-09-22 Hubbell Incorporated Intelligent wiring devices
US10016162B1 (en) 2015-03-23 2018-07-10 Google Llc In-ear health monitoring
WO2016153326A1 (ko) * 2015-03-26 2016-09-29 엘지전자 주식회사 방송 신호 송신 장치, 방송 신호 수신 장치, 방송 신호 송신 방법, 및 방송 신호 수신 방법
US9983747B2 (en) 2015-03-26 2018-05-29 Google Llc Two-layer interactive textiles
US9848780B1 (en) 2015-04-08 2017-12-26 Google Inc. Assessing cardiovascular function using an optical sensor
US11039582B2 (en) * 2015-04-10 2021-06-22 Husqvarna Ab Simplified interface and operation in a watering system
CN104932455B (zh) * 2015-04-27 2018-04-13 小米科技有限责任公司 智能家居系统中智能设备的分组方法和分组装置
JP6427279B2 (ja) 2015-04-30 2018-11-21 グーグル エルエルシー ジェスチャの追跡および認識のための、rfに基づいた微細動作追跡
US10139916B2 (en) 2015-04-30 2018-11-27 Google Llc Wide-field radar-based gesture recognition
CN107466389B (zh) 2015-04-30 2021-02-12 谷歌有限责任公司 用于确定类型不可知的rf信号表示的方法和装置
US10080528B2 (en) 2015-05-19 2018-09-25 Google Llc Optical central venous pressure measurement
US10088908B1 (en) 2015-05-27 2018-10-02 Google Llc Gesture detection and interactions
US9693592B2 (en) 2015-05-27 2017-07-04 Google Inc. Attaching electronic components to interactive textiles
US10376195B1 (en) 2015-06-04 2019-08-13 Google Llc Automated nursing assessment
KR102410903B1 (ko) * 2015-06-12 2022-06-21 삼성전자 주식회사 객실 관리 시스템 및 서비스 설정 방법
US10655951B1 (en) 2015-06-25 2020-05-19 Amazon Technologies, Inc. Determining relative positions of user devices
KR102315345B1 (ko) 2015-06-26 2021-10-20 삼성전자주식회사 노드 단말 장치, 디스플레이 장치, 이를 포함하는 주변 기기 관리 시스템 및 그 방법
US10365620B1 (en) 2015-06-30 2019-07-30 Amazon Technologies, Inc. Interoperability of secondary-device hubs
US10362113B2 (en) * 2015-07-02 2019-07-23 Prasenjit Bhadra Cognitive intelligence platform for distributed M2M/ IoT systems
CN105093948A (zh) * 2015-07-13 2015-11-25 小米科技有限责任公司 智能设备控制方法、终端及服务器
US9900285B2 (en) * 2015-08-10 2018-02-20 International Business Machines Corporation Passport-controlled firewall
US10402792B2 (en) 2015-08-13 2019-09-03 The Toronto-Dominion Bank Systems and method for tracking enterprise events using hybrid public-private blockchain ledgers
US11107365B1 (en) 2015-08-28 2021-08-31 State Farm Mutual Automobile Insurance Company Vehicular driver evaluation
US10394267B2 (en) * 2015-09-04 2019-08-27 Eaton Intelligent Power Limited Electrical device, network and method of controlling the same
US10104207B1 (en) * 2015-09-11 2018-10-16 Kirio, Inc. Automatic protocol discovery
US9680704B2 (en) 2015-09-25 2017-06-13 Ubiquiti Networks, Inc. Compact and integrated key controller apparatus for monitoring networks
US10448453B2 (en) * 2015-09-25 2019-10-15 Intel Corporation Virtual sensor system
US10649974B1 (en) * 2015-09-30 2020-05-12 EMC IP Holding Company User-level processes in a shared multi-tenant de-duplication system
US10042339B2 (en) 2015-10-05 2018-08-07 Savant Systems, Llc Cloud-synchronized architecture for a home automation system
US10528654B2 (en) * 2015-10-05 2020-01-07 EasyPower LLC Facilitating analysis of a electrical power system
US10817065B1 (en) 2015-10-06 2020-10-27 Google Llc Gesture recognition using multiple antenna
US10042342B1 (en) * 2015-10-08 2018-08-07 Best Energy Reduction Technologies, Llc Monitoring and measuring power usage and temperature
US11133952B2 (en) * 2015-11-02 2021-09-28 Sony Corporation Notification control apparatus, detection apparatus, notification control system, notification control method, and detection method
WO2017079484A1 (en) 2015-11-04 2017-05-11 Google Inc. Connectors for connecting electronics embedded in garments to external devices
US9801013B2 (en) 2015-11-06 2017-10-24 Leeo, Inc. Electronic-device association based on location duration
US10805775B2 (en) 2015-11-06 2020-10-13 Jon Castor Electronic-device detection and activity association
KR102386204B1 (ko) * 2015-11-23 2022-04-13 삼성전자주식회사 이벤트 관리 서비스를 제공하는 전자 장치 및 방법
US20170149915A1 (en) * 2015-11-25 2017-05-25 Sap Se System and method of feed data transmission
CN106814629B (zh) * 2015-11-27 2021-03-12 大唐移动通信设备有限公司 一种控制智能家居的方法及装置
US10072951B2 (en) * 2015-12-04 2018-09-11 International Business Machines Corporation Sensor data segmentation and virtualization
EP3387885B1 (en) 2015-12-11 2024-03-27 Lutron Technology Company LLC Load control system having a visible light sensor
US10573165B2 (en) 2015-12-16 2020-02-25 Pillar Technologies, Inc. Systems and methods for providing environmental monitoring and response measures in connection with remote sites
US9986313B2 (en) * 2015-12-16 2018-05-29 Pillar Technologies, Inc. Systems and methods for providing environmental monitoring and response measures in connection with remote sites
US11430322B2 (en) 2015-12-16 2022-08-30 Pillar Technologies, Inc. Systems and methods for building water-leak detection and alert
CN108702315B (zh) 2015-12-28 2021-05-28 皇家Kpn公司 在连接到不同网络的两个本地设备之间建立连接
US11258804B2 (en) 2015-12-28 2022-02-22 Koninklijke Kpn N.V. Method and system for controlling access for a user equipment to a local device
CA3010340C (en) 2015-12-31 2021-06-15 Delta Faucet Company Water sensor
BE1023348B1 (nl) * 2016-01-14 2017-02-10 FixSus BVBA Een verbeterd gebouwbeheersysteem en werkwijze voor het opereren daarvan
US11441916B1 (en) 2016-01-22 2022-09-13 State Farm Mutual Automobile Insurance Company Autonomous vehicle trip routing
US10134278B1 (en) 2016-01-22 2018-11-20 State Farm Mutual Automobile Insurance Company Autonomous vehicle application
US11242051B1 (en) 2016-01-22 2022-02-08 State Farm Mutual Automobile Insurance Company Autonomous vehicle action communications
US11719545B2 (en) 2016-01-22 2023-08-08 Hyundai Motor Company Autonomous vehicle component damage and salvage assessment
US10747234B1 (en) 2016-01-22 2020-08-18 State Farm Mutual Automobile Insurance Company Method and system for enhancing the functionality of a vehicle
US10324463B1 (en) 2016-01-22 2019-06-18 State Farm Mutual Automobile Insurance Company Autonomous vehicle operation adjustment based upon route
US10395332B1 (en) 2016-01-22 2019-08-27 State Farm Mutual Automobile Insurance Company Coordinated autonomous vehicle automatic area scanning
GB2546812B (en) * 2016-02-01 2020-05-27 Shields Energy Services Ltd System for controlling a plurality of power-consuming devices
US10856394B2 (en) * 2016-02-04 2020-12-01 Lutron Technology Company Llc Configuring a load control system
US9928230B1 (en) 2016-09-29 2018-03-27 Vignet Incorporated Variable and dynamic adjustments to electronic forms
US11127308B2 (en) 2016-05-11 2021-09-21 Vignet Incorporated Personalized digital therapeutic interventions
US9848061B1 (en) * 2016-10-28 2017-12-19 Vignet Incorporated System and method for rules engine that dynamically adapts application behavior
US9858063B2 (en) 2016-02-10 2018-01-02 Vignet Incorporated Publishing customized application modules
US11221111B2 (en) 2016-02-15 2022-01-11 Molex, Llc Luminaire
US11090560B2 (en) * 2016-02-16 2021-08-17 Indiana University Research And Technology Corporation Physical device interface for virtual reality system
CN105824560A (zh) * 2016-03-16 2016-08-03 京东方科技集团股份有限公司 一种显示面板及其亮度调节方法、显示装置
US10157366B2 (en) * 2016-03-25 2018-12-18 Ricoh Company, Ltd. System, application and method for generating proposed state floormap
WO2017192167A1 (en) 2016-05-03 2017-11-09 Google Llc Connecting an electronic component to an interactive textile
US10175781B2 (en) 2016-05-16 2019-01-08 Google Llc Interactive object with multiple electronics modules
CN105897528A (zh) * 2016-05-30 2016-08-24 宁波方太厨具有限公司 一种智能家居设备间的联动控制方法
CN106093633B (zh) * 2016-06-03 2018-11-06 温州大学 一种电子设备测试系统及ip地址设定方法
CN106093631B (zh) * 2016-06-03 2018-11-06 温州大学 一种具备位置识别的电子设备测试系统的ip设定方法
US10079898B2 (en) * 2016-06-20 2018-09-18 General Electric Company Software-defined sensors
KR20170143431A (ko) * 2016-06-21 2017-12-29 최명수 협력 기반의 상호 감시를 통해 중요 휴대 물품의 도난 및 분실을 방지하기 위한 시스템 및 방법
EP3261102A1 (en) 2016-06-23 2017-12-27 Rain Bird Corporation Universal solenoid
WO2018013964A1 (en) 2016-07-15 2018-01-18 Rain Bird Corporation Wireless remote irrigation control
WO2018047181A1 (en) * 2016-09-08 2018-03-15 Etugo Technologies Ltd. Smart switch network
US20180090989A1 (en) * 2016-09-28 2018-03-29 Albert Subbloie Multi Sensor Pack and Control of Energy Consumption Devices
US11347373B2 (en) * 2016-10-05 2022-05-31 Vmware, Inc. Methods and systems to sample event messages
US11586166B2 (en) * 2016-11-11 2023-02-21 Recon Pillar, Llc Systems and methods for providing monitoring and response measures in connection with remote sites
USD830206S1 (en) 2016-11-11 2018-10-09 Pillar Technologies, Inc. Environmental monitoring device
US10579150B2 (en) 2016-12-05 2020-03-03 Google Llc Concurrent detection of absolute distance and relative movement for sensing action gestures
CN114501721A (zh) 2016-12-09 2022-05-13 路创技术有限责任公司 具有可见光传感器的负载控制系统
EP3340539B1 (en) * 2016-12-22 2022-01-26 Netatmo Commissioning and personalizing devices in a local area network
US10528016B2 (en) 2017-02-07 2020-01-07 Johnson Controls Technology Company Building management system with automatic remote server query for hands free commissioning and configuration
US10642770B2 (en) 2017-02-07 2020-05-05 Johnson Controls Technology Company Building management system with dynamic master controller selection
US10356096B2 (en) * 2017-02-17 2019-07-16 At&T Intellectual Property I, L.P. Authentication using credentials submitted via a user premises device
CN108459751B (zh) * 2017-02-22 2021-06-29 中兴通讯股份有限公司 一种调整触摸屏灵敏度的方法和装置
US11153376B2 (en) * 2017-02-23 2021-10-19 Centurylink Intellectual Property Llc Systems and methods for an internet of things computing shell
US10666512B2 (en) * 2017-03-09 2020-05-26 Aerohive Networks, Inc. Current configuration state specific device configuration
US11895200B2 (en) * 2017-03-24 2024-02-06 Lenovo Enterprise Solutions (Singapore) Pte. Ltd. Access to an operator panel over an out-of-band local network domain
US10530597B1 (en) 2017-04-01 2020-01-07 Smart Power Partners LLC System for controlling a plurality of power switches configured to apply power to devices
WO2018195251A1 (en) * 2017-04-20 2018-10-25 Schneider Electric USA, Inc. Systems and methods for managing building signature intelligent electronic devices
EP3619911A4 (en) * 2017-05-03 2021-01-13 Ndustrial.Io, Inc. DEVICE, SYSTEM AND METHOD FOR PROVIDING SENSORS
CN106959652B (zh) * 2017-05-08 2019-08-16 北京百度网讯科技有限公司 智能监控方法、装置和可读计算机存储介质
US10496508B2 (en) 2017-06-02 2019-12-03 Apple Inc. Accessory communication control
US10769914B2 (en) * 2017-06-07 2020-09-08 Amazon Technologies, Inc. Informative image data generation using audio/video recording and communication devices
US10980120B2 (en) 2017-06-15 2021-04-13 Rain Bird Corporation Compact printed circuit board
US10528293B2 (en) 2017-06-26 2020-01-07 International Business Machines Corporation Grouping devices as a virtual device for providing better quality of device data
US10648692B2 (en) 2017-07-27 2020-05-12 Johnson Controls Technology Company Building management system with multi-dimensional analysis of building energy and equipment performance
AT520270B1 (de) * 2017-07-28 2021-01-15 Wittmann Kunststoffgeraete Verfahren zum Verwalten und Steuern von Produktionsmitteln mit einer oder
US10887189B2 (en) * 2017-08-03 2021-01-05 Dish Network L.L.C. Systems and methods of mapping connected devices
US20190042633A1 (en) * 2017-08-04 2019-02-07 Yokogawa Electric Corporation System and method for managing devices using snapshot parameter search
US10663957B2 (en) * 2017-08-21 2020-05-26 Schneider Electric Systems Usa, Inc. Methods and systems for process automation control
US11372530B2 (en) * 2017-09-21 2022-06-28 Ademco Inc. Using a wireless mobile device and photographic image of a building space to commission and operate devices servicing the building space
US11153156B2 (en) 2017-11-03 2021-10-19 Vignet Incorporated Achieving personalized outcomes with digital therapeutic applications
JP7103230B2 (ja) * 2017-11-30 2022-07-20 東レ株式会社 回路、検知器、無線通信デバイス、水分検知システム、おむつ、報知システムおよび回路の製造方法
EP3743864A4 (en) 2018-01-25 2021-10-20 BEET, Inc. PROCESS DIGITIZATION SYSTEM AND METHOD
FR3077946B1 (fr) * 2018-02-12 2020-08-07 Somfy Activites Sa Procede d’appairage, plateforme domotique multinoeuds, equipement domotique multinoeuds et systeme domotique associes
US10789255B2 (en) * 2018-03-27 2020-09-29 Lenovo (Singapore) Pte. Ltd. Presenting data chunks for a working memory event
US11475422B2 (en) 2018-03-28 2022-10-18 Bank Of America Corporation Blockchain-based property management
US11295402B2 (en) 2018-03-28 2022-04-05 Bank Of America Corporation Blockchain-based property repair
US10498808B2 (en) 2018-03-28 2019-12-03 Bank Of America Corporation Blockchain-based property management
US11503782B2 (en) 2018-04-11 2022-11-22 Rain Bird Corporation Smart drip irrigation emitter
SG10201803626TA (en) * 2018-04-30 2019-11-28 Kaha Pte Ltd Home automation system
US11029810B2 (en) * 2018-05-07 2021-06-08 Otis Elevator Company Equipment service graphical interface
JP2019205093A (ja) * 2018-05-24 2019-11-28 三菱電機株式会社 センサ連携設備システム
US11805009B2 (en) 2018-06-03 2023-10-31 Apple Inc. Configuring accessory network connections
US10595073B2 (en) 2018-06-03 2020-03-17 Apple Inc. Techniques for authorizing controller devices
US10985972B2 (en) * 2018-07-20 2021-04-20 Brilliant Home Technoloy, Inc. Distributed system of home device controllers
US10686622B2 (en) * 2018-07-31 2020-06-16 Johnson Controls Technology Company Building management system with data sharing based on use identifiers
US10841174B1 (en) 2018-08-06 2020-11-17 Apple Inc. Electronic device with intuitive control interface
CN110825485A (zh) * 2018-08-07 2020-02-21 华为技术有限公司 数据处理的方法、设备和服务器
US10775974B2 (en) 2018-08-10 2020-09-15 Vignet Incorporated User responsive dynamic architecture
CN110912957B (zh) * 2018-09-18 2021-01-12 中国科学院沈阳自动化研究所 一种实现生产设备状态实时监控的多服务集群设计方法
CN111089388A (zh) * 2018-10-18 2020-05-01 珠海格力电器股份有限公司 控制空调的方法及系统、空调器、家用电器
FI20185918A1 (fi) * 2018-10-31 2020-05-01 Crf Box Oy Elektroninen kliininen tapausraportointi
US11349946B2 (en) * 2018-11-16 2022-05-31 Sap Se Dynamic streaming analytics
US10635202B1 (en) * 2018-12-18 2020-04-28 Valve Corporation Dynamic sensor assignment
CN109474703B (zh) * 2018-12-24 2021-08-31 浙江鲸腾网络科技有限公司 个性化产品组合推送方法、装置及系统
US20210400015A1 (en) * 2019-01-17 2021-12-23 Hewlett Packard Enterprise Development Lp Short-term lease allocation for network address conflict reduction in dhcp failover deployments
US10905946B2 (en) 2019-02-28 2021-02-02 Valve Corporation Continuous controller calibration
US11914713B2 (en) * 2019-02-28 2024-02-27 Hewlett-Packard Development Company, L.P. Access to firmware settings with asymmetric cryptography
US11061374B2 (en) * 2019-03-06 2021-07-13 Ademco Inc. Multi-factor event sequencing and analytics systems
CN109976173A (zh) * 2019-03-18 2019-07-05 中国联合网络通信集团有限公司 智能家居设备的控制方法、装置、设备及可读存储介质
CN111045399A (zh) * 2019-03-29 2020-04-21 重庆电子工程职业学院 一种可远程控制的物联网控制处理系统
US11309666B2 (en) * 2019-04-16 2022-04-19 Centurylink Intellectual Property Llc Method and system for implementing media adaptation device functionality
USD912688S1 (en) * 2019-04-17 2021-03-09 Ke.com (Beijing)Technology Co., Ltd. Display screen or portion thereof with animated graphical user interface
CN111856476B (zh) * 2019-04-30 2023-08-04 昇佳电子股份有限公司 接近传感器操作方法及应用该方法的接近传感器
WO2020231396A1 (en) * 2019-05-13 2020-11-19 Hewlett-Packard Development Company, L.P. Data monitoring
FR3097840B1 (fr) * 2019-06-26 2021-10-22 Airbus Operations Sas Procédé de localisation et réparation de pannes intermittentes dans des structures de communication d’un aéronef
US11579640B1 (en) 2019-06-30 2023-02-14 Smart Power Partners LLC Control attachment for an in-wall power adapter
US11201444B1 (en) 2019-06-30 2021-12-14 Smart Power Partners LLC Power adapter having contact elements in a recess and method of controlling a power adapter
US11232921B1 (en) 2019-06-30 2022-01-25 Smart Power Partners LLC Power adapter having separate manual and electrical user interfaces
US11460874B1 (en) 2019-06-30 2022-10-04 Smart Power Partners LLC In-wall power adapter configured to control the application of power to a load
US11043768B1 (en) 2019-06-30 2021-06-22 Smart Power Partners LLC Power adapter configured to provide power to a load and method of implementing a power adapter
US11231730B1 (en) 2019-06-30 2022-01-25 Smart Power Power LLC Control attachment for a power adapter configured to control power applied to a load
US10965068B1 (en) 2019-06-30 2021-03-30 Smart Power Partners LLC In-wall power adapter having an outlet and method of controlling an in-wall power adapter
CA3092410A1 (en) * 2019-09-06 2021-03-06 Parkizio Technologies Ltd. Smart electrical outlet
JP2022549671A (ja) * 2019-09-25 2022-11-28 コモンウェルス サイエンティフィック アンド インダストリアル リサーチ オーガナイゼーション ブラウザアプリケーション用の暗号化サービス
CN111211934B (zh) * 2019-12-25 2022-04-12 曙光信息产业(北京)有限公司 集群远程通信测试方法以及系统
CN115398361A (zh) 2020-01-05 2022-11-25 布里恩特家居科技有限公司 基于触摸的控制装置
US11022495B1 (en) * 2020-03-06 2021-06-01 Butlr Technologies, Inc. Monitoring human location, trajectory and behavior using thermal data
US11320312B2 (en) 2020-03-06 2022-05-03 Butlr Technologies, Inc. User interface for determining location, trajectory and behavior
CN111488088B (zh) * 2020-04-07 2022-05-06 Oppo广东移动通信有限公司 设备状态标识方法、装置及智能终端
CN111540180A (zh) * 2020-04-21 2020-08-14 北京长焜科技有限公司 B-Trunc紧急告警的系统及其方法
US11721465B2 (en) 2020-04-24 2023-08-08 Rain Bird Corporation Solenoid apparatus and methods of assembly
US11531438B2 (en) 2020-05-29 2022-12-20 Apple Inc. Differential drive and sense for touch sensor panel
US11343230B2 (en) 2020-06-09 2022-05-24 Dell Products L.P. Method for configuring device resources based on network identification and system therefor
US11775452B2 (en) * 2020-07-23 2023-10-03 MemRay Corporation Non-volatile memory controller device and non-volatile memory device
US11763919B1 (en) 2020-10-13 2023-09-19 Vignet Incorporated Platform to increase patient engagement in clinical trials through surveys presented on mobile devices
CN112583664B (zh) * 2020-12-08 2022-05-31 广东荣文科技集团有限公司 数据处理方法及相关装置
US11514183B2 (en) * 2021-01-29 2022-11-29 Seagate Technology Llc Data storage system with decentralized policy alteration
US20220376940A1 (en) * 2021-05-19 2022-11-24 MEI Venture I, LLC Data collection and analysis for managing and maintaining buildings
US11620307B2 (en) * 2021-06-07 2023-04-04 Snowflake Inc. Stage replication in a cloud data lake
CN113377616B (zh) * 2021-06-11 2022-04-12 湖南快乐阳光互动娱乐传媒有限公司 接口监控方法、装置以及计算机可读介质
CN113259213B (zh) * 2021-06-28 2021-09-14 广州市威士丹利智能科技有限公司 一种基于边缘计算智能网关的智能家居信息监控方法
US11789561B2 (en) 2021-09-24 2023-10-17 Apple Inc. Architecture for differential drive and sense touch technology
CN114117356A (zh) * 2021-10-25 2022-03-01 海南云智联科技有限公司 一种远距离低功耗的传感器实现方法与设备
US20230196891A1 (en) * 2021-12-20 2023-06-22 Dish Network L.L.C. Connected device control with external data
US11849377B1 (en) * 2022-05-25 2023-12-19 International Business Machines Corporation Electrical port labeling
WO2024077010A1 (en) * 2022-10-04 2024-04-11 Google Llc Customizable user interface for a device management system

Family Cites Families (135)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
AU5929190A (en) 1989-06-02 1991-01-07 Aisi Research Corporation Appliance interface for exchanging data
US4992866A (en) 1989-06-29 1991-02-12 Morgan Jack B Camera selection and positioning system and method
US5170381A (en) * 1989-11-22 1992-12-08 Eldon Taylor Method for mixing audio subliminal recordings
US5179554A (en) * 1991-04-08 1993-01-12 Digital Equipment Corporation Automatic association of local area network station addresses with a repeater port
CA2057961C (en) 1991-05-06 2000-06-13 Robert Paff Graphical workstation for integrated security system
US5278771A (en) 1991-07-12 1994-01-11 Seti Corporation Programmable timed electrical power management device
US7019770B1 (en) * 1993-03-12 2006-03-28 Telebuyer, Llc Videophone system for scrutiny monitoring with computer control
US5621662A (en) 1994-02-15 1997-04-15 Intellinet, Inc. Home automation system
US5510975A (en) 1994-07-01 1996-04-23 Atlantic Software, Inc. Method of logical operations in home automation
US5872594A (en) * 1994-09-20 1999-02-16 Thompson; Paul A. Method for open loop camera control using a motion model to control camera movement
EP0781049B1 (en) 1995-12-19 2004-05-06 Canon Kabushiki Kaisha Apparatus and method for controlling a plurality of remote cameras
US6192282B1 (en) 1996-10-01 2001-02-20 Intelihome, Inc. Method and apparatus for improved building automation
US6529234B2 (en) * 1996-10-15 2003-03-04 Canon Kabushiki Kaisha Camera control system, camera server, camera client, control method, and storage medium
US5877957A (en) 1996-11-06 1999-03-02 Ameritech Services, Inc. Method and system of programming at least one appliance to change state upon the occurrence of a trigger event
JP3710257B2 (ja) 1997-06-10 2005-10-26 キヤノン株式会社 カメラ制御システムおよびその制御方法およびその制御を実行するプログラムを記憶した記憶媒体
US6157372A (en) 1997-08-27 2000-12-05 Trw Inc. Method and apparatus for controlling a plurality of controllable devices
US6199074B1 (en) 1997-10-09 2001-03-06 International Business Machines Corporation Database backup system ensuring consistency between primary and mirrored backup database copies despite backup interruption
AU2331099A (en) * 1998-01-22 1999-08-09 Intelogis, Inc. Method and apparatus for universal data exchange gateway
US6437692B1 (en) 1998-06-22 2002-08-20 Statsignal Systems, Inc. System and method for monitoring and controlling remote devices
US6359647B1 (en) 1998-08-07 2002-03-19 Philips Electronics North America Corporation Automated camera handoff system for figure tracking in a multiple camera system
US6292098B1 (en) 1998-08-31 2001-09-18 Hitachi, Ltd. Surveillance system and network system
US6275992B1 (en) 1999-08-10 2001-08-21 Jamin′ Sun Shaydes, L.L.C. Eye shield assembly
AUPQ217399A0 (en) 1999-08-12 1999-09-02 Honeywell Limited Realtime digital video server
US6954859B1 (en) * 1999-10-08 2005-10-11 Axcess, Inc. Networked digital security system and methods
US6823223B2 (en) 1999-12-30 2004-11-23 Microsoft Corporation Method and apparatus for providing distributed scene programming of a home automation and control system
US7526539B1 (en) 2000-01-04 2009-04-28 Pni Corporation Method and apparatus for a distributed home-automation-control (HAC) window
US6845297B2 (en) 2000-05-01 2005-01-18 Irobot Corporation Method and system for remote control of mobile robot
ATE540347T1 (de) 2000-05-01 2012-01-15 Irobot Corp Verfahren und vorrichtung zur steuerung eines mobilen roboters
WO2002037070A2 (en) * 2000-10-30 2002-05-10 Ocean Systems Engineering Corporation Environment and hazard condition monitoring system
US20110058036A1 (en) 2000-11-17 2011-03-10 E-Watch, Inc. Bandwidth management and control
US7839926B1 (en) 2000-11-17 2010-11-23 Metzger Raymond R Bandwidth management and control
US7113090B1 (en) 2001-04-24 2006-09-26 Alarm.Com Incorporated System and method for connecting security systems to a wireless device
US6993417B2 (en) * 2001-09-10 2006-01-31 Osann Jr Robert System for energy sensing analysis and feedback
EP1316933B1 (en) 2001-11-28 2006-08-09 Matsushita Electric Industrial Co., Ltd. Home security system
US7363360B2 (en) * 2002-02-06 2008-04-22 Adiran, Inc. System and method for managing elements of a communication network
US7117043B1 (en) 2002-03-28 2006-10-03 Integrator.Com Method for programming a programmable logic controller
US6993631B2 (en) 2002-05-15 2006-01-31 Broadcom Corporation L2 cache maintaining local ownership of remote coherency blocks
KR100440583B1 (ko) 2002-05-16 2004-07-19 한국전자통신연구원 외부 인터넷에 의한 댁내망의 UPnP장치 관리제어 장치및 방법
US7016888B2 (en) 2002-06-18 2006-03-21 Bellsouth Intellectual Property Corporation Learning device interaction rules
US20030233660A1 (en) * 2002-06-18 2003-12-18 Bellsouth Intellectual Property Corporation Device interaction
KR100478539B1 (ko) 2002-07-11 2005-03-24 김정환 통신망을 이용한 모니터링 서비스 방법
JP4003591B2 (ja) 2002-07-11 2007-11-07 ソニー株式会社 モニタリングシステム、モニタリング方法およびプログラム
US6889264B2 (en) 2002-10-09 2005-05-03 Hewlett-Packard Development Company, L.P. Imposing a delay for indication of a status board to provide a time for self-rectification of a service event detected from peripheral status information
US20040117462A1 (en) 2002-12-12 2004-06-17 International Business Machines Corporation Client device configuration with user entry of configuration parameters
JP2006526327A (ja) * 2003-04-03 2006-11-16 ノキア コーポレイション コンテキスト関係情報を管理するためのシステム、モバイルステーション、方法及びコンピュータープログラム製品
DE602004024296D1 (de) 2003-04-14 2010-01-07 American Power Conv Corp Erweiterbare sensorüberwachung, warnungsverarbeitungs- und benachrichtigungssystem und verfahren
JP4349199B2 (ja) 2003-05-21 2009-10-21 株式会社日立製作所 時空間通信システム
US7027463B2 (en) 2003-07-11 2006-04-11 Sonolink Communications Systems, Llc System and method for multi-tiered rule filtering
WO2005027068A1 (en) * 2003-09-12 2005-03-24 Canon Kabushiki Kaisha Streaming non-continuous video data
US7619512B2 (en) 2006-10-02 2009-11-17 Alarm.Com System and method for alarm signaling during alarm system destruction
US20050132414A1 (en) 2003-12-02 2005-06-16 Connexed, Inc. Networked video surveillance system
US20080303903A1 (en) * 2003-12-02 2008-12-11 Connexed Technologies Inc. Networked video surveillance system
US8031650B2 (en) 2004-03-03 2011-10-04 Sipco, Llc System and method for monitoring remote devices with a dual-mode wireless communication protocol
US9729342B2 (en) 2010-12-20 2017-08-08 Icontrol Networks, Inc. Defining and implementing sensor triggered response rules
US10156959B2 (en) 2005-03-16 2018-12-18 Icontrol Networks, Inc. Cross-client sensor user interface in an integrated security network
US7555658B2 (en) 2004-09-30 2009-06-30 Regents Of The University Of California Embedded electronics building blocks for user-configurable monitor/control networks
DE202005021463U1 (de) 2005-01-18 2008-04-17 Biotronik Crm Patent Ag Patientengerät
US8825871B2 (en) 2005-03-16 2014-09-02 Icontrol Networks, Inc. Controlling data routing among networks
US20060253205A1 (en) 2005-05-09 2006-11-09 Michael Gardiner Method and apparatus for tabular process control
US7274975B2 (en) 2005-06-06 2007-09-25 Gridpoint, Inc. Optimized energy management system
US7353114B1 (en) * 2005-06-27 2008-04-01 Google Inc. Markup language for an interactive geographic information system
US7827262B2 (en) 2005-07-14 2010-11-02 Cisco Technology, Inc. Approach for managing state information by a group of servers that services a group of clients
US8042048B2 (en) 2005-11-17 2011-10-18 Att Knowledge Ventures, L.P. System and method for home automation
JP2007156779A (ja) 2005-12-05 2007-06-21 Hitachi Ltd センサネットシステム、基地局及びセンシングデータの中継方法
US9268659B2 (en) * 2006-01-05 2016-02-23 Emc Corporation Detecting failover in a database mirroring environment
JP4901233B2 (ja) * 2006-02-14 2012-03-21 株式会社日立製作所 監視システム、監視方法、及び、監視プログラム
US7974738B2 (en) 2006-07-05 2011-07-05 Battelle Energy Alliance, Llc Robotics virtual rail system and method
US7587260B2 (en) 2006-07-05 2009-09-08 Battelle Energy Alliance, Llc Autonomous navigation system and method
US7620477B2 (en) 2006-07-05 2009-11-17 Battelle Energy Alliance, Llc Robotic intelligence kernel
US8271132B2 (en) * 2008-03-13 2012-09-18 Battelle Energy Alliance, Llc System and method for seamless task-directed autonomy for robots
US8073564B2 (en) 2006-07-05 2011-12-06 Battelle Energy Alliance, Llc Multi-robot control interface
US7668621B2 (en) 2006-07-05 2010-02-23 The United States Of America As Represented By The United States Department Of Energy Robotic guarded motion system and method
US7584020B2 (en) 2006-07-05 2009-09-01 Battelle Energy Alliance, Llc Occupancy change detection system and method
US7801644B2 (en) 2006-07-05 2010-09-21 Battelle Energy Alliance, Llc Generic robot architecture
US9111088B2 (en) * 2006-08-14 2015-08-18 Quantum Security, Inc. Policy-based physical security system for restricting access to computer resources and data flow through network equipment
US8619136B2 (en) 2006-12-01 2013-12-31 Centurylink Intellectual Property Llc System and method for home monitoring using a set top box
JP4928275B2 (ja) 2007-01-10 2012-05-09 キヤノン株式会社 カメラ制御装置及びその制御方法
US7791466B2 (en) 2007-01-12 2010-09-07 International Business Machines Corporation System and method for event detection utilizing sensor based surveillance
US20080183307A1 (en) 2007-01-26 2008-07-31 Autani Corporation Upgradeable Automation Devices, Systems, Architectures, and Methods
US8310335B2 (en) 2007-09-07 2012-11-13 Verizon Patent And Licensing Inc. Network-based access and control of home automation systems
US8742686B2 (en) 2007-09-24 2014-06-03 Integrated Illumination Systems, Inc. Systems and methods for providing an OEM level networked lighting system
US8154398B2 (en) 2007-10-23 2012-04-10 La Crosse Technology Remote location monitoring
KR100960503B1 (ko) 2008-02-05 2010-06-01 엘에스산전 주식회사 에너지 수요관리가 가능한 지능형 전자식 미터 및 이를이용한 수요관리 방법
US8390684B2 (en) 2008-03-28 2013-03-05 On-Net Surveillance Systems, Inc. Method and system for video collection and analysis thereof
US8270767B2 (en) 2008-04-16 2012-09-18 Johnson Controls Technology Company Systems and methods for providing immersive displays of video camera information from a plurality of cameras
US8595368B2 (en) * 2008-06-05 2013-11-26 Camiant, Inc. Method and system for providing mobility management in a network
US20090307255A1 (en) 2008-06-06 2009-12-10 Johnson Controls Technology Company Graphical management of building devices
US8429435B1 (en) 2008-07-25 2013-04-23 Autani Corporation Automation devices, systems, architectures, and methods for energy management and other applications
US8756407B2 (en) 2008-09-30 2014-06-17 International Business Machines Corporation Configuration rule prototyping tool
US20100097473A1 (en) 2008-10-20 2010-04-22 Johnson Controls Technology Company Device for connecting video cameras to networks and clients
US8060582B2 (en) 2008-10-22 2011-11-15 Google Inc. Geocoding personal information
WO2010056921A2 (en) * 2008-11-14 2010-05-20 Project Frog, Inc. Smart multifunctioning building panel
US8165041B2 (en) 2008-12-15 2012-04-24 Microsoft Corporation Peer to multi-peer routing
US20100152897A1 (en) 2008-12-16 2010-06-17 MULLER Jeffrey Method & apparatus for controlling the attitude of a camera associated with a robotic device
US8306634B2 (en) 2008-12-23 2012-11-06 Samsung Electronics Co., Ltd. Adaptive and user location-based power saving system
US8224496B2 (en) 2009-02-20 2012-07-17 International Business Machines Corporation Modular power control system to manage power consumption
US8266107B2 (en) 2009-03-11 2012-09-11 International Business Machines Corporation Method for mirroring a log file by threshold driven synchronization
US8497810B2 (en) 2009-03-18 2013-07-30 Kvh Industries, Inc. Multi-band antenna system for satellite communications
US20100256823A1 (en) * 2009-04-04 2010-10-07 Cisco Technology, Inc. Mechanism for On-Demand Environmental Services Based on Network Activity
US8638211B2 (en) 2009-04-30 2014-01-28 Icontrol Networks, Inc. Configurable controller and interface for home SMA, phone and multimedia
US20100298957A1 (en) 2009-05-15 2010-11-25 Synergy Elements, Inc. Multi-function sensor for home automation
WO2010135372A1 (en) 2009-05-18 2010-11-25 Alarm.Com Incorporated Remote device control and energy monitoring
US20100138363A1 (en) * 2009-06-12 2010-06-03 Microsoft Corporation Smart grid price response service for dynamically balancing energy supply and demand
US8626344B2 (en) 2009-08-21 2014-01-07 Allure Energy, Inc. Energy management system and method
US8946924B2 (en) 2009-07-30 2015-02-03 Lutron Electronics Co., Inc. Load control system that operates in an energy-savings mode when an electric vehicle charger is charging a vehicle
US20110046805A1 (en) 2009-08-18 2011-02-24 Honeywell International Inc. Context-aware smart home energy manager
US8276159B2 (en) * 2009-09-23 2012-09-25 Microsoft Corporation Message communication of sensor and other data
KR20110047764A (ko) 2009-10-30 2011-05-09 삼성전자주식회사 이동 단말을 이용하여 홈 네트워크 시스템을 제어하기 위한 방법 및 장치
US8830267B2 (en) * 2009-11-16 2014-09-09 Alliance For Sustainable Energy, Llc Augmented reality building operations tool
US8549614B2 (en) 2009-12-04 2013-10-01 Cisco Technology, Inc. Establishing internet protocol security sessions using the extensible messaging and presence protocol
US8291258B2 (en) * 2010-01-08 2012-10-16 Juniper Networks, Inc. High availability for network security devices
CN102687433A (zh) 2010-01-20 2012-09-19 法罗技术股份有限公司 便携式关节臂坐标测量机和集成电子数据处理系统
US8724639B2 (en) 2010-02-26 2014-05-13 Mohamed K. Mahmoud Smart home hub
US20110254697A1 (en) * 2010-04-20 2011-10-20 Qwest Communications International Inc. Utility Monitoring
WO2011142996A2 (en) 2010-05-09 2011-11-17 Madhav Chinta Methods and systems for forcing an application to store data in a secure storage location
JP5624360B2 (ja) * 2010-05-12 2014-11-12 キヤノン株式会社 管理装置、その制御方法及びプログラム
US8375118B2 (en) 2010-11-18 2013-02-12 Verizon Patent And Licensing Inc. Smart home device management
EP2596658B1 (en) * 2010-11-22 2018-05-09 Seven Networks, LLC Aligning data transfer to optimize connections established for transmission over a wireless network
US8761000B2 (en) 2010-11-29 2014-06-24 Edge Velocity Corporation Router and rapid response network
KR20120072022A (ko) * 2010-12-23 2012-07-03 한국전자통신연구원 클라우드 컴퓨팅 기반 가상 스마트홈 시스템, 서버 장치, 홈게이트웨이 및 방법
TWI442200B (zh) 2011-03-02 2014-06-21 Ind Tech Res Inst 自動連結感測器和致動器之方法和系統
US8489065B2 (en) 2011-05-03 2013-07-16 Robert M Green Mobile device controller application for any security system
CN102323800A (zh) 2011-05-31 2012-01-18 北京许继电气有限公司 一种基于物联网的全景用电信息智能家居系统
AU2012289857B2 (en) 2011-08-04 2016-06-23 Vivint, Inc System automation via an alarm system
US20130049466A1 (en) 2011-08-30 2013-02-28 General Electric Company Programmable power management system
US8478450B2 (en) 2011-10-04 2013-07-02 Advanergy, Inc. Power control system and method
US8812425B2 (en) 2011-12-14 2014-08-19 Microsoft Corporation Method for rule-based context acquisition
US20130201316A1 (en) 2012-01-09 2013-08-08 May Patents Ltd. System and method for server based control
US9258593B1 (en) 2012-01-25 2016-02-09 Time Warner Cable Enterprises Llc System and method for home security monitoring using a television set-top box
US9215779B2 (en) 2012-03-30 2015-12-15 Cooper Technologies Company Light switch and control device having a touch screen interface
US9083566B1 (en) 2012-04-18 2015-07-14 Cisco Technology, Inc. System and method for communicating with an applet using an inline web frame in a network environment
US9141912B2 (en) 2012-05-04 2015-09-22 Intelligent Buildings, Llc Building analytic device
WO2013172310A1 (ja) 2012-05-14 2013-11-21 日本電気株式会社 ルール発見システムと方法と装置並びにプログラム
US9183163B2 (en) 2012-06-27 2015-11-10 Ubiquiti Networks, Inc. Method and apparatus for distributed control of an interfacing-device network
US20140025650A1 (en) 2012-07-18 2014-01-23 Microsoft Corporation Abstract relational model for transforming data into consumable content

Also Published As

Publication number Publication date
US9183163B2 (en) 2015-11-10
US20140006660A1 (en) 2014-01-02
CY1123608T1 (el) 2022-03-24
US20140006605A1 (en) 2014-01-02
US20140005851A1 (en) 2014-01-02
EP2868041A1 (en) 2015-05-06
US9201815B2 (en) 2015-12-01
US20180054375A1 (en) 2018-02-22
US10326678B2 (en) 2019-06-18
EP3761567A1 (en) 2021-01-06
US10498623B2 (en) 2019-12-03
US9425978B2 (en) 2016-08-23
US9531618B2 (en) 2016-12-27
US20140006552A1 (en) 2014-01-02
US11349741B2 (en) 2022-05-31
US9063873B2 (en) 2015-06-23
US20190268254A1 (en) 2019-08-29
US20150046534A1 (en) 2015-02-12
WO2014004133A1 (en) 2014-01-03
PL3761567T3 (pl) 2022-04-11
US10536361B2 (en) 2020-01-14
US20160043926A1 (en) 2016-02-11
EP2868041B1 (en) 2020-06-10
US20160021040A1 (en) 2016-01-21
US20140005810A1 (en) 2014-01-02
EP3761567B1 (en) 2021-12-15
US8880204B2 (en) 2014-11-04
WO2014004705A1 (en) 2014-01-03
US20140005809A1 (en) 2014-01-02
US9887898B2 (en) 2018-02-06
US20140006506A1 (en) 2014-01-02

Similar Documents

Publication Publication Date Title
ES2806680T3 (es) Dispositivo de interfaz, procedimiento y programa informático para controlar dispositivos sensores
TWI654881B (zh) 控制感應器裝置的方法和設備
JP6655635B2 (ja) アドレス指定可能ホームオートメーション(ha)デバイスのユーザ選択可能リストに基づく所望シーン実現を含むhaシステム、及び関連方法
JP6650475B2 (ja) デバイス署名ペアリングを含むホームオートメーションシステム及び関連方法
JP6487072B2 (ja) 異常動作するアドレス指定可能デバイスとの通信を終了させるセキュリティコントローラを含むホームオートメーションシステム、及び関連方法
US11227674B2 (en) Home automation system generating user health score and related methods
JP2018528643A (ja) クラウド及びホームメッセージキュー同期を含むホームオートメーションシステム、並びに関連方法