The present technology pertains to remotely-controlling devices, and more specifically to a universal interface for controlling any networked appliance.
For some time, it has been predicted that all devices in the home will eventually be connected to the Internet; this concept is currently known as the Internet of Things. While the concept of the Internet of Things has been conceptualized, this scenario has yet to be realized. While some appliances, such as various televisions, thermostats, and automobiles, are connected to the Internet and can at least read diagnostics to a mobile application—if not able to be remotely controlled—such applications are rare. And when they do exist, each application provides its own look and feel. It can also be cumbersome to have to browse for a particular application to interact with a particular appliance.
In order to describe the manner in which the above-recited and other advantages and features of the disclosure can be obtained, a more particular description of the principles briefly described above will be rendered by reference to specific embodiments thereof, which are illustrated in the appended drawings. Understanding that these drawings depict only exemplary embodiments of the disclosure and are not therefore to be considered to be limiting of its scope, the principles herein are described and explained with additional specificity and detail through the use of the accompanying drawings.
Various embodiments of the disclosure are discussed in detail below. While specific implementations are discussed, it should be understood that this is done for illustration purposes only. A person skilled in the relevant art will recognize that other components and configurations may be used without parting from the spirit and scope of the disclosure.
The present technology pertains to presenting and interacting with any networked appliance in an environment. A device can be registered with an appliance service, represented in a graphical user interface that allows selection of the appliance through selection of an icon, and controlled using a graphical user interface that presents functions of the appliance.
As used herein, the term “configured” shall be considered interchangeable with configured and configurable, unless the term “configurable” is explicitly used to distinguish from “configured.” As used herein the term “transceiver” can mean a single device comprising a transmitter and receiver or can mean a separate transmitter and a separate receiver. The proper understanding of the term will be apparent to persons of ordinary skill in the art in the context in which the term is used.
While
The application service 120 can run on any networked computing device. In some embodiments this could be any of the following: a dedicated computing device, a routing device, a set top box, laptop, or portable computing device. In embodiments wherein the application service 120 runs on a mostly stationary device, the application service 120 can be used with multiple portable computing devices, such as portable computing device 110, allowing potentially multiple devices to interact with appliances through just one instance of the application service 120. However, in embodiments wherein the application service 120 runs on a portable or personal device, separate instances of the application service 120 would be required on each device to compensate for the possibility that a portable device might leave the networked environment.
The IoE application 112, upon learning of a registered device, can download an app 114 to interface with the appliance. In some embodiments the appliance app 114 can be an appliance-specific app that is specific to a particular registered model of the appliance. In some embodiments the appliance app can be a generic app for any appliance of the same type (e.g., app of refrigerators, app for televisions, etc.).
Some example devices that can be presented in interface 200 include: a water meter 201, power meter 202, plumbing fixture 203, a cleaning device 204, a recycling or rubbish container 206, wine cellar 207, kitchen appliance 208, refrigerator 209, personal health device 210, thermostat 211, personal device 212, television 213, camera or photo collection 214, sound system 215, lights or lighting 216, digital photo frames 217, toys 218, windows or shades 219, plant condition monitor 220, door/door lock 221, security camera 222, personal health monitoring appliances 223, automobile 224, etc. Interface 200 is configured to be horizontally scrollable to reveal the full list of appliances. A user can select one or more of the appliances through the interfaces to interact with the device.
In some embodiments the icons in interface 200 which appear to represent a single appliance can represent multiple appliances fitting a category. For example, the lighting icon 216 might represent all lighting in the environment or a particular light. In another example, health monitoring appliances 223 can include a variety of devices from pedometers to blood sugar meters, to smart watches with biometric sensors. In embodiments wherein an icon represents more than one appliance, selection of the icon can bring up a selection menu to choose the specific appliance, or an appliance app will be configured to allow for selection of a single appliance or coordinated interaction with two or more appliances in the category at once.
In some embodiments, interface 302 is presented by a stand-alone appliance app that is specific to the particular make and model of the thermostat/climate control device. In such embodiments IoE App 112 contains a reference to the stand-alone appliance app, and when the icon—such as icon 211—representing the appliance is selected, the IoE application launches the stand alone appliance app. In such embodiments it may be possible to launch the stand alone appliance app from other points within the portable computing device operating system as well from the IoE App 112.
In some embodiments, interface 302 is presented by an add-on module to the IoE App 112. In such embodiments, the appliance app runs within, or at least appears to the user to run in, the same context as the IoE App 112. In such embodiments, it may only be possible to launch the appliance interface from within the IoE App 112.
In some embodiments, interface 302 is a generic interface illustrating generic controls for an appliance of a given type, e.g., a generic interface for thermostats.
Regardless of whether interface 302 is a generic interface or an interface specific to a given make and model, interface 302 can present information about the networked appliance, and one or more controls to adjust settings or to provide instructions to the networked appliance. For example, a thermostat interface such as interface 302 might display a temperature 304 (current temperature or a set temperature), time day settings for turning the climate control system on or off, a virtual power switch 306, etc. Interface 302 can also include an interface object for closing out of interface 302 and returning to the device overview interface 250 of the IoE app 112.
Interface 310 in
In some embodiments, sub-apps 312 can provide additional interfaces for controlling the television appliance 105. For example one of the sub-apps 312, when selected could open a content browsing interface such as a program guide that can be used to tune the television appliance to a new program or channel, or library of content (interface 320) that can be used to display recorded content, or cloud hosted content.
As addressed above, appliance apps can be launched by selection of an icon in device overview interface 250 that represents an appliance. In some embodiments, it can be desirable to have two or more appliances interact together and in such embodiments, device overview interface 250 can support the selection of more than one appliance.
In addition to replicating traditional device controls in the appliance apps 114, the appliance apps 114 or the IoE app 112 can include device recipes, which are two or more control operations that to be used together to affect a result at an appliance. For example, a recipe could include a lighting recipe configured to keep lighting in a room at a current level. Therefore the recipe would call for periodic sampling of the light level in the room and adjusting the lumens of the light output to maintain the light level in the room.
In some embodiments, these recipes can be preconfigured in an appliance specific application or in the IoE app 112. In some embodiments, a user can create their own recipes and save them for later selection.
In some embodiments recipes can be used to control two or more appliances wherein a recipe might include one or more control operations for each of the two or more appliances. For example a recipe affecting two appliances could be a slide show recipe which displays photographs from a portable computing device on a television display. Such recipes can be selected from within the IoE app, appliance specific apps, or can be presented when a user selects two appliances to which a recipe pertains.
In some embodiments the method of
Regardless of how the appliance service and appliance learn of each other, the appliance can be registered at the appliance service (506).
Once an appliance is registered at the appliance service 120, IoE app 112 can be notified (508) by appliance service 120 of the presence of a registered appliance, and the IoE app can display (510) an icon representing the appliance, and download (512) an interface, commands, and recipes, if applicable for interacting with the registered appliance.
The IoE app 112 can provide and display (514) a device overview graphical user interface. In some embodiments the device overview graphical user interface includes at least a collection of appliance icons representing appliances that can be interacted with through the IoE app 112. In some embodiments the device overview interface can also include one or more messages from the appliances, appliance apps, or IoE app.
A user can navigate the device overview interface of the IoE app 112 using any input device,—including a keyboard, mouse, stylus, or touch input,—to locate and select (516) one or more appliances. Upon selection of an appliance the IoE app 112 can present an appliance interface (518) that is configured to interact with the appliance. In some embodiments the IoE app 112 can present the appliance interface. In some embodiments the IoE app 112 can cause a separate appliance app to launch (518) directly from the device overview screen on the IoE app 112.
The appliance interface can provide controls, recipes, and messages relevant to the appliance to which the appliance interface pertains. The appliance interface can be navigated using the same mechanisms as the device overview interface. A user can select a control from the appliance interface (520) which is received by the app.
A message corresponding to the selected control can be sent (522) to the appliance either by an appliance specific app, the IoE app, or the appliance service. In some embodiments, it is desirable from a security perspective to have messages/commands flow between the appliance service 120 and the appliance so that a single, trusted party is attempting to communicate and control the appliance. In such embodiments, the app receiving a selected control 520 communicates the desired control to the appliance service 120, which communicates (522) the desired control to the appliance. Of course, it is possible to communicate (522) directly from the IoE app to the appliance.
To enable user interaction with the computing device 600, an input device 645 can represent any number of input mechanisms, such as: a microphone for speech, a touch-sensitive screen for gesture or graphical input, keyboard, mouse, motion input, speech and so forth. An output device 635 can also be one or more of a number of output mechanisms known to those of skill in the art. In some instances, multimodal systems can enable a user to provide multiple types of input to communicate with the computing device 600. The communications interface 640 can generally govern and manage the user input and system output. There is no restriction on operating on any particular hardware arrangement; therefore, the basic features here may easily be substituted for improved hardware or firmware arrangements as they are developed.
Storage device 630 is a non-volatile memory and can be a hard disk or other types of computer readable media which can store data that are accessible by a computer, such as: magnetic cassettes, flash memory cards, solid state memory devices, digital versatile disks, cartridges, random access memories (RAMs) 625, read only memory (ROM) 620, and hybrids thereof.
The storage device 630 can include software modules 632, 634, and 636 for controlling the processor 610. Other hardware or software modules are contemplated. The storage device 630 can be connected to the system bus 605. In one aspect, a hardware module that performs a particular function can include the software component stored in a computer-readable medium in connection with the necessary hardware components, such as the processor 610, bus 605, display 635, and so forth, to carry out the function.
Chipset 660 can also interface with one or more communication interfaces 690 that can have different physical interfaces. Such communication interfaces can include interfaces for wired and wireless local area networks, for broadband wireless networks, as well as personal area networks. Some applications of the methods for generating, displaying, and using the GUI disclosed herein can include receiving ordered datasets over the physical interface or generation by the machine itself by processor 655 analyzing data stored in storage 670 or 675. Further, the machine can receive inputs from a user—via user interface components 685—and execute appropriate functions, such as browsing functions by interpreting these inputs using processor 655.
It can be appreciated that exemplary systems 600 and 650 can have more than one processor 610 or be part of a group or cluster of computing devices networked together to provide greater processing capability.
For clarity of explanation, in some instances, the present technology may be presented as including individual functional blocks including: functional blocks comprising devices, device components, steps or routines in a method embodied in software, or combinations of hardware and software.
In some embodiments the computer-readable storage devices, mediums, and memories can include a cable or wireless signal containing a bit stream and the like. However, when mentioned, non-transitory computer-readable storage media expressly exclude media, such as: energy, carrier signals, electromagnetic waves, and signals per se.
Methods according to the above-described examples can be implemented using computer-executable instructions that are stored or otherwise available from computer readable media. Such instructions can comprise, for example, instructions and data which cause or otherwise configure a general purpose computer, special purpose computer, or special purpose processing device to perform a certain function or group of functions. Portions of computer resources used can be accessible over a network. The computer-executable instructions may be, for example, binaries, intermediate format instructions, such as assembly language, firmware, or source code. Examples of computer-readable media that may be used to store instructions, information used, and/or information created during methods according to described examples include: magnetic or optical disks, flash memory, USB devices provided with non-volatile memory, networked storage devices, and so on.
Devices implementing methods according to these disclosures can comprise hardware, firmware and/or software, and can take any of a variety of form factors. Typical examples of such form factors include: laptops, smart phones, small form factor personal computers, personal digital assistants, and so on. Functionality described herein can also be embodied in peripherals or add-in cards. Such functionality can also be implemented on a circuit board among different chips or different processes executing in a single device, by way of further example.
The instructions, media for conveying such instructions, computing resources for executing them, and other structures for supporting such computing resources are means for providing the functions described in these disclosures.
Although a variety of examples and other information was used to explain aspects within the scope of the appended claims, no limitation of the claims should be implied based on particular features or arrangements in such examples, as one of ordinary skill would be able to use these examples to derive a wide variety of implementations. Furthermore, although some subject matter may have been described in language specific to examples of structural features and/or method steps, it is to be understood that the subject matter defined in the appended claims is not necessarily limited to these described features or acts. For example, such functionality can be distributed differently or performed in components other than those identified herein. Rather, the described features and steps are disclosed as examples of components of systems and methods within the scope of the appended claims.
This application claims priority to U.S. Provisional Patent Application No. 61/901,383, filed on Nov. 7, 2013, the content of which is incorporated herein by reference in its entirety.
Number | Date | Country | |
---|---|---|---|
61901383 | Nov 2013 | US |