CN108702389B - 用于遥控iot(物联网)设备的架构 - Google Patents
用于遥控iot(物联网)设备的架构 Download PDFInfo
- Publication number
- CN108702389B CN108702389B CN201780011995.3A CN201780011995A CN108702389B CN 108702389 B CN108702389 B CN 108702389B CN 201780011995 A CN201780011995 A CN 201780011995A CN 108702389 B CN108702389 B CN 108702389B
- Authority
- CN
- China
- Prior art keywords
- home device
- home
- agent
- manager
- devices
- 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.)
- Expired - Fee Related
Links
- 238000004891 communication Methods 0.000 claims abstract description 54
- 238000000034 method Methods 0.000 claims abstract description 45
- 230000004044 response Effects 0.000 claims abstract description 23
- 230000000694 effects Effects 0.000 claims abstract description 5
- 230000007704 transition Effects 0.000 claims description 5
- 239000000284 extract Substances 0.000 claims description 4
- 230000003213 activating effect Effects 0.000 claims description 3
- 239000003795 chemical substances by application Substances 0.000 description 128
- 230000008569 process Effects 0.000 description 19
- 230000002688 persistence Effects 0.000 description 16
- 230000008859 change Effects 0.000 description 10
- 230000015654 memory Effects 0.000 description 8
- 230000006870 function Effects 0.000 description 7
- 230000001276 controlling effect Effects 0.000 description 6
- 238000010586 diagram Methods 0.000 description 5
- 230000007246 mechanism Effects 0.000 description 5
- 238000012544 monitoring process Methods 0.000 description 4
- 230000009471 action Effects 0.000 description 3
- 238000004378 air conditioning Methods 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 238000012545 processing Methods 0.000 description 3
- 239000008186 active pharmaceutical agent Substances 0.000 description 2
- 235000012813 breadcrumbs Nutrition 0.000 description 2
- 238000004590 computer program Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000008520 organization Effects 0.000 description 2
- 230000002085 persistent effect Effects 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- 230000004913 activation Effects 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000012790 confirmation Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000000717 retained effect Effects 0.000 description 1
- 238000013515 script Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0481—Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
- G06F3/0482—Interaction with lists of selectable items, e.g. menus
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/22—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks comprising specially adapted graphical user interfaces [GUI]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0481—Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
- G06F3/04817—Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance using icons
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0484—Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/2803—Home automation networks
- H04L12/2816—Controlling appliance services of a home automation network by calling their functionalities
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/02—Standardisation; Integration
- H04L41/022—Multivendor or multi-standard integration
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/02—Standardisation; Integration
- H04L41/0226—Mapping or translating multiple network management protocols
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/04—Network management architectures or arrangements
- H04L41/046—Network management architectures or arrangements comprising network management agents or mobile agents therefor
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W84/00—Network topologies
- H04W84/02—Hierarchically pre-organised networks, e.g. paging networks, cellular networks, WLAN [Wireless Local Area Network] or WLL [Wireless Local Loop]
- H04W84/10—Small scale networks; Flat hierarchical networks
- H04W84/12—WLAN [Wireless Local Area Networks]
Abstract
一种方法包括实施所有家电设备的单个GUI,其包括一组输入面板、家电设备选择器面板以及输出面板;利用多个代理与这些家电设备通信,每个代理实施一种家电设备通信协议,并在内部格式与家电设备通信协议之间进行转换;控制代理的活动;接收从输入面板中的一个发出到选择的家电设备的用户命令,并响应于用户命令生成至少一个相关联的内部命令;向所述控制提供所述至少一个相关联的内部命令,以指示与选择的家电设备相关联的代理中的一个;存储与由远程控制器控制的每个家电设备有关的信息;并且从代理接收与家电设备这些家电设备中的至少一个的状态有关的通知,并提供通知以在GUI上显示。
Description
相关申请的交叉引用
本申请要求2016年2月18日提交的美国临时专利申请62/296,627的优先权,该美国临时专利申请通过引用并入在本文中。
技术领域
本发明一般涉及智能家电设备,并且具体地涉及对智能家电设备的远程控制。
背景技术
已知有远程控制设备并且已使用多年用于控制家电设备。近年来,已经开发了通用远程控制器,其尝试利用单个设备控制多个家电设备。转让给本申请的共同受让人并且通过引用并入本文的2015年9月30日提交的美国专利申请14/870,353描述了实施为手持智能设备(例如手机、平板等)上的应用程序(或“app”)的通用远程控制器。该app针对WiFi和红外远程控制家电设备具有统一界面。
现在参考图1,其一般地示出了这种通用远程控制器100的操作,并且参考图2,其详细描述了通用远程控制器100的用户界面的元素。每个终端用户102将应用程序下载到他/她自己的移动设备上并使用该应用程序来控制他/她的空间(例如家庭、办公室等)中的家电设备110。家电设备110可以是WiFi家电设备110a,例如数字媒体、电视等;或者是红外(IR)控制的设备110b,例如机顶盒和空调单元(AC)。
另外,每个远程控制器100与基于互联网的服务器112通信,该基于互联网的服务器112向多个远程控制器100提供信息。
如图2所示,通用远程控制器100可以具有用于其用户界面的多个部分。位于用户界面顶部的一个部分102显示可用于控制的多种类型家电设备的面包屑导航,并使用户能够将新家电设备添加到他/她的个人家电设备列表中。在用户界面侧面的第二部分104是设备选择器,并且使用户能够改变当前正在控制的家电设备(从与该移动设备相关联的那些家电设备中选择)。
位于显示器的中下部的第三部分106是具有多个控制按钮的设备输入面板。图2所示的输入面板在其上具有与光标、音量以及播放相关的按钮。各种类型的控制按钮被组织成按主题(例如音量、频道、字母)组织的多个面板、观看节目所需的按钮、设备输入面板选择器,并且可以使用位于显示器底部的设备输入面板选择器108来改变。
最后,用户界面具有设备输出面板109,用于提供来自设备的任意输出(如果可用)。
为了将新家电设备添加到其受控家电设备的数据库中,设计人员必须注册家电设备的每个指令,并将家电设备的每个指令与通用远程控制器的输入面板中的一个输入面板上的控制指令相关联。此外,通用远程控制器针对每个家电设备都有单独的状态机,设计人员需要为任意新家电设备构建状态机。
发明内容
因此,根据本发明的优选实施例,提供了一种用于多个远程设备上的通用远程控制器的系统。每个远程控制器控制来自多个供应商的家电设备,并且在每个远程设备上包括针对所有家电设备的单个GUI、家电设备控制器服务器、家电设备逻辑服务器以及客户端管理器。家电设备控制器服务器根据每个家电设备的通信协议与这些家电设备通信,并且在系统的内部通信格式与每个家电设备通信协议之间进行转换。家电设备逻辑服务器按每个受控家电设备实施一状态机。客户端管理器服务器与远程设备通信并管理远程设备,并将远程设备的每家电设备指令传送到家电设备逻辑服务器,其中,至少两个远程设备指令这些家电设备中的单个家电设备。家电设备逻辑服务器将每家电设备指令传送到家电设备控制器服务器,并基于每家电设备指令更新每家电设备状态机。家电设备控制器服务器将每家电设备指令发送到被指示的家电设备,并且这些服务器经由服务器之间的消息进行通信。
此外,根据本发明的优选实施例,GUI包括至少一组预定义输入面板、家电设备选择器面板以及输出面板,并且当家电设备逻辑服务器改变家电设备的状态时,客户端管理器更新每个远程设备上的GUI。
此外,根据本发明的优选实施例,客户端管理器接收从输入面板中的一个输入面板发出到所选家电设备的用户命令,并响应于用户命令以内部格式生成至少一个相关联的命令。
根据本发明的优选实施例,还提供了一种在移动设备上实施的通用远程控制器,该远程控制器控制来自多个供应商的家电设备。远程控制器包括GUI接口适配器,其用于实施针对所有家电设备的单个GUI,GUI包括至少一组输入面板、家电设备选择器面板以及输出面板;多个代理;代理管理器;命令管理器;家电设备管理器以及通知管理器。多个代理命令这些家电设备。每个代理实施一种家电设备通信协议,并在系统的内部通信格式与其中实施的家电设备通信协议之间进行转换。代理管理器控制多个代理的活动。GUI接口适配器接收从输入面板中的一个输入面板发出到所选家电设备的用户命令,并响应于用户命令生成至少一个相关联的内部命令。命令管理器向代理管理器提供至少一个相关联的内部命令,以指令与所选家电设备相关联的代理中的一个代理。家电设备管理器存储与由远程控制器控制的每个家电设备有关的信息。通知管理器从代理接收与这些家电设备中的至少一个家电设备的状态有关的通知,并将通知提供给家电设备管理器和GUI接口适配器以在GUI上显示。管理器、代理以及适配器经由事件总线上的消息进行通信。
此外,根据本发明的优选实施例,远程控制器还包括发现管理器,其用于激活至少一个代理以发现移动设备附近的家电设备,并将发现的家电设备提供给家电设备管理器以添加到由控制器控制的家电设备的列表。
此外,根据本发明的优选实施例,发现管理器还确定所发现的家电设备的属性,并向GUI接口适配器提供属性列表。适配器包括输入元素数据库,该输入元素数据库将属性类型与输入显示元素类型相关联,并根据输入元素数据库中的输入显示元素类型生成针对所发现的家电设备的新GUI输入面板。
更进一步,根据本发明的优选实施例,每个代理根据其相关联的家电设备通信协议来广播对发现的请求,并从具有其相关联的家电设备通信协议并且在与移动设备相关联的网络上连接的任意家电设备接收响应。
另外,根据本发明的优选实施例,每个代理从与家电设备相关联的家电设备资源数据库中提取家电设备的属性列表。
此外,根据本发明的优选实施例,控制器还包括状态管理器,用于按照通知管理器的报告,维护和更新每个当前活动家电设备的当前状态。
根据本发明的优选实施例,还提供了一种用于移动设备上的通用远程控制器的系统,远程控制器控制来自多个供应商的家电设备。系统包括针对所有家电设备的单个GUI、每个移动设备上的GUI、用于根据家电设备通信协议与家电设备通信并在内部通信格式与家电设备通信协议之间进行转换的至少一个单元;以及用于管理和监视家电设备的至少一个单元。这些单元经由单元之间的消息进行通信。
此外,根据本发明的优选实施例,用于与家电设备通信的至少一个单元是家电设备控制器服务器,并且用于管理和监视家电设备的至少一个单元是家电设备逻辑服务器和客户端管理器服务器。。
替代地,根据本发明的优选实施例,用于与家电设备通信的至少一个单元是每家电设备协议的代理,并且用于管理和监视家电设备的至少一个单元至少是代理管理器、命令管理器、家电设备管理器以及通知管理器,所有这些管理器都实施在每个移动设备上。
此外,根据本发明的优选实施例,系统还包括发现管理器,用于发现每个移动设备附近的家电设备。
根据本发明的优选实施例,还提供了一种用于多个远程设备上的通用远程控制器的方法。该方法包括实施针对所有家电设备的单个GUI,GUI在每个远程设备上,根据每个家电设备的通信协议与家电设备通信,在内部通信格式与每个家电设备通信协议之间进行转换;执行受控制的每家电设备的状态机;利用从远程设备中的至少两个远程设备到这些家电设备中的单个家电设备的每家电设备指令来管理远程设备;基于每家电设备指令更新每家电设备状态机;并且将每家电设备指令发送到指示的家电设备。
此外,根据本发明的优选实施例,GUI包括至少一组预定义输入面板、家电设备选择器面板以及输出面板,并且管理包括按照家电设备的更新改变状态,更新每个远程设备上的GUI。
此外,根据本发明的优选实施例,该方法还包括接收对从输入面板中的一个输入面板发出到所选家电设备的用户命令,并响应于用户命令以内部格式生成至少一个相关联的命令。
根据本发明的优选实施例,还提供了一种用于在移动设备上实施的通用远程控制器的方法。该方法包括实施针对所有家电设备的单个GUI,该GUI包括至少一组输入面板、家电设备选择器面板以及输出面板;利用多个代理与家电设备通信,每个代理实施一家电设备通信协议;并且在内部通信格式与其中实施的家电设备通信协议之间进行转换;控制多个代理的活动;接收从输入面板中的一个输入面板发出到所选家电设备的用户命令,并响应于用户命令生成至少一个相关联的内部命令,向所述控制提供至少一个相关联的内部命令,以指令与所选家电设备相关联的代理中的一个代理,存储与由远程控制器控制的每个家电设备有关的信息,以及从代理接收与这些家电设备中的至少一个家电设备的状态有关的通知并提供该通知以在GUI上显示。
此外,根据本发明的优选实施例,该方法还包括激活至少一个代理以发现移动设备附近的家电设备,并将发现的家电设备添加到由控制器控制的家电设备的列表中。
此外,根据本发明的优选实施例,该方法还包括确定所发现的家电设备的属性,并根据将属性类型与输入显示元素类型相关联的输入元素数据库中的输入显示元素类型,生成针对所发现的家电设备的新GUI输入面板。
更进一步,根据本发明的优选实施例,该方法还包括每个代理根据其相关联的家电设备通信协议来广播对发现的请求,并从具有其相关联的家电设备通信协议并且在与移动设备关联的网络上被连接的任意家电设备接收响应。
此外,根据本发明的优选实施例,该方法还包括从与家电设备相关联的家电设备资源数据库中提取家电设备的属性列表。
最后,根据本发明的优选实施例,该方法还包括按照接收通知的报告,维护和更新每个当前活动家电设备的当前状态。
附图说明
在本说明书的总结部分中特别地指出并且清楚地要求保护作为本发明的主题。然而,关于操作的组织和方法两者的本发明,与其目的、特征和优点一起,在与附图一起阅读时可以参照以下具体实施方式来最佳地被理解,其中:
图1是移动设备上实施的现有技术通用远程控制器的示意图说明。
图2是图1的远程控制器的用户界面的示意图说明。
图3是根据本发明优选实施例构造和操作的将GUI与家电设备处理分离的远程控制器系统的框图说明。
图4是可用于图3的远程控制器的替代用户界面的示意图说明。
图5是根据本发明优选实施例构造和操作的替代通用远程控制器的框图说明。
图6A和图6B一起形成了图5的远程控制器的操作的时序图;
图7A和图7B一起形成了图5的远程控制器的发现过程的时序图;和
图8A和图8B一起形成了连接到已知家电设备的过程的时序图。
将认识到的是,为了说明的简化和清晰,附图中示出的元件不必按比例绘制。例如,为了清晰,元件中的一些元件的尺寸可以相对于其它元件被放大。另外,在认为适当的情况下,附图标记可以在附图之中重复以指示相对应的或类似的元件。
具体实施方式
在下面的具体实施方式中,对许多具体细节进行了阐述,以便提供对本发明的全面理解。然而,本领域技术人员将理解的是,本发明可以在没有这些具体细节的情况下被实践。在其它实例中,未具体地描述公知的方法、过程和组件以使得不模糊本发明。
申请人已经意识到远程控制的家电设备的世界正在发展并且存在智能家电设备。智能家居概念涉及能够以数字方式控制家中的所有家电设备,这不是新概念。然而,最近智能家居已经从许多新设备连接到互联网获得了进一步的推动。后者现在被称为“物联网”(IoT),并且现在存在许多IoT设备。
存在若干相互竞争的标准化努力(OCF(开放互连基金会)、AllJoyn、IGRS等),并且许多供应商不断发布仅支持其专有协议的具有其自己的SDK(软件开发人员工具包)的产品。例如,Wulian(物联)、海尔、三星以及Connect(互联)都有其自己的专有协议。
申请人已经意识到,为了将每个新家电设备添加到现有技术的通用远程控制器,设计者必须为新家电设备设计适当的状态机并确定指示通用界面的输入控制设备中的哪个输入控制设备对新家电设备而言是有效的。
申请人已经认识到,通过将单个用户界面同与家电设备的通信分离来解决现有技术的问题。根据本发明的优选实施例,每种类型的协议具有其自己的代理,该代理可以在协议(专有或标准)与内部消息传送格式之间进行转换。这可以为所有设备提供单个图形用户界面(GUI),并为所有设备提供个性化通信。
申请人已经意识到,当每个代理实施特定协议时,如果协议包括请求家电设备的性能,则代理能够发现其附近执行该协议的所有设备,其中设备的附近由特定协议和网络广播域来定义。也就是说,代理可以发现与远程控制器的设备在同一网络域(例如WiFi网络、家庭网络或红外(IR)连接)上的响应于特定协议的设备,以便能够接收对发现的请求并理解和响应该对发现的请求。这与仅实现家电设备的特定性能的现有技术相反。
此外,分离出远程控制器的各种操作可以使多个用户能够控制同一家电设备并且可以实现系统的可扩展性。
现在参考图3,其示出了根据本发明优选实施例构造和操作的用于IoT(物联网)家电设备的远程控制器系统200的第一实施例。该系统包括多个远程客户端202、客户端管理器210、家电设备逻辑服务器220以及控制多个家电设备240的家电设备控制器服务器230。根据本发明的优选实施例,系统200可以被分区和实施,使得每个组件可以在不同的云服务上运行,以允许可移植性和可扩展性。
远程客户端202可以是可由用户操作的用于通用远程控制器的任意合适的远程客户端,并且可以在任意合适的计算平台上运行。例如,远程客户端202可以在Android(安卓)应用程序、iOS应用程序、web客户端、用于个人计算机或第三方家电设备的应用程序上运行。图3示出了web客户端202A和移动应用程序202B两者。远程客户端202可以提供单个通用用户界面,类似于2015年9月30日提交并转让给本申请的共同受让人的美国专利申请14/870,353中讨论的用户界面,或者远程客户端202可以提供任意其它合适的通用用户界面,例如如现在简要参考的图4所示的通用用户界面。
图4的通用用户界面显示在移动设备上,但是该通用用户界面可以在任意其它合适的设备上实施。在该实施例中,设备选择器104可以放置在输出面板109上方并且也可以包括面包屑导航,而输入面板选择器108可以放置在当前选择的输入面板106上方。
客户端管理器210可以将多个客户端及其相关联的用户注册到系统200中,并且可以是用于与客户端通信的唯一单元。每次客户端管理器210可以从客户端202中的一个接收命令时,客户端管理器210可以执行认证和权限检查以确定用户在特定客户端202上可以控制哪些家电设备以及该特定客户端202可以执行什么操作。对于该操作,客户端管理器210可以利用安全服务212。例如,可以仅允许儿童打开或关闭家电设备,同时可以允许父母更改家电设备的配置。客户端管理器210和/或安全服务212可以通过定义具有针对多个操作的各种权限级别的多种类型的用户(例如“父母”、“幼儿”、“青少年儿童”等)并将每个用户与其用户类型相关联和将每个用户与其客户端202相关联来实施这一点。应当理解,安全服务212可以按每客户端和每请求强制执行安全性。
一旦特定客户端202可以通过安全检查,如果客户端202请求注册新家电设备,则客户端管理器210可以从家电设备目录214访问关于新家电设备的信息,并且可以基于存储的信息来生成适当的用户界面(即,一组输入面板中定义的所选命令元素)以显示在客户端202上。
如果用户然后在她的客户端202的用户界面上激活诸如按钮、滑块、开关等的输入元素,则她的客户端202可以连接到客户端管理器210并且可以向客户端管理器210发送命令。例如,客户端202可以发送命令“打开空调”。客户端管理器210可以验证该命令对于该用户是合法的,并且如果合法,则可以将该命令发送到家电设备逻辑服务器220。
根据本发明的优选实施例,任意家电设备240可以由状态机定义,状态机可以确定其多个允许的状态以及可以将家电设备240从一个状态移到另一状态的动作或事件。家电设备可能一次只能处于一个状态;家电设备在任意给定时间所处的状态被称为当前状态。当前状态在由触发事件或条件发起时,可以从一个状态变为另一状态;这称为转换。特定的状态机由其状态列表和每个转换的触发条件来定义。
根据本发明的优选实施例,家电设备状态机可以用SCXML描述,SCXML是一种用于定义状态机而设计的语言。SCXML可以由“万维网联盟(W3C)”于2015年9月批准的“StateMachine Notation for Control Abstraction(状态机控制抽象符号)”来定义。SCXML可以提供基于状态机的通用执行环境。
因此,通过定义家电设备的状态机,可以完全定义家电设备的操作。此外,家电设备对其输入设备中的每个输入设备的响应可以由状态机完全定义。应当理解,家电设备的状态机模型因此可以为家电设备制造商提供语言或格式来定义其家电设备,使得所有类型的远程控制器可以与这些家电设备进行通信。只需通过将家电设备的SCXML下载到家电设备逻辑服务器220,就可以容易地将任意新家电设备添加到系统200。
还可以将SCXML下载到每个客户端202,使得其用户界面可以更准确地反映相关家电设备上发生的事情。在该实施例中,仅向用户显示相关命令和状态改变。
家电设备逻辑服务器220可以根据每个家电设备先前存储的状态机来操作每个家电设备,并且可以按每用户操作每家电设备一个状态机。家电设备逻辑服务器220可以利用每个接收到的命令来改变状态机的状态。为此,家电设备逻辑服务器220可以在考虑家电设备当前状态的情况下检查命令是否有效。如果有效,则服务器220可以将具有用于执行的命令的消息发送到家电设备控制器服务器230。一旦服务器220从控制器服务器230接收到家电设备240已被提供命令和/或家电设备240已成功实施命令的消息,则家电设备逻辑服务器220可基于该命令将家电设备的状态机移到新状态。家电设备逻辑服务器220还可以就要在相关远程客户端202的GUI上更新的改变的状态来更新客户端管理器210。
家电设备控制器服务器230可以处理与家电设备240的所有通信。家电设备控制器服务器230可以具有多个代理以根据家电设备的特定协议来运行家电设备240。为此,每个代理可以实施特定的设备驱动程序或SDK(软件开发工具包)来执行对家电设备的命令。对于简单的设备,可能会发生这种情况。然而,如果家电设备回复或触发响应,则家电设备控制器服务器230可以经由家电设备控制器服务器230将响应转回家电设备逻辑服务器220,家电设备逻辑服务器220可以继而取决于消息来更新家电设备的状态,并且可以向客户端管理器210通知新状态。客户端管理器210可以利用新状态和信息来更新所有相关客户端,这些客户端继而可以通知用户和/或可以相应地改变客户端的显示。
另外,系统200可以利用诸如MQTT之类的发布/订阅系统作为其各个单元之间的有效通信层。
应当理解,系统200可以被设计成使得来自每个家电设备240的数据仅可被发送一次,但是可以被分发给可注册为控制其的所有客户端202。因此,多个客户端202可以从单个家电设备接收数据、警报以及通知。另外,系统200可以将来自多个客户端202的指令汇集到单个家电设备,根据接收到的指令改变该单个家电设备的状态。
系统200可以容易地扩展而不影响每个家电设备,其具有用于响应用户的有限资源。相反,客户端管理器210可以将来自多个客户端202的所有请求串行化到单个家电设备。
系统200可以是基于云的系统,在单独的基于云的服务器上实施每个单元或多个单元。
在现在参考的图5所示的替代实施例中,将GUI与家电设备处理分离的通用远程控制器300通常可以完全在移动设备上实施。申请人已经意识到,在基于移动设备的控制的情况下,控制设备可能不具有与也访问同一家电设备的其它设备的活动有关的任何信息。因此,通用远程控制器300可以是“无状态的”。
如图5所示,通用远程控制器300可以包括GUI 302、GUI接口适配器304、家电设备管理器306、代理管理器308、多个代理310(每协议一个代理)、命令管理器312以及通知管理器314,所有这些都可以经由事件总线316使用消息进行通信。事件总线316可以是移动设备上的发布/订阅基础设施,用于在应用程序模块之间进行异步通信。
GUI 302可以是应用程序的表示层,并且可以类似于2015年9月30日提交并转让给本申请的共同受让人的美国专利申请14/870,353中描述的表示层。GUI 302可以根据预定义的输入面板来显示当前正在访问的家电设备的各种输入元素,例如图2和图4的通用远程控制器的输入面板或任意类似的通用控制器的输入面板。GUI 302可以是预定义的GUI,或者GUI 302可以是动态的,如下文更详细描述的。
GUI接口适配器304可以接收由控制器300的其它元件递送的消息,并且可以确定在GUI 302上显示什么。例如,GUI接口适配器304可以经由良好定义的API(应用程序编程接口)与GUI 302通信。应当理解,经由GUI接口适配器304将GUI 302与其它元件分离可以使得能够实现对GUI 302的改变而不改变其它元件的操作。
代理管理器308可以管理多个代理310并且可以负责对家电设备240的初始化、终止和监视。每个代理310可以负责经由特定通信协议与特定“类”的家电设备进行通信。因此,代理310A可以经由通信协议A与家电设备240A通信,而代理310B可以经由通信协议B与家电设备240B通信。代理310可以在其特定协议格式的格式与内部格式之间进行转换。
每个代理310可以处理与家电设备通信的所有方面,例如信号交换、呈现以及向家电设备240发送命令。另外,如果代理310的特定协议允许来自其家电设备240的这些请求,则代理310可以从家电设备240请求和接收状态信息。每个代理310可以使用其特定协议来处理对新家电设备240的发现,如下文更详细描述的。
应当理解,代理310可以在记录的通信协议之上开发,或者在封装或实施通信的SDK或软件库之上开发。
命令管理器312可以从GUI 302接收命令,并且可以将命令转发到相关代理310以供执行。通知管理器314可以从代理310接收与家电设备状态以及属性更新有关的通知,并且可以将通知转发到相关模块,例如家电设备管理器306。在替代实施例中,命令管理器312和通知管理器314还可以分别从通过互联网或“云”连接的远程控制器接收命令和通知。
家电设备管理器306可以是与控制器300中的家电设备有关的信息以及家电设备的状况和状态(不管正在使用的家电设备类型/系统/协议)的主要来源。根据代理310的请求,家电设备管理器306可以暴露存储的家电设备的运行时状态。家电设备管理器306还可以更新与控制器300中的家电设备有关的信息。
通用远程控制器300还可以包括持久性(persistence)引擎320、家电设备数据库322、家电设备状态数据库324以及状态管理器325。状态管理器325可以保持跟踪每个当前活动家电设备的状态,将信息存储到家电设备状态数据库324和持久性引擎320中。家电设备状态数据库324可以存储最后已知状态,并且可以由家电设备管理器306和状态管理器325容易地访问。
持久性引擎320可以加载和保存与家电设备数据库322中控制器300可以控制的家电设备有关的信息,以存储信息防止断电。此类信息可以包括基本家电设备信息,例如序列号、制造商、用户家庭位置、最后已知状态、更新日期、权限等。
在操作中并且如现在参考的图6A和图6B所示,用户可以使用当前活动输入面板106(图2和图4)上的输入元素中的任意输入元素,并且GUI 302可以向GUI接口适配器304提供对用户命令以及活动家电设备240的指示,GUI接口适配器304继而可以向命令管理器312提供命令。命令管理器312可以向相关代理310(例如所示的OCF代理)提供命令。代理310可以将命令从控制器300的内部格式转换为家电设备命令,并且可以将家电设备命令发送到所指示的家电设备240上的协议服务器。家电设备240执行命令的操作,并且如果相关,则向其代理310提供其结果状态,例如电源=ON(通)。代理310向通知管理器314提供结果状态,通知管理器314继而向家电设备管理器306提供状态。然后,家电设备管理器306可以将状态转换为内部格式,并且可以将状态转发到通知管理器314。通知管理器314可以将消息传递给可以存储结果的家电设备管理器306,并且可以将消息传递给GUI接口适配器304,GUI接口适配器304可以指示GUI 302在输出面板109上显示更新的状态(图2和图4)。所有这些通信可以在事件总线316上作为以内部格式的消息发布,该消息指示相关单元(GUI 302、GUI接口适配器304、家电设备管理器306、命令管理器312、通知管理器314以及OCF代理310)。
如果家电设备240不能在限定的时间段内响应来自代理310的命令,则代理310可以向通知管理器314提供Power=OFF(电源=断)的消息,通知管理器314继而将该状态提供给家电设备管理器306。然后,家电设备管理器306可以向GUI接口适配器304提供状态,GUI接口适配器304指示GUI 302在输出面板109上显示断开状态(图2和4)。
根据本发明的优选实施例,每个代理310可以实施其特定协议的所有性能,而不管有哪些性能在该代理当前通信的特定家电设备中被实施。许多相对新的协议(例如OCF)包括用于根据请求以及任意识别信息来提供家电设备的属性和/或性能的指令。可以利用该指令实施协议的每个代理310可以包括这样的指令,并且因此,能够从家电设备本身得知家电设备240的能力,而不是将它们预定义在和/或下载到家电设备数据库322中。申请人已经意识到,这可以使得能够“发现”通用远程控制器300附近的新家电设备而非如现有技术那样由用户激活。因此,控制器300可以另外包括发现管理器326,其可以处理发现过程的流程。发现管理器326可以基于在发现过程期间提供给代理310的信息来定位新家电设备240并将新家电设备240添加到控制器300。信息可以是家电设备的类型、家电设备的序列号、以及家电设备的输入元素及其范围。
发现管理器326可以指示代理310发现其附近的所有家电设备。每个代理310可以暴露代理在发现过程期间发现的家电设备240的接口。利用单元之间的消息实施的发现过程在现在参考的图7A和图7B中示出。用户经由GUI 302请求发现。GUI 302可以向GUI接口适配器304提供请求,GUI接口适配器304可以将请求传递给发现管理器326。如果请求针对特定类型的家电设备,则发现管理器326可以将请求传递给针对特定标准的代理310。否则,发现管理器326可以激活能够执行发现的所有代理310。
代理310可以针对其家电设备类型在适当的介质上广播其对发现的请求,例如UDP多播分组。该请求可能仅在预定义的时间段内是有效的。在此时间段期间,可以接收请求的每个家电设备上的服务器可以用其ID分组进行响应,该ID分组可以包括服务器的地址和基本标识信息(例如名称、制造商以及类型),并且可以将其响应发送到发送代理310。相关代理310可以将信息转换为针对ID的内部格式。另外,相关代理310然后可以使用针对特定协议的登录规则来登录到家电设备。一旦登录,则相关代理可以提取家电设备的用户界面信息,其可以包括家电设备的输入设备及其范围(如果相关)。图7A示出了在预定义时间段期间接收到的2个响应。
代理310可以从与家电设备相关联的家电设备资源数据库中提取GUI信息。该资源数据库是特定协议的函数(function)。例如,针对OCF协议的代理可以遍历家电设备的资源(如由家电设备公开)以提取资源信息。对于IGRS协议,所有家电设备信息可以存储在单个的遍及全国的被称为SADL的数据库中。IGRS代理可以向SADL服务器提供家电设备的ID,并且可以接收家电设备的SADL文件。然后,每个代理310可以将接收到的信息(家电设备属性列表)转换为控制器300的内部格式。
家电设备属性列表可以将每个属性列为名称和值,其中值可以被解释为数字、日期、时间或布尔数据类型,这取决于特定家电设备的性能。
空调的示例性属性列表可以是:
输入元素:
1、功率(布尔)
2、模式(字符串:“冷”、“热”、“风扇”)
3、CurrentTemperature(int)(当前温度(取整函数))
4、TargetTemperature(int)(目标温度(取整函数))
支持的命令:
1、SetPower(设置功率)(布尔)
2、SetMode(设置模式)(字符串)
3、SetTargetTemperature(int)(设置目标温度(取整函数))
代理310可以将具有其输入元素和支持的命令的属性列表传递给发现管理器326,发现管理器326继而可以将关于家电设备的信息传递给GUI接口适配器304以为用户在GUI302上呈现信息,以确认用户附近的家电设备的存在。
在该时间段结束之后,GUI 302可以向GUI接口适配器304提供确认以将其传递给发现管理器326以传递到家电设备管理器306。然后,家电设备管理器306可以添加新家电设备并将其家电设备信息以及其属性列表存储在持久性引擎320中,以使其信息保持有效。一旦添加了家电设备,则家电设备管理器306可以指示GUI接口适配器304改变GUI 302以包括新家电设备并生成适合于接收到的每个新家电设备的属性列表的输入面板106。
应当理解,利用家电设备发现,GUI 302可以具有动态布局。GUI接口适配器304可以基于来自存储在输入元素数据库305(图5)中的一组预定义控制元素的新家电设备的特定控制元素,生成针对每个新家电设备的输入面板。每种类型的属性可以具有与其相关联的不同类型的输入显示元素。例如,布尔属性可以具有与其相关联的输入按钮,字符串属性可以具有与其相关联的文本框,数字属性可以具有与其相关联的滑块,其端点可以是相关联范围的起点和终点,并且多字符串属性(例如上面示例中的“模式”)可以具有与其相关联的下拉框。
GUI接口适配器304可以向GUI 302指示适当的输入显示元素,以放置在输入面板部分106中。如果存在比输入面板部分106中空间更多的输入元素,则GUI接口适配器304可以根据功能和易用性来组织输入显示元素。这可以经由也存储在输入元素数据库305中的一组组织关键字来实施,其中具有某些关键字的属性可以被组织到同一输入面板上。
根据本发明的优选实施例,代理310还可以发现已知协议的新家电设备的某些命令或属性,即使该性能未在该家电设备的已知协议中指定。这是对已知协议的“动态”扩展,并且由于发现过程而是可能的。此外,可能存在完全动态类型的家电设备,其协议是已知协议但性能未知。
现在参考图8A和图8B,其一起示出了连接到已知家电设备的过程。用户可以点击GUI 302上的家电设备。GUI接口适配器304可以向家电设备管理器306提供命令,家电设备管理器306继而可以向适当的代理310发送连接消息。代理310可以向所选家电设备240上的服务器发送连接请求。家电设备240可以开始其认证过程并且可以通过各种元件将认证请求发送回GUI接口适配器304。
GUI接口适配器304可以在GUI 302上显示认证请求,响应于该认证请求,用户可以键入他的PIN(个人识别码),其被传递到家电设备240(经由GUI接口适配器304、家电设备管理器306以及代理310)。家电设备240可以利用PIN来认证用户。一旦被认证,则家电设备240可以向代理310发送“成功”消息。代理310可以询问家电设备信息,因此代理可以在家电设备管理器306和持久性引擎320中更新家电设备。
应当理解,将一些家电设备“桥接”到另一家电设备,即,它们连接到另一家电设备。控制器300可以将桥接的家电设备注册为其类型和协议的常规家电设备,同时列出桥接的家电设备的特殊通信需求。可以存在经由同一个桥连接的多个桥接的家电设备。
每家电设备的“桥接”定义可以嵌入在针对家电设备在持久性引擎320中持久保存的ApplianceAgentConfiguration(家电设备代理配置)对象中。该信息存在于代理边界之外。
为了处理桥接的家电设备,代理310可以与桥通信,并且可以根据桥接的家电设备的相关桥的连接改变来更新桥接的家电设备的状态。如果协议需要,则相关代理310可以在发现请求期间与可用桥建立通信,使得桥可以报告与其桥接的家电设备中的任意桥接的家电设备有关的信息。
应当理解,即使用户可能有来自多个系统和供应商的家电设备,本发明也可以向用户提供一致的体验。本发明还可以使许多用户能够控制、监视和获得来自同一家电设备的通知。如果家电设备具有记录的界面(SDK或API),则本发明可以控制家电设备而不管它们的来源。重要的是,本发明可以发现用户附近的家电设备,由此使得可能不知道或不能容易地找到他/她的家电设备的序列号,也不知道如何安装家电设备的用户能够用很少的工作添加新家电设备。
家电设备管理器306
家电设备管理器306可以包含控制器300中的所有家电设备的列表以及家电设备的最新状态和属性信息,并且可以生成与家电设备的状态和属性的改变有关的通知。家电设备管理器306可以实现请求以连接和断开家电设备,并且可以接合以添加/删除/更新家电设备。特别地,GUI 302可以使用家电设备管理器306,以便手动添加家电设备(例如:IR)。家电设备管理器306还可以查询当前网络连接状态。
代理管理器308
代理管理器308可以负责代理的生命周期。代理管理器308是唯一允许例示、终止和管理代理的实体。所有其它模块可以经由代理管理器308唯一地与代理通信。另外,代理管理器308可以接收针对代理的所有消息,并且可以将这些消息转发到目的地代理。这是为了确保消息永远不会发送到不存在的代理实例。
代理管理器308可以通过其自己的逻辑,根据明确请求(例如当家电设备管理器306可以传递代理310的列表来启动时)或者通过隐式请求(针对当前处于关闭的代理的特定命令)来启动、停止或重启任意代理。
为此,家电设备管理器306可以在初始化时请求代理管理器308来初始化与持久性家电设备相关的所有代理,如持久性引擎320中所列出的。
代理管理器308可以接收通知以在处于关闭的代理上执行发现,可以侦听来自代理的代理状态通知,并且可以更新其内部列表。
通知管理器314
通知管理器314可以接收与针对已注册的家电设备改变的状态和属性值有关的通知消息,可以经由API更新家电设备管理器306中维护的状态和属性列表,并且可以向所有感兴趣的模块发出通知。通知可以源自本地代理310或者也可以来自互联网。
命令管理器312
命令管理器312可以暴露用于GUI 302的API以向家电设备发送命令。在替代实施例中,命令管理器312可以支持由其它模块发出的命令或者源自互联网的命令。命令管理器312还可以支持测试命令,该测试命令可以是发送到尚未在控制器300中定义的家电设备的命令,以便检查家电设备的响应。例如,用户必须发送测试命令以检查哪个IR与其家电设备一起“远程”工作。
发现管理器326
如上所述,发现管理器326可以处理自动的家电设备发现流程和手动的家电设备发现流程(即,不能被自动发现),并且可以存储与有效发现请求和到达响应相关的数据。自动逻辑如下:
GUI 302可以按每特定类型的家电设备发起请求。每个请求都会获得唯一的ID。在一些情况下,发现请求可以携带认证信息。这种请求意味着“在认证数据的上下文中找到家电设备”(例如,云帐户凭据)。发现管理器326可以基于请求(类型和供应商)和代理的产品配置来确定所有相关代理的列表。发现管理器326可以将发现消息(由请求ID“标记”)发送给所有相关代理。
每个代理310可以执行发现并且可以报告回信息(可能以区块为单位)。在基于代理提供的“applianceAgentID(家电设备代理ID)”对至少以下内容进行基本过滤之后,发现管理器326可以将信息转发回GUI:
1、确信没有系统中存在的家电设备被报告,即使已被代理“发现”。
2、确信没有重复的家电设备被报告,即使出于任何原因在响应单个发现请求时曾报告了重复的家电设备。
当发现管理器326可以确定该过程结束时(如下文所述),并且可以发送“发现结束”消息。在GUI中,用户决定将某些家电设备添加到系统,具有指定家电设备名称的选择权。GUI将被更新,之后将家电设备添加到家电设备管理器306中。
发现管理器326可以跟踪(每请求)来自代理310的相关响应。代理310可在其检测到End_discovery(结束_发现)时报告End_discovery。如果涉及的所有代理310都报告了End_discovery,则发现管理器326可以结束发现过程并且可以发出discovery_end(发现_结束)通知。然而,如果并非所有代理310在发现时间段结束之前报告了End_discovery,则发现管理器326可以结束发现过程并且可以忽略来自代理的关于结束请求的任何响应。
如果GUI 302提供discovery_cancel(发现_取消)请求,则发现管理器326还可以停止处理传入通知并且可以停止发出传出通知。
发现管理器326还可以捕获“网络连接”信息(包括所连接的WiFi网络的名称),并且可以将其提供给持久性引擎320以进行存储。
持久性引擎320
持久性引擎320可以存留与家电设备有关的静态(“管理”)信息的信息。该信息必须足以在断电或其它功能停止后恢复正常的应用程序功能。持久性引擎320还可以支持代理310的配置的持久性。在替代实施例中,可以扩展持久性引擎320以支持域和围绕家电设备管理的附加管理功能。
持久性引擎320的示例性实施方式可以利用Android(安卓)设备的“共享偏好”机制。仅家电设备管理器306可以与持久性引擎320进行交互。
GUI接口适配器304
GUI接口适配器304的主要功能为:
1、为GUI提供隔离的API以满足其需求。这可以针对GUI 304的需求提供调整API的灵活性,而无需改变其它组件中的任意组件。
2、通过将请求和操作移动到新线程来解决线程问题,从而释放GUI线程。
3、经由回调(callback)提供异步API。API在获得与请求匹配的响应(通常经由消息)时调用回调。例如,在请求发现时,经由回调报告结果(即找到家电设备)。
4、针对新发现的家电设备240生成新的输入面板。
基础设施
基础设施由若干模块构建(每个模块都有其自己的功能和角色),这些模块通过函数调用或基于发布/订阅机制的消息传递机制相互通信。基础设施模块利用GUI适配器进行封装,从GUI的角度将基础设施模块全部一起整合为一个黑盒子。
事件总线316
事件总线316可以利用“EventBus(事件总线)”来实施,“EventBus”是可从http://greenrobot.org/eventbus/的Green Robot获得的开源程序。事件总线316经过优化且快速,并且控制多线程。EventBus用途是基于Annotation(注释)、处理程序以及消息。
每个消息可以由新线程上的每个组件接收。GUI接口适配器304可以将用户界面线程与其它函数调用和逻辑去耦合,并且可以在GUI线程上调用回调。
API调用和消息处理程序位于不同的线程上,以保持模块的线程安全。
当前初始化过程初始化所有相关核心模块和代理310。GUI保持阻塞状态,直至初始化完成。
代理310
代理可以实施为类,遵循某些接口,例如API调用和消息传送。每个代理由其主类表示,主类可以使用Android的init()方法由代理管理器308进行例示。可以在新线程上调用每个代理310的例示,并且可以在例示期间将代理配置作为参数传递给代理310。代理310可以在完成初始化之后立即报告INITIALIZING(初始化)状态和READY(准备就绪)状态。作为初始化过程的部分,每个代理310可以在报告“READY”之前注册自己以侦听传入消息。
在应用程序终止时,或者通过任意其它逻辑,代理管理器308可以在代理的主类上调用Android的destroy()(毁灭())方法。在这样的调用中,每个代理310可以终止其所有连接并且可以关闭其所有资源,以达到协议或SDK所允许的最大努力。在完成清理时,每个代理310可以发出TERMINATED(终止)状态。
代理310可以向家电设备管理器306查询关于家电设备的信息,包括与家电设备相关的任意持久信息以及与网络连接状态有关的信息。核心模块与代理310之间的所有其它通信可以经由消息传送机制。
每个代理310可以在Connect(连接)请求时建立与家电设备的通信,并且可以在Disconnect(断开连接)请求时释放所有资源(包括停止观察)。
每个代理310可以服从家电设备观察请求,并且可以在所观察的家电设备的属性改变时以合理的频率发送更新。当协议/SDK不提供更好的观察机制时,可能需要轮询。可以预期代理310主动监视与所连接的家电设备的连接,并报告状态更新。如果可能,则代理310可以执行与具有临时通信问题的家电设备的自动重新连接。
代理310可以经由诸如云服务之类的服务而不是与家电设备和桥通信的服务来监视它们与其家电设备240的通信。这些代理可以监视与服务的连接,在连接丢失时报告DISCONNECTED(断开连接),并尽最大努力重新建立连接,并在成功时报告READY(准备就绪)。
应当理解,控制器300可以从移动设备提供通用远程控制器。申请人已经认识到,控制器300可以利用许多移动设备具有的位置信息来支持与分布在多个物理位置(例如家庭和办公室)的家电设备的交互。该信息可以由家电设备管理器306存储。控制器300还可以支持由用户定义的不同类型的位置,例如家庭和办公室。家庭位置可以由单个所有者控制,其中访问权限在家庭成员之间共享,而办公室位置可以由系统管理员管理,根据特定用户的工作和办公室位置将权限委派给特定用户。
根据本发明的优选实施例,控制器300可以例如从移动设备上的GPS设备接收位置信息,可以确定用户当前所处的位置,并且可以指示哪些设备在该位置可用。
用户可以将家电设备240分组成若干组或若干域,例如客厅,其可以包括电视、灯以及空调;以及卧室,其可以包括灯、空调以及遮光物。组可以具有对组中所有家电设备的单击控制命令和/或规则可以应用于整个组。该信息可以由家电设备管理器306维护。
用户可以管理每个组的结构,可以将设备指派给每个组,并且可以定义组级访问控制。GUI 302可以向用户反映组和家电设备的结构。
如果将家电设备移动到不同的组,则会保留每家电设备的所有设置,但会忘记旧的组设置。新的组设置立即被应用。
通过分组,家电设备管理器306还可以实现若干情景或若干场景,其为多个家电设备240及其各自状态的组合。用户可以定义和管理情景,包括向情景提供名称和图标。用户可以以许多方式来定义情景,例如从预定义情景模板来定义情景,其中用户只需要通过捕获当前状态或通过手动选择情景来填充组、设备以及状态值。
每个情景可以列在GUI 302上,并且可以利用单击来实现,以将情景中的所有家电设备激活到期望的状态。
此外,家电设备管理器306可以实施由用户定义的脚本、规则以及警报。例如,自动化规则可以由触发动作的条件来定义。
除非另外特别声明,否则从前述讨论中显而易见的是,应该认识到的是,贯穿本说明书,利用诸如“处理”、“计算”、“运算”、“确定”等之类的术语的讨论指的是任意类型的通用计算机的动作和/或过程,该通用计算机例如为客户端/服务器系统、移动计算设备、智能家电设备、或者以下类似的电子计算设备:将表示为计算系统的寄存器和/或存储器内的物理(例如,电子)量的数据进行操控和/或转换成类似地表示为计算系统的存储器、寄存器或者其它这样的信息存储、传输或显示设备内的物理量的其它数据。
本发明的实施例可以包括用于执行本文中的操作的家电设备。可以出于期望的目的来特别地构建该家电设备,或者该家电设备可以包括由存储在计算机中的计算机程序选择性地激活或重新配置的通用计算机。所得到的家电设备在由软件指示时可以将通用计算机转变为本文中讨论的具有创造性的元件。指令可以将该具有创造性的设备限定为与其所期望的计算机平台一起运行。可以将这样的计算机程序存储在计算机可读存储介质中,该计算机可读存储介质例如但不限于,任意类型的盘,包括光盘、磁性光盘、只读存储器(ROM)、易失性和非易失性存储器、随机存取存储器(RAM)、电可编程只读存储器(EPROM)、电可擦除可编程只读存储器(EEPROM)、磁卡或光卡、闪存、随身碟(disk-on-key)、或者适合于存储电子指令并且能够耦合至计算机系统总线的任意其它类型的介质。
本文中呈现的过程和显示并非固有地与任意特定的计算机或其它家电设备相关。各种通用系统可以与根据本文中的教导的程序一起使用,或者可以证明构建较专门化的家电设备来执行期望的方法是方便的。针对各种这些系统的期望的结构将根据以下描述而显现。此外,不参照任意特定的编程语言来描述本发明的实施例。将认识到的是,各种编程语言可以用于实现如本文中描述的本发明的教导。
虽然已在本文中示出并且描述本发明的某些特征,但是本领域普通技术人员现在将会想到许多修改、替换、改变和等同。因此,应该理解的是,所附权利要求旨在涵盖落在本发明的真正精神内的所有这样的修改和改变。
Claims (10)
1.一种移动设备上实施的通用远程控制器,所述远程控制器包括:
所述移动设备的处理器;以及
单个移动应用程序,其被实施在所述处理器上并远程控制来自多个供应商的家电设备,所述家电设备具有多个家电设备通信协议,所述移动应用程序包括:
多个代理,用于命令所述家电设备,每个所述代理在所述控制器的内部通信格式与来自所述多个家电设备通信协议中的一个家电设备通信协议之间进行转换;每个代理通过所述一个家电设备通信协议与其相关联的家电设备集合进行通信,其中,所述多个家电设备通信协议包括所述多个供应商中的一个供应商的至少一个专有家电设备协议;
代理管理器,用于维护和更新所述代理的列表,以及控制所述多个代理的活动;
接口适配器,用于接收从输入面板发出到选择的家电设备的用户命令,并响应于所述用户命令生成至少一个相关联的内部命令;以及
家电设备管理器,用于存储与由所述远程控制器控制的每个家电设备有关的信息;所述信息至少包括用于每个所述家电设备的状态机,其中,每个状态机包括所述家电设备的状态列表、状态之间的转换以及至少一个转换的至少一个触发条件;所述家电设备管理器还用于维护和更新每当所述家电设备的触发条件发生时每个当前有效的家电设备的当前状态,以及向所述接口适配器通知关于所述更新的当前状态;以及
所述管理器、代理以及适配器经由消息进行通信。
2.根据权利要求1所述的控制器,其中,所述移动应用程序还包括:
发现管理器,用于激活至少一个代理以发现所述移动设备附近的家电设备,并将发现的所述家电设备提供给所述家电设备管理器,以添加到由所述控制器控制的家电设备的列表中。
3.根据权利要求2所述的控制器,其中,所述发现管理器还确定发现的所述家电设备的属性并向所述接口适配器提供属性列表,所述接口适配器包括将属性类型与输入显示元素类型相关联的输入元素数据库,所述接口适配器根据所述输入元素数据库中的所述输入显示元素类型来生成针对发现的所述家电设备的新输入面板。
4.根据权利要求2所述的控制器,其中,所述代理根据其相关联的家电设备通信协议来广播发现请求,并从具有其相关联的家电设备通信协议并且连接在与所述移动设备相关联的网络上的任意家电设备接收响应。
5.根据权利要求3所述的控制器,其中,所述代理从与所述家电设备相关联的家电设备资源数据库中提取所述家电设备的所述属性列表。
6.一种用于在移动设备上实施的通用远程控制器的方法,所述方法包括:
提供单个移动应用程序来远程控制来自多个供应商的家电设备;所述家电设备具有多个家电设备通信协议,所述提供包括:
利用多个代理与所述家电设备通信,每个代理在所述控制器的内部通信格式与所述多个家电设备通信协议中的一个家电设备通信协议之间进行转换;每个代理通过所述一个家电设备通信协议与其相关联的家电设备集合进行通信;其中,所述多个家电设备通信协议包括所述多个供应商中的一个供应商的至少一个专有家电设备协议;
接收从输入面板中的一个发出到选择的家电设备的用户命令,并响应于所述用户命令生成至少一个相关联的内部命令;
维护和更新所述代理的列表并控制所述多个代理的活动,包括向一个所述代理提供所述内部命令;
存储与由所述远程控制器控制的每个家电设备有关的信息;所述信息至少包括用于每个所述家电设备的状态机,其中,每个所述状态机包括所述家电设备的状态列表、状态之间的转换以及至少一个转换的至少一个触发条件;以及
维护和更新每当所述家电设备的触发条件发生时每个当前有效的家电设备的当前状态,以及向接口适配器通知关于所述更新的当前状态。
7.根据权利要求6所述的方法,还包括:激活至少一个代理以发现所述移动设备附近的家电设备,并将发现的所述家电设备添加到由所述控制器控制的家电设备的列表中。
8.根据权利要求7所述的方法,还包括:确定发现的所述家电设备的属性,并且根据将属性类型与输入显示元素类型相关联的输入元素数据库中的所述输入显示元素类型来生成针对发现的所述家电设备的新输入面板。
9.根据权利要求7所述的方法,还包括:每个代理根据其相关联的家电设备通信协议来广播发现请求,并从具有其相关联的家电设备通信协议并且连接在与所述移动设备相关联的网络上的任意家电设备接收响应。
10.根据权利要求8所述的方法,还包括:从与所述家电设备相关联的家电设备资源数据库中提取所述家电设备的属性列表。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201662296627P | 2016-02-18 | 2016-02-18 | |
US62/296,627 | 2016-02-18 | ||
PCT/IB2017/050937 WO2017141219A1 (en) | 2016-02-18 | 2017-02-19 | Architecture for remote control of iot (internet of things) devices |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108702389A CN108702389A (zh) | 2018-10-23 |
CN108702389B true CN108702389B (zh) | 2021-09-21 |
Family
ID=59625737
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201780011995.3A Expired - Fee Related CN108702389B (zh) | 2016-02-18 | 2017-02-19 | 用于遥控iot(物联网)设备的架构 |
Country Status (3)
Country | Link |
---|---|
US (1) | US10719200B2 (zh) |
CN (1) | CN108702389B (zh) |
WO (1) | WO2017141219A1 (zh) |
Families Citing this family (27)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
AU2016354489A1 (en) * | 2015-11-11 | 2018-06-07 | Johnson & Johnson Surgical Vision, Inc. | Systems and methods for providing virtual access to a surgical console |
US10333733B2 (en) * | 2017-03-20 | 2019-06-25 | Vmware, Inc. | Controlling proxy devices through a managed gateway |
CN108667773B (zh) * | 2017-03-30 | 2021-03-12 | 阿里巴巴集团控股有限公司 | 网络防护系统、方法、装置及服务器 |
WO2019016678A1 (en) * | 2017-07-16 | 2019-01-24 | Sure Universal Ltd. | DECIDER HOUSING ARCHITECTURE FOR UNIVERSAL REMOTE CONTROL |
KR102400108B1 (ko) * | 2017-10-18 | 2022-05-23 | 삼성전자주식회사 | 전자 기기를 제어하기 위한 전자 기기 제어 시스템 및 그 전자 기기를 제어하는 방법 |
CN107943539B (zh) * | 2017-11-16 | 2021-11-09 | 武汉斗鱼网络科技有限公司 | 应用页面启动方法和应用页面启动装置 |
US10680845B2 (en) * | 2017-12-01 | 2020-06-09 | Sap Se | Internet of things device interface |
CN109032725A (zh) * | 2018-06-29 | 2018-12-18 | 百度在线网络技术(北京)有限公司 | 用于显示界面的方法及装置 |
JP7106686B2 (ja) * | 2018-10-08 | 2022-07-26 | グーグル エルエルシー | アシスタントクライアントデバイスによるスマートデバイスのローカルな制御および/または登録 |
US11263099B2 (en) * | 2019-02-27 | 2022-03-01 | T-Mobile Usa, Inc. | Testing device for testing internet-of-things device |
US11402812B1 (en) | 2019-03-22 | 2022-08-02 | The Chamberlain Group Llc | Apparatus and method for controlling a device |
WO2020198932A1 (zh) * | 2019-03-29 | 2020-10-08 | Oppo广东移动通信有限公司 | 设备发现方法、装置、控制终端及物联网辅助设备 |
CN110336720B (zh) * | 2019-06-29 | 2021-08-20 | 华为技术有限公司 | 设备控制方法和设备 |
KR20220104741A (ko) * | 2019-12-04 | 2022-07-26 | 일렉트로룩스 어플라이언스 아크티에볼레그 | 가전 제품을 제어하는 방법 및 제어 시스템 |
CN110932952B (zh) * | 2019-12-17 | 2021-12-21 | 杭州行至云起科技有限公司 | 一种智能家居产品的控制系统、控制方法及升级方法 |
WO2021134335A1 (zh) * | 2019-12-30 | 2021-07-08 | Oppo广东移动通信有限公司 | 一种设备管理方法及装置 |
CN114556891B (zh) * | 2020-01-02 | 2024-01-30 | Oppo广东移动通信有限公司 | 确定设备状态的方法、装置、设备及存储介质 |
KR20210091002A (ko) * | 2020-01-13 | 2021-07-21 | 삼성전자주식회사 | 액세스 포인트 및 이의 통신 연결 방법 |
CN111176133A (zh) * | 2020-02-11 | 2020-05-19 | 青岛海信智慧家居系统股份有限公司 | 一种智能家居场景的确定方法及装置 |
US11863627B2 (en) | 2020-04-21 | 2024-01-02 | Lg Electronics Inc. | Smart home device and method |
WO2021234525A1 (en) * | 2020-05-18 | 2021-11-25 | SCADAfence Ltd. | System for centralized monitoring and control of iot devices |
CN111580408A (zh) * | 2020-06-29 | 2020-08-25 | 广东美的厨房电器制造有限公司 | 家电系统和控制方法 |
WO2022020044A1 (en) * | 2020-07-24 | 2022-01-27 | Arris Enterprises Llc | System and method for smart device management |
CN112511638B (zh) * | 2020-12-04 | 2022-11-08 | 河南工学院 | 基于物联网的处理有机固废的远程控制方法及系统 |
CN114301940A (zh) * | 2021-12-27 | 2022-04-08 | 锐迪科创微电子(北京)有限公司 | 物联网设备控制方法、装置及系统 |
CN114785766B (zh) * | 2022-04-29 | 2023-10-24 | 青岛海信智慧生活科技股份有限公司 | 智能设备的控制方法、终端及服务器 |
CN117130284A (zh) * | 2022-05-19 | 2023-11-28 | 华为技术有限公司 | 智能设备控制方法及电子设备 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102279589A (zh) * | 2010-06-09 | 2011-12-14 | 常州司曼睿信息科技有限公司 | 智能家庭服务系统及其工作方法 |
CN103003809A (zh) * | 2010-07-13 | 2013-03-27 | 三星电子株式会社 | 用于管理远程用户界面的设备和方法及系统 |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100340253B1 (ko) * | 1997-06-25 | 2002-06-12 | 윤종용 | 브라우저 기반의 개선된 홈 네트웍 명령 및 제어 |
US20030034897A1 (en) * | 2001-08-20 | 2003-02-20 | Shamoon Charles G. | Thermostat and remote control apparatus |
EP1820118A2 (en) * | 2004-10-27 | 2007-08-22 | Superna Limited | Networked device control architecture |
US20070279389A1 (en) * | 2006-05-31 | 2007-12-06 | Samsung Electronics Co., Ltd. | Method of task-oriented universal remote control user interface |
KR101472912B1 (ko) * | 2007-09-03 | 2014-12-15 | 삼성전자주식회사 | 통합 리모트 컨트롤러 장치, 통합 리모콘 제어 시스템, 및그 제어 방법 |
US8635316B2 (en) | 2007-10-12 | 2014-01-21 | Pie Digital, Inc. | System and method for automatic configuration and management of home network devices |
KR20110019892A (ko) * | 2009-08-21 | 2011-03-02 | 삼성전자주식회사 | 원격 제어 방법 및 이를 이용한 원격 제어 시스템 |
US8918719B2 (en) * | 2011-02-14 | 2014-12-23 | Universal Electronics Inc. | Graphical user interface and data transfer methods in a controlling device |
KR101797493B1 (ko) * | 2012-09-06 | 2017-11-15 | 엘지전자 주식회사 | 가전제품 및 이를 포함하여 이루어지는 온라인 시스템 |
US20150365480A1 (en) * | 2014-06-16 | 2015-12-17 | Spidermonkey, LLC | Methods and systems for communicating with electronic devices |
US10024564B2 (en) * | 2014-07-15 | 2018-07-17 | Opower, Inc. | Thermostat eco-mode |
US9842491B2 (en) * | 2014-09-30 | 2017-12-12 | Sure Universal Ltd. | Universal remote control |
-
2017
- 2017-02-19 US US15/436,816 patent/US10719200B2/en active Active
- 2017-02-19 WO PCT/IB2017/050937 patent/WO2017141219A1/en active Application Filing
- 2017-02-19 CN CN201780011995.3A patent/CN108702389B/zh not_active Expired - Fee Related
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102279589A (zh) * | 2010-06-09 | 2011-12-14 | 常州司曼睿信息科技有限公司 | 智能家庭服务系统及其工作方法 |
CN103003809A (zh) * | 2010-07-13 | 2013-03-27 | 三星电子株式会社 | 用于管理远程用户界面的设备和方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
US20170242557A1 (en) | 2017-08-24 |
WO2017141219A1 (en) | 2017-08-24 |
US10719200B2 (en) | 2020-07-21 |
CN108702389A (zh) | 2018-10-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108702389B (zh) | 用于遥控iot(物联网)设备的架构 | |
KR102349725B1 (ko) | 스마트 홈 서비스를 위한 기기들을 제어하는 방법 및 장치 | |
US9521039B2 (en) | Method and system for managing devices in batches | |
KR101850879B1 (ko) | 서비스 인에이블러 기능 | |
US8060557B2 (en) | Application services gateway | |
US20130332524A1 (en) | Data service on a mobile device | |
WO2017040534A1 (en) | Management of gateway device using virtual gateway device | |
CN104967560B (zh) | 实现与网关管理的设备的联动方法和装置 | |
US20190019402A1 (en) | Set-top box gateway architecture for universal remote controller | |
EP2191388A1 (en) | System and method for deploying and managing intelligent nodes in a distributed network | |
US10505750B2 (en) | Box for communication and management of devices | |
CA3003571A1 (en) | Smart home service server and control method therefor | |
WO2020168568A1 (zh) | 数据处理方法、装置、电子设备及可读存储介质 | |
US20180191858A1 (en) | System for managing data of user devices | |
US8005915B2 (en) | Method for providing download and upload service in network control system | |
US8176343B2 (en) | Method for providing information for power management of devices on a network | |
CN113985743A (zh) | 设备控制方法、装置及系统、存储介质、电子装置 | |
Lee et al. | Automating Configuration System and Protocol for Next‐Generation Home Appliances | |
JP6575311B2 (ja) | ネットワークシステムおよび制御装置 | |
US20180152314A1 (en) | Interconnection box for user devices | |
CN102025576A (zh) | 一种家庭自动化系统及其控制方法 | |
CN107807619A (zh) | 基于虚拟服务器模块的智能家居控制系统及其工作方法 | |
CN101785245A (zh) | 根据控制点的连接状态管理通用即插即用设备的资源的方法和装置 | |
US11329841B2 (en) | Method of communication between a remote action manager and a communication box | |
US11973665B2 (en) | Technique for remote administration of a device by an administration server |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20210921 |