US20220092899A1 - Remote programming system and method for replacement vehicle keys - Google Patents
Remote programming system and method for replacement vehicle keys Download PDFInfo
- Publication number
- US20220092899A1 US20220092899A1 US17/545,059 US202117545059A US2022092899A1 US 20220092899 A1 US20220092899 A1 US 20220092899A1 US 202117545059 A US202117545059 A US 202117545059A US 2022092899 A1 US2022092899 A1 US 2022092899A1
- Authority
- US
- United States
- Prior art keywords
- vehicle
- programming
- engine control
- control unit
- interface device
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Abandoned
Links
- 238000000034 method Methods 0.000 title claims description 30
- 238000004891 communication Methods 0.000 claims abstract description 65
- 230000009471 action Effects 0.000 claims abstract description 41
- 230000008878 coupling Effects 0.000 abstract description 8
- 238000010168 coupling process Methods 0.000 abstract description 8
- 238000005859 coupling reaction Methods 0.000 abstract description 8
- 230000015654 memory Effects 0.000 description 14
- 238000012549 training Methods 0.000 description 4
- 230000006870 function Effects 0.000 description 3
- 230000008672 reprogramming Effects 0.000 description 3
- 238000004590 computer program Methods 0.000 description 2
- 239000000463 material Substances 0.000 description 2
- 230000003213 activating effect Effects 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000012790 confirmation Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000007717 exclusion Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000008569 process Effects 0.000 description 1
- 239000011800 void material Substances 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G07—CHECKING-DEVICES
- G07C—TIME OR ATTENDANCE REGISTERS; REGISTERING OR INDICATING THE WORKING OF MACHINES; GENERATING RANDOM NUMBERS; VOTING OR LOTTERY APPARATUS; ARRANGEMENTS, SYSTEMS OR APPARATUS FOR CHECKING NOT PROVIDED FOR ELSEWHERE
- G07C9/00—Individual registration on entry or exit
- G07C9/00174—Electronically operated locks; Circuits therefor; Nonmechanical keys therefor, e.g. passive or active electrical keys or other data carriers without mechanical keys
- G07C9/00817—Electronically operated locks; Circuits therefor; Nonmechanical keys therefor, e.g. passive or active electrical keys or other data carriers without mechanical keys where the code of the lock can be programmed
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B60—VEHICLES IN GENERAL
- B60R—VEHICLES, VEHICLE FITTINGS, OR VEHICLE PARTS, NOT OTHERWISE PROVIDED FOR
- B60R25/00—Fittings or systems for preventing or indicating unauthorised use or theft of vehicles
- B60R25/20—Means to switch the anti-theft system on or off
-
- G—PHYSICS
- G07—CHECKING-DEVICES
- G07C—TIME OR ATTENDANCE REGISTERS; REGISTERING OR INDICATING THE WORKING OF MACHINES; GENERATING RANDOM NUMBERS; VOTING OR LOTTERY APPARATUS; ARRANGEMENTS, SYSTEMS OR APPARATUS FOR CHECKING NOT PROVIDED FOR ELSEWHERE
- G07C5/00—Registering or indicating the working of vehicles
- G07C5/008—Registering or indicating the working of vehicles communicating information to a remotely located station
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B60—VEHICLES IN GENERAL
- B60R—VEHICLES, VEHICLE FITTINGS, OR VEHICLE PARTS, NOT OTHERWISE PROVIDED FOR
- B60R2325/00—Indexing scheme relating to vehicle anti-theft devices
- B60R2325/20—Communication devices for vehicle anti-theft devices
- B60R2325/205—Mobile phones
-
- G—PHYSICS
- G07—CHECKING-DEVICES
- G07C—TIME OR ATTENDANCE REGISTERS; REGISTERING OR INDICATING THE WORKING OF MACHINES; GENERATING RANDOM NUMBERS; VOTING OR LOTTERY APPARATUS; ARRANGEMENTS, SYSTEMS OR APPARATUS FOR CHECKING NOT PROVIDED FOR ELSEWHERE
- G07C9/00—Individual registration on entry or exit
- G07C9/00174—Electronically operated locks; Circuits therefor; Nonmechanical keys therefor, e.g. passive or active electrical keys or other data carriers without mechanical keys
- G07C9/00817—Electronically operated locks; Circuits therefor; Nonmechanical keys therefor, e.g. passive or active electrical keys or other data carriers without mechanical keys where the code of the lock can be programmed
- G07C2009/00825—Electronically operated locks; Circuits therefor; Nonmechanical keys therefor, e.g. passive or active electrical keys or other data carriers without mechanical keys where the code of the lock can be programmed remotely by lines or wireless communication
-
- G—PHYSICS
- G07—CHECKING-DEVICES
- G07C—TIME OR ATTENDANCE REGISTERS; REGISTERING OR INDICATING THE WORKING OF MACHINES; GENERATING RANDOM NUMBERS; VOTING OR LOTTERY APPARATUS; ARRANGEMENTS, SYSTEMS OR APPARATUS FOR CHECKING NOT PROVIDED FOR ELSEWHERE
- G07C9/00—Individual registration on entry or exit
- G07C9/00174—Electronically operated locks; Circuits therefor; Nonmechanical keys therefor, e.g. passive or active electrical keys or other data carriers without mechanical keys
- G07C9/00817—Electronically operated locks; Circuits therefor; Nonmechanical keys therefor, e.g. passive or active electrical keys or other data carriers without mechanical keys where the code of the lock can be programmed
- G07C2009/00841—Electronically operated locks; Circuits therefor; Nonmechanical keys therefor, e.g. passive or active electrical keys or other data carriers without mechanical keys where the code of the lock can be programmed by a portable device
Definitions
- Embodiments of the subject matter disclosed herein relate to systems and methods for programming electronic keys of vehicles.
- Ignition systems of many known vehicles are activated by keys.
- Engine control units of the vehicles are programmed to include unique identifying information of keys that are permitted to start ignition systems of the vehicles. For example, information that uniquely identifies a key can be stored in the key and in a memory included in and/or accessible by the engine control unit of a vehicle.
- the engine control unit can electronically (e.g., through wired and/or wireless connections) read the identifying information stored in the key and see if this information matches or otherwise corresponds with the identifying information stored in the vehicle. If the key information matches the stored information, then the engine control unit allows the key to start the vehicle. Otherwise, the engine control unit will not allow the key to start the vehicle.
- One problem is the need to program the engine control unit of a vehicle to accept a replacement key.
- the original key or keys for a vehicle may no longer available due to loss, repossession, etc.
- programming the engine control unit of a vehicle to accept a different or new key requires an individual with specialized training and education (e.g., a locksmith) to travel to the location of the vehicle to program the engine control unit of the vehicle to accept the replacement key.
- This programming can require specialized skills or experience of the locksmith, and can involve complicated and costly hardware equipment.
- a person wanting to program the engine control unit to accept the replacement key may need to wait a significant amount of time before the locksmith is available, and typically is required to pay for the presence and work of the locksmith. This can add to the cost of replacing the key and can limit or restrict re-sale opportunities for the person to recoup financial losses on the lien or note on the vehicle.
- repossession company may hire a first locksmith to program an engine control unit of a repossessed vehicle to accept a replacement key, but the replacement key may get lost while the vehicle is being transported to an auction company from the repossession company by a transportation company.
- a second locksmith hired by the auction company may contend that the engine control unit of the vehicle was not successfully programmed to accept the replacement key (even if the engine control unit was successfully programmed to accept the replacement key). The auction company may then pay for the second locksmith to program the engine control unit of the vehicle to accept another, different replacement key and may attempt to pass this cost onto the repossession company. Without being able to verify or prove that the previous programming of the engine control unit by the first locksmith before the vehicle was sent for transportation was successful, the repossession company may be forced to pay for the additional replacement key and additional programming of the engine control unit.
- a method includes coupling an onboard diagnostic interface device with an engine control unit of a vehicle, communicatively linking the interface device with a mobile, hand held device, communicatively linking (via one or more communication networks) the hand held device with a back end programming machine that is remotely located from the vehicle, communicating identifying information about the vehicle to the programming machine via the interface device, the hand held device, and the one or more communication networks, determining (at the programming machine) one or more actions and programming information needed to program the engine control unit of the vehicle to accept a replacement key to activate the vehicle, sending the one or more actions and programming information from the programming machine to the hand held device via the one or more communication networks, and programming the engine control unit of the vehicle to accept the replacement key to activate the vehicle using the one or more actions and programming information.
- a system in one embodiment, includes a back-end programming machine including hardware circuitry and one or more processors configured to establish a communication connection with an engine control unit of a vehicle that is remotely located from the programming machine via an onboard diagnostic interface device, a mobile, hand held device, and one or more communication networks.
- the one or more processors are configured to receive identifying information about the vehicle from the engine control unit via the interface device, the hand-held device, and the one or more communication networks.
- the one or more processors also are configured to determine one or more actions and programming information needed to program the engine control unit of the vehicle to accept a replacement key to activate the vehicle.
- the one or more processors are configured to send the one or more actions and programming information to the hand-held device via the one or more communication networks and to program the engine control unit of the vehicle to accept the replacement key to activate the vehicle using the one or more actions and programming information.
- a method includes coupling an onboard diagnostic interface device with an engine control unit of a vehicle, communicatively linking (via one or more communication networks) the interface device with a back end programming machine that is remotely located from the vehicle, communicating identifying information about the vehicle to the programming machine via the interface device and the one or more communication networks, determining (at the programming machine) programming information needed to program the engine control unit of the vehicle to accept a replacement key to activate the vehicle, sending the programming information from the programming machine to the interface device via the one or more communication networks, and programming the engine control unit of the vehicle to accept the replacement key to activate the vehicle using the one or more actions and programming information.
- a system in one embodiment, includes a back-end programming machine including hardware circuitry and one or more processors configured to establish a communication connection with an engine control unit of a vehicle that is remotely located from the programming machine via an onboard diagnostic interface device and one or more communication networks.
- the one or more processors are configured to receive identifying information about the vehicle from the engine control unit via the interface device and the one or more communication networks.
- the one or more processors also configured to determine programming information needed to program the engine control unit of the vehicle to accept a replacement key to activate the vehicle.
- the one or more processors are configured to send the programming information to the interface device via the one or more communication networks and to program the engine control unit of the vehicle to accept the replacement key to activate the vehicle using the programming information.
- FIG. 1 illustrates one embodiment of a remote programming system
- FIG. 2 illustrates another embodiment of a remote programming system
- FIG. 3 illustrates another embodiment of a remote programming system
- FIG. 4 illustrates a flowchart of one embodiment of a method for remotely programming an engine control unit of a vehicle to accept a replacement key for the vehicle.
- FIG. 1 illustrates one embodiment of a remote programming system 100 .
- the system 100 operates to remotely program an engine control unit 102 (“ECU” in FIG. 1 ) of a vehicle 104 to accept a key 106 , such as a replacement key for a lost or otherwise unavailable previous key of the vehicle 104 .
- the key 106 is a tangible object that can include hardware circuitry that stores and communicates unique identifying information of the key 106 to the engine control unit 102 .
- the key 106 is an intangible electronic key.
- the key 106 can be a fingerprint, voice command, face, or the like, that is recognized by the engine control unit 102 as being associated with a person or group of persons allowed to activate the vehicle 104 .
- the engine control unit 102 can include a fingerprint scanner, a microphone, a camera, a sensor for a structured light array, or the like, that can detect the fingerprint, voice command, face, or the like, of the person in the vehicle 104 to determine whether the fingerprint, voice command, face, or the like, belongs to or is from a person allowed to start the vehicle 104 .
- the engine control unit 102 can include or have access to a tangible and non-transitory computer readable medium (also referred to as a memory or memory device), such as a read only or random access computer memory. Identifying information of one or more keys can be stored in this memory device and accessible by the engine control unit 102 .
- the key 106 may send or otherwise communicate (e.g., through wired communication, through radio frequency identification communication or other wireless communication, or the like) the unique identifying information stored in the key 106 to the engine control unit 102 .
- the engine control unit 102 allows the vehicle 104 to start if the unique identifying information obtained from the key 106 matches the unique identifying information stored in the memory accessible by or included in the engine control unit 102 . If the unique identifying information obtained from the key 106 does not match or otherwise correspond with the unique identifying information stored in the memory accessible by or included in the engine control unit 102 , then the engine control unit 102 does not allow the key 106 to start the vehicle 104 . While the description herein focuses on automobiles as the vehicles, optionally, one or more embodiments may relate to other vehicles, such as marine vessels or other vehicles requiring use of a key 106 to start an ignition system of the vehicle.
- the key 106 can represent a replacement key for the vehicle 104 .
- the key previously used to start the vehicle 104 may be lost, stolen, or otherwise unavailable (e.g., during a repossession of the vehicle 104 , the currently used key may not be available).
- an operator of the system 100 contacts a manufacturer of the vehicle 104 to obtain a key code.
- This code can indicate an acceptable shape of the key 106 for inserting into an ignition of the vehicle 104 .
- the operator can obtain the key 106 having the acceptable shape, but the key 106 may have unique identifying information that does not match the acceptable unique identifying information stored in the engine control unit 102 . Therefore, the operator needs to program or re-program the engine control unit 102 to accept the unique identifying information of the key 106 to allow for the key 106 to start the vehicle 104 .
- the operator couples an onboard diagnostic interface device 108 (“OBD Interface” in FIG. 1 ) with the engine control unit 102 .
- the interface device 108 can be an onboard diagnostic card (e.g., OBD2) having a connector that couples or otherwise engages with a matching connector of the engine control unit 102 .
- OBD2 onboard diagnostic card
- the Coupling the interface device 108 with the engine control unit 102 allows the interface device 108 and the engine control unit 102 to communicate with each other.
- the interface device 108 and/or the engine control unit 102 can include wireless transceiving circuitry (e.g., antenna, transponder, modem, etc.) that allows the interface device 108 and the engine control unit 102 to wirelessly communicate with each other.
- the interface device 108 can be an onboard diagnostic device that couples with the engine control unit 102 to obtain data signals from the engine control unit 102 . These signals can include diagnostic information about the vehicle 104 , a current and/or past locations of the vehicle 104 (e.g., from a global positioning system receiver onboard the vehicle 104 ), indications of whether the unique identifying information of the key for the vehicle 104 has been changed and/or when the change occurred, indications of whether the unique identifying information for the key was changed, etc.
- the interface device 108 links with an electronic mobile or hand-held device 110 , such as a mobile phone, a tablet computer, a laptop computer, or the like.
- the hand-held device 110 represents hardware circuitry that includes and/or is connected with one or more processors (e.g., one or more microprocessors, field programmable gate arrays, and/or integrated circuits) that perform operations described herein.
- the hand-held device 110 can operate using one or more software applications that cause the hand-held device 110 to be programmed to program a new or replacement identifying information for the replacement key 106 in the engine control unit 102 .
- the mobile device 110 can include wireless transceiving circuitry that wirelessly communicates with the interface device 108 .
- the mobile device 110 and/or interface device 108 can include BluetoothTM communication circuitry, communication circuitry that wirelessly communicates using the IEEE 802.11 standards, radio frequency identification communication circuitry, or the like.
- the interface device 108 can be a wire, cable, or the like, that is connected with and communicatively couples the engine control unit 102 with the hand-held device 110 .
- the hand-held device 110 can include an electronic display (e.g., a display screen, a projector, etc.) that can present information or guidance to the operator to walk the operator through the process of coding the replacement key 106 into the memory of the engine control unit 102 .
- the hand-held device 110 and the interface device 108 establish a wired or wireless communication link between the devices 108 , 110 , and the hand-held device 110 optionally obtains information from the engine control unit 102 via the interface device 108 .
- the hand-held device 110 can obtain the vehicle identification number of the vehicle 104 , the unique identifying information of the previous or current key 106 of the vehicle 104 , the last time the key 106 was replaced, the location(s) where the vehicle 104 currently is and/or has traveled in the past, or the like.
- the hand-held device 110 communicates with a remotely located back end programming machine 112 (“Back End Prog Machine” in FIG. 1 ) via or through one or more computerized communication networks 114 .
- a cell phone of the operator can run or otherwise operate a software application that communicates with both the interface device 108 and the back-end programming machine 112 .
- the interface device 108 may be local (e.g., within two meters) to the hand-held device 110 , while the programming machine 112 is remotely located (e.g., in another building, in another ZIP code, in another city, in another county, in another state, or in another country) from the hand-held device 110 and the vehicle 104 .
- the network(s) 114 can represent one or more communication networks formed from computer devices such as routers, antennas, modems, switches, or the like, that communicate data (e.g., data packets) via wired and/or wireless connections between the computer devices in the network(s) 114 .
- the network(s) 114 can include public and/or private communication networks. In one embodiment, the network 114 is formed entirely of the publicly available portions of the Internet.
- the programming machine 112 also represents hardware circuitry that includes and/or is connected with one or more processors.
- the programming machine 112 can be one or more servers, databases, or other computer devices.
- the programming machine 112 is not a single physical machine (e.g., hardware) but may be software running on cloud-based computing devices. Interaction with such a machine 112 can involve interacting with a web-based dashboard, web site, or the like, to remotely program a key.
- the programming machine 112 stores and/or operates using one or more software applications that determine action sequences to be performed to program the engine control unit 102 based on identifying information provided by the hand-held device 110 .
- different sequences of actions may be associated with different makes and/or models of vehicles 104 for programming the engine control units 102 of the vehicles 104 to accept and operate using the replacement key 106 .
- One example of such a sequence is turning on the hazard lights of the vehicle 104 , followed by turning the replacement key 106 in the ignition to the ON position, followed by sending a designated sequence of data packets containing authentication information to the engine control unit 102 , followed by sending the unique identifying information for the replacement key 106 , followed by turning off the hazard lights of the vehicle 104 .
- Another sequence could be turning the replacement key 106 in the ignition of the vehicle 104 to a designated position (e.g., ON), followed by pressing an unlock button on the replacement key 106 , followed by pressing and holding a button on the dashboard of the vehicle 104 , followed by pressing the lock button on the replacement key 106 three times, followed by sending a designated sequence of data packets containing the unique identifying information of the replacement key 106 .
- Other sequences may be stored in or at the programming machine 112 and associated with different makes and/or models of the vehicles 104 .
- the programming machine 112 receives one or more data signals from the hand-held device 110 via the network(s) 114 that identifies the vehicle 104 , such as by providing the make, model, year, identification number, and the like, from the interface device 108 to the hand-held device 110 , and from the hand-held device 110 to the programming machine 112 via the network(s) 114 .
- other information can be obtained and provided to the machine 112 in addition to or in place of the previously listed information.
- the programming machine 112 receives the information from the engine control unit 102 of the vehicle 104 via the communication bridge between the engine control unit 102 and the machine 112 that is formed by the interface device 108 , the hand-held device 110 , and the network(s) 114 .
- the programming machine 112 uses this information received from the engine control unit 102 to determine (e.g., look up in a table, database, or the like), the action sequence, authentication information, and the like, that is needed for re-programming the engine control unit 102 to activate the vehicle 104 using the replacement key 106 (and to prevent another key, including the current or previous key(s), from activating the vehicle 104 ).
- the programming machine 112 sends instruction signals to the hand-held device 110 that directs the hand-held device 110 to instruct the operator of the device 110 at the vehicle 104 to perform one or more actions, to confirm performance of one or more actions, and/or to obtain other information.
- the hand-held device 110 can provide these instructions via one or more output devices, such as a touchscreen or display screen of the device 110 , via speakers of the device 110 , or the like.
- the information sent by the programming machine 112 to the hand-held device 110 can be presented to the operator via the device 110 (e.g., to perform one or more actions during the programming of the engine control unit 102 ) and/or can be sent to the engine control unit 102 .
- an operator of the programming machine 112 can monitor progress of the programming of the engine control unit 102 and optionally can provide instructions to guide the operator of the hand-held device 110 to reprogram the engine control unit 102 .
- Performance of the actions in the designated sequence and/or storage of information provided by the programming machine 112 to the engine control unit 102 can program the engine control unit 102 to accept the replacement key 106 .
- the programming machine 112 and/or hand-held device 110 can exchange other information, such as data indicating that the engine control unit 102 was successfully programmed or re-programmed to accept the replacement key 106 , the location where the engine control unit 102 was when the programming or re-programming of the engine control unit 102 occurred, or the like. This information can be stored at the programming machine 112 .
- the vehicle 104 can then be turned on or off using the replacement key 106 , and other keys (e.g., previous keys) may no longer be used to turn the vehicle 104 on or off.
- the programming of the engine control unit 102 to accept the new key 106 can be automatically performed by the programming machine 112 without additional operator intervention.
- the programming machine 112 can automatically re-program the engine control unit 102 responsive to a communication connection between the programming machine 112 and the engine control unit 102 via the OBD interface 108 and the device 110 . This re-programming can occur without instructions being provided to a user on the device 110 (or elsewhere) and/or without requiring the operator to perform one or more actions with the vehicle.
- the additional information that is sent to the programming machine 112 can be communicated to the hand-held device 110 or to other computing devices to verify when and/or where the successful programming of the engine control unit 102 to accept the replacement key 106 occurred.
- This information can be useful to determine whether a party's contention that the engine control unit 102 has not been programmed to accept the replacement key 106 (e.g., an unscrupulous locksmith seeking to perform and charge for unnecessary services), to determine whether the engine control unit 102 was programmed to accept the replacement key 106 before possession of the vehicle 104 was transferred to a transportation company (e.g., to determine who is responsible for the loss of the replacement key 106 ), or the like.
- a party's contention that the engine control unit 102 has not been programmed to accept the replacement key 106 e.g., an unscrupulous locksmith seeking to perform and charge for unnecessary services
- a transportation company e.g., to determine who is responsible for the loss of the replacement key 106
- the hand-held device 110 can be communicatively decoupled from the interface device 108 (e.g., by interrupting or terminating the Wi-Fi or BluetoothTM connection therebetween), the interface device 108 can be decoupled from the vehicle 104 and engine control unit 102 , and/or the hand-held device 110 can be communicatively decoupled from the programming machine 112 .
- the programming machine 112 can be used to reprogram the same or another engine control unit 102 via the same or different network(s) 114 , hand held device 110 , and/or interface device 108 .
- At least one technical effect of the inventive subject matter described herein includes the ability to remotely reprogram engine control units of vehicles without having a person with specialized training or equipment being required to travel to the location of the vehicles. This can allow for many more engine control units to be reprogrammed from a single location in much less time than is achievable by currently known technologies and techniques.
- the various components of the system 100 include separate pieces or items of hardware that are remotely located from each other and that operate in concert with each other to improve the operation of the engine control unit 102 and the vehicle 104 .
- the programming machine 112 may be the only component of the system 100 that includes (at least some of) the information needed to reprogram the engine control unit 102 to accept the replacement key 106 .
- the interface device 108 may be the only component of the system 100 that is able to couple with and interface with the engine control unit 102 to both obtain information from the engine control unit 102 that is needed to reprogram the unit 102 for the replacement key 106 and to provide information to the engine control unit 102 for programming the engine control unit 102 to accept the replacement key 106 .
- the interface device 108 and the programming machine 112 may not be capable of communicating with each other over large distances. Therefore, the hand-held device 110 and the network(s) 114 are able to use the communication hardware and circuitry contained therein to allow the programming machine 112 to remotely program the engine control unit 102 . Additionally, the output capabilities of the hand-held device 110 allow for the programming machine 112 to provide instructions to an operator of the hand-held device 110 to implement actions required to reprogram the engine control unit 102 .
- FIG. 2 illustrates another embodiment of a remote programming system 200 .
- the system 200 operates to remotely program the engine control unit 102 of the vehicle 104 to accept the replacement key 106 similar to the system 100 described in connection with FIG. 1 .
- Several of the same components in the system 100 are also included in the system 200 , and can operate in the same or equivalent manner.
- the transceiving circuitry of the interface device 108 can communicate with the programming machine 112 via the network(s) 114 to program the engine control unit 102 without communicating via or using the hand-held device 110 .
- the information sent from the programming machine 112 can be sent to the interface device 108 without going through the hand-held device 110 , and information sent from the engine control unit 102 and/or interface device 108 can be sent to the programming machine 112 without going through the hand-held device 110 .
- FIG. 3 illustrates another embodiment of a remote programming system 300 .
- the system 300 operates to remotely program the engine control unit 102 of the vehicle 104 to accept the replacement key 106 similar to the system 100 described in connection with FIG. 1 .
- Several of the same components in the system 100 are also included in the system 300 , and can operate in the same or equivalent manner.
- One difference between the systems 100 , 300 is the absence of the remotely located programming machine 112 (shown in FIGS. 1 and 2 ) and/or the use of the network(s) 114 .
- the information stored in or otherwise provided by the programming machine 112 via the network(s) 114 to the hand-held device 110 can be stored in the device 110 or can be obtained from another location by the device 110 .
- the device 110 can then act or operate as the programming machine 112 to program the engine control unit 102 to accept the replacement key 106 .
- FIG. 4 illustrates a flowchart of one embodiment of a method 400 for remotely programming an engine control unit of a vehicle to accept a replacement key for the vehicle.
- the method 400 can demonstrate operations performed by one or more of the systems 100 , 200 , 300 to program or reprogram the engine control unit 102 of a vehicle 104 to be activated by a replacement key 106 .
- an onboard interface device is coupled with an engine control unit of a vehicle.
- the interface device 108 can be conductively coupled with a connector of the engine control unit 102 .
- the interface device is communicatively coupled with a hand-held device.
- the interface device 108 and/or the hand-held device 110 can create a wireless and/or wired connection therebetween for communication between the devices 108 , 110 .
- the interface device 108 is not communicatively coupled with the hand-held device, as described below.
- the hand-held device is linked with a back-end programming machine via one or more communication networks.
- the hand-held device 110 can be communicatively coupled with the remotely located programming machine 112 via the one or more networks 114 .
- the interface device 108 is not communicatively coupled with the hand-held device 110 , but is communicatively coupled with the programming machine 112 via the network(s) 114 .
- identifying information about the vehicle is communicated from the engine control unit of the vehicle, the interface device, and/or the hand-held device to the programming machine.
- This information can include a vehicle identification number, a confirmation or other indication from an operator of the hand-held device, or the like. This information allows the programming machine to determine what information and/or sequence of actions are needed to program the engine control unit to accept a replacement key.
- instructions for presentation on the hand-held device are obtained from the programming machine. For example, directions on which buttons or other input devices of the vehicle to actuate, directions on when to actuate the buttons or input devices, or other directions, can be obtained by the programming machine 112 based on the identifying information about the vehicle 104 .
- the programming machine 112 can direct the hand-held device 110 to present alphanumeric text, pictures, videos, etc., to the operator of the hand-held device 110 to walk the operator through the sequence of actions needed to program the engine control unit 102 to accept the replacement key 106 .
- the hand-held device 110 is not used, and the programming machine 112 can perform the required sequence of actions via signals remotely sent via the network(s) 114 to the engine control unit 102 , can direct the engine control unit 102 to provide the instructions to the operator (e.g., via a display screen and/or speakers onboard the vehicle 104 ), or can communicate the instructions to the operator in another way.
- the programming machine 112 can perform the required sequence of actions via signals remotely sent via the network(s) 114 to the engine control unit 102 , can direct the engine control unit 102 to provide the instructions to the operator (e.g., via a display screen and/or speakers onboard the vehicle 104 ), or can communicate the instructions to the operator in another way.
- programming information is received by the engine control unit from the programming machine.
- secure and/or unique data signals that direct the engine control unit 102 to be programmed or reprogrammed to accept the replacement key 106 can be sent from the programming machine 112 to the engine control unit 102 via the hand-held device 110 and/or interface device 108 .
- the engine control unit is programmed to accept the replacement key.
- the sequence of actions performed by the operator of the hand-held device 110 and/or the information sent to the engine control unit 102 from the remotely located programming machine 112 via the hand-held device 110 and/or interface device 108 can direct the engine control unit 102 to no longer accept other keys to activate the vehicle 104 , but to only accept the replacement key 106 to activate the vehicle 104 .
- other information can be communicated from the engine control unit 102 and/or hand-held device 110 to the programming machine 112 , such as whether the programming of the engine control unit 102 was successful, when and/or where the successful programming occurred, and the like.
- One or more embodiments of the systems and methods described herein allow for the specialized training and expertise involved in programming engine control units of vehicles to accept replacement keys to be remotely located from the vehicles while also programming the engine control units of the vehicles. This permits many persons not having the specialized training or expertise (e.g., of a locksmith) to operate in conjunction with the programming machine using devices (e.g., a mobile phone and onboard diagnostic device) that many people or companies already possess to program the engine control units to accept replacement keys.
- devices e.g., a mobile phone and onboard diagnostic device
- the trained persons having the knowledge and expertise to program the engine control units can be located in a single location and to concurrently work with many remotely located vehicles to reprogram many more engine control units at a faster rate than currently is available (e.g., due to the need for the specialized persons to travel to the vehicle locations and/or to move between vehicle locations).
- a method includes coupling an onboard diagnostic interface device with an engine control unit of a vehicle, communicatively linking the interface device with a mobile, hand held device, communicatively linking (via one or more communication networks) the hand held device with a back end programming machine that is remotely located from the vehicle, communicating identifying information about the vehicle to the programming machine via the interface device, the hand held device, and the one or more communication networks, determining (at the programming machine) one or more actions and programming information needed to program the engine control unit of the vehicle to accept a replacement key to activate the vehicle, sending the one or more actions and programming information from the programming machine to the hand held device via the one or more communication networks, and programming the engine control unit of the vehicle to accept the replacement key to activate the vehicle using the one or more actions and programming information.
- the hand-held device is a mobile phone.
- the interface device is an onboard diagnostic card.
- the programming machine is remotely located from the vehicle by the programming machine being in one or more of a different building, a different city, a different ZIP code, a different state, or a different country than the vehicle.
- the engine control unit of the vehicle prior to programming the engine control unit of the vehicle to accept the replacement key to activate the vehicle, the engine control unit is restricted to only accepting another previous key to activate the vehicle.
- coupling the interface device with the engine control unit includes plugging the interface device into a connector interface of the engine control unit in the vehicle.
- communicatively linking the interface device with the hand-held device includes establishing a wireless communication connection between the interface device and the hand-held device.
- communicatively linking the interface device with the hand-held device includes connecting the interface device and the hand-held device with one or more wires or cables.
- communicatively linking the hand-held device with the programming machine includes establishing a wireless communication connection between the hand-held device and the one or more communication networks.
- communicating the identifying information about the vehicle to the programming machine via the interface device includes obtaining the identifying information from the engine control unit using the interface device.
- the identifying information can include at least a vehicle identification number.
- determining the one or more actions and programming information needed to program the engine control unit of the vehicle to accept the replacement key includes using the identifying information about the vehicle to select the one or more actions and programming information from among different sets of actions and programming information that are associated with different vehicles.
- the one or more actions that are sent to the hand-held device include operations to be performed by an operator of the hand-held device using the vehicle.
- the method also includes directing the hand-held device to present the operator with the one or more actions to be performed via an output device of the hand-held device.
- the method also includes sending additional information from the engine control unit to the programming machine via the interface device, the hand-held device, and the one or more communication networks.
- the additional information includes an indication that the engine control unit was successfully programmed to accept the replacement key.
- the additional information includes a location of the vehicle when the engine control unit was programmed to accept the replacement key.
- a system in one embodiment, includes a back-end programming machine including hardware circuitry and one or more processors configured to establish a communication connection with an engine control unit of a vehicle that is remotely located from the programming machine via an onboard diagnostic interface device, a mobile, hand held device, and one or more communication networks.
- the one or more processors are configured to receive identifying information about the vehicle from the engine control unit via the interface device, the hand-held device, and the one or more communication networks.
- the one or more processors also are configured to determine one or more actions and programming information needed to program the engine control unit of the vehicle to accept a replacement key to activate the vehicle.
- the one or more processors are configured to send the one or more actions and programming information to the hand-held device via the one or more communication networks and to program the engine control unit of the vehicle to accept the replacement key to activate the vehicle using the one or more actions and programming information.
- the hand-held device is a mobile phone.
- the interface device is an onboard diagnostic card.
- the programming machine is remotely located from the vehicle by the programming machine being in one or more of a different building, a different city, a different ZIP code, a different state, or a different country than the vehicle.
- the engine control unit of the vehicle prior to programming the engine control unit of the vehicle to accept the replacement key to activate the vehicle, the engine control unit is restricted to only accepting another previous key to activate the vehicle.
- the one or more processors are configured to be communicatively connected with the interface device and the hand-held device via a wireless communication connection between the interface device and the hand-held device.
- the one or more processors are configured to be communicatively coupled with the engine control unit via one or more wires or cables between the hand-held device and the interface device.
- the one or more processors are configured to be communicatively connected with the hand-held device via a wireless communication connection between the hand-held device and the one or more communication networks.
- the one or more processors are configured to receive the identifying information about the vehicle by obtaining the identifying information from the engine control unit using the interface device.
- the identifying information can include at least a vehicle identification number.
- the one or more processors are configured to determine the one or more actions and programming information needed to program the engine control unit of the vehicle to accept the replacement key by using the identifying information about the vehicle to select the one or more actions and programming information from among different sets of actions and programming information that are associated with different vehicles.
- the one or more processors are configured to send the one or more actions to the hand-held device as instructions on operations to be performed by an operator of the hand-held device using the vehicle.
- the programming machine is configured to direct the hand-held device to present the operator with the one or more actions to be performed via an output device of the hand-held device.
- the one or more processors are configured to obtain additional information from the engine control unit to the programming machine via the interface device, the hand-held device, and the one or more communication networks.
- the additional information includes an indication that the engine control unit was successfully programmed to accept the replacement key.
- the additional information includes a location of the vehicle when the engine control unit was programmed to accept the replacement key.
- a method includes coupling an onboard diagnostic interface device with an engine control unit of a vehicle, communicatively linking (via one or more communication networks) the interface device with a back end programming machine that is remotely located from the vehicle, communicating identifying information about the vehicle to the programming machine via the interface device and the one or more communication networks, determining (at the programming machine) programming information needed to program the engine control unit of the vehicle to accept a replacement key to activate the vehicle, sending the programming information from the programming machine to the interface device via the one or more communication networks, and programming the engine control unit of the vehicle to accept the replacement key to activate the vehicle using the one or more actions and programming information.
- the interface device is an onboard diagnostic card.
- the programming machine is remotely located from the vehicle by the programming machine being in one or more of a different building, a different city, a different ZIP code, a different state, or a different country than the vehicle.
- the engine control unit of the vehicle prior to programming the engine control unit of the vehicle to accept the replacement key to activate the vehicle, the engine control unit is restricted to only accepting another previous key to activate the vehicle.
- coupling the interface device with the engine control unit includes plugging the interface device into a connector interface of the engine control unit in the vehicle.
- communicatively linking the interface device with the programming machine includes establishing a wireless communication connection between the interface device and the one or more communication networks.
- communicating the identifying information about the vehicle to the programming machine via the interface device includes obtaining the identifying information from the engine control unit using the interface device.
- the identifying information can include at least a vehicle identification number.
- determining the programming information needed to program the engine control unit of the vehicle to accept the replacement key includes using the identifying information about the vehicle to select the programming information from among different sets of programming information that are associated with different vehicles.
- the method also includes sending additional information from the engine control unit to the programming machine via the interface device and the one or more communication networks.
- the additional information includes an indication that the engine control unit was successfully programmed to accept the replacement key.
- the additional information includes a location of the vehicle when the engine control unit was programmed to accept the replacement key.
- a system in one embodiment, includes a back-end programming machine including hardware circuitry and one or more processors configured to establish a communication connection with an engine control unit of a vehicle that is remotely located from the programming machine via an onboard diagnostic interface device and one or more communication networks.
- the one or more processors are configured to receive identifying information about the vehicle from the engine control unit via the interface device and the one or more communication networks.
- the one or more processors also configured to determine programming information needed to program the engine control unit of the vehicle to accept a replacement key to activate the vehicle.
- the one or more processors are configured to send the programming information to the interface device via the one or more communication networks and to program the engine control unit of the vehicle to accept the replacement key to activate the vehicle using the programming information.
- the interface device is an onboard diagnostic card.
- the programming machine is remotely located from the vehicle by the programming machine being in one or more of a different building, a different city, a different ZIP code, a different state, or a different country than the vehicle.
- the engine control unit of the vehicle prior to programming the engine control unit of the vehicle to accept the replacement key to activate the vehicle, the engine control unit is restricted to only accepting another previous key to activate the vehicle.
- the one or more processors are configured to be communicatively connected with the interface device via a wireless communication connection between the interface device and the one or more communication networks.
- the one or more processors are configured to receive the identifying information about the vehicle by obtaining the identifying information from the engine control unit using the interface device.
- the identifying information can include at least a vehicle identification number.
- the one or more processors are configured to determine the programming information needed to program the engine control unit of the vehicle to accept the replacement key by using the identifying information about the vehicle to select the programming information from among different sets of programming information that are associated with different vehicles.
- the one or more processors are configured to obtain additional information from the engine control unit to the programming machine via the interface device and the one or more communication networks.
- the additional information includes an indication that the engine control unit was successfully programmed to accept the replacement key.
- the additional information includes a location of the vehicle when the engine control unit was programmed to accept the replacement key.
- module may include a hardware and/or software system and circuitry that operates to perform one or more functions.
- a module, unit, device, circuit, or system may include a computer processor, controller, or other logic-based device that performs operations based on instructions stored on a tangible and non-transitory computer readable storage medium, such as a computer memory.
- a module, unit, device, circuit, or system may include a hard-wired device that performs operations based on hard-wired logic and circuitry of the device.
- the modules, units, circuits, or systems shown in the attached figures may represent the hardware and circuitry that operates based on software or hardwired instructions, the software that directs hardware to perform the operations, or a combination thereof.
- the modules, systems, devices, circuits, or units can include or represent hardware circuits or circuitry that include and/or are connected with one or more processors, such as one or computer microprocessors.
- the terms “software” and “firmware” are interchangeable, and include any computer program stored in memory for execution by a computer, including RAM memory, ROM memory, EPROM memory, EEPROM memory, and non-volatile RAM (NVRAM) memory.
- RAM memory random access memory
- ROM memory read-only memory
- EPROM memory erasable programmable read-only memory
- EEPROM memory electrically erasable programmable read-only memory
- NVRAM non-volatile RAM
- the functional blocks are not necessarily indicative of the division between hardware circuitry.
- one or more of the functional blocks may be implemented in a single piece of hardware (for example, a general purpose signal processor, microcontroller, random access memory, hard disk, or the like).
- the programs may be stand alone programs, may be incorporated as subroutines in an operating system, may be functions in an installed software package, or the like.
- the various embodiments are not limited to the arrangements and instrumentality shown in the drawings.
Landscapes
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Mechanical Engineering (AREA)
- Combined Controls Of Internal Combustion Engines (AREA)
Abstract
Description
- This application is a continuation of U.S. patent application Ser. No. 16/842,426 (filed 7 Apr. 2020), which is a continuation of U.S. patent application Ser. No. 15/896,845 (filed 14 Feb. 2018, now U.S. Pat. No. 10,650,628), which claims priority to U.S. Provisional Application No. 62/583,130 (filed 8 Nov. 2017). The entire disclosures of these applications are incorporated herein by reference.
- Embodiments of the subject matter disclosed herein relate to systems and methods for programming electronic keys of vehicles.
- Ignition systems of many known vehicles are activated by keys. Engine control units of the vehicles are programmed to include unique identifying information of keys that are permitted to start ignition systems of the vehicles. For example, information that uniquely identifies a key can be stored in the key and in a memory included in and/or accessible by the engine control unit of a vehicle. The engine control unit can electronically (e.g., through wired and/or wireless connections) read the identifying information stored in the key and see if this information matches or otherwise corresponds with the identifying information stored in the vehicle. If the key information matches the stored information, then the engine control unit allows the key to start the vehicle. Otherwise, the engine control unit will not allow the key to start the vehicle.
- One problem is the need to program the engine control unit of a vehicle to accept a replacement key. The original key or keys for a vehicle may no longer available due to loss, repossession, etc. Currently, programming the engine control unit of a vehicle to accept a different or new key (e.g., a replacement key) requires an individual with specialized training and education (e.g., a locksmith) to travel to the location of the vehicle to program the engine control unit of the vehicle to accept the replacement key. This programming can require specialized skills or experience of the locksmith, and can involve complicated and costly hardware equipment. A person wanting to program the engine control unit to accept the replacement key may need to wait a significant amount of time before the locksmith is available, and typically is required to pay for the presence and work of the locksmith. This can add to the cost of replacing the key and can limit or restrict re-sale opportunities for the person to recoup financial losses on the lien or note on the vehicle.
- Additionally, some entities that handle or possess many vehicles may be unable to verify whether the engine control unit of one or more vehicles has been successfully programmed to accept a replacement key and, if a replacement key does not work to start a vehicle, may be unable to determine whether the non-functioning replacement key is due to loss of the key, error by the locksmith, or the like. For example, repossession company may hire a first locksmith to program an engine control unit of a repossessed vehicle to accept a replacement key, but the replacement key may get lost while the vehicle is being transported to an auction company from the repossession company by a transportation company.
- As another example, a second locksmith hired by the auction company may contend that the engine control unit of the vehicle was not successfully programmed to accept the replacement key (even if the engine control unit was successfully programmed to accept the replacement key). The auction company may then pay for the second locksmith to program the engine control unit of the vehicle to accept another, different replacement key and may attempt to pass this cost onto the repossession company. Without being able to verify or prove that the previous programming of the engine control unit by the first locksmith before the vehicle was sent for transportation was successful, the repossession company may be forced to pay for the additional replacement key and additional programming of the engine control unit.
- In one embodiment, a method includes coupling an onboard diagnostic interface device with an engine control unit of a vehicle, communicatively linking the interface device with a mobile, hand held device, communicatively linking (via one or more communication networks) the hand held device with a back end programming machine that is remotely located from the vehicle, communicating identifying information about the vehicle to the programming machine via the interface device, the hand held device, and the one or more communication networks, determining (at the programming machine) one or more actions and programming information needed to program the engine control unit of the vehicle to accept a replacement key to activate the vehicle, sending the one or more actions and programming information from the programming machine to the hand held device via the one or more communication networks, and programming the engine control unit of the vehicle to accept the replacement key to activate the vehicle using the one or more actions and programming information.
- In one embodiment, a system includes a back-end programming machine including hardware circuitry and one or more processors configured to establish a communication connection with an engine control unit of a vehicle that is remotely located from the programming machine via an onboard diagnostic interface device, a mobile, hand held device, and one or more communication networks. The one or more processors are configured to receive identifying information about the vehicle from the engine control unit via the interface device, the hand-held device, and the one or more communication networks. The one or more processors also are configured to determine one or more actions and programming information needed to program the engine control unit of the vehicle to accept a replacement key to activate the vehicle. The one or more processors are configured to send the one or more actions and programming information to the hand-held device via the one or more communication networks and to program the engine control unit of the vehicle to accept the replacement key to activate the vehicle using the one or more actions and programming information.
- In one embodiment, a method includes coupling an onboard diagnostic interface device with an engine control unit of a vehicle, communicatively linking (via one or more communication networks) the interface device with a back end programming machine that is remotely located from the vehicle, communicating identifying information about the vehicle to the programming machine via the interface device and the one or more communication networks, determining (at the programming machine) programming information needed to program the engine control unit of the vehicle to accept a replacement key to activate the vehicle, sending the programming information from the programming machine to the interface device via the one or more communication networks, and programming the engine control unit of the vehicle to accept the replacement key to activate the vehicle using the one or more actions and programming information.
- In one embodiment, a system includes a back-end programming machine including hardware circuitry and one or more processors configured to establish a communication connection with an engine control unit of a vehicle that is remotely located from the programming machine via an onboard diagnostic interface device and one or more communication networks. The one or more processors are configured to receive identifying information about the vehicle from the engine control unit via the interface device and the one or more communication networks. The one or more processors also configured to determine programming information needed to program the engine control unit of the vehicle to accept a replacement key to activate the vehicle. The one or more processors are configured to send the programming information to the interface device via the one or more communication networks and to program the engine control unit of the vehicle to accept the replacement key to activate the vehicle using the programming information.
- The presently described subject matter will be better understood from reading the following description of non-limiting embodiments, with reference to the attached drawings, wherein below:
-
FIG. 1 illustrates one embodiment of a remote programming system; -
FIG. 2 illustrates another embodiment of a remote programming system; -
FIG. 3 illustrates another embodiment of a remote programming system; and -
FIG. 4 illustrates a flowchart of one embodiment of a method for remotely programming an engine control unit of a vehicle to accept a replacement key for the vehicle. -
FIG. 1 illustrates one embodiment of aremote programming system 100. Thesystem 100 operates to remotely program an engine control unit 102 (“ECU” inFIG. 1 ) of avehicle 104 to accept akey 106, such as a replacement key for a lost or otherwise unavailable previous key of thevehicle 104. In one embodiment, thekey 106 is a tangible object that can include hardware circuitry that stores and communicates unique identifying information of thekey 106 to theengine control unit 102. Optionally, thekey 106 is an intangible electronic key. For example, thekey 106 can be a fingerprint, voice command, face, or the like, that is recognized by theengine control unit 102 as being associated with a person or group of persons allowed to activate thevehicle 104. Theengine control unit 102 can include a fingerprint scanner, a microphone, a camera, a sensor for a structured light array, or the like, that can detect the fingerprint, voice command, face, or the like, of the person in thevehicle 104 to determine whether the fingerprint, voice command, face, or the like, belongs to or is from a person allowed to start thevehicle 104. Theengine control unit 102 can include or have access to a tangible and non-transitory computer readable medium (also referred to as a memory or memory device), such as a read only or random access computer memory. Identifying information of one or more keys can be stored in this memory device and accessible by theengine control unit 102. - The
key 106 may send or otherwise communicate (e.g., through wired communication, through radio frequency identification communication or other wireless communication, or the like) the unique identifying information stored in thekey 106 to theengine control unit 102. Theengine control unit 102 allows thevehicle 104 to start if the unique identifying information obtained from thekey 106 matches the unique identifying information stored in the memory accessible by or included in theengine control unit 102. If the unique identifying information obtained from thekey 106 does not match or otherwise correspond with the unique identifying information stored in the memory accessible by or included in theengine control unit 102, then theengine control unit 102 does not allow thekey 106 to start thevehicle 104. While the description herein focuses on automobiles as the vehicles, optionally, one or more embodiments may relate to other vehicles, such as marine vessels or other vehicles requiring use of akey 106 to start an ignition system of the vehicle. - The
key 106 can represent a replacement key for thevehicle 104. For example, the key previously used to start thevehicle 104 may be lost, stolen, or otherwise unavailable (e.g., during a repossession of thevehicle 104, the currently used key may not be available). In operation, an operator of thesystem 100 contacts a manufacturer of thevehicle 104 to obtain a key code. This code can indicate an acceptable shape of thekey 106 for inserting into an ignition of thevehicle 104. The operator can obtain thekey 106 having the acceptable shape, but thekey 106 may have unique identifying information that does not match the acceptable unique identifying information stored in theengine control unit 102. Therefore, the operator needs to program or re-program theengine control unit 102 to accept the unique identifying information of thekey 106 to allow for thekey 106 to start thevehicle 104. - In one embodiment, the operator couples an onboard diagnostic interface device 108 (“OBD Interface” in
FIG. 1 ) with theengine control unit 102. For example, theinterface device 108 can be an onboard diagnostic card (e.g., OBD2) having a connector that couples or otherwise engages with a matching connector of theengine control unit 102. The Coupling theinterface device 108 with theengine control unit 102 allows theinterface device 108 and theengine control unit 102 to communicate with each other. Theinterface device 108 and/or theengine control unit 102 can include wireless transceiving circuitry (e.g., antenna, transponder, modem, etc.) that allows theinterface device 108 and theengine control unit 102 to wirelessly communicate with each other. - The
interface device 108 can be an onboard diagnostic device that couples with theengine control unit 102 to obtain data signals from theengine control unit 102. These signals can include diagnostic information about thevehicle 104, a current and/or past locations of the vehicle 104 (e.g., from a global positioning system receiver onboard the vehicle 104), indications of whether the unique identifying information of the key for thevehicle 104 has been changed and/or when the change occurred, indications of whether the unique identifying information for the key was changed, etc. - In the illustrated embodiment, the
interface device 108 links with an electronic mobile or hand-helddevice 110, such as a mobile phone, a tablet computer, a laptop computer, or the like. The hand-helddevice 110 represents hardware circuitry that includes and/or is connected with one or more processors (e.g., one or more microprocessors, field programmable gate arrays, and/or integrated circuits) that perform operations described herein. The hand-helddevice 110 can operate using one or more software applications that cause the hand-helddevice 110 to be programmed to program a new or replacement identifying information for thereplacement key 106 in theengine control unit 102. Themobile device 110 can include wireless transceiving circuitry that wirelessly communicates with theinterface device 108. For example, themobile device 110 and/orinterface device 108 can include Bluetooth™ communication circuitry, communication circuitry that wirelessly communicates using the IEEE 802.11 standards, radio frequency identification communication circuitry, or the like. Optionally, theinterface device 108 can be a wire, cable, or the like, that is connected with and communicatively couples theengine control unit 102 with the hand-helddevice 110. - The hand-held
device 110 can include an electronic display (e.g., a display screen, a projector, etc.) that can present information or guidance to the operator to walk the operator through the process of coding thereplacement key 106 into the memory of theengine control unit 102. The hand-helddevice 110 and theinterface device 108 establish a wired or wireless communication link between thedevices device 110 optionally obtains information from theengine control unit 102 via theinterface device 108. For example, the hand-helddevice 110 can obtain the vehicle identification number of thevehicle 104, the unique identifying information of the previous orcurrent key 106 of thevehicle 104, the last time the key 106 was replaced, the location(s) where thevehicle 104 currently is and/or has traveled in the past, or the like. - The hand-held
device 110 communicates with a remotely located back end programming machine 112 (“Back End Prog Machine” inFIG. 1 ) via or through one or morecomputerized communication networks 114. For example, a cell phone of the operator can run or otherwise operate a software application that communicates with both theinterface device 108 and the back-end programming machine 112. Theinterface device 108 may be local (e.g., within two meters) to the hand-helddevice 110, while theprogramming machine 112 is remotely located (e.g., in another building, in another ZIP code, in another city, in another county, in another state, or in another country) from the hand-helddevice 110 and thevehicle 104. The network(s) 114 can represent one or more communication networks formed from computer devices such as routers, antennas, modems, switches, or the like, that communicate data (e.g., data packets) via wired and/or wireless connections between the computer devices in the network(s) 114. The network(s) 114 can include public and/or private communication networks. In one embodiment, thenetwork 114 is formed entirely of the publicly available portions of the Internet. - The
programming machine 112 also represents hardware circuitry that includes and/or is connected with one or more processors. For example, theprogramming machine 112 can be one or more servers, databases, or other computer devices. In one embodiment, theprogramming machine 112 is not a single physical machine (e.g., hardware) but may be software running on cloud-based computing devices. Interaction with such amachine 112 can involve interacting with a web-based dashboard, web site, or the like, to remotely program a key. - The
programming machine 112 stores and/or operates using one or more software applications that determine action sequences to be performed to program theengine control unit 102 based on identifying information provided by the hand-helddevice 110. For example, different sequences of actions may be associated with different makes and/or models ofvehicles 104 for programming theengine control units 102 of thevehicles 104 to accept and operate using thereplacement key 106. One example of such a sequence is turning on the hazard lights of thevehicle 104, followed by turning thereplacement key 106 in the ignition to the ON position, followed by sending a designated sequence of data packets containing authentication information to theengine control unit 102, followed by sending the unique identifying information for thereplacement key 106, followed by turning off the hazard lights of thevehicle 104. Another sequence could be turning thereplacement key 106 in the ignition of thevehicle 104 to a designated position (e.g., ON), followed by pressing an unlock button on thereplacement key 106, followed by pressing and holding a button on the dashboard of thevehicle 104, followed by pressing the lock button on the replacement key 106 three times, followed by sending a designated sequence of data packets containing the unique identifying information of thereplacement key 106. Other sequences may be stored in or at theprogramming machine 112 and associated with different makes and/or models of thevehicles 104. - The
programming machine 112 receives one or more data signals from the hand-helddevice 110 via the network(s) 114 that identifies thevehicle 104, such as by providing the make, model, year, identification number, and the like, from theinterface device 108 to the hand-helddevice 110, and from the hand-helddevice 110 to theprogramming machine 112 via the network(s) 114. Optionally, other information can be obtained and provided to themachine 112 in addition to or in place of the previously listed information. - The
programming machine 112 receives the information from theengine control unit 102 of thevehicle 104 via the communication bridge between theengine control unit 102 and themachine 112 that is formed by theinterface device 108, the hand-helddevice 110, and the network(s) 114. Theprogramming machine 112 uses this information received from theengine control unit 102 to determine (e.g., look up in a table, database, or the like), the action sequence, authentication information, and the like, that is needed for re-programming theengine control unit 102 to activate thevehicle 104 using the replacement key 106 (and to prevent another key, including the current or previous key(s), from activating the vehicle 104). Theprogramming machine 112 sends instruction signals to the hand-helddevice 110 that directs the hand-helddevice 110 to instruct the operator of thedevice 110 at thevehicle 104 to perform one or more actions, to confirm performance of one or more actions, and/or to obtain other information. The hand-helddevice 110 can provide these instructions via one or more output devices, such as a touchscreen or display screen of thedevice 110, via speakers of thedevice 110, or the like. - The information sent by the
programming machine 112 to the hand-helddevice 110 can be presented to the operator via the device 110 (e.g., to perform one or more actions during the programming of the engine control unit 102) and/or can be sent to theengine control unit 102. In one embodiment, an operator of theprogramming machine 112 can monitor progress of the programming of theengine control unit 102 and optionally can provide instructions to guide the operator of the hand-helddevice 110 to reprogram theengine control unit 102. Performance of the actions in the designated sequence and/or storage of information provided by theprogramming machine 112 to theengine control unit 102 can program theengine control unit 102 to accept thereplacement key 106. Theprogramming machine 112 and/or hand-helddevice 110 can exchange other information, such as data indicating that theengine control unit 102 was successfully programmed or re-programmed to accept thereplacement key 106, the location where theengine control unit 102 was when the programming or re-programming of theengine control unit 102 occurred, or the like. This information can be stored at theprogramming machine 112. Thevehicle 104 can then be turned on or off using thereplacement key 106, and other keys (e.g., previous keys) may no longer be used to turn thevehicle 104 on or off. - Optionally, the programming of the
engine control unit 102 to accept the new key 106 (and not accept the previous or other keys) can be automatically performed by theprogramming machine 112 without additional operator intervention. For example, theprogramming machine 112 can automatically re-program theengine control unit 102 responsive to a communication connection between theprogramming machine 112 and theengine control unit 102 via theOBD interface 108 and thedevice 110. This re-programming can occur without instructions being provided to a user on the device 110 (or elsewhere) and/or without requiring the operator to perform one or more actions with the vehicle. - The additional information that is sent to the
programming machine 112, such as the successful reprogramming of theengine control unit 102, the location where the reprogramming occurred, etc., can be communicated to the hand-helddevice 110 or to other computing devices to verify when and/or where the successful programming of theengine control unit 102 to accept thereplacement key 106 occurred. This information can be useful to determine whether a party's contention that theengine control unit 102 has not been programmed to accept the replacement key 106 (e.g., an unscrupulous locksmith seeking to perform and charge for unnecessary services), to determine whether theengine control unit 102 was programmed to accept thereplacement key 106 before possession of thevehicle 104 was transferred to a transportation company (e.g., to determine who is responsible for the loss of the replacement key 106), or the like. - Following reprogramming of the
engine control unit 102, the hand-helddevice 110 can be communicatively decoupled from the interface device 108 (e.g., by interrupting or terminating the Wi-Fi or Bluetooth™ connection therebetween), theinterface device 108 can be decoupled from thevehicle 104 andengine control unit 102, and/or the hand-helddevice 110 can be communicatively decoupled from theprogramming machine 112. Theprogramming machine 112 can be used to reprogram the same or anotherengine control unit 102 via the same or different network(s) 114, hand helddevice 110, and/orinterface device 108. At least one technical effect of the inventive subject matter described herein includes the ability to remotely reprogram engine control units of vehicles without having a person with specialized training or equipment being required to travel to the location of the vehicles. This can allow for many more engine control units to be reprogrammed from a single location in much less time than is achievable by currently known technologies and techniques. - The various components of the
system 100 include separate pieces or items of hardware that are remotely located from each other and that operate in concert with each other to improve the operation of theengine control unit 102 and thevehicle 104. For example, theprogramming machine 112 may be the only component of thesystem 100 that includes (at least some of) the information needed to reprogram theengine control unit 102 to accept thereplacement key 106. Theinterface device 108 may be the only component of thesystem 100 that is able to couple with and interface with theengine control unit 102 to both obtain information from theengine control unit 102 that is needed to reprogram theunit 102 for thereplacement key 106 and to provide information to theengine control unit 102 for programming theengine control unit 102 to accept thereplacement key 106. But, theinterface device 108 and theprogramming machine 112 may not be capable of communicating with each other over large distances. Therefore, the hand-helddevice 110 and the network(s) 114 are able to use the communication hardware and circuitry contained therein to allow theprogramming machine 112 to remotely program theengine control unit 102. Additionally, the output capabilities of the hand-helddevice 110 allow for theprogramming machine 112 to provide instructions to an operator of the hand-helddevice 110 to implement actions required to reprogram theengine control unit 102. -
FIG. 2 illustrates another embodiment of aremote programming system 200. Thesystem 200 operates to remotely program theengine control unit 102 of thevehicle 104 to accept thereplacement key 106 similar to thesystem 100 described in connection withFIG. 1 . Several of the same components in thesystem 100 are also included in thesystem 200, and can operate in the same or equivalent manner. - One difference between the
systems device 110 shown inFIG. 1 . The transceiving circuitry of theinterface device 108 can communicate with theprogramming machine 112 via the network(s) 114 to program theengine control unit 102 without communicating via or using the hand-helddevice 110. The information sent from theprogramming machine 112 can be sent to theinterface device 108 without going through the hand-helddevice 110, and information sent from theengine control unit 102 and/orinterface device 108 can be sent to theprogramming machine 112 without going through the hand-helddevice 110. -
FIG. 3 illustrates another embodiment of aremote programming system 300. Thesystem 300 operates to remotely program theengine control unit 102 of thevehicle 104 to accept thereplacement key 106 similar to thesystem 100 described in connection withFIG. 1 . Several of the same components in thesystem 100 are also included in thesystem 300, and can operate in the same or equivalent manner. - One difference between the
systems FIGS. 1 and 2 ) and/or the use of the network(s) 114. For example, the information stored in or otherwise provided by theprogramming machine 112 via the network(s) 114 to the hand-helddevice 110 can be stored in thedevice 110 or can be obtained from another location by thedevice 110. Thedevice 110 can then act or operate as theprogramming machine 112 to program theengine control unit 102 to accept thereplacement key 106. -
FIG. 4 illustrates a flowchart of one embodiment of amethod 400 for remotely programming an engine control unit of a vehicle to accept a replacement key for the vehicle. Themethod 400 can demonstrate operations performed by one or more of thesystems engine control unit 102 of avehicle 104 to be activated by areplacement key 106. At 402, an onboard interface device is coupled with an engine control unit of a vehicle. For example, theinterface device 108 can be conductively coupled with a connector of theengine control unit 102. At 404, the interface device is communicatively coupled with a hand-held device. For example, theinterface device 108 and/or the hand-helddevice 110 can create a wireless and/or wired connection therebetween for communication between thedevices interface device 108 is not communicatively coupled with the hand-held device, as described below. - At 406, the hand-held device is linked with a back-end programming machine via one or more communication networks. For example, the hand-held
device 110 can be communicatively coupled with the remotely locatedprogramming machine 112 via the one ormore networks 114. Optionally, theinterface device 108 is not communicatively coupled with the hand-helddevice 110, but is communicatively coupled with theprogramming machine 112 via the network(s) 114. - At 408, identifying information about the vehicle is communicated from the engine control unit of the vehicle, the interface device, and/or the hand-held device to the programming machine. This information can include a vehicle identification number, a confirmation or other indication from an operator of the hand-held device, or the like. This information allows the programming machine to determine what information and/or sequence of actions are needed to program the engine control unit to accept a replacement key.
- At 410, instructions for presentation on the hand-held device are obtained from the programming machine. For example, directions on which buttons or other input devices of the vehicle to actuate, directions on when to actuate the buttons or input devices, or other directions, can be obtained by the
programming machine 112 based on the identifying information about thevehicle 104. Theprogramming machine 112 can direct the hand-helddevice 110 to present alphanumeric text, pictures, videos, etc., to the operator of the hand-helddevice 110 to walk the operator through the sequence of actions needed to program theengine control unit 102 to accept thereplacement key 106. Optionally, the hand-helddevice 110 is not used, and theprogramming machine 112 can perform the required sequence of actions via signals remotely sent via the network(s) 114 to theengine control unit 102, can direct theengine control unit 102 to provide the instructions to the operator (e.g., via a display screen and/or speakers onboard the vehicle 104), or can communicate the instructions to the operator in another way. - At 412, programming information is received by the engine control unit from the programming machine. For example, secure and/or unique data signals that direct the
engine control unit 102 to be programmed or reprogrammed to accept thereplacement key 106 can be sent from theprogramming machine 112 to theengine control unit 102 via the hand-helddevice 110 and/orinterface device 108. - At 414, the engine control unit is programmed to accept the replacement key. For example, the sequence of actions performed by the operator of the hand-held
device 110 and/or the information sent to theengine control unit 102 from the remotely locatedprogramming machine 112 via the hand-helddevice 110 and/orinterface device 108 can direct theengine control unit 102 to no longer accept other keys to activate thevehicle 104, but to only accept thereplacement key 106 to activate thevehicle 104. As described above, other information can be communicated from theengine control unit 102 and/or hand-helddevice 110 to theprogramming machine 112, such as whether the programming of theengine control unit 102 was successful, when and/or where the successful programming occurred, and the like. - One or more embodiments of the systems and methods described herein allow for the specialized training and expertise involved in programming engine control units of vehicles to accept replacement keys to be remotely located from the vehicles while also programming the engine control units of the vehicles. This permits many persons not having the specialized training or expertise (e.g., of a locksmith) to operate in conjunction with the programming machine using devices (e.g., a mobile phone and onboard diagnostic device) that many people or companies already possess to program the engine control units to accept replacement keys. Additionally, the trained persons having the knowledge and expertise to program the engine control units can be located in a single location and to concurrently work with many remotely located vehicles to reprogram many more engine control units at a faster rate than currently is available (e.g., due to the need for the specialized persons to travel to the vehicle locations and/or to move between vehicle locations).
- In one embodiment, a method includes coupling an onboard diagnostic interface device with an engine control unit of a vehicle, communicatively linking the interface device with a mobile, hand held device, communicatively linking (via one or more communication networks) the hand held device with a back end programming machine that is remotely located from the vehicle, communicating identifying information about the vehicle to the programming machine via the interface device, the hand held device, and the one or more communication networks, determining (at the programming machine) one or more actions and programming information needed to program the engine control unit of the vehicle to accept a replacement key to activate the vehicle, sending the one or more actions and programming information from the programming machine to the hand held device via the one or more communication networks, and programming the engine control unit of the vehicle to accept the replacement key to activate the vehicle using the one or more actions and programming information.
- Optionally, the hand-held device is a mobile phone.
- Optionally, the interface device is an onboard diagnostic card.
- Optionally, the programming machine is remotely located from the vehicle by the programming machine being in one or more of a different building, a different city, a different ZIP code, a different state, or a different country than the vehicle.
- Optionally, prior to programming the engine control unit of the vehicle to accept the replacement key to activate the vehicle, the engine control unit is restricted to only accepting another previous key to activate the vehicle.
- Optionally, coupling the interface device with the engine control unit includes plugging the interface device into a connector interface of the engine control unit in the vehicle.
- Optionally, communicatively linking the interface device with the hand-held device includes establishing a wireless communication connection between the interface device and the hand-held device.
- Optionally, communicatively linking the interface device with the hand-held device includes connecting the interface device and the hand-held device with one or more wires or cables.
- Optionally, communicatively linking the hand-held device with the programming machine includes establishing a wireless communication connection between the hand-held device and the one or more communication networks.
- Optionally, communicating the identifying information about the vehicle to the programming machine via the interface device includes obtaining the identifying information from the engine control unit using the interface device. The identifying information can include at least a vehicle identification number.
- Optionally, determining the one or more actions and programming information needed to program the engine control unit of the vehicle to accept the replacement key includes using the identifying information about the vehicle to select the one or more actions and programming information from among different sets of actions and programming information that are associated with different vehicles.
- Optionally, the one or more actions that are sent to the hand-held device include operations to be performed by an operator of the hand-held device using the vehicle.
- Optionally, the method also includes directing the hand-held device to present the operator with the one or more actions to be performed via an output device of the hand-held device.
- Optionally, the method also includes sending additional information from the engine control unit to the programming machine via the interface device, the hand-held device, and the one or more communication networks.
- Optionally, the additional information includes an indication that the engine control unit was successfully programmed to accept the replacement key.
- Optionally, the additional information includes a location of the vehicle when the engine control unit was programmed to accept the replacement key.
- In one embodiment, a system includes a back-end programming machine including hardware circuitry and one or more processors configured to establish a communication connection with an engine control unit of a vehicle that is remotely located from the programming machine via an onboard diagnostic interface device, a mobile, hand held device, and one or more communication networks. The one or more processors are configured to receive identifying information about the vehicle from the engine control unit via the interface device, the hand-held device, and the one or more communication networks. The one or more processors also are configured to determine one or more actions and programming information needed to program the engine control unit of the vehicle to accept a replacement key to activate the vehicle. The one or more processors are configured to send the one or more actions and programming information to the hand-held device via the one or more communication networks and to program the engine control unit of the vehicle to accept the replacement key to activate the vehicle using the one or more actions and programming information.
- Optionally, the hand-held device is a mobile phone.
- Optionally, the interface device is an onboard diagnostic card.
- Optionally, the programming machine is remotely located from the vehicle by the programming machine being in one or more of a different building, a different city, a different ZIP code, a different state, or a different country than the vehicle.
- Optionally, prior to programming the engine control unit of the vehicle to accept the replacement key to activate the vehicle, the engine control unit is restricted to only accepting another previous key to activate the vehicle.
- Optionally, the one or more processors are configured to be communicatively connected with the interface device and the hand-held device via a wireless communication connection between the interface device and the hand-held device.
- Optionally, the one or more processors are configured to be communicatively coupled with the engine control unit via one or more wires or cables between the hand-held device and the interface device.
- Optionally, the one or more processors are configured to be communicatively connected with the hand-held device via a wireless communication connection between the hand-held device and the one or more communication networks.
- Optionally, the one or more processors are configured to receive the identifying information about the vehicle by obtaining the identifying information from the engine control unit using the interface device. The identifying information can include at least a vehicle identification number.
- Optionally, the one or more processors are configured to determine the one or more actions and programming information needed to program the engine control unit of the vehicle to accept the replacement key by using the identifying information about the vehicle to select the one or more actions and programming information from among different sets of actions and programming information that are associated with different vehicles.
- Optionally, the one or more processors are configured to send the one or more actions to the hand-held device as instructions on operations to be performed by an operator of the hand-held device using the vehicle.
- Optionally, the programming machine is configured to direct the hand-held device to present the operator with the one or more actions to be performed via an output device of the hand-held device.
- Optionally, the one or more processors are configured to obtain additional information from the engine control unit to the programming machine via the interface device, the hand-held device, and the one or more communication networks.
- Optionally, the additional information includes an indication that the engine control unit was successfully programmed to accept the replacement key.
- Optionally, the additional information includes a location of the vehicle when the engine control unit was programmed to accept the replacement key.
- In one embodiment, a method includes coupling an onboard diagnostic interface device with an engine control unit of a vehicle, communicatively linking (via one or more communication networks) the interface device with a back end programming machine that is remotely located from the vehicle, communicating identifying information about the vehicle to the programming machine via the interface device and the one or more communication networks, determining (at the programming machine) programming information needed to program the engine control unit of the vehicle to accept a replacement key to activate the vehicle, sending the programming information from the programming machine to the interface device via the one or more communication networks, and programming the engine control unit of the vehicle to accept the replacement key to activate the vehicle using the one or more actions and programming information.
- Optionally, the interface device is an onboard diagnostic card.
- Optionally, the programming machine is remotely located from the vehicle by the programming machine being in one or more of a different building, a different city, a different ZIP code, a different state, or a different country than the vehicle.
- Optionally, prior to programming the engine control unit of the vehicle to accept the replacement key to activate the vehicle, the engine control unit is restricted to only accepting another previous key to activate the vehicle.
- Optionally, coupling the interface device with the engine control unit includes plugging the interface device into a connector interface of the engine control unit in the vehicle.
- Optionally, communicatively linking the interface device with the programming machine includes establishing a wireless communication connection between the interface device and the one or more communication networks.
- Optionally, communicating the identifying information about the vehicle to the programming machine via the interface device includes obtaining the identifying information from the engine control unit using the interface device. The identifying information can include at least a vehicle identification number.
- Optionally, determining the programming information needed to program the engine control unit of the vehicle to accept the replacement key includes using the identifying information about the vehicle to select the programming information from among different sets of programming information that are associated with different vehicles.
- Optionally, the method also includes sending additional information from the engine control unit to the programming machine via the interface device and the one or more communication networks.
- Optionally, the additional information includes an indication that the engine control unit was successfully programmed to accept the replacement key.
- Optionally, the additional information includes a location of the vehicle when the engine control unit was programmed to accept the replacement key.
- In one embodiment, a system includes a back-end programming machine including hardware circuitry and one or more processors configured to establish a communication connection with an engine control unit of a vehicle that is remotely located from the programming machine via an onboard diagnostic interface device and one or more communication networks. The one or more processors are configured to receive identifying information about the vehicle from the engine control unit via the interface device and the one or more communication networks. The one or more processors also configured to determine programming information needed to program the engine control unit of the vehicle to accept a replacement key to activate the vehicle. The one or more processors are configured to send the programming information to the interface device via the one or more communication networks and to program the engine control unit of the vehicle to accept the replacement key to activate the vehicle using the programming information.
- Optionally, the interface device is an onboard diagnostic card.
- Optionally, the programming machine is remotely located from the vehicle by the programming machine being in one or more of a different building, a different city, a different ZIP code, a different state, or a different country than the vehicle.
- Optionally, prior to programming the engine control unit of the vehicle to accept the replacement key to activate the vehicle, the engine control unit is restricted to only accepting another previous key to activate the vehicle.
- Optionally, the one or more processors are configured to be communicatively connected with the interface device via a wireless communication connection between the interface device and the one or more communication networks.
- Optionally, the one or more processors are configured to receive the identifying information about the vehicle by obtaining the identifying information from the engine control unit using the interface device. The identifying information can include at least a vehicle identification number.
- Optionally, the one or more processors are configured to determine the programming information needed to program the engine control unit of the vehicle to accept the replacement key by using the identifying information about the vehicle to select the programming information from among different sets of programming information that are associated with different vehicles.
- Optionally, the one or more processors are configured to obtain additional information from the engine control unit to the programming machine via the interface device and the one or more communication networks.
- Optionally, the additional information includes an indication that the engine control unit was successfully programmed to accept the replacement key.
- Optionally, the additional information includes a location of the vehicle when the engine control unit was programmed to accept the replacement key.
- As used herein, the terms “module”, “system,” “device,” “circuit,” or “unit,” may include a hardware and/or software system and circuitry that operates to perform one or more functions. For example, a module, unit, device, circuit, or system may include a computer processor, controller, or other logic-based device that performs operations based on instructions stored on a tangible and non-transitory computer readable storage medium, such as a computer memory. Alternatively, a module, unit, device, circuit, or system may include a hard-wired device that performs operations based on hard-wired logic and circuitry of the device. The modules, units, circuits, or systems shown in the attached figures may represent the hardware and circuitry that operates based on software or hardwired instructions, the software that directs hardware to perform the operations, or a combination thereof. The modules, systems, devices, circuits, or units can include or represent hardware circuits or circuitry that include and/or are connected with one or more processors, such as one or computer microprocessors.
- As used herein, the terms “software” and “firmware” are interchangeable, and include any computer program stored in memory for execution by a computer, including RAM memory, ROM memory, EPROM memory, EEPROM memory, and non-volatile RAM (NVRAM) memory. The above memory types are exemplary only, and are thus not limiting as to the types of memory usable for storage of a computer program.
- It is to be understood that the above description is intended to be illustrative, and not restrictive. For example, the above-described embodiments (and/or aspects thereof) may be used in combination with each other. In addition, many modifications may be made to adapt a particular situation or material to the teachings of the inventive subject matter without departing from its scope. While the dimensions and types of materials described herein are intended to define the parameters of the inventive subject matter, they are by no means limiting and are exemplary embodiments. Many other embodiments will be apparent to one of ordinary skill in the art upon reviewing the above description. The scope of the inventive subject matter should, therefore, be determined with reference to the appended claims, along with the full scope of equivalents to which such claims are entitled. In the appended claims, the terms “including” and “in which” are used as the plain-English equivalents of the respective terms “comprising” and “wherein.” Moreover, in the following claims, the terms “first,” “second,” and “third,” etc. are used merely as labels, and are not intended to impose numerical requirements on their objects. Further, the limitations of the following claims are not written in means-plus-function format and are not intended to be interpreted based on 35 U.S.C. § 112(f), unless and until such claim limitations expressly use the phrase “means for” followed by a statement of function void of further structure.
- This written description uses examples to disclose several embodiments of the inventive subject matter, including the best mode, and also to enable one of ordinary skill in the art to practice the embodiments of inventive subject matter, including making and using any devices or systems and performing any incorporated methods. The patentable scope of the inventive subject matter is defined by the claims, and may include other examples that occur to one of ordinary skill in the art. Such other examples are intended to be within the scope of the claims if they have structural elements that do not differ from the literal language of the claims, or if they include equivalent structural elements with insubstantial differences from the literal languages of the claims.
- The foregoing description of certain embodiments of the present inventive subject matter will be better understood when read in conjunction with the appended drawings. To the extent that the figures illustrate diagrams of the functional blocks of various embodiments, the functional blocks are not necessarily indicative of the division between hardware circuitry. Thus, for example, one or more of the functional blocks (for example, processors or memories) may be implemented in a single piece of hardware (for example, a general purpose signal processor, microcontroller, random access memory, hard disk, or the like). Similarly, the programs may be stand alone programs, may be incorporated as subroutines in an operating system, may be functions in an installed software package, or the like. The various embodiments are not limited to the arrangements and instrumentality shown in the drawings.
- As used herein, an element or step recited in the singular and proceeded with the word “a” or “an” should be understood as not excluding plural of said elements or operations, unless such exclusion is explicitly stated. Furthermore, references to “one embodiment” of the present invention are not intended to be interpreted as excluding the existence of additional embodiments that also incorporate the recited features. Moreover, unless explicitly stated to the contrary, embodiments “comprising,” “comprises,” “including,” “includes,” “having,” or “has” an element or a plurality of elements having a particular property may include additional such elements not having that property.
Claims (20)
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US17/545,059 US20220092899A1 (en) | 2017-11-08 | 2021-12-08 | Remote programming system and method for replacement vehicle keys |
US18/594,872 US20240203181A1 (en) | 2017-11-08 | 2024-03-04 | Remote programming system and method for replacement vehicle keys |
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201762583130P | 2017-11-08 | 2017-11-08 | |
US15/896,845 US10650628B2 (en) | 2017-11-08 | 2018-02-14 | Remote programming system and method for replacement vehicle keys |
US16/842,426 US11232661B2 (en) | 2017-11-08 | 2020-04-07 | Remote programming system and method for replacement vehicle keys |
US17/545,059 US20220092899A1 (en) | 2017-11-08 | 2021-12-08 | Remote programming system and method for replacement vehicle keys |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US16/842,426 Continuation US11232661B2 (en) | 2017-11-08 | 2020-04-07 | Remote programming system and method for replacement vehicle keys |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US18/594,872 Continuation US20240203181A1 (en) | 2017-11-08 | 2024-03-04 | Remote programming system and method for replacement vehicle keys |
Publications (1)
Publication Number | Publication Date |
---|---|
US20220092899A1 true US20220092899A1 (en) | 2022-03-24 |
Family
ID=66328787
Family Applications (4)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US15/896,845 Active US10650628B2 (en) | 2017-11-08 | 2018-02-14 | Remote programming system and method for replacement vehicle keys |
US16/842,426 Active US11232661B2 (en) | 2017-11-08 | 2020-04-07 | Remote programming system and method for replacement vehicle keys |
US17/545,059 Abandoned US20220092899A1 (en) | 2017-11-08 | 2021-12-08 | Remote programming system and method for replacement vehicle keys |
US18/594,872 Abandoned US20240203181A1 (en) | 2017-11-08 | 2024-03-04 | Remote programming system and method for replacement vehicle keys |
Family Applications Before (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US15/896,845 Active US10650628B2 (en) | 2017-11-08 | 2018-02-14 | Remote programming system and method for replacement vehicle keys |
US16/842,426 Active US11232661B2 (en) | 2017-11-08 | 2020-04-07 | Remote programming system and method for replacement vehicle keys |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US18/594,872 Abandoned US20240203181A1 (en) | 2017-11-08 | 2024-03-04 | Remote programming system and method for replacement vehicle keys |
Country Status (1)
Country | Link |
---|---|
US (4) | US10650628B2 (en) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11749031B1 (en) * | 2018-06-13 | 2023-09-05 | EGR Solutions LLC | Remote vehicle diagnostic and programming system |
US11954946B1 (en) * | 2020-04-07 | 2024-04-09 | Opus Ivs, Inc. | Remote vehicle diagnostic system and method |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20110106374A1 (en) * | 2010-12-23 | 2011-05-05 | Margol Lonnie E | Remote vehicle programming system and method |
US20130237189A1 (en) * | 2012-03-08 | 2013-09-12 | Omron Automotive Electronics Co., Ltd. | Communication system, communication method, and portable machine |
US20140232521A1 (en) * | 2013-02-15 | 2014-08-21 | Kabushiki Kaisha Tokai Rika Denki Seisakusho | Electronic key registration method and electronic key registration system |
US20140380296A1 (en) * | 2013-06-20 | 2014-12-25 | General Motors Llc | Re-programming vehicle modules |
US20150010145A1 (en) * | 2012-01-31 | 2015-01-08 | Kabushiki Kaisha Tokai Rika Denki Seisakusho | Electronic key registration method and electronic key registration system |
US20150062441A1 (en) * | 2013-08-30 | 2015-03-05 | U-Me Holdings LLC | Universal remote control that is automatically programmable according to location |
US20160267730A1 (en) * | 2014-12-12 | 2016-09-15 | Romesh Wadhwani | SmartKey Apparatuses, Methods and Systems |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7650210B2 (en) | 1995-06-07 | 2010-01-19 | Automotive Technologies International, Inc. | Remote vehicle diagnostic management |
-
2018
- 2018-02-14 US US15/896,845 patent/US10650628B2/en active Active
-
2020
- 2020-04-07 US US16/842,426 patent/US11232661B2/en active Active
-
2021
- 2021-12-08 US US17/545,059 patent/US20220092899A1/en not_active Abandoned
-
2024
- 2024-03-04 US US18/594,872 patent/US20240203181A1/en not_active Abandoned
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20110106374A1 (en) * | 2010-12-23 | 2011-05-05 | Margol Lonnie E | Remote vehicle programming system and method |
US20150010145A1 (en) * | 2012-01-31 | 2015-01-08 | Kabushiki Kaisha Tokai Rika Denki Seisakusho | Electronic key registration method and electronic key registration system |
US20130237189A1 (en) * | 2012-03-08 | 2013-09-12 | Omron Automotive Electronics Co., Ltd. | Communication system, communication method, and portable machine |
US20140232521A1 (en) * | 2013-02-15 | 2014-08-21 | Kabushiki Kaisha Tokai Rika Denki Seisakusho | Electronic key registration method and electronic key registration system |
US20140380296A1 (en) * | 2013-06-20 | 2014-12-25 | General Motors Llc | Re-programming vehicle modules |
US20150062441A1 (en) * | 2013-08-30 | 2015-03-05 | U-Me Holdings LLC | Universal remote control that is automatically programmable according to location |
US20160267730A1 (en) * | 2014-12-12 | 2016-09-15 | Romesh Wadhwani | SmartKey Apparatuses, Methods and Systems |
Also Published As
Publication number | Publication date |
---|---|
US11232661B2 (en) | 2022-01-25 |
US10650628B2 (en) | 2020-05-12 |
US20240203181A1 (en) | 2024-06-20 |
US20200234521A1 (en) | 2020-07-23 |
US20190139346A1 (en) | 2019-05-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20240203181A1 (en) | Remote programming system and method for replacement vehicle keys | |
US10086797B2 (en) | Keyless car sharing mechanism using smartphones and inbuilt WiFi systems for authentication | |
CN106043294B (en) | Remote parking control system and its control method | |
CN105593080B (en) | It is passive to enter mobile phone and its method and system | |
CN109509365B (en) | Vehicle information error correction method and system and handheld mobile terminal device | |
CN102790794B (en) | For the system and method for remote assistance is provided in car | |
US12013222B2 (en) | Blasting plan logger, related methods and computer program products | |
US20130246135A1 (en) | System, device and method of remote vehicle diagnostics based service for vehicle owners | |
EP2728556B1 (en) | Electronic key registration method, electronic key registration system, and controller | |
CN103010153A (en) | System and method to operate an extended range keyless entry system to recognize a keyless entry transmitter | |
WO2018230025A1 (en) | Vehicle operation system, on-board device, electronic key, and vehicle operation method | |
US20140207629A1 (en) | System, method, and apparatus for identifying and authenticating the presence of high value assets at remote locations | |
CN102193100A (en) | Wireless vehicle tracking | |
EP3388948A1 (en) | Information transfer system, vehicle-mounted terminal, and information transfer method | |
DK177709B1 (en) | System for communicating with a washing facility | |
CN107909378B (en) | Vehicle information auditing method and device, storage medium and electronic equipment | |
CN109278703A (en) | Automation protected district domain browsing system for automated vehicle | |
CN104050560A (en) | Method and apparatus for vehicle accessible ATM transactions | |
US20210407230A1 (en) | A system of seamless automated customer id verification at the hotel entrance and releasing the hotel room key | |
KR20090121981A (en) | Method and apparatus for managing and building process of electric power facility | |
US11443561B2 (en) | Vehicle device, system and method for payment processing using vehicle device | |
JP7215256B2 (en) | Wiring harness wiring support device and wiring support method | |
JP6696126B2 (en) | Control device, authentication device, control system, and control method | |
KR102036601B1 (en) | Hi-pass terminal registration system and method using nfc | |
JP2008009985A (en) | Method and device for detecting and/or transmitting service data and diagnostic data of vehicle between vehicle and factory management system |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AS | Assignment |
Owner name: EZ KEY PROGRAMMING, LLC, MISSOURI Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:TONSING, TERRY;LINSENBARDT, PATRICK;REEL/FRAME:058332/0035 Effective date: 20180209 |
|
STPP | Information on status: patent application and granting procedure in general |
Free format text: DOCKETED NEW CASE - READY FOR EXAMINATION |
|
STPP | Information on status: patent application and granting procedure in general |
Free format text: NON FINAL ACTION MAILED |
|
STPP | Information on status: patent application and granting procedure in general |
Free format text: RESPONSE TO NON-FINAL OFFICE ACTION ENTERED AND FORWARDED TO EXAMINER |
|
STPP | Information on status: patent application and granting procedure in general |
Free format text: NON FINAL ACTION MAILED |
|
STPP | Information on status: patent application and granting procedure in general |
Free format text: RESPONSE TO NON-FINAL OFFICE ACTION ENTERED AND FORWARDED TO EXAMINER |
|
STPP | Information on status: patent application and granting procedure in general |
Free format text: FINAL REJECTION MAILED |
|
AS | Assignment |
Owner name: EZ KEY PROGRAMMING, LLC, MISSOURI Free format text: CORRECTIVE ASSIGNMENT TO CORRECT THE ASSIGNEE ENTITY TYPE AND REPLACE THE PREVIOUSLY RECORDED ASSIGNMENT PREVIOUSLY RECORDED ON REEL 058332 FRAME 0035. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT;ASSIGNORS:TONSING, TERRY;LINSENBARDT, PATRICK;REEL/FRAME:065565/0083 Effective date: 20180209 Owner name: IKEYLESS, LLC, KENTUCKY Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:EZ KEY PROGRAMMING, LLC (DE);EZ KEY PROGRAMMING, LLC (MO);REEL/FRAME:065562/0380 Effective date: 20231114 |
|
STCB | Information on status: application discontinuation |
Free format text: ABANDONED -- FAILURE TO RESPOND TO AN OFFICE ACTION |