System and method for pairing a key with a vehicle via a vehicle communications port by a dongle
11282312 · 2022-03-22
Assignee
Inventors
- Jon Determann (Louisville, KY, US)
- Douglas Lawrence Robertson (Crestwood, KY, US)
- Adam Lee Pizer (Louisville, KY, US)
- Daniel Charles Johnson (Crestwood, KY, US)
- David Golman King (Shelbyville, KY, US)
Cpc classification
G07C9/00309
PHYSICS
International classification
B60R25/24
PERFORMING OPERATIONS; TRANSPORTING
H04W12/00
ELECTRICITY
Abstract
The present invention provides a system, method, and apparatus for pairing a vehicle key or remote keyless entry device with a vehicle by a dongle connected to an OBD port of the vehicle. The OBD programming dongle operates without a connection to an external device and pairs one or more keys with a vehicle without user intervention after the pairing process has started. The OBD programming dongle may be linked to a specific vehicle by the VIN code of the specific vehicle.
Claims
1. A dongle adapted to pair an unpaired vehicle key with a vehicle, the dongle comprising: a button; an audible signal generator; a processor; and a memory comprising a set of executable code when executed by the processor configured to: initiate, by user actuation of the button on the dongle, a key pairing process, the key pairing process comprising: initiating communications between the dongle and the vehicle via the vehicle communications port using a determined communications mode; identifying, by the dongle, a number of existing keys already paired with the vehicle; automatically pairing, by the dongle, the unpaired vehicle key with the vehicle; and verifying that the automatic pairing of the vehicle key from the set of vehicle keys with the vehicle was successful.
2. The dongle of claim 1, wherein the determined communications mode is a communications mode automatically determined by the dongle to be used in the key pairing process.
3. The dongle of claim 2, wherein the communications mode comprises one or more of a communications protocol, a bus type, or a set of commands and responses.
4. The dongle of claim 2, wherein the automatic determination is based on a VIN read from the vehicle over an OBD interface.
5. The dongle of claim 2, wherein the automatic determination is based on a measurement of voltage levels and communications frequency over a set of bus lines of the vehicle over an OBD interface.
6. The dongle of claim 2, wherein the automatic determination is based on sending a set of commands by the dongle and receiving a set of responses from the vehicle over an OBD interface.
7. The dongle of claim 1, wherein the key pairing process further comprises: determining that the determined communications mode is not compatible with the vehicle; and terminating the key pairing process.
8. The dongle of claim 1, wherein the key pairing process further comprises: reading, by the dongle, a VIN from the vehicle; determining that the VIN read from the vehicle matches a stored VIN in the dongle; and continuing the key pairing process.
9. The dongle of claim 1, wherein the key pairing process further comprises: reading, by the dongle, a VIN from the vehicle; determining that the VIN read from the vehicle does not match a stored VIN in the dongle; and terminating the key pairing process.
10. The dongle of claim 1, wherein the key pairing process further comprises: determining that the identified number of existing keys exceeds a predetermined threshold; and terminating the key pairing process.
11. The dongle of claim 1, wherein the dongle is configured to become inoperable after the key pairing process is performed a predetermined number of times.
12. The dongle of claim 1, wherein the key pairing process further comprises: receiving an additional actuation of the button on the dongle; and unpairing a set of all paired vehicle keys from the vehicle.
13. The dongle of claim 1, wherein the dongle further comprises a rotating switch, the rotating switch providing for navigating and selecting settings or configurations for the dongle.
14. A method of pairing an unpaired vehicle key to a vehicle by a dongle, the method comprising: initiating, by user actuation of a button on the dongle, a key pairing process, the key pairing process comprising: initiating communications between the dongle and the vehicle by a communications mode; reading, by the dongle, a VIN from the vehicle; comparing, by the dongle, the VIN read from the vehicle with a set of VINs stored on the dongle; determining, by the dongle, that the VIN read from the vehicle matches a VIN from the set of VINs; and automatically pairing, by the dongle, the unpaired vehicle key with the vehicle.
15. The method of claim 14, wherein the method further comprises automatically determining the communications mode by the dongle.
16. The method of claim 15, wherein the method further comprises automatically determining by the dongle one or more of a communications protocol, a bus type, or a set of commands and functions to be used in communicating with the vehicle in the key pairing process.
17. The method of claim 15, wherein the automatic determination is based on the VIN read from the vehicle over an OBD interface.
18. The method of claim 15, wherein the automatic determination is based on measuring voltage levels and communications frequency over a set of bus lines of the vehicle over an OBD interface.
19. The method of claim 15, wherein the automatic determination is based on sending a set of commands by the dongle and receiving a set of responses from the vehicle over an OBD interface.
20. The method of claim 14, wherein the method further comprises: determining, by the dongle, that the VIN read from the vehicle does not match a VIN from the set of VINs; and terminating the key pairing process.
21. The method of claim 14, wherein the method further comprises: terminating the key pairing process based upon determining, by the dongle, that the key pairing process has been initiated and completed a number of times exceeding a predetermined threshold.
22. The method of claim 14, wherein the method further comprises: determining a number of times the key pairing process has been initiated for the VIN read from the vehicle; and upon determining that the determined number of times the key pairing process has been initiated for the VIN read from the vehicle has exceeded a predetermined limit, terminating the key pairing process.
Description
BRIEF DESCRIPTION OF THE DRAWINGS
(1) To facilitate a full understanding of the present invention, reference is now made to the accompanying drawings, in which like elements are referenced with like numerals. These drawings should not be construed as limiting the present invention but are intended to be exemplary and for reference.
(2)
(3)
(4)
(5)
(6)
(7)
(8)
(9)
DETAILED DESCRIPTION
(10) The present invention will now be described in more detail with reference to exemplary embodiments as shown in the accompanying drawings. While the present invention is described herein with reference to the exemplary embodiments, it should be understood that the present invention is not limited to such exemplary embodiments. Those possessing ordinary skill in the art and having access to the teachings herein will recognize additional implementations, modifications, and embodiments, as well as other applications for use of the invention, which are fully contemplated herein as within the scope of the present invention as disclosed and claimed herein, and with respect to which the present invention could be of significant utility.
(11) With reference now to
(12) With reference to
(13) In another embodiment, another user input device 251 may be used with or instead of the switch 250 and may be a set of toggle switches, a set of buttons, a directional pad, a hat switch, or a capacitive touch interface. The dongle 200 communicates with the electronic systems of a vehicle, such as vehicle 120, through the OBD connector 230 which would mate with the OBD interface or port 122 of the vehicle by way of the CAN transceiver 220 in the dongle 200. The dongle 200 may also comprise a buzzer, speaker, or other audio signal generator for generating user interpretable audio signals, and/or a display for visual prompts. The memory 214 may store a set of code or logic to be executed by the processor 212 to automatically determine a communications mode, communications protocol, bus type, and/or set of commands and responses to be used with the vehicle 120 to complete a pairing process with the vehicle key. This may include a set of logic for querying the vehicle 120 and receiving a response, and based on that response configuring one or more of the communications mode, communications protocol, bus type, or set of commands and responses to successfully complete a pairing process.
(14) With reference now to
(15) At 308, the dongle tests if there is a previously stored VIN code in the memory 214. If there was no previously stored VIN code, the VIN code is stored at 312. If a VIN code is stored by the dongle 200 that does not match the VIN code read at 306, the process will halt. If the VIN code is determined to be a match at 334, the dongle reads the number of keys currently paired with or programmed to the vehicle at 310. This provides the user with information as to how many keys are paired with the vehicle so that the user can decide whether or not to erase all paired keys with the vehicle or know if a maximum number of keys have been paired. At 314, the dongle 200 emits an audible signal, e.g., by sounding a buzzer 260, based on the number of keys programmed or paired with the vehicle. At step 316 the dongle 200 may wait for further user input as required, such as waiting for input indicating the number of keys to be paired, or input to proceed with the pairing process. At 318, it is determined if the vehicle has reached a maximum number of paired keys. For example, some vehicles may have a maximum number of keys, e.g., eight, programmed at any given time. If the maximum number of keys have been paired, the process stops at 320.
(16) At 322 if the vehicle can pair additional keys, the key pairing process begins and then the dongle 200 indicates to the user at 324 that the key pairing has begun. At 326, the dongle 200 provides audible feedback to the user, such as by producing a short audio signal every 15 seconds, indicating that the key pairing process 322 is continuing. At the conclusion of the key pairing process 322, if it is determined that the pairing process was a success at 328 a success signal is provided at 330 to indicate to the user that the process was successful. The process halts at 332.
(17) With reference now to
(18) If the button 240 has been pressed at 404, the dongle 200 reads the state of the switch 250 at 406, however, if the type selected is incorrect, an error signal is provided at 408. Alternatively, the dongle 200 may automatically determine at 407 the set of commands and responses and/or bus type to be used in to communicate with the vehicle. The automatic determination in step 407 may be used instead of or in addition to the user selection by the rotary switch 250 or other user input 251. If the communications protocol selected by the user and read at 406, or the communications mode automatically determined by the dongle in step 407, is correct, the vehicle 120 VIN code is read at 410. If there is no VIN previously stored 426 in the memory 214 of the dongle 200, at 416 the VIN read at 410 is stored. If the VIN read at 410 does not match a VIN previously stored, at 414 the dongle enters an alarm state at 412 and halts the process. If the VIN matches a stored VIN at 414 the process continues. At 418 the dongle 200 determines the number of keys paired or programmed with the vehicle 120. At 420 if it is determined that the dongle 200 can erase all keys paired or programmed with the vehicle 120, the process continues at B shown in
(19) The process 500 shows the steps for erasing all keys paired with a vehicle if the feature is enabled on the dongle 200. At 502 the dongle 200 indicates the number of keys paired with the vehicle through audio tones. At 504, the dongle 200 waits for user input, if the input is received, at 506 the dongle 200 erases all keys paired with the vehicle. At 508, the dongle 200 sets a flag that will require the pairing of at least a second key with the vehicle 120 for the pairing process to complete. If the user input is not received at 504, the process continues at 510. At 510 if the maximum number of keys has been paired with a vehicle, such as 4 or 8 keys based on vehicle make, model, and year, the dongle 200 may produce error tones at 512 and the process halts, otherwise the process continues at C shown in
(20) The process 600 shows the key pairing process by the dongle 200. At 602 the key pairing is initiated. If the sequence starts successfully, an audio signal is produced at 604. The process of pairing a key 110 with a vehicle 120 may take ten minutes or more, and during this time, an audio signal may be produced by the dongle 200 every 5-20 seconds to indicate that the dongle is still “working” on the pairing process as shown in step 606. At 608, the dongle 200 looks for a successful response from the vehicle. If the successful response is received at 608, the dongle emits an audible success indication, such as three tones, at step 610. If it is determined at 612 that no second or additional key is to be programmed, the process halts at 618. At 620, if the user has not removed the dongle 200 after 5 minutes of the process halting at 618, the dongle 200 sounds a tone or alarm continuously until it is removed at 622. In case a second or additional key is to be programmed, the dongle has a second or additional key programming flag set as determined at 612, the dongle 200 waits for the second or additional key to be inserted into the vehicle ignition 128 and for the vehicle 120 to be turned on. The second key flag is cleared at 616, and the process returns to 608 to program the second or additional key.
(21) As shown in the user process 800, the user waits for the success signal from 610 in step 802. Upon receiving the success signal from the dongle 200, the user turns the vehicle 120 off at 804, and removes the key at 806. At 808 if the user did not press the button 240 on the dongle 200 to erase all keys, the process halts at 810. Otherwise, at 812, the user inserts the second or additional key into the ignition 128 and turns the vehicle 120 on at 814 to program the second or additional key.
(22) With reference now to
(23) If the button 240 has been pressed at 904, the dongle 200 reads the state of the switch 250 at 906, however, if the type selected is incorrect, an error signal is provided at 908. If the communications protocol selected by the user and read at 906 is correct, the vehicle 120 VIN code is read at 910. Alternatively, the dongle 200 may automatically determine at 907 the communications mode, communications protocol, the set of commands and responses, and/or bus type to be used in to communicate with the vehicle. The automatic determination in step 907 may be used instead of or in addition to the user selection by the rotary switch 250 or other user input 251. If the communications protocol selected by the user and read at 906, or the communications mode automatically determined by the dongle in step 907, is correct, the vehicle 120 VIN code is read at 910. If a VIN has not been stored 922 in memory 214 previously, the VIN read at 910 is stored at 916. If the VIN does not match a VIN previously stored in the memory of the dongle 200, a continuous alarm sounds at 912. If the VIN matches a stored VIN at 924 the process continues. At 918 the dongle 200 reads a BCM number from the vehicle. After the BCM number has been read at 918, at 920 the dongle 200 determines one or more PINs based on the BCM number. This PIN may be 4 digits, 20 characters, or other format dependent on the vehicle's year make and model. Many other key pairing devices require the user to manually enter this PIN into the device. The dongle 200 handles all PIN data automatically without user interaction for increased reliability, accuracy, and repeatability of key programming. The process continues at B shown in the process 1100 in
(24) After the PINs have been determined at 920, the dongle 200 displays any further messages to the user at 1102. At 1104, if the message requires user action or response, a message is displayed to the user at 1010. The user may perform one of a set of user actions at 1012 based on the desired result. At 1014 the user performs the desired action, which is one of: confirm warning, which is performed by a press-and-hold action on the button 240; ok/continue, which is performed by pressing the button 240; and cancel, which is performed by taking no action or waiting for a timeout period to expire. For example, if the message “Warning: All keys will be erased. Are you sure? Press and hold to continue within 5 . . . 4 . . . 3 . . . 2 . . . 1” may be displayed by the dongle 200 on the display 270. In this context, a press-and-hold action by the user would accept the warning and continue; no action by the user would cancel and begin the termination of the pairing sequence. If the user confirms a warning, at 1016 a signal confirming the warning message is processed by the dongle 200, and an “OK” tone is signaled by the dongle at 1022. If the user chooses ok/continue, at 1018 an “OK” signal is processed by the dongle 200 and at 1022 an “OK” tone is signaled by the dongle 200. If the user chooses to cancel an action, a cancel signal is processed by the dongle 200 at 1020 and a cancel tone is signaled by the dongle at 1024. The “OK” tone and cancel tones, as well as any other tones produced by the dongle 200, signaled by the dongle 200 may be tones of different pitch, a series of tones, or a combination of tone pitch and length changes.
(25) If the message at 1104 does require a user action, at 1110 the dongle 200 waits for the user input action and corresponding signal from steps 1012-1020. If a message displayed at 1104 does not require user action, at 1106 the message is displayed for a long enough period of time for the user to read the message, e.g., 5-30 seconds. If the message displayed at 1104 is not the last message, at 1108 the process returns to 1102 to display the next message. If the message displayed at 1104 is the last message at 1108, the dongle may wait for a user input at 1112 before being removed at 1114, or at 1116 may play a series of tones, e.g., three ascending tone beeps, to indicate the process is complete at 1118. If, after the process has halted at 1118, five minutes have elapsed as determined at 1120, the dongle 200 will signal an alarm tone at 1122 until it is removed.
(26) The following three examples use a dongle 200 with a screen 270, which may be an OLED screen or other suitable simple display. The following examples also implement automatic PIN calculation based on a read BCM number and use a user input such as the press to ok/confirm, press-and-hold to confirm a warning, and wait to cancel.
(27) 1) Pairing Procedure started but canceled when user decided not to continue and erase keys from vehicle:
(28) a. Per the user instructions provided with the dongle, user gets in car, locks doors, turns on hazard lights, and makes sure ignition is off;
(29) b. User turns dial to invalid type and plugs in dongle;
(30) c. “Invalid Type Selected” message displayed;
(31) d. “Turn dial to Valid Type” message displayed;
(32) e. User turns dial to Type 2, a valid type;
(33) f. “Type 2 selected. Press OK/Continue” message displayed;
(34) g. User presses OK/Continue button;
(35) h. Dongle reads BCM number and calculates PIN code;
(36) i. “Insert first key in programming slot then press OK/Continue” message displayed;
(37) j. User inserts first key in programming slot then presses OK/Continue;
(38) k. “Warning: Do not press brake pedal until prompted” message displayed;
(39) l. “Press Vehicle's Start/Stop button then press OK/Continue” message displayed;
(40) m. User presses vehicle's Start/Stop button;
(41) n. Vehicle ignition switches on;
(42) o. User presses OK/Continue button;
(43) p. “All keys will be erased” message displayed;
(44) q. “Are you sure? If sure, press and hold OK/Continue within 5 . . . 4 . . . 3 . . . 2 . . . 1 seconds” message displayed;
(45) r. No action, signaling cancel to device;
(46) s. “Sequence canceled” message displayed;
(47) t. “Remove key from programming slot, press Start/Stop button, then press OK/Continue.” message displayed;
(48) u. User removes key from programming slot then presses vehicle's Start/Stop button;
(49) v. Vehicle ignition switches off;
(50) w. User presses OK/Continue button;
(51) x. “Please unplug dongle” message displayed;
(52) y. User unplugs dongle.
(53) 2) Pairing Procedure where user only pairs one key to vehicle:
(54) a. Per the user instructions provided with the dongle, user gets in car, locks doors, turns on hazard lights, and makes sure ignition is off;
(55) b. User plugs in dongle;
(56) c. “Type 2 selected. Press OK/Continue” message displayed;
(57) d. User presses OK/Continue button;
(58) e. Dongle reads BCM number and calculates PIN code;
(59) f. “Insert first key in programming slot then press OK/Continue” message displayed;
(60) g. User inserts first key in programming slot then presses OK/Continue;
(61) h. “Warning: Do not press brake pedal until prompted” message displayed;
(62) i. “Press Vehicle's Start/Stop button then press OK/Continue” message displayed;
(63) j. User presses vehicle's Start/Stop button;
(64) k. Ignition switches on;
(65) l. User presses OK/Continue button;
(66) m. “All keys will be erased” message displayed;
(67) n. “Continue? If sure, press and hold OK/Continue within 5 . . . 4 . . . 3 seconds” message displayed;
(68) o. User presses and holds OK/Continue button, signaling Confirm Warning to device;
(69) p. “Sequence started. Do NOT unplug dongle.” message displayed;
(70) q. Device sends command to start pairing sequence along with calculated PIN code;
(71) r. “Starting Pairing Sequence” message displayed;
(72) s. “Press Vehicle's Start/Stop button then press OK/Continue” message displayed;
(73) t. User presses vehicle's Start/Stop button;
(74) u. Ignition switches off;
(75) v. User presses OK/Continue button;
(76) w. “After next step, security indicator should blink 5 times.” message displayed;
(77) x. “Press Vehicle's Start/Stop button” message displayed;
(78) y. User presses vehicle's Start/Stop button;
(79) z. Ignition switches on, security indicator blinks 5 times;
(80) aa. “Did security indicator blink 5 times? For yes, press OK/Continue” message displayed;
(81) bb. User presses OK/Continue button;
(82) cc. “Press Vehicle's Start/Stop button then press OK/Continue” message displayed;
(83) dd. User presses vehicle's Start/Stop button;
(84) ee. Ignition switches off;
(85) ff. User presses OK/Continue button;
(86) gg. “First Key paired” message displayed;
(87) hh. “Pair another? If yes, press OK/Continue within 5 . . . 4 . . . 3 . . . 2 . . . 1 seconds” message displayed;
(88) ii. No action, signaling cancel to device;
(89) jj. “Only 1 key paired” message displayed;
(90) kk. “Verify first key in programming slot then press OK/Continue” message displayed;
(91) ll. User verifies first key in programming slot then presses OK/Continue;
(92) mm. “Press Vehicle's Start/Stop button then press OK/Continue” message displayed;
(93) nn. User presses vehicle's Start/Stop button;
(94) oo. Ignition switches on;
(95) pp. User presses OK/Continue button;
(96) qq. “Press Vehicle's Start/Stop button then press OK/Continue” message displayed;
(97) rr. User presses vehicle's Start/Stop button;
(98) ss. Ignition switches off;
(99) tt. User presses OK/Continue button;
(100) uu. “Depress brake pedal. Press Vehicle's Start/Stop button until engine starts, then press OK/Continue” message displayed;
(101) vv. User depresses brake pedal, presses vehicle's Start/Stop button;
(102) ww. Vehicle starts;
(103) xx. User presses OK/Continue button;
(104) yy. “Please unplug dongle” message displayed;
(105) zz. User unplugs dongle.
(106) 3) Pairing Procedure where dongle automatically determines communications mode, communications protocol, bus type, and/or set of commands and functions to be used in pairing a vehicle key with a vehicle:
(107) a. Per the user instructions provided with the dongle, user gets in car, locks doors, turns on hazard lights, and makes sure ignition is off;
(108) b. User plugs in dongle;
(109) c. Dongle automatically determines one or more of the communications mode, communications protocol, bus type, and/or set of commands and functions to be used in pairing the vehicle key with the vehicle;
(110) d. User presses OK/Continue button;
(111) e. Dongle reads BCM number and calculates PIN code;
(112) f. “Insert first key in programming slot then press OK/Continue” message displayed;
(113) g. User inserts first key in programming slot then presses OK/Continue;
(114) h. “Warning: Do not press brake pedal until prompted” message displayed;
(115) i. “Press Vehicle's Start/Stop button then press OK/Continue” message displayed;
(116) j. User presses vehicle's Start/Stop button;
(117) k. Ignition switches on;
(118) l. User presses OK/Continue button;
(119) m. “All keys will be erased” message displayed;
(120) n. “Continue? If sure, press and hold OK/Continue within 5 . . . 4 . . . 3 seconds” message displayed;
(121) o. User presses and holds OK/Continue button, signaling Confirm Warning to device;
(122) p. “Sequence started. Do NOT unplug dongle.” message displayed;
(123) q. Device sends command to start pairing sequence along with calculated PIN code;
(124) r. “Starting Pairing Sequence” message displayed;
(125) s. “Press Vehicle's Start/Stop button then press OK/Continue” message displayed;
(126) t. User presses vehicle's Start/Stop button;
(127) u. Ignition switches off;
(128) v. User presses OK/Continue button;
(129) w. “After next step, security indicator should blink 5 times.” message displayed;
(130) x. “Press Vehicle's Start/Stop button” message displayed;
(131) y. User presses vehicle's Start/Stop button;
(132) z. Ignition switches on, security indicator blinks 5 times;
(133) aa. “Did security indicator blink 5 times? For yes, press OK/Continue” message displayed;
(134) bb. User presses OK/Continue button;
(135) cc. “Press Vehicle's Start/Stop button then press OK/Continue” message displayed;
(136) dd. User presses vehicle's Start/Stop button;
(137) ee. Ignition switches off;
(138) ff. User presses OK/Continue button;
(139) gg. “First Key paired” message displayed;
(140) hh. “Pair another? If yes, press OK/Continue within 5 . . . 4 . . . 3 . . . 2 . . . 1 seconds” message displayed;
(141) ii. No action, signaling cancel to device;
(142) jj. “Only 1 key paired” message displayed;
(143) kk. “Verify first key in programming slot then press OK/Continue” message displayed;
(144) ll. User verifies first key in programming slot then presses OK/Continue;
(145) mm. “Press Vehicle's Start/Stop button then press OK/Continue” message displayed;
(146) nn. User presses vehicle's Start/Stop button;
(147) oo. Ignition switches on;
(148) pp. User presses OK/Continue button;
(149) qq. “Press Vehicle's Start/Stop button then press OK/Continue” message displayed;
(150) rr. User presses vehicle's Start/Stop button;
(151) ss. Ignition switches off;
(152) tt. User presses OK/Continue button;
(153) uu. “Depress brake pedal. Press Vehicle's Start/Stop button until engine starts, then press OK/Continue” message displayed;
(154) vv. User depresses brake pedal, presses vehicle's Start/Stop button;
(155) ww. Vehicle starts;
(156) xx. User presses OK/Continue button;
(157) yy. “Please unplug dongle” message displayed;
(158) zz. User unplugs dongle.
(159) With reference now to
(160) With reference now to
(161) With reference now to
(162)
(163)
(164)
(165) While the invention has been described by reference to certain preferred embodiments, it should be understood that numerous changes could be made within the spirit and scope of the inventive concept described. Also, the present invention is not to be limited in scope by the specific embodiments described herein. It is fully contemplated that other various embodiments of and modifications to the present invention, in addition to those described herein, will become apparent to those of ordinary skill in the art from the foregoing description and accompanying drawings. Thus, such other embodiments and modifications are intended to fall within the scope of the following appended claims. Further, although the present invention has been described herein in the context of particular embodiments and implementations and applications and in particular environments, those of ordinary skill in the art will appreciate that its usefulness is not limited thereto and that the present invention can be beneficially applied in any number of ways and environments for any number of purposes. Accordingly, the claims set forth below should be construed in view of the full breadth and spirit of the present invention as disclosed herein.