VEHICLE KEY PROGRAMMING SYSTEM AND METHOD
20220058902 · 2022-02-24
Inventors
Cpc classification
G07C9/00309
PHYSICS
G07C2009/00325
PHYSICS
International classification
Abstract
A vehicle key programming system and method for chip reading and writing, key and remote programming and remote frequency testing. The system tracks programming usage when not connected to system servers and reports such usage upon connection. Immobilizer algorithms are chosen to program and such algorithms are optimized with each attempted use.
Claims
1. A system for programming vehicle keys, the system comprising: a system processor having an associated master database including vehicle information and at least one associated vehicle immobilizer algorithm; at least one key programming device having a processor and an associated local database, said local database including said vehicle information from said master database; said at least one programming device having a vehicle interface for communicatively coupling with a vehicle and a key; and said at least one programming device having a user interface providing a user an automated process wherein associated vehicle immobilizer algorithm options for programming said key are selected automatically.
2. The system as defined in claim 1 wherein each of said algorithms having a value, said value being adjusted in response to said key programming, said system processor and said at least one programming device each having a network interface for communicatively coupling with one another whereby said at least one programming device provides said algorithm adjusted values to said system processor and said vehicle information and said at least one associated vehicle immobilizer algorithms are updated on said local databases of said at least one programming device.
3. The system as defined in claim 1 wherein said at least one programming device tracks each key programming and upon connection with said system processor provides a log thereof.
4. The system as defined in claim 1 wherein said at least one programming device is locked from programming keys after a period of time in which it has not connected with said system processor.
5. The system as defined in claim 2 wherein said value is adjusted by a positive value upon a successful key programming and a by a negative value upon an unsuccessful key programming.
6. The system as defined by claim 5 wherein said positive value is a +1 and said negative value is −1.
7. A method for programming vehicle keys, the method comprising: storing, in a master database, vehicle information and at least one associated vehicle immobilizer algorithm; storing, in a local database within a key programming device, said vehicle information; coupling said key programming device to a vehicle and an associated key; receiving vehicle information from said vehicle; and providing a user an automated process wherein associated vehicle immobilizer algorithm options for programming said key with vehicle information are automatically selected.
8. The method as defined in claim 7 wherein each algorithm having an associated value, adjusting said value in response to said key programming and updating said key programming device.
9. The method as defined in claim 7 tracking each key programming and upon connection with said master database, providing a log thereof.
10. The method as defined in claim 7 tracking location of each key programming and upon connection with said master database, providing a log thereof.
11. The device as defined in claim 7 collecting vehicle information and upon connection with said master database, providing a log thereof.
12. A device for programming vehicle keys, the device comprising: a processor for processing instructions; a local database including vehicle information and at least one associated vehicle immobilizer algorithm; a vehicle interface for communicatively coupling with a vehicle and a key; and said processor, in response to said vehicle information, provides a user an automated process wherein associated vehicle immobilizer algorithm options to choose from for key programming are automatically selected.
13. The device as defined in claim 12 wherein each of said algorithms has a value, said processor adjusts said value in response to said key programming and a network interface establishes communications with a system server and master database whereby said device provides said adjusted values and receives updated vehicle information.
14. The device as defined in claim 12 wherein said device tracks each key programming and upon connection with a system server provides a log thereof.
15. The device as defined in claim 12 wherein said device is locked from programming keys after a period of time in which it has not connected to a system server.
16. The device as defined in claim 13 wherein said value is adjusted by a positive value upon a successful programming and a negative value upon an unsuccessful programming.
17. The device as defined in claim 16 wherein said positive value is +1 and said negative value is −1.
18. The device as defined in claim 12 wherein said device tracks a location of each programming.
19. The device as defined in claim 12 wherein said device collects vehicle identification information.
Description
BRIEF DESCRIPTION OF THE DRAWINGS
[0017] The present disclosure will be more fully understood by reference to the following detailed description of one or more preferred embodiments when read in conjunction with the accompanying drawings, in which like reference characters refer to like parts throughout the views and in which:
[0018]
[0019]
[0020]
[0021]
[0022]
[0023]
[0024]
[0025]
[0026]
[0027]
[0028]
[0029]
[0030]
[0031]
[0032]
[0033]
[0034]
[0035]
DESCRIPTION OF THE PREFERRED EMBODIMENTS
[0036] One or more embodiments of the subject disclosure will now be described with the aid of numerous drawings. Turning first to
[0037] Referring now to the hardware of the programming device of
[0038] Before a user is able to use the system 10 for the first time, he must complete a registration process by, in this first embodiment, pairing a tablet, the application and a programming device.
[0039] Each time the device and tablet are subsequently connected, the application will automatically begin by establishing a secure connection and proceeding to a verification process. The user connects 48 the device and tablet whereby the tablet and device verify 50 the previously embedded UDID and serial numbers. If they are not verified, the tablet displays an unauthorized use message 52. If they are verified, the user can login 54 to the system and is eligible to use all the offered features within the programming device.
[0040] Upon successful login, the user is directed to the tablet 19 home screen 62, see
[0041] A selection of Chip Reader 66 from the home page 62 brings the user to the Chip Reader screen 82, see
[0042]
[0043] Turning back to the home screen 62 (
[0044] More specifically, and turning now to
[0045] Within this programming feature, the so-called immobilizers are translated into algorithms for each make, model and year of vehicle. Upon selection of the vehicle, and during the instructional process of the programming logic flow 126, the user will have the preferred immobilizer option to choose from. In most cases, there will be only one immobilizer option, however as the system continues to optimize immobilizer algorithms, the user may have numerous options to choose from. In that case, the user may go through the options manually or select an automated process which will walk him through all of the available options. Each time an immobilizer option is selected, a value is recorded in the local database, and the application will then cycle back to the next immobilizer option in the list of available options until one of them returns a success. If the immobilizer option choses does not work for the specific make, model and year, then the value of “−1”, for example, will be recorded. Conversely, a value of “+1”, for example, will be recorded for the working immobilizer option. Upon collection of these values in the master server database through system updates (infra), the system will automatically determine which working immobilizer option will be the preferred option for the associated make, model and year, and will also automatically remove all options that have only “−1” values. As more and more systems are implemented, the optimization of preferred immobilizer algorithms will quickly ensue.
[0046] This value algorithm optimization will now be further described through the logic flow 154 of
[0047] Referring to the home screen 62 of
[0048] Turning back once more to the home screen 62 of
[0049] The system has the capability of unlimited usage without having to connect to the internet. A periodic sync, preferably monthly, is required to keep the programming device and the tablet application updated with all the new vehicle data as well as to keep track of usage logs. Once the user goes through the process of programming a key/remote, a successful use is logged in the system and updates the master server, which keeps all the user logs, during the next update. At the end of the billing cycle, the user is charged for the recorded uses. This process is illustrated in the logic flow 210 of
[0050]
[0051] The other side of the system is what can be referred to as the master parts 230 of the system. Every local programming device is synced and updated with the master system upon connection through the communication network (i.e. internet) 232. The master system includes the system server 234, which accomplishes numerous processes, including, but not limited to all security processing, all user validations, all vehicle calculations, all immobilizer value processing, all immobilizer algorithms and firmware files and processing. The system server 234 has a master database 236 that contains, among other things, all programming device information, all user information, all vehicle data, all user logs, all security information and all daily updates. Finally, the web portal 238 provides much useful information, including, but not limited to, user logs, device and user information, vehicle availability, payment details/logs and training manuals.
[0052] The present vehicle key programming system and method 10 has been shown and described with an application 14 running on local programming devices 12. An overview of some of the application features will now be summarized as illustrated in
[0053] The server connection 242 is established through a self-grown algorithm to the master server. Validation of the connection happens in the master server upon linking. The master server returns information to the device if it is locked by the system admin, as well as data to unlock the locked device. From the master server, the application gets all updates on steps of programming a vehicle, algorithms for each vehicle, notifications from the admin and firmware files. The application sends all the activity logs to the master server, including usage logs, device requests, vehicle data returns, values for each immobilizer (negative and positive), ratings and user feedback.
[0054] Upon selection of the vehicle, the preferred and/or chosen immobilizer algorithm gets loaded 244. The application loads the correct algorithm within the device. Throughout the procedure within the programming feature, the application keeps the connection with the device and validates each response that comes from the corresponding vehicle. Once the program algorithm ends and the programming has completed, the application directs the device to go into neutral mode to stop all communication with the device.
[0055] When an algorithm has been loaded, the programming requires user interaction to complete the process and the application walks the user through the necessary logic steps 246. The process of communication between the vehicle and the programming device is managed through the application. The vehicle will always respond with an answer, and with user interaction, the application sends the request/question to the device which then gets sent to the vehicle. Each step has a value response which gets saved for reporting and notifies the user.
[0056] When reading a chip, information gets sent to the application which then does the calculation 248, gets the chip information from the local database and displays same to the user. When writing a chip, information comes from the devices read from the current chip. One part of the calculation is done within the application, which then sends information to the device to finish the security decoding and writes back into the new chip.
[0057] Upon user interaction, the application sends the request to the device to activate the frequency widget 250. Once activated, the application with then, every ¼ second, check with the device for a new signal being transmitted. If so, a number will come from the device which then gets converted into the right frequency to be displayed to the end user.
[0058] Every time a vehicle is selected and loaded, and each step the user takes is logged. Because each immobilizer algorithm has a value, the application saves the value response from the vehicle. If a positive value is obtained, then that will count as a use. All positive and negative uses are tracked. The negative values help improve each algorithm whereas the positive values count as uses as well as to help algorithm improvement. Uses get logged in a usage table and then upon user upload, get sent to the master server. Uses are also sent to the device for two-way security protection.
[0059] The foregoing detailed description has been given for clearness of understanding only and no unnecessary limitations should be understood therefrom. Accordingly, while one or more particular embodiments of the disclosure have been shown and described, it will be apparent to those skilled in the art that changes and modifications may be made therein without departing from the invention if its broader aspects, and, therefore, the aim in the appended claims is to cover all such changes and modifications as fall within the true spirit and scope of the present disclosure.