U.S. patent application number 10/351884 was filed with the patent office on 2003-10-23 for system and method for wireless control of multiple remote electronic systems.
This patent application is currently assigned to Johnson Controls Technology Company. Invention is credited to Benson, Michael R., Blaker, David A., Geerlings, Steven L., Olson, Thomas R., Wright, Thomas S..
Application Number | 20030197595 10/351884 |
Document ID | / |
Family ID | 32823725 |
Filed Date | 2003-10-23 |
United States Patent
Application |
20030197595 |
Kind Code |
A1 |
Olson, Thomas R. ; et
al. |
October 23, 2003 |
System and method for wireless control of multiple remote
electronic systems
Abstract
A transmitter for wirelessly controlling a plurality of remote
electronic systems includes a memory, a transmitter circuit, and a
control circuit. The memory is configured to store a plurality of
control data messages, each control data message configured to
control a different remote electronic system. The control circuit
is configured to command the transmitter circuit to transmit a
plurality of wireless control signals in response to a single
event, each wireless control containing a different control data
message.
Inventors: |
Olson, Thomas R.; (Holland,
MI) ; Benson, Michael R.; (Holland, MI) ;
Wright, Thomas S.; (Holland, MI) ; Geerlings, Steven
L.; (Zeeland, MI) ; Blaker, David A.;
(Holland, MI) |
Correspondence
Address: |
FOLEY & LARDNER
777 EAST WISCONSIN AVENUE
SUITE 3800
MILWAUKEE
WI
53202-5308
US
|
Assignee: |
Johnson Controls Technology
Company
|
Family ID: |
32823725 |
Appl. No.: |
10/351884 |
Filed: |
January 27, 2003 |
Related U.S. Patent Documents
|
|
|
|
|
|
Application
Number |
Filing Date |
Patent Number |
|
|
10351884 |
Jan 27, 2003 |
|
|
|
10127384 |
Apr 22, 2002 |
|
|
|
Current U.S.
Class: |
340/5.61 ;
340/5.21; 340/5.72 |
Current CPC
Class: |
G08C 17/02 20130101;
G08C 2201/92 20130101; G08C 2201/31 20130101; G08C 2201/91
20130101; G08C 2201/62 20130101; G08C 2201/50 20130101 |
Class at
Publication: |
340/5.61 ;
340/5.21; 340/5.72 |
International
Class: |
H04Q 001/00; G05B
019/00 |
Claims
What is claimed is:
1. A transmitter for wirelessly controlling a plurality of remote
electronic systems, comprising: a memory configured to store a
plurality of control data messages, each control data message
configured to control a different remote electronic system; a
transmitter circuit; and a control circuit configured to command
the transmitter circuit to transmit a plurality of wireless control
signals in response to a single event, each wireless control signal
containing a different control data message.
2. The transmitter of claim 1, further comprising an operator input
device, wherein the single event comprises the actuation of the
operator input device by a vehicle occupant.
3. The transmitter of claim 1, wherein the control circuit is
configured to receive navigation data and to determine a proximity
between the transmitter and the remote electronic systems, wherein
the single event comprises the control circuit determining that the
transmitter is within a predetermined proximity of the remote
electronic system.
4. The transmitter of claim 3, further comprising an
operator-actuatable switch coupled to the control circuit, wherein
the control circuit is user-programmable such that the switch
causes the transmitter to send a first wireless control signal
having a first control data message and the control circuit
automatically sends a second wireless control signal having a
second control data message different than the first control data
message when the control circuit determines that the transmitter is
within a predetermined proximity of the remote electronic
system.
5. The transmitter of claim 1, further comprising a vehicle
interior element coupled to the transmitter circuit and the control
circuit, wherein the transmitter is configured for mounting in a
vehicle interior.
6. The transmitter of claim 5, wherein the vehicle interior element
is an overhead console, a visor, or an instrument panel.
7. The transmitter of claim 1, wherein the control circuit is
configured to be programmed by the user as to which of the wireless
control signals are to be transmitted in response to the single
event.
8. The transmitter of claim 1, further comprising a plurality of
operator-actuatable switches coupled to the control circuit,
wherein the control circuit is user-programmable such that a first
of the switches causes the transmitter to send a first wireless
control signal and a second of the switches causes the transmitter
to send second and third wireless control signals simultaneously or
in sequence.
9. The transmitter of claim 1, wherein the transmitter circuit is
configured to transmit the plurality of wireless control signals in
the radio frequency range.
10. A transmitter for wirelessly controlling a plurality of remote
electronic systems, comprising: means for storing a plurality of
control data messages, each control data message configured to
control a different remote electronic system; means for
transmitting a wireless signal; and means for commanding the
transmitter circuit to transmit a plurality of wireless control
signals in response to a single event, each wireless control signal
containing a different control data message.
11. The transmitter of claim 10, wherein the single event is
reception of a signal indicative that the transmitter is within a
predetermined proximity of at least one of the plurality of remote
electronic systems.
12. The transmitter of claim 11, further comprising a means for
commanding the transmitter to send a first wireless control signal
having a first control data message, receive a location signal
indicative that the transmitter is within a predetermined proximity
of the remote electronic system, and sending a second wireless
control signal having a second control data message different than
the first control data message based on receipt of the location
signal.
13. The transmitter of claim 10, further comprising a vehicle
interior element coupled to the transmitter, wherein the
transmitter is configured for mounting in a vehicle interior.
14. The transmitter of claim 13, wherein the vehicle interior
element is an overhead console, a visor, or an instrument
panel.
15. The transmitter of claim 14, further comprising means for
receiving operator input, wherein the single event is the reception
of the operator input from a vehicle occupant.
16. The transmitter of claim 10, further including means for the
user to program which of the wireless control signals are to be
transmitted in response to the single event.
17. The transmitter of claim 10, further comprising a plurality of
operator-actuatable switches coupled to the transmitter, wherein
the transmitter is user-programmable such that a first of the
switches causes the transmitter to send a first wireless control
signal and a second of the switches causes the transmitter to send
second and third wireless control signals simultaneously or in
sequence.
18. The transmitter of claim 10, wherein the means for transmitting
a wireless signal is configured to transmit the plurality of
wireless control signals in the radio frequency range.
19. A method for training a transmitter for a wireless control
system to wirelessly control a plurality of remote electronic
systems based upon a single event, comprising: receiving a request
from a user to begin training a plurality of wireless control
signals to be associated with a single event; receiving the single
event; receiving a first wireless control signal having a first
data code; identifying and storing the first data code on the first
wireless control; associating the first wireless control with the
single event, whereby the wireless control system can wirelessly
control a first remote electronic system by transmitting the first
data code of the first wireless control in response to the single
event; receiving a second wireless control having a second data
code; identifying and storing the second data code on the second
wireless control; associating the second wireless control with the
single event, whereby the wireless control system can wirelessly
control a second remote electronic system by transmitting the
second data code of the second wireless control in response to the
single event; and receiving an end training signal.
20. The method of claim 19, further including storing the first and
second data code in memory.
21. The method of claim 19, wherein the request to begin training
is received via a pushbutton.
22. The method of claim 19, further comprising receiving an
indication from the user as to which of a plurality of wireless
control signals is to be transmitted based on the location of the
vehicle.
23. The method of claim 19, wherein the wireless controls are
within in the radio frequency range.
Description
CROSS REFERENCE TO RELATED APPLICATIONS
[0001] This application is a continuation-in-part of U.S.
application Ser. No. 10/127,384, filed Apr. 22, 2002, hereby
incorporated by reference.
BACKGROUND
[0002] In the field of wireless control of remote electronic
systems, technological advances have been developed to improve
convenience, security, and functionality for the user. One example
is a trainable transceiver for use with various remote electronic
systems, such as security gates, garage door openers, lights, and
security systems. A user trains the trainable transceiver by, for
example, transmitting a signal from a remote controller in the
vicinity of the trainable transceiver. The trainable transceiver
learns the carrier frequency and data code of the signal and stores
this code for later retransmission. In this manner, the trainable
transceiver can be conveniently mounted within a vehicle interior
element (e.g., visor, instrument panel, overhead console, etc.) and
can be configured to operate one or more remote electronic
systems.
[0003] Further advances are needed in the field of wireless control
of remote electronic systems, particularly in the case of using
automotive electronics to control remote electronic systems. As
automotive manufacturers are adding increased electronic systems to
the vehicle to improve convenience, comfort, and productivity,
simplifying the interface and control of these electronic systems
is also becoming increasingly important.
[0004] Navigation systems, such as the global positioning system,
vehicle compass, distance sensors, and other navigation systems,
are being added to vehicles to provide navigation information to
the vehicle occupants. On-board navigation systems also present
opportunities to improve existing electronic systems to take
advantage of vehicle location data which was not previously
available.
[0005] What is needed is an improved wireless control system and
method for wireless control of a remote electronic system from a
vehicle, wherein the location of the vehicle is used to improve the
convenience and functionality of the wireless control system.
Further, what is needed is a system and method of training a
wireless control system on a vehicle for wireless control of a
remote electronic system based on the location of the vehicle.
Further still, what is needed is a transmitter for wirelessly
controlling a plurality of remote electronic systems. Further yet,
what is needed is a system and method for wireless control of a
garage door opener based on the location of the wireless control
system.
[0006] The teachings hereinbelow extend to those embodiments which
fall within the scope of the appended claims, regardless of whether
they accomplish one or more of the above-mentioned needs.
SUMMARY
[0007] According to an exemplary embodiment, a transmitter for
wirelessly controlling a plurality of remote electronic systems
includes a memory, a transmitter circuit, and a control circuit.
The memory is configured to store a plurality of control data
messages, each control data message configured to control a
different remote electronic system. The control circuit is
configured to command the transmitter circuit to transmit a
plurality of wireless control signals in response to a single
event, each wireless signal containing a different control data
message.
[0008] According to another exemplary embodiment, a transmitter for
wirelessly controlling a plurality of remote electronic systems is
described. The transmitter comprises means for storing a plurality
of control data messages, each control data message configured to
control a different remote electronic system, means for
transmitting a wireless control, and means for commanding the
transmitter circuit to transmit a plurality of wireless control
signals in response to a single event, each wireless control
containing a different control data message.
[0009] According to another exemplary embodiment, a method for
training a transmitter for a wireless control system to wirelessly
control a plurality of remote electronic systems based upon a
single event is described. The method includes receiving a request
from a user to begin training a plurality of wireless control
signals to be associated with a single event, receiving the single
event, receiving a first wireless control signal having a first
data code, identifying and storing the first data code on the first
wireless control, associating the first wireless control with the
single event, whereby the wireless control system can wirelessly
control a first remote electronic system by transmitting the first
data code of the first wireless control in response to the single
event. The method further includes receiving a second wireless
control having a second data code, identifying and storing the
second data code on the second wireless control, associating the
second wireless control with the single event, whereby the wireless
control system can wirelessly control a second remote electronic
system by transmitting the second data code of the second wireless
control in response to the single event, and receiving an end
training signal.
BRIEF DESCRIPTION OF THE DRAWINGS
[0010] The invention will become more fully understood from the
following detailed description, taken in conjunction with the
accompanying drawings, wherein like reference numerals refer to
like parts, and in which:
[0011] FIG. 1 is a perspective view of a vehicle having a wireless
control system, according to an exemplary embodiment;
[0012] FIG. 2 is a block diagram of a wireless control system and a
remote electronic system, according to an exemplary embodiment;
[0013] FIG. 3 is a schematic diagram of a visor having a wireless
control system mounted thereto, according to an exemplary
embodiment;
[0014] FIG. 4 is a flowchart of a method of training the wireless
control system of FIG. 2, according to an exemplary embodiment;
[0015] FIG. 5 is a chart of a set of data pairs stored in memory,
each data pair including a heading and a corresponding distance,
according to an exemplary embodiment;
[0016] FIG. 6 is a block diagram of a transmitter for wirelessly
controlling a plurality of remote electronic systems, according to
an exemplary embodiment;
[0017] FIG. 7 is a flowchart of a method of wireless control of
remote electronic systems based on location, according to an
exemplary embodiment;
[0018] FIG. 8 is a flowchart of the "Calculate Distance" subroutine
of the method of FIG. 7, according to an exemplary embodiment;
[0019] FIG. 9 is a flowchart of a "Calculate Heading" subroutine of
the method of FIG. 7, according to an exemplary embodiment;
[0020] FIG. 10 is a flowchart of a "Home Check" subroutine of the
method of FIG. 7, according to an exemplary embodiment; and
[0021] FIG. 11 is a flowchart of a "Vector Filter" subroutine of
the method of FIG. 7, according to an exemplary embodiment.
DETAILED DESCRIPTION OF EXEMPLARY EMBODIMENTS
[0022] Referring first to FIG. 1, a vehicle 10, which may be an
automobile, truck, sport utility vehicle (SUV), mini-van, or other
vehicle, includes a wireless control system 12. Wireless control
system 12, the exemplary embodiments of which will be described
hereinbelow, is illustrated mounted to an overhead console of
vehicle 10. Alternatively, one or more of the elements of wireless
control system 12 may be mounted to other vehicle interior
elements, such as, a visor 14 or instrument panel 16.
Alternatively, wireless control system 12 could be mounted to a key
chain, keyfob or other handheld device.
[0023] Referring now to FIG. 2, wireless control system 12 is
illustrated along with a remote electronic system 18 which may be
any of a plurality of remote electronic systems, such as, a garage
door opener, a security gate control system, security lights, home
lighting fixtures or appliances, a home security system, etc. For
example, remote electronic system 18 may be a garage door opener,
such as the Whisper Drive.RTM. garage door opener, manufactured by
the Chamberlain Group, Inc., Elmhurst, Ill. Remote electronic
system 18 may also be a lighting control system using the X10
communication standard. Remote electronic system 18 includes an
antenna 28 for receiving wireless signals including control data
which will control remote electronic system 18. The wireless
signals are preferably in the ultra-high frequency (UHF) band of
the radio frequency spectrum, but may alternatively be infrared
signals or other wireless signals.
[0024] Wireless control system 12 includes a control circuit 30
configured to control the various portions of system 12, to store
data in memory, to operate preprogrammed functionality, etc.
Control circuit 30 may include various types of control circuitry,
digital and/or analog, and may include a microprocessor,
microcontroller, application-specific integrated circuit (ASIC), or
other circuitry configured to perform various input/output,
control, analysis, and other functions to be described herein.
Control circuit 30 is coupled to an operator input device 32 which
includes one or more push button switches 34 (see FIG. 3), but may
alternatively include other user input devices, such as, switches,
knobs, dials, etc., or even a voice-actuated input control circuit
configured to receive voice signals from a vehicle occupant and to
provide such signals to control circuit 30 for control of system
12. System 12 further includes a memory 74, which may be volatile
or non-volatile memory, and may include read only memory (ROM),
random access memory (RAM), flash memory, and/or any other memory
type.
[0025] Control circuit 30 is further coupled to a display 36 which
includes a light-emitting diode (LED), such as, display element 38.
Display 36 may alternatively include other display elements, such
as a liquid crystal display (LCD), a vacuum florescent display
(VFD), or other display elements.
[0026] Wireless control system 12 further includes an interface
circuit configured to receive navigation data from one or more
navigation data sources, such as a GPS receiver 48, a vehicle
compass 50, a distance sensor 52, and/or other sources of
navigation data, such as gyroscopes, etc. Interface circuit 46 is
an electrical connector in this exemplary embodiment having pins or
other conductors for receiving power and ground, and one or more
navigation data signals from a vehicle power source and one or more
navigation data sources, respectively, and for providing these
electrical signals to control circuit 30. GPS receiver 48 is
configured to receive positioning signals from GPS satellites, to
generate location signals (e.g., latitude/longitude/altitude)
representative of the location of wireless control system 12, and
to provide these location signals to control circuit 30 via
interface circuit 46. Compass 50 includes compass sensors and
processing circuitry configured to receive signals from the sensors
representative of the Earth's magnetic field and to provide a
vehicle heading to control circuit 30. Compass 50 may use any
magnetic sensing technology, such as magneto-resistive,
magneto-inductive, or flux gate sensors. The vehicle heading may be
provided as an octant heading (N, NE, E, SE, etc.) or in degrees
relative to North, or in some other format. Distance sensor 52 may
include an encoder-type sensor to measure velocity and/or position
or may be another distance sensor type. In this embodiment,
distance sensor 52 is a magnetic sensor coupled to the transmission
and configured to detect the velocity of the vehicle. A vehicle bus
interface receives the detected signals and calculates the distance
traveled based on a clock pulse on the vehicle bus. Other distance
and/or velocity sensor types are contemplated, such as, using GPS
positioning data.
[0027] Wireless control system 12 further includes a transceiver
circuit 54 including transmit and/or receive circuitry configured
to communicate via antenna 56 with remote electronic system 18.
Transceiver circuit 54 is configured to transmit wireless control
signals having control data which will control remote electronic
system 18. Transceiver circuit 54 is configured, under control from
control circuit 30, to generate a carrier frequency at any of a
number of frequencies in the ultra-high frequency range, preferably
between 260 and 470 megahertz (MHz), wherein the control data
modulated on to the carrier frequency signal may be frequency shift
key (FSK) or amplitude shift key (ASK) modulated, or may use
another modulation technique. The control data on the wireless
control signal may be a fixed code or a rolling code or other
cryptographically encoded control code suitable for use with remote
electronic system 18.
[0028] Referring now to FIG. 3, an exemplary wireless control
system 12 is illustrated coupled to a vehicle interior element,
namely a visor 14. Visor 14 is of conventional construction,
employing a substantially flat, durable interior surrounded by a
cushioned or leather exterior. Wireless control system 12 is
mounted to visor 14 by fasteners, such as, snap fasteners, barbs,
screws, bosses, etc. and includes a molded plastic body 58 having
three push button switches disposed therein. Each of the switches
includes a respective back-lit icon 40, 42, 44. Body 58 further
includes a logo 60 inscribed in or printed on body 58 and having a
display element 30 disposed therewith. During training and during
operation, display element 38 is selectively lit by control circuit
30 (FIG. 2) to communicate certain information to the user, such
as, whether a training process was successful, whether the control
system 12 is transmitting a wireless control signal, etc. The
embodiment shown in FIG. 3 is merely exemplary, and alternative
embodiments may take a variety of shapes and sizes, and have a
variety of different elements.
[0029] In operation, wireless control system 12 is configured to
receive one or more characteristics of an activation signal sent
from an original transmitter associated with remote electronic
system 18. The original transmitter is a transmitter, typically a
hand-held transmitter, which is sold with remote electronic system
18 or as an after-market item, and which is configured to transmit
an activation signal at a predetermined carrier frequency and
having control data configured to actuate remote electronic system
18. For example, the original transmitter can be a hand-held garage
door opener transmitter configured to transmit a garage door opener
signal at a frequency, such as 355 megahertz (MHz), wherein the
activation signal has control data, which can be a fixed code or a
cryptographically-encoded code. Remote electronic system 18 is
configured to open a garage door, for example, in response to
receiving the activation signal from the original transmitter.
[0030] Wireless control system 12 is configured to receive one or
more characteristics of the activation signal from the original
transmitter or from another source, which characteristics can
include the frequency, control data, modulation scheme, etc. In
this embodiment, wireless control system 12 is configured to learn
at least one characteristic of the activation signal by receiving
the activation signal, determining the frequency of the activation
signal, and demodulating the control data from the activation
signal. Wireless control system 12 can be a Homelink.RTM. trainable
transceiver system, manufactured by Johnson Controls Interiors LLC,
Holland, Mich., and may be constructed according to one or more
embodiments disclosed in U.S. Pat. Nos. 6,091,343, 5,854,593 or
5,708,415, which are herein incorporated by reference in their
entirety. Alternatively, wireless control system 12 can receive one
or more characteristics of the activation signal by other methods
of learning. For example, the one or more characteristics of the
activation signal can be preprogrammed into memory 74 during
manufacture of wireless control system 12 or can be input via
operator input device 32 (which can include a key pad, buttons,
etc.). In this manner, wireless control system 12 need not actually
receive the activation signal in order to receive characteristics
of the activation signal. Wireless control system 12 can receive
the characteristics of the signal by any of these methods and store
the characteristics of the activation signal in memory 74.
[0031] According to one exemplary embodiment, wireless control
system 12 is fixedly coupled to a vehicle interior element. This
fixed coupling provides a convenient location for a trainable
transmitter in vehicle 14, and further prevents an operator from
losing, misplacing, dropping, or otherwise losing control of
wireless control system 12. The term "fixedly coupled" refers to
the characteristic that wireless control system 12 is not removable
from the vehicle interior element, though it may be moved within
the vehicle interior element (for example, in a sliding
configuration).
[0032] In further operation, wireless control system 12 is
configured for wireless control of remote electronic system 18
based on the location of wireless control system 12. Control
circuit 30 is configured to receive navigation data from a
navigation data source to determine a proximity between system 12
and system 18, and to command transceiver circuit 54 to transmit a
wireless control signal based on the proximity between system 12
and system 18.
[0033] Several training steps can be performed by the user. Remote
electronic system 18 is placed in an "auto open" mode. System 12 is
also placed in an "auto open" mode. Both such mode selections can
be selected using operator input devices. System 12 is trained to
learn the location of remote electronic system 18, which may be
defined as the location of one or more of a garage door, a security
gate, a home lighting or appliance element, a home security system,
the location of the home associated with remote electronic system
18, the location of antenna 28, or any other location associated
with remote electronic system 18. In this exemplary embodiment,
system 12 learns the location of remote electronic system 18 in one
of two ways. In a first method, in which data from GPS receiver 48
is available, the user actuates one of switches 34 to change the
mode of wireless control system 12 to a training mode. With system
12, and more particularly the antenna of GPS receiver 48,
positioned at the location of remote electronic system 18, the user
actuates one of the switches 34 to command control circuit 30 to
take a location reading from GPS receiver 48 and to store this
location information in memory, preferably in non-volatile memory,
in order to train system 12 to learn the location of remote
electronic system 18. Alternatively, in a system wherein GPS
signals are not available, system 12 uses information from compass
50 and distance sensor 52 to train system 12 to learn the location
of remote electronic system 18, as will now be described with
reference to FIG. 4.
[0034] Referring to FIG. 4, an exemplary method of training a
wireless control system on a vehicle for wireless control of a
remote electronic system will now be described. At step 62, control
circuit 30 identifies whether the user has requested system 12 to
enter a training mode to begin training. For example, the user may
hold down one, two, or more of switches 34 for a predetermined time
period (e.g., 10 seconds, 20 seconds, etc.) to place control
circuit 30 in a training mode, or the user may actuate a separate
input device (not shown in FIG. 3) coupled to control circuit 30
(FIG. 2) to place system 12 in the training mode. Once training has
begun, at step 64, control circuit 30 receives heading signals from
compass 50 via interface circuit 46. Control circuit 30 records the
vehicle heading in memory, wherein the vehicle heading is received
from a GPS receiver or a compass. At step 66, control circuit 30
further receives distance signals representing the distance
traveled by the vehicle from distance sensor 52 via interface
circuit 46. The distance traveled is recorded in memory. Typically,
the heading signals and distance traveled are recorded over one or
more turns of vehicle 10 to provide a unique path which can be
identified as a path associated with the vehicle approaching remote
electronic system 18. Heading data and distance data are recorded
as the vehicle makes at least one change in heading. Heading data
and distance data are recorded in a set of data pairs representing
a path beginning some distance from system 18 (e.g., one block,
multiple blocks, one mile, several miles, etc.) and ending in the
vicinity (e.g., less than a few hundred feet) of system 18.
[0035] Typically a vehicle operator will use between one and three
routes to approach their home. The method described in FIG. 4 can
be repeated for multiple routes. The operator may program some
routes for which they wish to cause automatic transmission of
wireless data, as will be described below, and may further choose
not to program system 12 for other routes for which they do not
want to cause automatic transmission of wireless signals.
Preferably, training begins at a location that is far enough from
the home that a unique route can be established, yet close enough
to the home so that the route home is consistent over several trips
home. The vehicle operator can decide whether to include the final
turn into the driveway to make the route unique. If the final turn
into the driveway is included, the automatic transmit function, as
will be described hereinafter, will be delayed until after the car
has completed its turn into the driveway.
[0036] When the user travels in the vehicle to the end of the
training path (i.e., in the vicinity of system 18), the user stops
the vehicle and presses one of switches 34 corresponding to the end
of training, as indicated at step 68. Between the start and end of
the training path, control circuit 30 records in memory the
distance traveled on each heading during the drive to the home.
Control circuit 30 will then record and save in memory one or more
tables such as that shown in FIG. 5. FIG. 5 illustrates a set of
predetermined heading and distance data represented as a plurality
of data pairs, each data pair including a heading and a
corresponding distance. For example, in the exemplary data pair
shown, the heading of north is taken for a distance of 20 units
(each unit representing a 20 foot increment in this exemplary
embodiment, though alternative measures may be implemented), a
heading of east for 30 units, and a heading of north for 10
units.
[0037] Having trained system 12 to identify the location of remote
electronic system 18 using either GPS positioning signals or by
identifying one or more paths to remote electronic system 18, or by
otherwise training system 12 to learn the proximity or distance
between system 12 and system 18, system 12 may then be used in its
operative mode to automatically transmit wireless control data
based on the proximity between system 12 and system 18. For
example, when GPS positioning signals are used, during normal
vehicle driving, control circuit 30 continuously monitors the
location of the vehicle and, when the vehicle is within a
predetermined distance (e.g., 5 miles, 1 mile, 2 blocks, etc.),
control circuit 30 commands transceiver circuit 54 to transmit a
wireless control signal having control data to control one or more
of remote electronic systems 18. In this exemplary embodiment, the
wireless control signal is transmitted automatically (i.e., without
requiring the user to press a button) in two five-second bursts
with a three second delay between bursts. Alternatively, the
wireless control signal can be transmitted with greater or fewer
numbers of bursts and with different durations and delay times.
[0038] In the case where vehicle compass and distance sensor data
are utilized, control circuit 30 will continuously monitor heading
and distance information via interface circuit 46 and will compare
the heading and distance information to the sets of data pairs in
memory representing one or more paths indicating when a vehicle
returns to the home. When a match is identified, control circuit 30
will command transceiver 54 to transmit the wireless control
signal. Preferably, a tolerance of +/-20% (or some other
percentage) is provided for the distances during the comparison
steps.
[0039] According to one exemplary embodiment, when wireless control
system 12 is within a first proximity of remote electronic system
18, wireless control data is automatically transmitted in a
plurality of bursts. Thereafter, wireless control system 12
monitors the proximity of system 12 to system 18 until the
proximity is at a second proximity which is greater than the first
proximity. After system 12 is outside the second proximity, system
12 is "reset," such that when systems 12 and 18 are again within
the first proximity, system 12 again automatically transmits the
wireless control signal. Alternatively, the first and second
proximities can be the same or the second proximity can be less
than the first. In either event, system 12 advantageously prevents
multiple retransmissions while system 12 is within the first
proximity, but not having just returned home.
[0040] According to another exemplary embodiment, wireless control
system 12 can be trained to automatically learn the pathway to
remote electronic system 18. In this embodiment, system 12
continuously monitors travel vectors (i.e., distance and heading)
and stores the vectors in a buffer. When system 12 detects a manual
actuation of one of input devices 34 to send wireless control
signals, system 12 concludes it is at or near system 18. Therefore,
system 12 records a predetermined number of previous travel vectors
(e.g., three, five, ten, etc.) in memory. The next time system 12
travels the same recorded travel vector pattern, system 12
automatically transmits wireless control data to actuate system 18.
System 12 determines whether the same recorded travel vector
pattern is traveled by waiting until a first vector of a pattern is
found, then comparing the vector of the next turn to the next
vector in the pattern, and so on, until all vectors in the pattern
have been matched. Pattern matching and position matching (as with
GPS distance data) can be used together to verify that the system
works effectively. Preferably, system 12 requires the user to
select this automatic training feature using one or more of input
devices 34 before automatic training will take place. Multiple
paths home can be recorded in this manner. Preferably, the travel
path includes the turn into the driveway of the home so that
automatic transmission of wireless control data can be prevented by
stopping the vehicle on the street in front of the house.
[0041] Referring now to FIGS. 7-11, a method of wireless control of
a remote electronic system based on location will be described,
according to another exemplary embodiment. The method can be
operable in software and/or hardware on system 12 in any of its
various embodiments. At step 200, the "Calculate Heading"
subroutine is called. Referring to FIG. 9, at step 202, every
1/8.sup.th second, the current heading of the vehicle is detected.
At step 204, if the heading byte loaded is the first point of a
heading vector, a heading average is set equal to the heading byte
at step 206, a FirstPoint flag is set at step 208, and the method
proceeds to step 210. At step 204, if the loaded heading is not the
first point of a heading vector, the method proceeds to step
210.
[0042] At step 210, the change in heading is calculated by
subtracting the average heading from the recently loaded heading.
At step 212, if the heading change is positive, a new heading
average is calculated at step 214 according to the following
equation:
Heading
Average=(7*HeadingAverage+(HeadingAverage+HeadingDelta))/8
[0043] At step 216, if the change in heading is less than 7 and not
equal to 0, the heading average is incremented at step 218 and the
subroutine returns at step 220. If the change in heading is greater
than 7 or equal to 0, the heading average is not incremented, and
the subroutine returns at step 220.
[0044] At step 212, if the heading change is not positive, the
absolute value of the heading data is taken at step 222, and the
heading average is calculated at step 224 using the same equation
as step 214. After step 224, at step 226, if the heading delta is
less than 7 and not equal to 0, the heading average is decremented
at step 228, and the subroutine ends at step 220. At step 226, if
the change in heading is greater than 7 or equal to 0, the method
proceeds to step 220 to return to the main routine.
[0045] Referring again to FIG. 7, upon return of the "Calculate
Heading" subroutine, the main routine calls the "Calculate
Distance" subroutine at step 230. Referring to FIG. 8, at step 232,
if the distance is the first distance point of a new vector, the
distance accumulator is cleared at step 234, and a flag is set at
step 236 to indicate that the distance of a new vector is being
calculated. The method then proceeds to step 238. If the distance
calculation is not at the beginning of a new vector at step 232,
the method proceeds to step 238. At step 238, the distance is
calculated as the sum of the previous distance accumulator (which
is 0 in the case of a new vector) and the latest change in
distance. At step 240, the subroutine returns to the main
routine.
[0046] Referring again to FIG. 7, after the "Calculate Distance"
subroutine at step 230, the main routine calls the "Vector Filter"
subroutine at step 242. Referring to FIG. 11, at step 244, the
absolute value of the change in heading is stored. If a new turn is
detected at step 246, if the change in heading is greater than four
units at step 248, the method proceeds to step 250. If the change
in heading is not greater than four units, then the distance
accumulator is saved as a temporary distance at step 251. At step
250, if the distance accumulator minus the temporary distance is
greater than a predetermined distance tolerance, a pattern is
stored at a pattern store routine 252 and the heading average is
stored, the new turn flag and real turn flags are cleared, and the
heading change is reset to a default heading tolerance at step 254.
The method then returns at step 256 to the main routine.
[0047] Returning to step 246, if a new turn is not detected, the
method proceeds to step 258 to determine if the recent change in
heading is greater than a predetermined heading change. If not, a
real turn flag is cleared and a heading change is reset to a
default heading tolerance at step 260, and the method returns at
step 256.
[0048] If the recent change in heading is greater than the
predetermined heading change at step 258, a real turn accumulator
is incremented and a heading change accumulator is decremented at
step 262. At step 264, if the real turn accumulator is greater than
two, a new turn flag is set and a start new vector flag is set at
step 266. Subsequently, at step 268, the driving pattern of the
vehicle is stored and the distance accumulator is stored, and the
method returns to the main routine at step 256.
[0049] At step 264, if the real turn accumulator is not greater
than two, the method returns to the main subroutine at step
256.
[0050] Referring again to FIG. 7, after the "Vector Filter"
subroutine is executed in step 242, a "Home Check" subroutine is
executed at step 270. Referring to FIG. 10, at step 272, if the
system is configured for automatic transmission, the method
proceeds to step 274 to see if the proximity of the system to the
remote electronic system has been programmed. If so, the method
proceeds to calculate the distance in latitude (step 276) and
longitude (step 270) between the wireless control system and the
remote electronic system. At step 280, if the systems are within a
predetermined proximity, the "Transmit Start" flag is set at step
282 and the subroutine returns at step 284.
[0051] Referring to FIG. 7, if the vehicle is within the
predetermined proximity of the home in step 286, the method
proceeds to step 288 to determine whether the vehicle has been
outside of a hysteresis range. If so, the "Open Only" command is
transmitted at step 290 and the hysteresis range is reset at step
292. At step 294, the main routine is exited.
[0052] As can be seen, in the "Calculate Heading" subroutine of
FIG. 9, the heading data is averaged using a weighted, running
average. The current heading is compared to the heading average,
and if the car has been traveling straight for some distance, there
will be little difference between them. If, however, the car is in
the process of turning, there will be a significant difference, and
if the difference is past a predetermined threshold, then a new
turn is considered to be taking place. Once the current heading
matched the "Heading Average", then the Heading Average is stored
as the heading for the new vector, and the distance accumulator is
reset to 0. The distance accumulator continues to increment from
this point until a new turn has taken place. As soon as this new
turn is detected, the value of the distance accumulator is stored
as the distance value for the vector. Because this is how the
vectors are stored, the heading data gets stored before the
distance data. After each vector is stored, it can be compared to
the pattern to see if it is one of the vectors leading to the
residence. In other set of routines would control the comparison
process.
1 Functions void VectorFilter(void); // This routine filters the
heading and distance information and determines when to store each
into the vector void Calculate_Heading(void); // Handles the
heading average and controls how the current heading is added or
subtracted from the average void Calculate_Distance(void);
//Handles the Distance accumulator. Speed data is added every time
data is taken when a new vector is started. This gets stored as the
distance void Transmit(void); //Controls the 5 second Homelink
Transmission (Not Flowcharted) void ButtonCheck(void); (Not
Flowcharted) // Polls the button and checks for a press void
HomeCheck(void); // Checks to see if the we are at home yet
Variables U16 Newturn :1; //This flag is set when a valid turn is
detected and is cleared when the turn has stabilized U16
StartnewVector :1; // Set when a valid turn is detected and the
distanceAccumulator is cleared out. If this flag is set, it is then
cleared U16 FirstPoint :1; //If this flag is set then its the first
angle that is stored, and the current data gets stored as the
HeadingAverage U08 Heading ; //The Heading data for the current
Vector U16 Distance ; //The Distance data for the current Vector
U08 DistanceTol; //The Distance value used to ensure a valid turn
has been completed U08 DftHeadingTol; // The initial heading
tolerance used before filtering U08 DftHeadingChange; U08
HeadingChange; //The Angle value used to determine that a turn has
taken place U08 HeadingByte =0; // Current 1/8th second Heading
data U08 HeadingAverage =0; // Current running average of the
heading U08 HeadingDelta =0; //The difference taken by subtracting
the HeadingAverage from the HeadingByte U32 DistAccumulator;
//Contains the summation of the speed every 1/8th second for the
current vector U16 DistanceVar; // Current 1/8th second speed U08
RealTurn; // Checks to see if an actual turn has occurred. Is
incremented upon consecutive samples of the HeadingByte that are
significantly different from the HeadingAverage. int PatternNum =0;
// Controls which Pattern is currently being used int VectorNum =0;
// Controls which Vector is currently being used U16 TempDistance;
//This contains the distance driven, after making a valid turn,
before the data is stable. This is compared to a constant, and when
it is greater than the constant, the Heading information will be
stored for that vector and a new vector will begin int
TransmitCount =0; // Flags to control wireless control system to
ensure that it only transmits for 5 seconds int TransmitStart =0;
float Lat; //1/8th second Latitude data float Long; //1/8th second
Longitude data float HomeLat =0; // Latitude in the driveway of the
residence where the system will be used float HomeLong =0; //
Longitude in the driveway of the residence where the system will be
used int HomeTrained =0; // Flag indicating whether the system has
been trained to a specific Lat/Long yet int HomeEnable =0; // Once
this flag is set, then the product is free to transmit when its
within tolerance of the Home Lat/Long float LatTol; // The
tolerance that controls how far away from the Home Lat/Long the
system will transmit float LongTol; // The tolerance that controls
how far away from the Home Lat/Long the system will transmit double
Latdiff; // Contains the absolute value of the difference between
the Home Lat and the current Lat double Longdiff; // Contains the
absolute value of the difference between the Home Long and the
current Long
[0053] According to one exemplary embodiment, system 12 is
configured for automatic transmission of wireless control signals
as described in any one of the exemplary embodiments hereinabove,
and is further configured to command transceiver circuit 54 to
transmit the wireless control signal in response to actuation of
one of switches 34. Thus, the vehicle driver has the option of
relying on location-based, automatic transmission and/or manual
transmission of wireless control signals.
[0054] Wireless control system 12 may be preprogrammed (e.g.,
during manufacture, at the dealership, etc.) with sufficient
control data to operate one or more of remote electronic systems
18, or system 12 may employ a learning operation, wherein system 12
is trainable by learning the carrier frequency, data code, and/or
modulation scheme on a received wireless signal. In this
embodiment, transceiver 54 is configured to receive a wireless
signal, for example from a hand-held remote transmitter suitable
for use with one or more remote electronic systems 18. Control
circuit 30 is configured to identify a data code on the received
wireless signal and to store the data code in memory, wherein the
wireless control signal to be transmitted by system 12 in response
to automatic or manual transmission includes the stored data code.
An exemplary trainable transceiver is described in U.S. Pat. No.
5,699,054, the disclosure of which is incorporated herein by
reference.
[0055] A further feature which may be implemented in any of the
exemplary embodiments herein is a feature of sending two or more
wireless control signals simultaneously or in sequence, each
wireless control signal having control data for a different remote
electronic system 18. For example, as a vehicle driver approaches
the home, the driver may wish to open a security gate, open a
garage door, turn on lights in the home, and disable a home
security system, and the driver may wish to perform all these
functions within a short period of time or in response to a single
actuation of one of switches 34. According to one embodiment, the
method of FIG. 4 includes a step wherein system 12 receives an
indication from the user as to which of a plurality of wireless
control signals are to be transmitted based on a single event
(e.g., the location of the vehicle or based on actuation of one of
switches 34). Thus, the user can select one or more wireless
control signals which will automatically transmit when the vehicle
is within a predetermined distance of the home (as determined by
GPS signals or the predetermined heading/distance patterns).
[0056] Preferably, system 12 is configured to allow the user to
select one or more wireless control signals to be transmitted
automatically when the vehicle is in the vicinity of the house and
one or more wireless control signals which are to be transmitted
manually, i.e., in response to actuation of one or more of switches
34, each of the wireless control signals having different control
data which will control a different remote electronic system 18. In
one exemplary configuration, the user may wish to control a set of
security lights and the garage door automatically, but the security
date to open manually. In another configuration, the user may want
the security light to be automatically turned on and the garage
door to be manually operated. The training as to which of the
wireless control signals are to be manually transmitted and which
are to be automatically transmitted may be provided after step 62
in the method of FIG. 4, before step 68, or during a separate
training operation.
[0057] According to one exemplary embodiment, the different
wireless control signals will be transmitted in the order in which
they were selected during training.
[0058] Referring now to FIG. 6, a transmitter or transceiver 70 for
wirelessly controlling a plurality of remote electronic systems is
illustrated, wherein the transmitter is configured to transmit a
plurality of wireless control signals in response to a single
event. Transmitter 70 includes a control circuit 72 similar to
control circuit 30. Transmitter 70 further includes a memory 74,
which may be a volatile or non-volatile memory, and may include
read only memory (ROM), random access memory (RAM), flash memory,
or other memory types. Transmitter 70 further includes a
transmitter circuit 76 which may alternatively include receive
circuitry, wherein transmitter circuit 76 is configured to transmit
wireless control signals to one or more of remote electronic
systems 18 (FIG. 2). According to an alternative embodiment,
transmitter circuit 76 may include multiple transmitter circuits to
enable the simultaneous transmission of multiple signals to
multiple remote electronic systems 18. Transmitter 70 may be a
hand-held transmitter, or may be mounted to a vehicle interior
element. Transmitter 70 includes a memory 74 configured to store a
plurality of control data, each control data configured to control
a different remote electronic system. Transmitter 70 may further
include an operator input device 78 and a display 80, which may
have a similar configuration to operator input device 32 and
display 36 in the embodiment of FIG. 2. The following feature of
transmitting multiple wireless signals may be provided in the
simplified transmitter of FIG. 6 or may alternatively be provided
in system 12 in any of its various embodiments.
[0059] In operation, control circuit 72 is configured to command
transmitter circuit 76 to transmit a plurality of wireless control
signals over antenna 82 in response to a single event. Each
wireless control signal contains a different control data message,
each control data message being retrieved from memory 74. The
wireless control signals may be radio frequency, infrared, or other
wireless signals. The single event may be the operator actuation of
operator input device 78 by a vehicle occupant. Alternatively, or
in addition, control circuit 72 may be configured to receive
navigation data and to determine a distance between the transmitter
and the remote electronic system 18, in which case the single event
can be the control circuit 72 determining that the transmitter 70
is within a predetermined distance of remote electronic system
18.
[0060] Control circuit 72 is user-programmable such that the switch
in operator input device 78 causes transmitter circuit 76 to send a
first wireless control signal (e.g., to turn on security lights,
open a security gate, etc.) and the control circuit 72
automatically sends a second wireless control signal different than
the first wireless control signal (e.g., to lift a garage door)
when control circuit 72 determines that transmitter 70 is within a
predetermined distance of remote electronic system 18. Further
still, one switch within operator input device 78 may cause
transmitter circuit 76 to send a first wireless control signal and
a second switch within operator input 78 may cause transmitter 76
to send multiple control signals, wherein the multiple wireless
control signals are transmitted simultaneously or in sequence.
[0061] In an exemplary embodiment wherein system 12 or transmitter
70 sends a plurality of different wireless control signals in
response to actuation of one switch, one of the wireless control
signals can be transmitted for a first predetermined time period
(e.g., 1 to 2 seconds), then the second wireless control signals
can be transmitted for a predetermined time period, (e.g., 1 to 2
seconds) and the cycle of transmissions can be repeated until the
switch is released.
[0062] The features of the exemplary embodiments herein are
particularly useful with garage door opener systems which can be
programmed in an "up only" mode, wherein the garage door will open
when a wireless control signal is received, but if the garage door
is already open, the garage door will not close, but will remain
open. A second mode is that in which receipt of a wireless control
signal will cause a garage door opener to close if open and open if
closed, and stop if in the process of closing or opening. Thus,
system 12 or transmitter 70 can be configured to transmit a unique
message which will place the garage door opener into the first
mode, without requiring the user to manually switch the mode of the
garage door opener from the second mode to the first mode.
[0063] Utilizing the feature of an "up only" mode, in an
alternative embodiment of system 12, transceiver circuit 54 is
configured to transmit a wireless control signal having control
data which will control a garage door opener to open if the garage
door is closed and to remain open if the garage door is already
open when the wireless control signal is received. During training
in this or any other embodiments, the location of system 12 can be
recorded from GPS satellites 48 during the training operation.
Thus, control circuit 30 is configured to record the location of
the wireless control system 12 in response to actuation of operator
input device 32.
[0064] In some situations, a garage door opener will not be
configurable for "up only" operation. In these situations, an
auxiliary wireless transmitter can be used. The auxiliary wireless
transmitter is disposed in the vicinity of the garage door opener
(e.g., coupled to the garage wall, ceiling, or a mounting bracket)
and includes a housing, a receiver, a control circuit, a garage
door state sensor, and an interface circuit. The garage door state
sensor is configured to detect whether the garage door is open or
closed. For example, a mercury switch is coupled to the garage door
which changes state based on whether the switch (or door) is
vertical (garage door open) or horizontal (garage door closed). The
switch includes an interface circuit configured to transmit the
switch state over a wired or wireless connection to the auxiliary
wireless transmitter. The auxiliary wireless transmitter is
configured to receive the switch state and wireless control data
from system 12 indicating an "up only" command. If the garage door
is closed, the auxiliary wireless transmitter will send an "open
door" command via an interface circuit having a wired or wireless
communication link to the garage door opener to open the garage
door. The receiver, control circuit, and interface circuit are all
coupled to and preferably at least partially recessed in the
housing. The interface circuit is configured to provide the "open
door" command from within the housing to the existing garage door
opener outside the housing. If the garage door is already open, the
auxiliary wireless transmitter will not send a command to the
garage door opener. In this embodiment, the auxiliary wireless
transmitter and garage door state sensor act as a kit which
provides "up-only" functionality to an existing garage door
opener.
[0065] According to an alternative exemplary embodiment wherein
system 12 or transmitter 70 sends a plurality of different wireless
control signals in response to actuation of one switch and
transmitter 70 further includes receive circuitry, one of the
wireless control signals can be transmitted for a first
predetermined time period until a status or confirmation signal is
received from a first remote electronic device, then the second of
the wireless control signals can be transmitted until a status or
confirmation signal is received from a second remote electronic
device. A cycle of transmission followed by awaiting a status or
confirmation signal can continue until a status or confirmation
signal has been received for each remote electronic system or until
a predetermined time or number failures has occurred.
[0066] While the exemplary embodiments illustrated in the FIGS. and
described above are presently preferred, it should be understood
that these embodiments are offered by way of example only. For
example, alternative embodiments may be suitable for use in the
commercial market, wherein office lights or security systems or
parking garage doors are controlled. Further, navigation data can
take many forms other than GPS data, compass data, and distance
traveled data. Accordingly, the present invention is not limited to
a particular embodiment, but extends to various modifications that
nevertheless fall within the scope of the appended claims.
* * * * *