Vehicle control method, device and equipment and storage medium

By storing and encrypting remote control instructions in the instruction cache area, the problem of waiting for remote control operations in vehicle control applications is solved, ensuring smooth response to instructions and improving user experience.

CN119179318APending Publication Date: 2024-12-24DONGFENG MOTOR CO LTD DONGFENG NISSAN PASSENGER VEHICLE CO
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202411221840.0
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-09-02
Publication Date
2024-12-24

AI Technical Summary

Technical Problem

In the prior art, when vehicle control applications perform remote control, they must wait for one remote control processing to complete before performing the next operation, resulting in the subsequent commands being ignored when the user quickly clicks multiple commands, which reduces the user experience.

Method used

By storing the control instructions to be sent in the instruction buffer area and encrypting them to generate ciphertext control instructions, the generation and transmission of instructions are separated, and the commands can be ensured that each sent instruction can be responded normally.

Benefits of technology

It realizes that when the user quickly clicks multiple remote control commands, each command can be sent and responded normally, improving the user experience of vehicle control applications.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119179318A_ABST
    Figure CN119179318A_ABST
Patent Text Reader

Abstract

The invention belongs to the technical field of vehicle control, and discloses a vehicle control method and device, equipment and a storage medium. The method comprises the following steps: reading a to-be-sent control instruction from an instruction cache region, wherein the instruction cache region stores a control instruction generated according to remote control operation of a user in a vehicle control application; encrypting the to-be-sent control instruction to generate a ciphertext control instruction; and the ciphertext control instruction is sent to a vehicle controller, so that the vehicle controller controls vehicle operation and / or modifies the vehicle state according to the ciphertext control instruction. As the instruction cache region is adopted to store the control instruction, and the generation and sending of the control instruction are separated, the corresponding control instruction can be sent to the vehicle controller every time the vehicle control application sends the remote control operation, and even if a user quickly clicks a plurality of same or different remote control instruction keys in the vehicle control application, the remote control operation can be completed. Each control instruction can be sent and responded normally.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to the field of vehicle control technology, and in particular to a vehicle control method, device, equipment and storage medium. Background Art

[0002] With the development of vehicle technology, vehicles already support remote operation: users can perform operations in the vehicle control application (the vehicle control application is an application installed in a smart device, which can be a device such as a smartphone used by the user), and the vehicle control application will send a remote control operation to the vehicle. After receiving the remote control operation, the vehicle will execute the corresponding vehicle function, thereby realizing remote operation of the vehicle by the user.

[0003] However, currently when using a vehicle control application to remotely control a vehicle, one must wait for the current remote control process to be completed before the next remote control can be performed. If a user quickly clicks multiple identical or different remote control command buttons, except for the first one that can be responded to normally, subsequent commands will be ignored and cannot be executed, thereby reducing the user's actual usage experience. Summary of the invention

[0004] The main purpose of the present invention is to provide a vehicle control method, device, equipment and storage medium, aiming to solve the technical problem that the remote control of the vehicle in the prior art must wait for the completion of one remote control process before the next remote control can be carried out.

[0005] To achieve the above object, the present invention provides a vehicle control method, the method comprising the following steps:

[0006] Reading a control instruction to be sent from an instruction buffer area, wherein the instruction buffer area stores control instructions generated according to a remote control operation of a user in a vehicle control application;

[0007] Encrypting the control instruction to be sent to generate a ciphertext control instruction;

[0008] The encrypted control instruction is sent to a vehicle controller so that the vehicle controller controls the vehicle operation and / or modifies the vehicle status according to the encrypted control instruction.

[0009] Optionally, encrypting the control instruction to be sent to generate a ciphertext control instruction includes:

[0010] Obtaining a historical instruction count, where the historical instruction count is used to represent the sum of the number of instructions previously sent to the vehicle controller and the number of results received from the vehicle controller;

[0011] Updating the historical instruction count to obtain a current instruction count;

[0012] Encrypting the control instruction to be sent to generate an encrypted instruction ciphertext;

[0013] Constructing a ciphertext control instruction according to the current instruction count and the instruction encrypted ciphertext;

[0014] Accordingly, sending the encrypted control instruction to the vehicle controller so that the vehicle controller controls the vehicle operation and / or modifies the vehicle state according to the encrypted control instruction includes:

[0015] The encrypted control instruction is sent to a vehicle controller so that the vehicle controller performs a count check on the encrypted control instruction, and when the check passes, controls the vehicle operation and / or modifies the vehicle status according to the encrypted control instruction.

[0016] Optionally, encrypting the control instruction to be sent to generate an encrypted instruction ciphertext includes:

[0017] Using a preset encryption key and the current instruction count as encryption algorithm parameters, encrypting the control instruction to be sent by using a preset encryption algorithm to generate an instruction encrypted ciphertext;

[0018] or,

[0019] Constructing an instruction encryption key according to a preset encryption key and the current instruction count;

[0020] The control instruction to be sent is encrypted according to the instruction encryption key to generate an instruction encryption ciphertext.

[0021] Optionally, after sending the encrypted control instruction to the vehicle controller, the method further includes:

[0022] Receive the command execution result sent by the vehicle controller and obtain the historical command count;

[0023] The historical instruction count is updated, and the instruction execution result is decrypted to obtain the decrypted execution result;

[0024] The decryption execution result is sent to the vehicle control application.

[0025] Optionally, updating the historical instruction count and decrypting the instruction execution result to obtain the decrypted execution result includes:

[0026] Updating the historical instruction count, and extracting the ciphertext execution result and the result count value from the instruction execution result;

[0027] If the result count value is consistent with the updated historical instruction count, the ciphertext execution result is decrypted to obtain a decrypted execution result.

[0028] Optionally, decrypting the ciphertext execution result to obtain the decrypted execution result includes:

[0029] Using a preset decryption key and the result count value as decryption algorithm parameters, decrypting the ciphertext execution result through a preset decryption algorithm to generate a decrypted execution result;

[0030] or,

[0031] Constructing a result decryption key according to a preset decryption key and the result count value;

[0032] The ciphertext execution result is decrypted according to the result decryption key to generate a decrypted execution result.

[0033] Optionally, before receiving the command execution result sent by the vehicle controller and obtaining the historical command count, the method further includes:

[0034] Receiving a command verification result sent by the vehicle controller and obtaining a historical command count, wherein the command verification result is generated after the vehicle controller verifies the received ciphertext control command, wherein the verification includes at least one of a format check, a security check, and a count check;

[0035] If the instruction verification result is an instruction count error, determining the instruction to be reissued according to the count value of the error count;

[0036] Synchronizing counting with the vehicle controller through the historical instruction count;

[0037] After the synchronization is completed, a ciphertext control instruction is generated according to the historical instruction count and the instruction to be resent;

[0038] The encrypted control instruction is sent to a vehicle controller so that the vehicle controller controls the vehicle operation and / or modifies the vehicle status according to the encrypted control instruction.

[0039] In addition, to achieve the above object, the present invention further provides a vehicle control device, the vehicle control device comprising:

[0040] A reading module, used for reading a control instruction to be sent from an instruction buffer area, wherein the instruction buffer area stores control instructions generated according to a remote control operation of a user in a vehicle control application;

[0041] An encryption module, used for encrypting the control instruction to be sent to generate a ciphertext control instruction;

[0042] The sending module is used to send the encrypted control instruction to the vehicle controller, so that the vehicle controller controls the vehicle operation and / or modifies the vehicle status according to the encrypted control instruction.

[0043] In addition, to achieve the above-mentioned purpose, the present invention also proposes a vehicle control device, which includes: a processor, a memory, and a vehicle control program stored in the memory and executable on the processor, and the vehicle control program implements the steps of the vehicle control method described above when executed by the processor.

[0044] In addition, to achieve the above-mentioned purpose, the present invention also proposes a computer-readable storage medium, on which a vehicle control program is stored, and when the vehicle control program is executed, the steps of the vehicle control method as described above are implemented.

[0045] The present invention reads the control instructions to be sent from the instruction buffer area, which stores the control instructions generated according to the remote control operation of the user in the vehicle control application; encrypts the control instructions to be sent to generate ciphertext control instructions; and sends the ciphertext control instructions to the vehicle controller, so that the vehicle controller controls the vehicle operation and / or modifies the vehicle state according to the ciphertext control instructions. Since the instruction buffer area is used to store the control instructions, and the generation and sending of the control instructions are separated, each time the vehicle control application sends a remote control operation, the corresponding control instruction will be sent to the vehicle controller, even if the user quickly clicks multiple identical or different remote control instruction buttons in the vehicle control application, each control instruction can be sent and responded to normally. BRIEF DESCRIPTION OF THE DRAWINGS

[0046] Figure 1 It is a schematic diagram of the structure of an electronic device in a hardware operating environment involved in an embodiment of the present invention;

[0047] Figure 2 A schematic flow chart of a first embodiment of a vehicle control method of the present invention;

[0048] Figure 3 A schematic flow chart of a second embodiment of a vehicle control method of the present invention;

[0049] Figure 4 A schematic flow chart of a third embodiment of a vehicle control method of the present invention;

[0050] Figure 5 A schematic diagram of a timing sequence of existing remote control instructions according to an embodiment of the present invention;

[0051] Figure 6 A schematic diagram of a timing sequence of multiple instruction sequential control according to an embodiment of the present invention;

[0052] Figure 7A timing diagram of a counting logic implementation according to an embodiment of the present invention;

[0053] Figure 8 It is a structural block diagram of the first embodiment of the vehicle control device of the present invention.

[0054] The realization of the purpose, functional features and advantages of the present invention will be further explained in conjunction with embodiments and with reference to the accompanying drawings. DETAILED DESCRIPTION

[0055] It should be understood that the specific embodiments described herein are only used to explain the present invention, and are not used to limit the present invention.

[0056] Reference Figure 1 , Figure 1 A schematic diagram of the structure of a vehicle control device in a hardware operating environment according to an embodiment of the present invention.

[0057] like Figure 1 As shown, the electronic device may include: a processor 1001, such as a central processing unit (CPU), a communication bus 1002, a user interface 1003, a network interface 1004, and a memory 1005. Among them, the communication bus 1002 is used to realize the connection and communication between these components. The user interface 1003 may include a display screen (Display), an input unit such as a keyboard (Keyboard), and the optional user interface 1003 may also include a standard wired interface and a wireless interface. The network interface 1004 may optionally include a standard wired interface and a wireless interface (such as a wireless fidelity (Wireless-Fidelity, WI-FI) interface). The memory 1005 may be a high-speed random access memory (Random Access Memory, RAM), or a stable non-volatile memory (Non-Volatile Memory, NVM), such as a disk storage. The memory 1005 may also be a storage device independent of the aforementioned processor 1001.

[0058] Those skilled in the art will understand that Figure 1 The structure shown in the figure does not constitute a limitation on the electronic device, and may include more or less components than shown in the figure, or combine certain components, or arrange the components differently.

[0059] like Figure 1 As shown, the memory 1005 as a storage medium may include an operating system, a network communication module, a user interface module, and a vehicle control program.

[0060] exist Figure 1In the electronic device shown, the network interface 1004 is mainly used for data communication with a network server; the user interface 1003 is mainly used for data interaction with a user; the processor 1001 and the memory 1005 in the electronic device of the present invention can be set in a vehicle control device, and the electronic device calls the vehicle control program stored in the memory 1005 through the processor 1001, and executes the vehicle control method provided in an embodiment of the present invention.

[0061] The embodiment of the present invention provides a vehicle control method, referring to Figure 2 , Figure 2 The figure is a flow chart of a first embodiment of a vehicle control method according to the present invention.

[0062] In this embodiment, the vehicle control method includes the following steps:

[0063] Step S10: Read the control instruction to be sent from the instruction buffer.

[0064] It should be noted that the executor of this embodiment may be the vehicle itself, or a vehicle control device arranged in the vehicle. The vehicle control device may be an in-vehicle infotainment system (T-Box), or other devices that can achieve the same or similar functions. This embodiment is not limited to this. In this embodiment and the following embodiments, the vehicle control method of the present invention is described by taking T-Box as an example.

[0065] It should be noted that for the safety of the vehicle, the vehicle controller (such as the body domain controller IBCM) in the vehicle that actually controls the vehicle functions or components directly does not actually connect to the external network directly, but communicates with the T-Box, which then connects to the outside world. When an external application or system needs to control the vehicle, it will send corresponding instructions or operation information to the T-Box, which will process or convert it and generate corresponding control instructions and send them to the corresponding controller.

[0066] In actual use, a command cache can be set in the T-Box, which stores control commands generated according to the remote control operation of the user in the vehicle control application. Each time the T-Box receives a remote control operation sent by the vehicle control application, it will generate a corresponding control command according to the operation information of the remote control operation and add the control command to the command cache. The control commands in the command cache are sorted according to the time of addition.

[0067] In specific applications, the specific execution process of reading the control instructions to be sent from the instruction cache area can be to read the control instructions from the instruction cache area one by one in the order of addition time from small to large, and use the read control instructions as the control instructions to be sent.

[0068] In actual application, in order to ensure the correct execution of the generation and sending of control instructions and avoid confusion, the generation and sending of control instructions can be separated and executed by two different programs or threads. For example, a receiving program and a listening program can be set up in the T-Box. The receiving program will receive the remote control operation sent by the vehicle control application, generate the corresponding control instruction according to the remote control operation, and add the control instruction to the instruction cache; the listening program will listen to the instruction cache. When there are control instructions in the instruction cache, the control instructions will be read from the instruction cache one by one in the order of addition time from small to large, and the read control instructions will be used as the control instructions to be sent.

[0069] Step S20: encrypt the control instruction to be sent to generate a ciphertext control instruction.

[0070] It should be noted that in order to prevent the vehicle from being maliciously controlled, the communication between the T-Box and the vehicle controller needs to be protected from being cracked. In order to improve security, the T-Box and the vehicle controller need to communicate in ciphertext. Therefore, the control instructions to be sent can be encrypted to generate ciphertext control instructions.

[0071] In actual use, a preset encryption algorithm can be used to encrypt the control instructions to be sent to generate ciphertext control instructions, wherein the preset encryption algorithm can be a symmetric encryption algorithm, such as DES, 3DES and other symmetric encryption algorithms, or an asymmetric encryption algorithm, such as RSA, DSA and other asymmetric encryption algorithms. This embodiment does not limit this.

[0072] Step S30: Send the encrypted control instruction to the vehicle controller, so that the vehicle controller controls the vehicle operation and / or modifies the vehicle status according to the encrypted control instruction.

[0073] It should be noted that after constructing the encrypted ciphertext control instruction, the ciphertext control instruction can be sent to the vehicle controller. After receiving the ciphertext control instruction, the vehicle controller can decrypt the ciphertext control instruction to obtain the plaintext control instruction. Then, the vehicle operation and / or vehicle status can be controlled according to the control instruction, such as controlling the vehicle seat to be raised, turning on the double flash lights, etc., or changing the vehicle's operating status to a sleep or active state, etc.

[0074] The T-Box and the vehicle controller may be connected via a vehicle bus (such as a CAN bus) or via a wireless network, which is not limited in this embodiment.

[0075] It can be understood that since the command cache is used to store control commands and the generation and sending of control commands are separated, each time the vehicle control application sends a remote control operation, the T-Box will send the corresponding control command to the vehicle controller. Even if the user quickly clicks multiple identical or different remote control command buttons in the vehicle control application, each control command can be sent and responded to normally.

[0076] This embodiment reads the control instructions to be sent from the instruction buffer area, which stores the control instructions generated according to the remote control operation of the user in the vehicle control application; encrypts the control instructions to be sent to generate ciphertext control instructions; and sends the ciphertext control instructions to the vehicle controller, so that the vehicle controller controls the vehicle operation and / or modifies the vehicle status according to the ciphertext control instructions. Since the instruction buffer area is used to store the control instructions, and the generation and sending of the control instructions are separated, each time the vehicle control application sends a remote control operation, the corresponding control instruction will be sent to the vehicle controller. Even if the user quickly clicks multiple identical or different remote control instruction buttons in the vehicle control application, each control instruction can be sent and responded to normally.

[0077] refer to Figure 3 , Figure 3 It is a flow chart of a second embodiment of a vehicle control method of the present invention.

[0078] Based on the above first embodiment, step S20 of the vehicle control method of this embodiment includes:

[0079] Step S201: Obtain historical instruction counts.

[0080] It should be noted that the historical instruction count is used to represent the sum of the number of instructions previously sent to the vehicle controller and the number of results received from the vehicle controller. A specific field or storage space can be set in the T-Box to store the instruction count. At this time, obtaining the historical instruction count can be to read the instruction count from the specific field or storage space, and use the read instruction count as the historical instruction count. Among them, the instruction count is an integer and only supports positive growth, that is, it can only be increased, not decreased.

[0081] For example: T-Box previously sent 4 encrypted control instructions to the vehicle controller and received results from 3 vehicle controllers, then the historical instruction count is 7.

[0082] Step S202: Update the historical instruction count to obtain the current instruction count.

[0083] Step S203: encrypt the control instruction to be sent to generate an encrypted instruction ciphertext.

[0084] It should be noted that after the historical instruction count is obtained, the historical instruction count may be incremented by one, and the instruction count obtained after the increment is used as the current instruction count.

[0085] In actual use, a preset encryption algorithm can be used to encrypt the control instructions to be sent to generate ciphertext control instructions, wherein the preset encryption algorithm can be a symmetric encryption algorithm, such as DES, 3DES and other symmetric encryption algorithms, or an asymmetric encryption algorithm, such as RSA, DSA and other asymmetric encryption algorithms. This embodiment does not limit this.

[0086] Step S204: constructing a ciphertext control instruction according to the current instruction count and the instruction encrypted ciphertext.

[0087] It should be noted that the current instruction count and the instruction encrypted ciphertext may be used as instruction parameters to construct a control instruction, and the constructed control instruction may be used as a ciphertext control instruction.

[0088] Accordingly, the step S30 includes:

[0089] Step S30': sending the encrypted control instruction to the vehicle controller, so that the vehicle controller performs a count check on the encrypted control instruction, and when the check passes, controls the vehicle operation and / or modifies the vehicle status according to the encrypted control instruction.

[0090] It should be noted that the vehicle controller also has a corresponding historical instruction count. After receiving the encrypted control instruction, the vehicle controller can add one to the historical instruction count stored in itself, and compare the instruction count obtained after adding one with the instruction count in the parameters of the encrypted control instruction. If the two are consistent, the vehicle controller will decrypt the instruction encryption ciphertext in the encrypted control instruction, and control the vehicle operation and / or modify the vehicle status according to the control instruction obtained by decryption.

[0091] Among them, the vehicle controller is pre-set with a preset decryption algorithm corresponding to the preset encryption algorithm in the T-Box, and the command encrypted ciphertext can be decrypted by the preset decryption algorithm.

[0092] In a specific implementation, in order to further improve the safety of the vehicle, step S203 in this embodiment may include:

[0093] Using a preset encryption key and the current instruction count as encryption algorithm parameters, encrypting the control instruction to be sent by using a preset encryption algorithm to generate an instruction encrypted ciphertext;

[0094] or,

[0095] Constructing an instruction encryption key according to a preset encryption key and the current instruction count;

[0096] The control instruction to be sent is encrypted according to the instruction encryption key to generate an instruction encryption ciphertext.

[0097] It should be noted that some encryption algorithms, in addition to supporting the use of encryption keys as parameters of the encryption algorithm, also support adding additional parameters to cooperate with the encryption key for encryption. In this way, even if the encryption key used in the encryption process is obtained, it is still difficult to decrypt the ciphertext normally, which can improve security. Since there will be corresponding instruction counts in the T-Box and the vehicle controller, the instruction count can be used as one of the auxiliary encryption parameters. At this time, the preset encryption key and the current instruction count can be used as encryption algorithm parameters, and the control instruction to be sent can be encrypted by the preset encryption algorithm to generate instruction encrypted ciphertext, thereby improving the communication security between the T-Box and the vehicle controller.

[0098] However, in actual applications, some encryption algorithms do not support the addition of additional encryption parameters. In order to ensure that instruction counting can still be used to improve security, an instruction encryption key can be first constructed based on the preset encryption key and the current instruction count, and then the preset encryption algorithm is used to encrypt the control instructions to be sent according to the instruction encryption key to generate an instruction encryption ciphertext.

[0099] Wherein, constructing the instruction encryption key according to the preset encryption key and the current instruction count may be concatenating the preset encryption key and the current instruction count into strings, and using the concatenated string as the instruction encryption key;

[0100] Of course, the direct splicing method may be easier to crack. In order to ensure security, in actual use, you can first convert the preset encryption key into a specific character array, and add each element in the character array to the current instruction count or perform bit operations to obtain the updated character array, and then convert the character array into a string, and use the converted string as the instruction encryption key.

[0101] It can be understood that if the current instruction count is combined to construct the instruction encryption ciphertext during the encryption process, the vehicle controller can also perform corresponding processing in combination with the instruction count in the parameters of the ciphertext control instruction when decrypting the instruction encryption ciphertext, so as to decrypt the instruction encryption ciphertext normally.

[0102] This embodiment constructs a ciphertext control instruction by combining an instruction count, so that the vehicle controller can determine whether the ciphertext control instruction is a forged instruction according to the instruction count in the ciphertext control instruction, thereby further improving the security of vehicle control.

[0103] refer to Figure 4 , Figure 4It is a flow chart of a third embodiment of a vehicle control method of the present invention.

[0104] Based on the first embodiment, after step S30, the vehicle control method of this embodiment further includes:

[0105] Step S40: receiving the command execution result sent by the vehicle controller and obtaining the historical command count.

[0106] It should be noted that after the vehicle controller controls the vehicle operation and / or modifies the vehicle status according to the encrypted control instructions sent by the T-Box, it can generate corresponding instruction execution results and feed back the generated instruction execution results to the T-Box. At this time, in order to correctly update the instruction count, the T-Box can obtain the historical instruction count.

[0107] Step S50: updating the historical instruction count and decrypting the instruction execution result to obtain the decrypted execution result.

[0108] It should be noted that updating the historical instruction count may be processing of adding one to the historical instruction count.

[0109] In actual use, in order to ensure security, the instruction execution result fed back by the vehicle controller can be an encrypted ciphertext result. In order to encrypt the execution result, an encryption algorithm can be pre-set in the vehicle controller. The encryption algorithm can also be the same encryption algorithm as the preset encryption algorithm in the T-Box, or it can be a different encryption algorithm. This embodiment does not limit this.

[0110] In specific applications, the T-Box may be pre-set with a decryption algorithm corresponding to the encryption algorithm pre-set in the vehicle controller, and the instruction execution result may be decrypted by the decryption algorithm to obtain the decrypted execution result.

[0111] In a specific implementation, in some cases, a malicious attacker may also forge the command execution result fed back by the vehicle controller. In order to ensure that the command execution result can be verified, step S50 in this embodiment may include:

[0112] Updating the historical instruction count, and extracting the ciphertext execution result and the result count value from the instruction execution result;

[0113] If the result count value is consistent with the updated historical instruction count, the ciphertext execution result is decrypted to obtain a decrypted execution result.

[0114] It should be noted that the vehicle controller can use the instruction count in the vehicle controller as the result count value, assemble it with the ciphertext execution result obtained by encrypting the result data into an instruction execution result, and then feed it back to the T-Box together. At this time, the T-Box can parse the instruction execution result, extract the ciphertext execution result and the result count value therefrom. If the result count value is consistent with the updated historical instruction count, it means that the instruction execution result received at this time is consistent. Therefore, the ciphertext execution result can be decrypted to obtain the decrypted execution result.

[0115] In the specific implementation, when the vehicle controller generates the ciphertext execution result, the instruction count in the vehicle controller can also be introduced as the encryption basis. At this time, after verifying that the result count value is consistent with the updated historical instruction count, the T-Box can also confirm whether the ciphertext execution result can be correctly decrypted in combination with the result count value, thereby further verifying whether the instruction execution result is forged.

[0116] Among them, the specific implementation process of introducing the instruction count in the vehicle controller as the encryption basis is similar to the implementation process of introducing the instruction count to encrypt the control instruction to be sent and generating the instruction encrypted ciphertext. At this time, the step of decrypting the ciphertext execution result and obtaining the decrypted execution result described in this embodiment may include:

[0117] Using a preset decryption key and the result count value as decryption algorithm parameters, decrypting the ciphertext execution result through a preset decryption algorithm to generate a decrypted execution result;

[0118] or,

[0119] Constructing a result decryption key according to a preset decryption key and the result count value;

[0120] The ciphertext execution result is decrypted according to the result decryption key to generate a decrypted execution result.

[0121] It should be noted that the preset decryption key may be a decryption key corresponding to the encryption key used when encrypting in the vehicle controller, and the preset decryption algorithm may be a decryption algorithm corresponding to the encryption algorithm used when encrypting in the vehicle controller. The implementation method of constructing the result decryption key according to the preset decryption key and the result count value is similar to the implementation method of constructing the instruction encryption key according to the preset encryption key and the current instruction count. The specific implementation can refer to the above description, which will not be repeated here.

[0122] Step S60: Send the decryption execution result to the vehicle control application.

[0123] It is understandable that after obtaining the specific decryption execution result, the T-Box can send the decryption execution result to the vehicle control application so that the vehicle control application can make corresponding interface and graphic adjustments to ensure that the user can be prompted that the corresponding remote control in the vehicle has been executed or failed.

[0124] It should be noted that since the sending of instructions may be a continuous action, and the vehicle controller will feedback the instruction execution results after receiving the sent instructions and completing the control, when multiple encrypted control instructions are sent to the vehicle controller in a short period of time, before sending the encrypted control instructions, the instruction execution results corresponding to some of the encrypted control instructions may be received first. Therefore, the above steps S40-S60 may also be executed before or after any of the above steps S10-S30, and this embodiment does not limit this.

[0125] In a specific implementation, after receiving the ciphertext control instruction, the vehicle controller may first verify the ciphertext control instruction and feedback the instruction verification result to the T-Box before performing corresponding control. At this time, before step S40 described in this embodiment, the following may also be included:

[0126] Receiving the command verification result sent by the vehicle controller and obtaining the historical command count;

[0127] If the instruction verification result is an instruction count error, determining the instruction to be reissued according to the count value of the error count;

[0128] Synchronizing counting with the vehicle controller through the historical instruction count;

[0129] After the synchronization is completed, a ciphertext control instruction is generated according to the historical instruction count and the instruction to be resent;

[0130] The encrypted control instruction is sent to a vehicle controller so that the vehicle controller controls the vehicle operation and / or modifies the vehicle status according to the encrypted control instruction.

[0131] It should be noted that the command verification result is generated by the vehicle controller after verifying the received encrypted control command and sending it to the T-Box, where the verification may include at least one of format verification, security verification and count verification.

[0132] In actual use, if the command verification result is a command count error, it means that the vehicle controller may have received a forged ciphertext control command, or the vehicle controller may not have received some of the sent ciphertext control commands due to other factors (such as network fluctuations, data transmission loss, etc.), resulting in the command count in the vehicle controller being out of sync. Therefore, at this time, the command to be resent is determined based on the count value of the error count indicated in the command verification result. Count synchronization with the vehicle controller through historical command counts can be to update the count value in the vehicle controller to the historical synchronization command.

[0133] For example: assuming that the count value of the error count in the instruction verification result is 2, it means that the vehicle controller has not received the encrypted control instruction with an instruction count of 1, or has received a forged encrypted control instruction. At this time, the historical instruction count in the T-Box is 2, which means that the T-Box did send an encrypted control instruction with an instruction count of 2 to the vehicle controller. This is because some encrypted control instructions were not received, resulting in the count being out of sync. At this time, the unencrypted control instructions corresponding to the encrypted control instructions with instruction counts of 1 and 2 can be used as control instructions to be resent, and the count value in the vehicle controller can be updated to 2.

[0134] It can be understood that after the count is synchronized, the instruction count in the vehicle controller and the instruction count in the T-Box are updated to be the same. At this time, the encrypted control instructions can be generated according to the historical instruction counts and the instructions to be resent. For example: the unencrypted control instructions corresponding to the ciphertext control instructions with instruction counts of 1 and 2 are used as control instructions to be resent, and the historical instruction count is 3. At this time, the instruction count corresponding to the control instructions to be resent with the original instruction count of 1 can be modified to 3, and the instruction count corresponding to the control instructions to be resent with the original instruction count of 2 can be modified to 4. Then, the encrypted control instructions are generated according to the set instruction counts and the control instructions to be resent, and the generated encrypted control instructions are sent to the vehicle controller.

[0135] In actual use, when the instruction verification result is an instruction count error, instruction synchronization is required, and the historical instruction count may not be updated at this time.

[0136] For ease of understanding, now combined Figure 5 , 6 and 7 are used to illustrate, but not to limit this solution. Figure 5 This is a schematic diagram of the timing of existing remote control instructions. Figure 6 This is a schematic diagram of the timing of multiple instruction continuous control. Figure 7 FIG. 4 is a timing diagram of the counting logic implementation of this embodiment.

[0137] like Figure 5As shown, with the current remote control, the user can operate in the mobile phone APP (i.e., the vehicle control application), then the mobile phone APP will send remote control operation 1 (i.e., remote control operation) to the vehicle-mounted T-BOX, and the vehicle-mounted T-BOX will send a response control instruction to the vehicle body domain controller (IBCM). The IBCM will verify the control instruction and feedback the verification result to the vehicle-mounted T-BOX, and then issue the control instruction and feedback the execution result to the vehicle-mounted T-BOX. The vehicle-mounted T-BOX will send the execution result to the mobile phone APP for displaying the control result. The next remote control operation can only be performed when one remote control operation is completed. During a remote control operation (i.e., between issuing remote control operation 1 and displaying control result 1), a new remote control operation 2 cannot be issued.

[0138] The improved vehicle control method in this application has an execution sequence of Figure 6 As shown, after remote control operation 1 is sent to the vehicle-mounted T-BOX, the mobile phone APP can continue to send remote control operation 2 to the vehicle-mounted T-BOX. The vehicle-mounted T-BOX will issue multiple control instructions to the IBCM according to the order of the received remote control operations, and send the execution results fed back by the TBCM to the mobile phone APP so that it can be displayed. A new remote control operation is allowed between remote control operations.

[0139] In this process, the control instructions sent, the verification results and the execution results can all be ciphertext, and the control instructions, the verification results and the execution results can all have corresponding instruction counts, which can be implemented as follows: Figure 7 As shown, when the counting logic is normal, the vehicle-mounted T-BOX can continuously send multiple control instructions (control instructions 1 and 2, the instruction counts are count 1 and count 2 respectively) to the IBCM, and the IBCM can continuously feed back multiple verification results and / or execution results to the vehicle-mounted T-BOX after processing (such as Figure 7 In the verification result feedback 1 and verification result feedback 2 shown in the figure, the counts are 3 and 4 respectively). If in some cases, due to network fluctuations and other reasons, the IBCM does not receive some control instructions, then when receiving subsequent control instructions, it will determine that the count is wrong. At this time, a synchronization frame can be sent to the vehicle-mounted T-BOX (that is, the command verification result of the command count error). At this time, the vehicle-mounted T-BOX will confirm the command to be resent (such as Figure 7 As shown in , control instruction 1 and control instruction 2 are instructions to be resent), at this time, the vehicle-mounted T-BOX can synchronize counting with the IBCM, and after synchronization, generate a resend control instruction 1 (count is 3) according to control instruction 1, and generate a resend control instruction 2 (count is 4) according to control instruction 2, and send them to the IBCM, then the IBCM can process them and perform verification result feedback 1 (count is 5) and verification result feedback 2 (count is 6).

[0140] When receiving the instruction execution result sent by the vehicle controller, this embodiment can update the instruction count recorded by itself to ensure that the instruction count update logic remains consistent with the count value in the vehicle controller.

[0141] In addition, an embodiment of the present invention further proposes a storage medium, on which a vehicle control program is stored. When the vehicle control program is executed by a processor, the steps of the vehicle control method described above are implemented.

[0142] Reference Figure 8 , Figure 8 It is a structural block diagram of the first embodiment of the vehicle control device of the present invention.

[0143] like Figure 8 As shown, the vehicle control device proposed in the embodiment of the present invention includes:

[0144] A reading module 10, used for reading a control instruction to be sent from an instruction buffer area, wherein the instruction buffer area stores control instructions generated according to a remote control operation of a user in a vehicle control application;

[0145] The encryption module 20 is used to encrypt the control instruction to be sent and generate a ciphertext control instruction;

[0146] The sending module 30 is used to send the encrypted control instruction to the vehicle controller, so that the vehicle controller controls the vehicle operation and / or modifies the vehicle status according to the encrypted control instruction.

[0147] This embodiment reads the control instructions to be sent from the instruction buffer area, which stores the control instructions generated according to the remote control operation of the user in the vehicle control application; encrypts the control instructions to be sent to generate ciphertext control instructions; and sends the ciphertext control instructions to the vehicle controller, so that the vehicle controller controls the vehicle operation and / or modifies the vehicle status according to the ciphertext control instructions. Since the instruction buffer area is used to store the control instructions, and the generation and sending of the control instructions are separated, each time the vehicle control application sends a remote control operation, the corresponding control instruction will be sent to the vehicle controller. Even if the user quickly clicks multiple identical or different remote control instruction buttons in the vehicle control application, each control instruction can be sent and responded to normally.

[0148] Furthermore, the encryption module 20 is further used to obtain a historical instruction count, which is used to represent the sum of the number of instructions previously sent to the vehicle controller and the number of results received from the vehicle controller; update the historical instruction count to obtain a current instruction count; encrypt the control instruction to be sent to generate an instruction encrypted ciphertext; construct a ciphertext control instruction according to the current instruction count and the instruction encrypted ciphertext;

[0149] The sending module 30 is also used to send the encrypted control instruction to the vehicle controller, so that the vehicle controller performs a count check on the encrypted control instruction, and when the check passes, controls the vehicle operation and / or modifies the vehicle status according to the encrypted control instruction.

[0150] Furthermore, the encryption module 20 is further configured to encrypt the control instruction to be sent by using a preset encryption algorithm with a preset encryption key and the current instruction count as encryption algorithm parameters to generate an instruction encrypted ciphertext;

[0151] or,

[0152] An instruction encryption key is constructed according to a preset encryption key and the current instruction count; and the control instruction to be sent is encrypted according to the instruction encryption key to generate an instruction encryption ciphertext.

[0153] Furthermore, the sending module 30 is also used to receive the instruction execution result sent by the vehicle controller and obtain the historical instruction count; update the historical instruction count, and decrypt the instruction execution result to obtain the decrypted execution result; and send the decrypted execution result to the vehicle control application.

[0154] Furthermore, the sending module 30 is also used to update the historical instruction count and extract the ciphertext execution result and the result count value from the instruction execution result; if the result count value is consistent with the updated historical instruction count, the ciphertext execution result is decrypted to obtain the decrypted execution result.

[0155] Furthermore, the sending module 30 is further configured to decrypt the ciphertext execution result by using a preset decryption key and the result count value as decryption algorithm parameters, and generate a decrypted execution result;

[0156] or,

[0157] A result decryption key is constructed according to a preset decryption key and the result count value; and the ciphertext execution result is decrypted according to the result decryption key to generate a decrypted execution result.

[0158] Furthermore, the sending module 30 is also used to receive the instruction verification result sent by the vehicle controller and obtain the historical instruction count, the instruction verification result is generated after the vehicle controller verifies the received encrypted control instruction, and the verification includes at least one of format verification, security verification and count verification; if the instruction verification result is an instruction count error, the instruction to be resent is determined according to the count value of the error count; the counting is synchronized with the vehicle controller through the historical instruction count; after the synchronization is completed, the encrypted control instruction is generated according to the historical instruction count and the instruction to be resent; the encrypted control instruction is sent to the vehicle controller, so that the vehicle controller controls the vehicle operation and / or modifies the vehicle status according to the encrypted control instruction.

[0159] It should be understood that the above is only an example and does not constitute any limitation on the technical solution of the present invention. In specific applications, technicians in this field can make settings as needed, and the present invention does not limit this.

[0160] It should be noted that the workflow described above is merely illustrative and does not limit the scope of protection of the present invention. In practical applications, technicians in this field can select part or all of them according to actual needs to achieve the purpose of the present embodiment, and no limitation is made here.

[0161] In addition, for technical details that are not described in detail in this embodiment, reference can be made to the vehicle control method provided in any embodiment of the present invention, and they will not be repeated here.

[0162] In addition, it should be noted that, in this article, the terms "include", "comprises" or any other variations thereof are intended to cover non-exclusive inclusion, so that a process, method, article or system including a series of elements includes not only those elements, but also other elements not explicitly listed, or also includes elements inherent to such process, method, article or system. In the absence of further restrictions, an element defined by the sentence "comprises a ..." does not exclude the existence of other identical elements in the process, method, article or system including the element.

[0163] The serial numbers of the above embodiments of the present invention are only for description and do not represent the advantages or disadvantages of the embodiments.

[0164] Through the description of the above implementation methods, those skilled in the art can clearly understand that the above-mentioned embodiment methods can be implemented by means of software plus a necessary general hardware platform, and of course by hardware, but in many cases the former is a better implementation method. Based on such an understanding, the technical solution of the present invention, or the part that contributes to the prior art, can be embodied in the form of a software product, which is stored in a storage medium (such as a read-only memory (ROM) / RAM, a magnetic disk, or an optical disk), and includes a number of instructions for a terminal device (which can be a mobile phone, a computer, a server, or a network device, etc.) to execute the methods described in each embodiment of the present invention.

[0165] The above are only preferred embodiments of the present invention, and are not intended to limit the patent scope of the present invention. Any equivalent structure or equivalent process transformation made using the contents of the present invention specification and drawings, or directly or indirectly applied in other related technical fields, are also included in the patent protection scope of the present invention.

Claims

1. A vehicle control method, characterized in that: The vehicle control method comprises: Reading a control instruction to be sent from an instruction buffer area, wherein the instruction buffer area stores control instructions generated according to a remote control operation of a user in a vehicle control application; Encrypting the control instruction to be sent to generate a ciphertext control instruction; The encrypted control instruction is sent to a vehicle controller so that the vehicle controller controls the vehicle operation and / or modifies the vehicle status according to the encrypted control instruction.

2. The vehicle control method according to claim 1, characterized in that: The step of encrypting the control instruction to be sent to generate a ciphertext control instruction includes: Obtaining a historical instruction count, where the historical instruction count is used to represent the sum of the number of instructions previously sent to the vehicle controller and the number of results received from the vehicle controller; Updating the historical instruction count to obtain a current instruction count; Encrypting the control instruction to be sent to generate an encrypted instruction ciphertext; Constructing a ciphertext control instruction according to the current instruction count and the instruction encrypted ciphertext; Accordingly, sending the encrypted control instruction to the vehicle controller so that the vehicle controller controls the vehicle operation and / or modifies the vehicle state according to the encrypted control instruction includes: The encrypted control instruction is sent to a vehicle controller so that the vehicle controller performs a count check on the encrypted control instruction, and when the check passes, controls the vehicle operation and / or modifies the vehicle status according to the encrypted control instruction.

3. The vehicle control method according to claim 2, characterized in that: The step of encrypting the control instruction to be sent to generate an encrypted instruction ciphertext includes: Using a preset encryption key and the current instruction count as encryption algorithm parameters, encrypting the control instruction to be sent by using a preset encryption algorithm to generate an instruction encrypted ciphertext; or, Constructing an instruction encryption key according to a preset encryption key and the current instruction count; The control instruction to be sent is encrypted according to the instruction encryption key to generate an instruction encryption ciphertext.

4. The vehicle control method according to claim 1, characterized in that: After sending the ciphertext control instruction to the vehicle controller, the method further includes: Receive the command execution result sent by the vehicle controller and obtain the historical command count; The historical instruction count is updated, and the instruction execution result is decrypted to obtain the decrypted execution result; The decryption execution result is sent to the vehicle control application.

5. The vehicle control method according to claim 4, characterized in that: The updating of the historical instruction count and the decryption of the instruction execution result to obtain the decrypted execution result includes: Updating the historical instruction count, and extracting the ciphertext execution result and the result count value from the instruction execution result; If the result count value is consistent with the updated historical instruction count, the ciphertext execution result is decrypted to obtain a decrypted execution result.

6. The vehicle control method according to claim 5, characterized in that: The decrypting the ciphertext execution result to obtain the decrypted execution result includes: Using a preset decryption key and the result count value as decryption algorithm parameters, decrypting the ciphertext execution result through a preset decryption algorithm to generate a decrypted execution result; or, Constructing a result decryption key according to a preset decryption key and the result count value; The ciphertext execution result is decrypted according to the result decryption key to generate a decrypted execution result.

7. The vehicle control method according to claim 4, characterized in that: Before receiving the command execution result sent by the vehicle controller and obtaining the historical command count, the method further includes: Receiving a command verification result sent by the vehicle controller and obtaining a historical command count, wherein the command verification result is generated after the vehicle controller verifies the received ciphertext control command, wherein the verification includes at least one of a format check, a security check, and a count check; If the instruction verification result is an instruction count error, determining the instruction to be reissued according to the count value of the error count; Synchronizing counting with the vehicle controller through the historical instruction count; After the synchronization is completed, a ciphertext control instruction is generated according to the historical instruction count and the instruction to be resent; The encrypted control instruction is sent to a vehicle controller so that the vehicle controller controls the vehicle operation and / or modifies the vehicle status according to the encrypted control instruction.

8. A vehicle control device, characterized in that: The vehicle control device comprises: A reading module, used for reading a control instruction to be sent from an instruction buffer area, wherein the instruction buffer area stores control instructions generated according to a remote control operation of a user in a vehicle control application; An encryption module, used for encrypting the control instruction to be sent to generate a ciphertext control instruction; The sending module is used to send the encrypted control instruction to the vehicle controller, so that the vehicle controller controls the vehicle operation and / or modifies the vehicle status according to the encrypted control instruction.

9. A vehicle control device, characterized in that: The vehicle control device includes: a processor, a memory, and a vehicle control program stored in the memory and executable on the processor. When the vehicle control program is executed by the processor, the steps of the vehicle control method according to any one of claims 1 to 7 are implemented.

10. A computer-readable storage medium, characterized in that: The computer-readable storage medium stores a vehicle control program, and when the vehicle control program is executed, the steps of the vehicle control method according to any one of claims 1 to 7 are implemented.