1. Field of the Invention
This invention relates to wireless communications, and more particularly to communication with diverse, electronically controlled devices (xe2x80x9ctargetsxe2x80x9d), using a pointing device that can communicate with dissimilar types of targets from a position remote from those targets.
2. Description of the Relevant Art
The following descriptions and examples are not admitted to be prior art by virtue of their inclusion within this section.
Remote control communications systems are often employed to allow control of certain electronic targets from a distance. Such targets may include electronically controlled appliances. Exemplary forms of such appliances include any type of home-based appliance, as well as appliances that are found outside the home such as, for example, automotive controls, industrial controls, or security locks.
Although conventional remote control systems provide convenience over non-remote operation, these systems do have some limitations. One such limitation is that multiple handheld remote control units may be required to control multiple targets (or appliances). Although xe2x80x9cuniversalxe2x80x9d remote control units are available which can control multiple appliances, such units typically work for a limited number of appliances, and the remote control unit must be programmed with information about each appliance. The particular appliance to be controlled is selected, typically by pushing a button or key dedicated to that appliance. This may result in a handheld unit having a large number of buttons, which may make the unit more complex or cumbersome to operate so that mistakes are more likely.
Another limitation of conventional remote control communications systems is that remote control is routinely available for only a relatively small variety of appliances. Consumer electronic appliances, for example, are routinely provided with remote control units, but remote control may not be readily available for other types of appliances, such as, e.g., kitchen appliances, lighting, and climate control. Furthermore, conventional remote control communications systems generally rely on optical transmission, so that a clear line of sight between the remote control unit and the appliance is required. It may be desirable, however, to control appliances situated such that a clear line of sight does not exist. For example, control of a stereo or a thermostat from another room may be convenient without having to optically target the appliance to be controlled.
One approach to providing such non-line-of-sight control is to use radio-frequency (RF) transmission in addition to or instead of optical transmission. The RF range is quite broad, extending from approximately 10 kHz (104 Hz) to about 300 GHz (3xc3x971011 Hz), and is used for various types of communications. For example, wireless voice and data communications typically use frequencies in a range from about 800 MHz to a few GHz. The lower frequencies associated with RF communications, as compared to communication at infrared and visible optical frequencies (from about 1013 to 1015 Hz), allow transmission over larger distances, and diffraction around or transmission through certain obstacles. Remote control communications systems have been developed which employ RF transmission. Some systems may use solely RF transmission, while others, such as that described in U.S. Pat. No. 5,227,780 to Tigwell, allow RF transmission from a remote control unit to a transponder located in the vicinity of the appliance to be controlled. The transponder then transmits an infrared control signal to the appropriate appliance. Other systems, such as that described in U.S. Pat. No. 4,904,993 to Sato, allow either RF or optical transmission to be chosen, based on the nature of the path between the remote control unit and the appliance to be controlled, and some, such as that described in U.S. Pat. No. 5,659,883 to Walker et al., transmit RF and optical signals simultaneously, allowing the appliance receiver to extract the highest-quality signal.
A disadvantage of using RF transmission is that the ensuing increased transmission range may inadvertently cause communication with multiple appliances simultaneously, when communication with only one appliance may be desired. For this reason, currently available remote control communications systems which use RF transmission must typically be configured so that only a specific receiving appliance will respond to a signal from a remote control unit. Identification of the specific receiving appliance is generally accomplished by transmission of an identifying code from the remote control unit to the receiver associated with the appliance, as described, for example, in U.S. Pat. No. 5,500,691 to Martin et al. The requirement for such an identifying code unfortunately may limit the number of appliances which can be conveniently controlled by a single remote control unit. For example, if codes corresponding to various appliances are stored in the remote control unit, and the particular appliance to be controlled is chosen by pressing a corresponding button on the control unit, space constraints on the remote control unit may allow for only a limited number of appliances to be addressed.
It would therefore be desirable to develop a remote control communications system and method in which a single handheld remote control unit may be used to communicate with a wide variety of appliances. It would further be desirable to develop a system and method allowing communication with an appliance without the requirement of maintaining a line-of-sight path between the handheld unit and the appliance. The desired system and method should be simple to use and require minimal programming by the user.
The problems outlined above are in large part addressed by a system and method for communicating with diverse electronically controlled targets, henceforth known as appliances, which may perform dissimilar functions and may be produced by different manufacturers. Diversity stems from a myriad of possible electronically controlled appliances found either within the home or outside the home, possibly in an industrial setting. Appliance is thusly used to refer to any device for which remote communication or control may be desired in order to perform any electronically controlled function. For example, electronic devices such as television sets, stereos, and personal computers, household and kitchen appliances such as washing machines and microwave ovens, and other devices such as thermostats, lights, and fans may all be considered xe2x80x9cappliancesxe2x80x9d. Each appliance communicated with, or target appliance, has a built-in or retrofitted appliance interface adapted to receive commands transmitted by the pointing device and forward these commands to appropriate appliance circuitry such that the commands are carried out by the appliance.
The system described herein, in which a single pointing device, or pointer, may be used to communicate with and control multiple appliances, is believed to be analogous to user interaction via a graphical user interface (GUI). A simple form of GUI is that by which a user interacts, via the display screen, with executable programs or stored files held within a storage media, such as semiconductor memory or a hard disk drive. GUI is therefore a representation of computer-based entities including programs, files, and commands in a graphical form on a display screen. The user may interact with a program or operating system by selecting and/or moving objects on the screen using a pointing device such as a mouse. Use of a GUI can make interaction with a program or operating system more intuitive than use of a command interface in which specific commands are typed in by the user. This may be true particularly in the case of relatively inexperienced users, because they are freed from having to learn specific commands. According to one embodiment, the pointing device recited herein may include an electronic display on which a GUI is present. The GUI allows a user to select among possibly numerous appliances to be controlled, or to select among multiple commands and/or programs which operate upon the selected appliance. Use of this GUI beneficially makes the generalized pointing device user friendly to select among multiple appliances, of diverse function and/or manufacturer type. For example, the user avoids having to depress a specific appliance button in order to control that appliance, and also avoids needing to learn complex program commands associated with selecting and/or controlling various appliance-type application programs.
In addition to the inclusion of a GUI in an embodiment as described above, the overall system recited herein is believed to be analogous to a GUI in some features of its operation. For example, an important feature of a GUI is that a single set of commands from a pointing device (e.g., xe2x80x9cclickxe2x80x9d, xe2x80x9cdragxe2x80x9d, etc.) is used to interact with multiple application programs which may run on a computer. In a similar manner, a single set of commands transmitted by the portable pointing device recited herein may be used to interact with multiple appliances. These commands, or pointer events, may correspond to different functions for different appliances. For example, a downward rolling of a trackball or scroll wheel on the pointing device may correspond to a lowering of light intensity if the target appliance is a light fixture, or to a lowering of volume if the target appliance is a television set or compact disc player. In an analogy with a GUI described above, the portable pointing device may correspond to a pointing device such as a mouse used with a computer, and the target appliance may correspond to an application program running on the computer.
When a GUI is used to interact with an application program or operating system, a xe2x80x9cdriverxe2x80x9d is typically employed to translate between the pointing device commands received and the commands specific to the application program or operating system. Drivers, which are used for various computer peripheral devices, such as disk drives, printers, and keyboards, generally comprise program instructions which are stored in memory associated with the computer during start-up configuration. These program instructions contain information regarding the commands associated with the peripheral device, the commands associated with the application program or operating system, and a correspondence between these two sets of commands. In analogy to the use of drivers in a GUI, the target appliances recited herein may have associated drivers to translate the pointer events (i.e., signals derived by the pointer) transmitted by the portable pointing device into events specific to the target appliance (i.e., signals recognized by the target appliance). This driver may be part of an appliance interface associated with each target appliance. Just as a GUI may make interaction with computer application programs easier and more intuitive, use of the system described herein may simplify remote interaction with and control of appliances, by allowing multiple appliances to be accessed with a single, relatively simple pointing device.
In an embodiment of the system, the portable pointing device comprises one or more actuators, a pointer-side input/output (I/O) interface, and a transmitter. An actuator as used herein is an object on the pointing device (e.g., a button, key, knob, trackball, or scroll wheel) actuated by the user in order to communicate with a target appliance. The actuators generate pointer-derived commands or events (hereinafter xe2x80x9cpointer eventsxe2x80x9d) which could be described in such terms as xe2x80x9cleft arrowxe2x80x9d, xe2x80x9cright arrowxe2x80x9d, xe2x80x9croll upxe2x80x9d, or xe2x80x9croll downxe2x80x9d. A unique signal to represent each of these pointer events is created by the I/O interface and forwarded to the transmitter. In an embodiment, the pointing device may also be configured to accept voice commands. The appliance interface associated with the target appliance may include a receiver, an appliance-side I/O interface, and a driver. A pointer event signal transmitted by the pointing device may be detected (i.e., decoded) by the appliance-side I/O interface. The pointer event signal may be translated to a corresponding appliance function by the driver. The appliance interface may also include a visible indicator such as a light-emitting diode to provide feedback to the user that, for example, a signal has been received from the pointing device. In an analogy with a GUI, such a visual indication may be comparable to a visual indication on a computer screen that an icon has been selected using a pointing device (e.g., a changing of the icon color when it is xe2x80x9cclicked uponxe2x80x9d).
The pointing device may be configured to transmit an optical signal, an RF signal, or both. In one embodiment, the system uses only optical signals. This avoids transmittal to other than the intended appliance, but requires a relatively short line-of sight path between the pointing device and the appliance. In an alternative embodiment, the system is configured to use both optical and RF signals. In this embodiment, an optical signal is used to select a particular appliance for communication. The appliance interface is configured such that once the appliance has been selected, it will respond to subsequent RF signals. The selected appliance may then be communicated with using RF signals, so that the pointing device may be farther away from the appliance, and a line-of-sight path may not be needed. Because only the selected appliance responds to the RF signals, unwanted communication with other appliances does not occur. It is therefore not necessary to have dedicated remote control units for each appliance, or to use appliance identification codes. In applications requiring security (e.g., door openers and locks), however, the system may be configured to use pointing device identification codes. For example, an appliance interface may be configured to respond to only those selection signals received from particular pointing devices.
The system of the embodiments described above may be configured for essentially one-way communication from the pointing device to the appliance. In other embodiments, however, the system may be configured for two-way (bi-directional) communication between the pointing device and the appliance. In such embodiments, the pointing device and appliance interface each include both a transmitter and a receiver. The pointing device includes a visible indicator so that information may be transmitted from the appliance to the user. In one embodiment, the visible indicator is a display screen, and information may be transmitted from the appliance in the form of a menu which appears on the pointer display screen. In this way, appliance-specific options may be communicated to the user through a GUI associated with the pointer display screen.
A method for using the remote control communications system described above is also contemplated. The pointing device is oriented such that a signal transmitted by the pointing device may be received by the appliance interface of the target appliance. An actuator on the pointing device is then used to transmit a signal from the pointing device to the appliance interface. A first signal sent may be a selection signal to select the desired target appliance, and subsequent signals may be command signals to elicit a desired response from the selected appliance. In this case, a visible indication that the appliance has been selected may be observed before the command signals are transmitted. Such a visible indication may be made using an indicator on the appliance interface, or with an indicator on the pointing device. For embodiments in which a pointer configured to transmit both optical and RF signals is used, an optical signal is preferably used to select the target appliance. Subsequent commands may be sent using either optical or RF signals.
For embodiments in which the system is configured for two-way communication between the pointer and the appliance interface, the method further includes observing a response from the appliance interface after selection of an appliance. For example, the response could take the form of a menu containing appliance-specific options available for interaction with the appliance. Subsequent commands sent from the pointer to the appliance interface may be prompted by options or directions communicated from the appliance interface to the pointer.
In several embodiments described above, the system is used for communication with one of any number of pointer-compatible appliances using a generalized pointer. In other embodiments, the system recited herein may be used to direct communication between more than one appliance. For example, the pointer might be used to direct an interaction between a television set and a stereo system, such that the sound from the television is transmitted through the stereo system speakers. As another example, a file from a workplace computer might be transferred to a home computer using the pointer. Use of the pointer to transfer data between appliances or to otherwise direct communication between appliances may be analogous to the xe2x80x9cdrag-and-dropxe2x80x9d function in a GUI, in which, for example, a icon representing a file is copied from one application into another by dragging an icon representing the file on a computer screen to an icon representing an application. This drag-and-drop method is preferably implemented using an embodiment of the system allowing two-way communication between the pointing device and each appliance. The method is typically implemented using appliances which can communicate with each other in some fashion, such as through a wired or wireless network. Use of the pointer-directed method may greatly simplify cooperation between appliances and combination of their functions, in that users may select the desired appliances for the interaction without knowing details such as their network addresses. In some embodiments, the sole communication pathway between the appliances may be provided by the pointer, if the pointer is configured for two-way communication.
A computer-usable carrier medium having program instructions executable to implement one of the above-described methods is also contemplated herein. The carrier medium may be a storage medium, such as a magnetic or optical disk, a magnetic tape, or a memory. In addition, the carrier medium may be a wire, cable, or wireless medium along which the program instructions are transmitted, or a signal carrying the program instructions along such a wire, cable or wireless medium. In one embodiment, the carrier medium may contain pointer command data, appliance function data, a correspondence between the pointer command and appliance function data, and appliance-specific instructions based on the appliance function data. In another embodiment, the carrier medium may contain program instructions executable to implement detection of a signal transmitted from the pointing device to an appliance interface, extraction of a pointer command from the signal, identification of an appliance function corresponding to the pointer command, and forwarding of an instruction for implementing the appliance command to appropriate appliance circuitry.