Controlling devices, for example remote controls, for use in issuing commands to entertainment and other appliances, and the features and functionality provided by such controlling devices are well known in the art and have become ubiquitous in the home. Wireless network technologies such as WiFi, Bluetooth, etc., are increasing deployed in homes in support of personal communication, productivity, and entertainment devices such as tablet computers, smart phones, portable email devices, e-books, hand-held games and/or game controllers, portable media players, etc. (all referred to hereafter as “smart devices”).
This invention relates generally to controlling devices such as remote controls, and more specifically to controlling devices which incorporate wireless networking capability. In an exemplary embodiment, a controlling device may be provisioned with a wireless network interface such as a WiFi transceiver and associated programming in addition to conventional IR and/or RF transmitters and/or transceivers for issuing appliance commands. This wireless network interface may be used to receive and relay appliance command requests from other devices present on the network, for example smart phones, tablet or desktop computers, or if enabled, even distant devices via a wide area network such as the Internet. Further, in some embodiments the controlling device, for example a universal remote control, may utilize such a wireless networking capability to communicate with local appliances or Internet based services to facilitate setup and configuration of the controlling device, for appliance identification purposes, etc.
A better understanding of the objects, advantages, features, properties and relationships of the invention will be obtained from the following detailed description and accompanying drawings which set forth illustrative embodiments and which are indicative of the various ways in which the principles of the invention may be employed.
For a better understanding of the various aspects of the invention, reference may be had to preferred embodiments shown in the attached drawings in which:
With reference to
With reference to
As will be understood by those skilled in the art, some or all of the memories 204, 205, 206 may include executable instructions (collectively, the controlling device program memory) that are intended to be executed by the processor 200 to control the operation of the controlling device 100, as well as data which serves to define the necessary control protocols and command values for use in transmitting command signals to controllable appliances (collectively, the command data). In this manner, the processor 200 may be programmed to control the various electronic components within the controlling device 100, e.g., to monitor the key matrix 216 and/or network interface 222, to cause the transmission of signals, etc. The non-volatile read/write memory 206, for example an EEPROM, battery-backed up RAM, FLASH, Smart Card, memory stick, or the like, may additionally be provided to store setup data and parameters as necessary. While the memory 204 is illustrated and described as a ROM memory, memory 204 can also be comprised of any type of readable media, such as ROM, FLASH, EEPROM, or the like. Preferably, the memories 204 and 206 are non-volatile or battery-backed such that data is not required to be reloaded after battery changes. In addition, the non-transitory memories 204, 205 and 206 may take the form of a chip, a hard disk, a magnetic disk, an optical disk, and/or the like. Still further, it will be appreciated that some or all of the illustrated memory devices may be physically combined (for example, a single FLASH memory may be logically partitioned into different portions to support the functionality of memories 204 and 206 respectively), and/or may be physically incorporated within the same IC chip as the microprocessor 200 (a so called “microcontroller”) and, as such, they are shown separately in
To cause the controlling device 100 to perform an action, the controlling device 100 is adapted to be responsive to events, such as a sensed user interaction with the key matrix 216, receipt of a network transmission, etc. In response to an event, appropriate instructions within the program memory (hereafter the “controlling device operating program”) may be executed. For example, when a command function key is actuated on the controlling device 100, the controlling device 100 may retrieve from the command data stored in memory 204, 205, 206 a command value and control protocol corresponding to the actuated function key and, where necessary, current device mode and transmit that command to an intended target appliance, e.g., STB 106, in a format recognizable by that appliance to thereby control one or more functional operations of that appliance. It will be appreciated that the controlling device operating program can be used not only to cause the transmission of commands and/or data to the appliances, but also to perform local operations. While not limiting, local operations that may be performed by the controlling device 100 may include displaying information/data, favorite channel setup, macro key setup, function key relocation, etc. Examples of local operations can be found in U.S. Pat. Nos. 5,481,256, 5,959,751, and 6,014,092. Additionally, in the instant invention the controlling device operating program of exemplary controlling device 100 may be operative to send and receive messages via local network transceiver 222 as will be disclosed in greater detail hereafter. In certain embodiments the controlling device operating program may utilize low power timer 224 to periodically wake processor 200 from a quiescent state in order to monitor transceiver 222 for incoming messages, for battery conservation purposes as are known in the art.
In some embodiments, controlling device 100 may be of the universal type, that is provisioned with a library comprising a multiplicity of command codes and protocols, i.e., command data, suitable for controlling various appliances. In such cases, for selecting sets of command data to be associated with the specific appliances to be controlled (hereafter referred to as a setup procedure), data may be entered into the controlling device 100 that serves to identify each intended target appliance by its make, and/or model, and/or type. Such data allows the controlling device 100 to identify the appropriate command data set within the library of command data that is to be used to transmit recognizable commands in formats appropriate for such identified appliances. The library of command data may represent a plurality of controllable appliances of different types and manufacture, a plurality of controllable appliances of the same type but different manufacture, a plurality of appliances of the same manufacture but different type or model, etc., or any combination thereof as appropriate for a given embodiment. In conventional practice as is well known in the art, such data used to identify an appropriate command data set may take the form of a numeric setup code entered via activation of those keys that are also used to cause the transmission of commands to an appliance (obtained, for example, from a printed list of manufacturer names and/or models with corresponding code numbers, from a support Web site, etc.). Alternative setup procedures known or proposed in the art include scanning bar codes, sequentially transmitting a predetermined command in different formats until a target appliance response is detected, user interaction with a Web site culminating in downloading of command data and/or setup codes to the controlling device, etc. Since such methods for setting up a controlling device to command the operation of specific home appliances are well-known, these will not be described in greater detail herein. Nevertheless, for additional information pertaining to setup procedures, the reader may turn, for example, to U.S. Pat. Nos. 4,959,810, 5,614,906, or 6,225,938, all of like assignee and incorporated herein by reference in their entirety.
In yet further alternative setup procedures, in certain embodiments a controlling device with WiFi or other local network connectivity may utilize this connectivity to facilitate the identification of intended target appliances and their associated command data sets. As illustrated in
With reference to
Turning now to the flowchart of
If it is determined at step 506 that a new location is to be configured, at step 508 the app resident in smart device 108 may initiate discovery of other devices present on the local wireless network, and in particular devices which identify themselves as compatible command relay platforms. If no such devices are found an appropriate error report is communicated to the user at step 524, whereupon the app may exit setup mode. If, however, compatible command relay device(s) are found, at step 512 the app and a relay device may be paired, i.e., numeric or alphanumeric codes, key values, hardware addresses, serial numbers, etc. may be exchanged between the app and the relay device (sometimes requiring user interaction such as entering a numeric value presented on a display, printed on a label, etc.) in order that they may uniquely recognize transmissions from one another in the future. In the event more than one compatible relay device was located at step 508, step 512 may also include soliciting input from a user to select a particular command relay device. This pairing step may also comprise user provision of a location name or other identifier by which this particular command relay device and its associated appliances may be identified in the future. In suitably equipped smart devices this step may also include the association of GPS coordinates with the stored configuration. If it is determined at step 514 that pairing could not be successfully completed, an error message is displayed as before and the app exits setup mode.
Once paired, at step 516 the smart device app may use the now-established communication path to request appliance configuration information from controlling device 100. Such information may comprise, for example one or more of the number and types of appliances currently configured in controlling device 100; the identities of the command code data sets currently in use by controlling device 100 for issuing commands to target appliances; the configured appliance identification data such as brand or model numbers, etc. Such information may be used by the smart device app at step 518 to retrieve information for use in configuring GUI pages, for example listings of supported commands, display icons, etc., which may be downloaded from a Web server 130. In an alternate embodiment, information regarding which specific command functions are supported by each of the appliances may be provided directly by controlling device 100 in place of, or in addition to, the Web downloaded data. In a yet further alternate embodiment, an identity associated with the controlling device 100 itself may be utilized either in place of or in conjunction with the previously described methods. For example, in cases where controlling device 100 was provided as original equipment together with a target appliance, e.g. AV receiver 104, a MAC address, serial number, or other identifying data procured from controlling device 100 may be referred to a web service 130 whereat a database cross-referencing controlling device MAC addresses, serial numbers, etc., to the specific appliances with which they were shipped may be utilized to exactly identify a target appliance, e.g. AV receiver 104, and its corresponding features and command code set. At step 520 this information may then be used to configure the smart device app GUI to match the appliances to be controlled, for example by removal of unsupported functions or addition of supported functions in touch screen display pages, incorporation of appliance or brand specific icons or logos, etc. As will be appreciated, in certain small footprint embodiments of a remote control app, such GUI customization may be forgone in favor of a standardized default GUI which may present only frequently used command functions which are common to a majority of appliance brands and models. Once any such GUI customization is concluded, setup is complete and the app may exit the setup mode or conduct any further location dependent configuration steps, for example communicating with controlling device 100 or STB 106 to download favorite channel settings applicable to the current location.
Returning to step 504, if it is determined that the setup mode was initiated in order to change the currently assigned location, at step 526 the user may be requested to select a location to be configured, for example from a displayed list of location identities previously supplied by the user(s) at step(s) 512. Alternatively, in suitably equipped smart devices the current GPS coordinates may be compared to those previously associated with the presently selected location and location reconfiguration automatically trigged if these coordinates differ by a significant amount, e.g., by more than a room size for room locations or by a house/yard size for house locations. Regardless, at step 530 it is then determined if the relay device associated with that location is in fact present in the current environment, i.e., is discoverable. If not, at step 532 an appropriate error message is displayed and the app exits setup mode. If the relay device is confirmed as present, at step 534 it may next be determined if the command relay device remains paired. By way of explanation, in some embodiments a controlling device which is also operable as a command relay device may be adapted to cancel or void its pairing information if the controlled appliances are reconfigured, for example an appliance is deleted or replaced, a new appliance is added, etc. In such cases, step 534 may cause the smart device app to continue at step 516, thereby reconfiguring the app to conform to the new appliance configuration. If however no changes have been made and the relay device remains paired, then processing may continue at step 520 which may configure the app GUI to match the selected location.
Once configured, an exemplary smart device remote control app may be operative to cause appliance commands to be issued as will now be described in conjunction with FIG. 6. When invoked at step 602, the smart device remote control app may load and present a GUI at step 604, e.g., display a set of icons representing touch-activated command functions comprising one or more pages, which GUI may have been configured and associated with the current location of the smart device as described previously. At step 610 the exemplary smart device remote control app may then await user input such as actuation of a touch icon, a hard key, a gesture or motion, etc. Upon receipt of user input, at step 612 it may then be determined if the input comprises an appliance command request. If not, at steps 606 and 608 other input functions may be processed, for example app termination and exit, display of additional pages of command icons, etc.
If it is determined that the received input comprises a request for an appliance command, at step 614 the requested function is encoded using a standardized set of generic function indicators and appliance type indicators which are compatible with the controlling device operating program of an associated relay device, e.g., controlling device 100 of the instant example. In this regard, any convenient set of standard function and appliance type indicators which is supported by both requesting and receiving devices may be utilized as appropriate for a particular embodiment. For reference and without limitation, examples of such sets of standardized indicators may be found in U.S. patent application Ser. No. 11/088,694 or Ser. No. 12/716,365, both of common ownership and incorporated herein by reference in their entirety. Thereafter at step 616 a request comprising the standard function indicator information may be communicated via the local network to relay device 100.
Upon receipt of such a request at step 620, at step 622 the controlling device operating program of a command relay device such as the exemplary controlling device 100 may retrieve from codeset data stored in memory 204,205,206 the command value and control protocol information which corresponds to the requested appliance and function. Thereafter at step 624 this retrieved information may be employed to transmit a command signal which will cause the designated appliance to perform the desired operation.
While various concepts have been described in detail, it will be appreciated by those skilled in the art that various modifications and alternatives to those concepts could be developed in light of the overall teachings of the disclosure. For example, while presented above in the form of an illustrative embodiment in which a WiFi enabled controlling device interacts with an app resident in a smart device, it will be appreciated that the methods described herein may be utilized in conjunction with any suitable local network technology, e.g., Bluetooth, Zigbee, Zwave, etc., and may serve to provide appliance control functionality to apps and/or other software programming resident in many different types of devices, e.g. smart devices, PCs, game consoles, home automation systems, etc., local or remote.
Further, while described in the context of functional modules and illustrated using block diagram format, it is to be understood that, unless otherwise stated to the contrary, one or more of the described functions and/or features may be integrated in a single physical device and/or a software module, or one or more functions and/or features may be implemented in separate physical devices or software modules. It will also be appreciated that a detailed discussion of the actual implementation of each module is not necessary for an enabling understanding of the invention. Rather, the actual implementation of such modules would be well within the routine skill of an engineer, given the disclosure herein of the attributes, functionality, and inter-relationship of the various functional modules in the system. Therefore, a person skilled in the art, applying ordinary skill, will be able to practice the invention set forth in the claims without undue experimentation. It will be additionally appreciated that the particular concepts disclosed are meant to be illustrative only and not limiting as to the scope of the invention which is to be given the full breadth of the appended claims and any equivalents thereof.
All patents cited within this document are hereby incorporated by reference in their entirety.
This application claims the benefit of and is a continuation of U.S. application Ser. No. 13/328,416, filed on Dec. 16, 2011, which application claims the benefit of and is a continuation-in-part of U.S. patent application Ser. No. 12/148,444, filed Apr. 18, 2008, and which application also claims the benefit of and is a continuation-in-part of U.S. patent application Ser. No. 13/071,661, filed Mar. 25, 2011. The disclosures of both of these applications are incorporated herein by reference in their entirety.
Number | Name | Date | Kind |
---|---|---|---|
4626848 | Ehlers | Dec 1986 | A |
4746919 | Reitmeier | May 1988 | A |
5255313 | Darbee | Oct 1993 | A |
5410326 | Goldstein | Apr 1995 | A |
5438325 | Nishigaki et al. | Aug 1995 | A |
5452291 | Eisenhandler et al. | Sep 1995 | A |
5519457 | Nishigaki et al. | May 1996 | A |
5537104 | Van Dort et al. | Jul 1996 | A |
5552917 | Darbee et al. | Sep 1996 | A |
5689663 | Williams | Nov 1997 | A |
5726645 | Kamon et al. | Mar 1998 | A |
5839097 | Klausner | Nov 1998 | A |
5909183 | Borgstahl et al. | Jun 1999 | A |
5949351 | Hahm | Sep 1999 | A |
5959539 | Adolph et al. | Sep 1999 | A |
5990884 | Douma et al. | Nov 1999 | A |
6133847 | Yang | Oct 2000 | A |
6148241 | Ludtke et al. | Nov 2000 | A |
6157319 | Johns et al. | Dec 2000 | A |
6160491 | Kitao et al. | Dec 2000 | A |
6567011 | Young et al. | May 2003 | B1 |
6748278 | Maymudes | Jun 2004 | B1 |
6781518 | Hayes et al. | Aug 2004 | B1 |
6791467 | Ben-Ze'ev | Sep 2004 | B1 |
7259696 | Lee et al. | Aug 2007 | B1 |
7271732 | Harada | Sep 2007 | B2 |
7429932 | Newell et al. | Sep 2008 | B1 |
7554614 | Satou | Jun 2009 | B2 |
7589642 | Mui | Sep 2009 | B1 |
7831930 | Dresti et al. | Nov 2010 | B2 |
7907222 | Haughawout et al. | Mar 2011 | B2 |
7936287 | Lee et al. | May 2011 | B1 |
8068184 | Hicks | Nov 2011 | B2 |
8098337 | Martch | Jan 2012 | B2 |
8132105 | Dubil et al. | Mar 2012 | B1 |
8179404 | Nagatomo | May 2012 | B2 |
8189120 | Doyle | May 2012 | B2 |
8203436 | Ikeda | Jun 2012 | B2 |
9088663 | Arling et al. | Jul 2015 | B2 |
20010043145 | Jacob, Jr. | Nov 2001 | A1 |
20030095211 | Nakajima | May 2003 | A1 |
20030189509 | Hayes et al. | Oct 2003 | A1 |
20040070491 | Huang et al. | Apr 2004 | A1 |
20040143847 | Suzuki et al. | Jul 2004 | A1 |
20040266419 | Arling et al. | Dec 2004 | A1 |
20050159823 | Hayes et al. | Jul 2005 | A1 |
20060007015 | Krzyzanowski et al. | Jan 2006 | A1 |
20060200538 | Yuh et al. | Sep 2006 | A1 |
20060263091 | Shimizu | Nov 2006 | A1 |
20070225828 | Huang et al. | Sep 2007 | A1 |
20080005764 | Arling et al. | Jan 2008 | A1 |
20080044006 | Kitagawa | Feb 2008 | A1 |
20080098426 | Candelore | Apr 2008 | A1 |
20080134237 | Tu et al. | Jun 2008 | A1 |
20080195857 | Douillet | Aug 2008 | A1 |
20080221715 | Krzyzanowski et al. | Sep 2008 | A1 |
20080231762 | Hardacker et al. | Sep 2008 | A1 |
20080278567 | Nakajima | Nov 2008 | A1 |
20080319852 | Gardner et al. | Dec 2008 | A1 |
20090077492 | Ida | Mar 2009 | A1 |
20090157198 | Morikawa | Jun 2009 | A1 |
20090239587 | Negron et al. | Sep 2009 | A1 |
20090254778 | Huang et al. | Oct 2009 | A1 |
20090289829 | Maier | Nov 2009 | A1 |
20090296731 | Lida et al. | Dec 2009 | A1 |
20090298535 | Klein et al. | Dec 2009 | A1 |
20100037264 | Hardacker et al. | Feb 2010 | A1 |
20100039282 | Hostage et al. | Feb 2010 | A1 |
20100043046 | Sen et al. | Feb 2010 | A1 |
20100118193 | Boyden et al. | May 2010 | A1 |
20100228611 | Shenfield | Sep 2010 | A1 |
20110018693 | Lim et al. | Jan 2011 | A1 |
20110102230 | Vergis et al. | May 2011 | A1 |
20110122317 | Chen | May 2011 | A1 |
20110138327 | Scott et al. | Jun 2011 | A1 |
20110285818 | Park et al. | Nov 2011 | A1 |
20120025957 | Yang | Feb 2012 | A1 |
20120050310 | Patel et al. | Mar 2012 | A1 |
20120086869 | Friedlander | Apr 2012 | A1 |
20120105721 | Huang et al. | May 2012 | A1 |
20120131245 | Wilcox | May 2012 | A1 |
20120133841 | Vanderhoff et al. | May 2012 | A1 |
20120144416 | Wetzer et al. | Jun 2012 | A1 |
20120249890 | Chardon et al. | Oct 2012 | A1 |
20120284758 | Adjesson | Nov 2012 | A1 |
20130069769 | Pennington | Mar 2013 | A1 |
20130085851 | Pedro et al. | Apr 2013 | A1 |
20130304817 | Hu et al. | Nov 2013 | A1 |
20140337879 | Arling et al. | Nov 2014 | A1 |
Number | Date | Country |
---|---|---|
19709800.2 | Sep 1998 | DE |
0513443 | Nov 1992 | EP |
2265003 | Dec 2010 | EP |
2166328 | Apr 1986 | GB |
05083765 | Apr 1998 | JP |
0013344 | Mar 2000 | WO |
2007105142 | Sep 2007 | WO |
2011145041 | Nov 2011 | WO |
2014189757 | Nov 2014 | WO |
Entry |
---|
European Patent Office, extended European Search Report issued on European patent application No. 15796548.4, dated Apr. 3, 2017, 7 pages. |
United States Patent and Trademark Office, Final Office Action issued on U.S. Appl. No. 14/282,785, Notification Date Nov. 1, 2017, 18 pages. |
ANSI/CEA Standard, A DTV Profile for Uncompressed High Speed Digital Interfaces, Aug. 1, 2013, 186 pages. |
European Patent Office, extended European Search Report issued on EP patent application No. 16747061.6, dated Oct. 16, 2017, 6 pages. |
ISA/US, International Preliminary Report on Patentability issued on PCT application No. US2015/030258, dated Dec. 1, 2016, 7 pages. |
The Int. Bureau of WIPO, Int. Preliminary Report on Patentability issued on PCT application No. US16/15981, dated Aug. 17, 2017, 9 pages. |
Ingrid Wickelgren, Apr. 1997, IEEE Spectrum, vol. Apr. 1997, pp. 20-25. |
European Patent Office, Extended European Search Report issued on European Patent Application No. 12763258.6, dated Jul. 28, 2014, 8 pages. |
European Patent Office, Extended European Search Report issued on European Patent Application No. 11858754.2, dated Jan. 2, 2014, 7 pages. |
European Patent Office, Extended European Search Report issued on European Patent Application No. 11872554.8, dated Feb. 26, 2015, 5 pages. |
European Patent Office, Extended European Search Report issued on European Patent Application No. 11870232.3, dated Nov. 19, 2014, 7 pages. |
USPTO, Final Office Action issued on U.S. Appl. No. 14/184,298, dated Jan. 15, 2015, 25 pages. |
USPTO, Final Office Action issued on U.S. Appl. No. 14/184,325, dated Jan. 15, 2015, 27 pages. |
European Patent Office, extended search report issued on EP patent application No. 17192290.9, dated Dec. 22, 2017, 7 pages. |
European Patent Office, examination report issued on European patent application No. 11870232.3, dated Dec. 14, 2016, 3 pages. |
Number | Date | Country | |
---|---|---|---|
20150279205 A1 | Oct 2015 | US |
Number | Date | Country | |
---|---|---|---|
Parent | 13328416 | Dec 2011 | US |
Child | 14736909 | US |
Number | Date | Country | |
---|---|---|---|
Parent | 12148444 | Apr 2008 | US |
Child | 13328416 | US | |
Parent | 13071661 | Mar 2011 | US |
Child | 12148444 | US |