Vehicle remote control method, device, equipment, storage medium and program product
Patent Information
- Application Number
- CN202411848014.9
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2024-12-13
- Publication Date
- 2026-08-21
- Estimated Expiration
- 2044-12-13
AI Technical Summary
[0003]在上述相关技术中,在正在执行当前控制指令的情况下,控制指令不可中断性,导致一些控制指令无法及时响应,不能灵活的执行用户下发的控制指令,同时在需要执行紧急指令的情况下,若当前正在执行其他控制指令,导致无法及时执行紧急指令,可能会给车辆带来损伤
[0052]The vehicle remote control method, apparatus, device, storage medium, and program product of this application embodiment can determine the priority of the first control instruction and the second control instruction when both exist simultaneously in the vehicle terminal, in order to decide which control instruction to execute. In the vehicle terminal, the priority of the control instructions can be distinguished by messages. Specifically, the first control instruction and the second control instruction can be parsed to obtain the first message and the second message, and then the priority of the first control instruction and the second control instruction can be determined by the first message and the second message. If the second priority of the second control instruction is higher than the first priority of the first control instruction, it indicates that the urgency of the second control instruction is higher than that of the first control instruction. The first control instruction is executed, and then the second control instruction is executed to obtain the execution result. That is, by judging the control instructions with different priorities, the execution order is determined to flexibly execute the control instructions and improve the user experience.
Smart Images

Figure CN119689910B_ABST
Abstract
Description
Technical Field
[0001] This application belongs to the technical field of vehicle control, and particularly relates to a vehicle remote control method, device, equipment, storage medium, and program product. Background Technology
[0002] Currently, the execution of control commands in vehicles adopts an uninterrupted execution mode, meaning that the next control command can only be executed after the currently executing control command has been completed. For example, if the owner issues an automatic parking command and then issues a turn-off command, the automatic parking command cannot be terminated immediately. Instead, the turn-off command can only be executed after the automatic parking command has been completed.
[0003] In the aforementioned related technologies, the uninterruptibility of control commands while executing current control commands results in some control commands not responding in a timely manner and not being able to flexibly execute user-issued control commands. Furthermore, if other control commands are currently being executed, the inability to execute emergency commands in a timely manner may cause damage to the vehicle. Summary of the Invention
[0004] This application provides a vehicle remote control method, device, equipment, storage medium, and program product, which can determine the execution order for control commands of different priorities to flexibly execute control commands and improve user experience.
[0005] On one hand, embodiments of this application provide a vehicle remote control method, which is applied to an in-vehicle terminal method including:
[0006] Acquire a first control instruction and a second control instruction, wherein the first control instruction is a control instruction that is being executed or received before the second control instruction is received;
[0007] The first control command and the second control command are parsed respectively to obtain the first message corresponding to the first control command and the second message corresponding to the second control command.
[0008] Based on the first message and the second message, the priority of the first control command and the second control command is determined;
[0009] If the second priority corresponding to the second control instruction is higher than the first priority corresponding to the first control instruction, the first control instruction is interrupted.
[0010] The second control instruction is executed, and the execution result is obtained.
[0011] Optionally, the vehicle terminal includes an Internet of Things module, a serial interface module, and a processor, wherein the first message includes a first message identifier and the second message includes a second message identifier.
[0012] Determining the priority of the first control command and the second control command based on the first message and the second message includes:
[0013] Obtain the communication types between the IoT module and the serial interface module and the processor, respectively;
[0014] When the communication type is CAN bus, the first value of the first message identifier and the second value of the second message identifier are counted respectively.
[0015] If the second value is less than the first value, the second priority is determined to be higher than the first priority;
[0016] If the second value is greater than the first value, the second priority is determined to be lower than the first priority.
[0017] Optionally, the second message further includes an instruction type for characterizing the second control instruction. Before determining the priority of the first control instruction and the second control instruction based on the first message and the second message, the method further includes:
[0018] Determine whether the instruction type of the second control instruction is an uninterruptible type;
[0019] If the instruction type of the second control instruction is uninterruptible, obtain the first status identifier of the first control instruction;
[0020] Based on the first status identifier, the first execution state of the first control instruction is determined;
[0021] If the first execution status is determined to be in the execution state, the first execution status is sent to the server;
[0022] If the first execution state is determined to be either completed or not executed, the call status of the serial interface module to the first message is obtained.
[0023] If the call status is "completed" or "in progress", stop the serial interface module's call to the first message and delete the first message;
[0024] The second message is invoked to cause the processor to execute the second control instruction;
[0025] If the instruction type of the second control instruction is interruptible, the step of determining the priority of the first control instruction and the second control instruction based on the first message and the second message is executed.
[0026] Optionally, the second control command includes multiple stage commands, and the second message includes a third message;
[0027] When the instruction type of the second control instruction is determined to be interruptible, and the second priority corresponding to the second control instruction is higher than the first priority corresponding to the first control instruction, executing the second control instruction includes:
[0028] Obtain the number of interrupts for the second control instruction;
[0029] In the case where the interruption count is the first time;
[0030] Store the third message corresponding to the current stage command into the serial interface module and update the interrupt count;
[0031] The third message is invoked to cause the processor to execute the current stage command;
[0032] After the execution of the multiple stage commands is completed, the execution result of the second control instruction is obtained.
[0033] Optionally, the second message further includes a fourth message, and if the interruption count is not the first time, the method further includes:
[0034] Clear the third message of the current stage command stored in the serial interface module;
[0035] After a preset delay period, the fourth message corresponding to the next stage command is stored.
[0036] In the serial interface module, a fourth message is invoked to cause the processor to execute the next-stage command and update the interrupt count.
[0037] Optionally, the first message further includes a first instruction type for characterizing the real-time nature of the first control instruction, and the second message further includes a second instruction type for characterizing the real-time nature of the second control instruction. The step of determining the priority of the first control instruction and the second control instruction based on the first message and the second message further includes:
[0038] If the first instruction type is determined to be a synchronous instruction, the first priority is higher than the second priority;
[0039] When the second instruction type is determined to be a synchronous instruction, the second priority is higher than the first priority.
[0040] Optionally, a second control command is acquired, including:
[0041] The second control command is obtained from the cloud server. The second control command is a control command triggered in response to the user's operation on the control terminal.
[0042] On the other hand, embodiments of this application provide a vehicle remote control device, the device comprising:
[0043] The acquisition module is used to acquire a first control instruction and a second control instruction, wherein the first control instruction is a control instruction that is being executed or received before the second control instruction is received;
[0044] The parsing module is used to parse the first control instruction and the second control instruction respectively to obtain the first message corresponding to the first control instruction and the second message corresponding to the second control instruction;
[0045] The determining module is used to determine the priority of the first control command and the second control command based on the first message and the second message;
[0046] An interrupt module is used to interrupt the first control instruction when the second priority corresponding to the second control instruction is higher than the first priority corresponding to the first control instruction.
[0047] The execution module is used to execute the second control task and obtain the execution result.
[0048] In another aspect, embodiments of this application provide a vehicle-mounted terminal, which includes: a processor and a memory storing computer program instructions;
[0049] When the processor executes the computer program instructions, it implements the vehicle remote control method as described in the first aspect.
[0050] In another aspect, embodiments of this application provide a computer storage medium storing computer program instructions, which, when executed by a processor, implement the vehicle remote control method as described in the first aspect.
[0051] In another aspect, embodiments of this application provide a computer program product in which instructions, when executed by the processor of an in-vehicle terminal, cause the in-vehicle terminal to perform the vehicle remote control method as described in the first aspect.
[0052] The vehicle remote control method, apparatus, device, storage medium, and program product of this application embodiment can determine the priority of the first control instruction and the second control instruction when both exist simultaneously in the vehicle terminal, in order to decide which control instruction to execute. In the vehicle terminal, the priority of the control instructions can be distinguished by messages. Specifically, the first control instruction and the second control instruction can be parsed to obtain the first message and the second message, and then the priority of the first control instruction and the second control instruction can be determined by the first message and the second message. If the second priority of the second control instruction is higher than the first priority of the first control instruction, it indicates that the urgency of the second control instruction is higher than that of the first control instruction. The first control instruction is executed, and then the second control instruction is executed to obtain the execution result. That is, by judging the control instructions with different priorities, the execution order is determined to flexibly execute the control instructions and improve the user experience. Attached Figure Description
[0053] To more clearly illustrate the technical solutions of the embodiments of this application, the accompanying drawings used in the embodiments of this application will be briefly introduced below. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.
[0054] Figure 1 This is a schematic flowchart of a vehicle remote control method provided in one embodiment of this application;
[0055] Figure 2 This is a flowchart illustrating a method for determining control command priority according to an embodiment of this application;
[0056] Figure 3 This is a schematic diagram of the structure of a vehicle remote control device provided in another embodiment of this application;
[0057] Figure 4 This is a schematic diagram of the structure of an in-vehicle terminal provided in another embodiment of this application. Detailed Implementation
[0058] The features and exemplary embodiments of various aspects of this application will be described in detail below. To make the objectives, technical solutions, and advantages of this application clearer, the application will be further described in detail below with reference to the accompanying drawings and specific embodiments. It should be understood that the specific embodiments described herein are only intended to explain this application and not to limit it. For those skilled in the art, this application can be implemented without some of these specific details. The following description of the embodiments is merely to provide a better understanding of this application by illustrating examples.
[0059] It should be noted that, in this document, relational terms such as "first" and "second" are used merely to distinguish one entity or operation from another, and do not necessarily require or imply any such actual relationship or order between these entities or operations. Furthermore, the terms "comprising," "including," or any other variations thereof are intended to cover non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements includes not only those elements but also other elements not expressly listed, or elements inherent to such a process, method, article, or apparatus. Without further limitations, an element defined by the phrase "comprising..." does not exclude the presence of additional identical elements in the process, method, article, or apparatus that includes the element.
[0060] To address the problems of existing technologies, embodiments of this application provide a vehicle remote control method, apparatus, device, storage medium, and program product. In this embodiment, when a first control command and a second control command exist simultaneously in the vehicle terminal, it is necessary to determine the priority of the first and second control commands to decide which control command to execute. In the vehicle terminal, the priority of the control commands can be distinguished through message processing. Specifically, the first and second control commands can be parsed to obtain a first message and a second message, respectively. Then, the priority of the first and second control commands is determined using the first and second messages. If the second priority of the second control command is higher than the first priority of the first control command, it indicates that the urgency of the second control command is higher than that of the first control command. The first control command is executed, and then the second control command is executed to obtain the execution result. That is, by determining the execution order of control commands with different priorities, the execution order of control commands is determined, allowing for flexible execution and improving the user experience.
[0061] The vehicle remote control method provided in the embodiments of this application will be introduced first below.
[0062] Figure 1 A schematic flowchart of a vehicle remote control method according to an embodiment of this application is shown. Figure 1 As shown, the vehicle remote control method may include S101-S105:
[0063] S101, acquire the first control command and the second control command.
[0064] In this embodiment of the application, when the corresponding control command is executed through the vehicle terminal, the processor can only execute one control command if the vehicle is not started. Therefore, if the IoT module in the vehicle terminal has already stored a first control command, and then receives a second control command, it is necessary to determine the control command to be executed. That is, the first control command and the second control command can be obtained from the vehicle terminal.
[0065] As an example, the first control instruction is a control instruction that is being executed or received before the second control instruction is received. That is, the first control instruction is a control instruction that the vehicle terminal is waiting to execute or is executing before receiving the second control instruction.
[0066] It is worth noting that both the first and second control commands are commands that the vehicle terminal can autonomously control, such as automatic parking, remote vehicle location, automatic start / stop, automatic engine shutdown, and unlocking of vehicle doors.
[0067] In some other embodiments, obtaining the second control command may include:
[0068] The second control command is obtained from the cloud server. The second control command is a command triggered in response to the user's operation on the control terminal.
[0069] In this embodiment, the user can issue a second control command through an application on the control terminal. The control terminal transmits the second control command to the cloud server, and then the cloud server transmits the second control command to the vehicle terminal through the network, so that the user can remotely issue control commands.
[0070] In some other embodiments, the first control command may also be issued by the user through a control terminal, and the transmission method is the same as that of the second control command, which will not be described in detail here.
[0071] S102, the first control command and the second control command are parsed respectively to obtain the first message corresponding to the first control command and the second message corresponding to the second control command.
[0072] In some embodiments, after the vehicle terminal receives the first control command and the second control command, it needs to perform message parsing on the first control command and the second control command to obtain the first message and the second message, in order to prepare for the subsequent execution of the control command.
[0073] S103, based on the first message and the second message, determine the priority of the first control command and the second control command.
[0074] In some embodiments, the first message includes a first message identifier, and the second message includes a second message identifier. The first message identifier can be used as an identifier for the first control command, and the second message identifier can be used as an identifier for the second control command, so that the vehicle terminal can recognize the first control command or the second control command.
[0075] In some specific embodiments, the vehicle terminal may include an Internet of Things (IoT) module, a serial interface module, and a processor. Both the IoT module and the serial interface module are connected to the processor. The IoT module can receive control commands sent by the cloud server and can also parse the first control command and the second control command. The serial interface module can be used to forward the first control command or the second control command to the processor so that the processor can execute the first control command or the second control command.
[0076] Reference Figure 2 In some other embodiments, S103 may specifically include:
[0077] S1031, Obtain the communication types between the IoT module and the serial interface module and the processor, respectively;
[0078] S1032, when the communication type is CAN bus, count the first value of the first message identifier and the second value of the second message identifier respectively;
[0079] S1033, if the second value is less than the first value, determine that the second priority is higher than the first priority;
[0080] S1034, if the second value is greater than the first value, determine that the second priority is lower than the first priority.
[0081] In some embodiments, the priority of the first control instruction and the second control instruction can be determined based on the communication type of the IoT module, the serial interface module, and the processor module. That is, for different communication types, the rules for determining the priority of the first control instruction and the second control instruction are determined by the communication type.
[0082] In some specific embodiments, taking CAN bus as an example, the priority of each control command can be determined by the character length of the first message identifier and the second message identifier in CAN bus communication.
[0083] Specifically, we can count the first value of the first message identifier and the second value of the second message identifier, and then compare the size of the first value and the second value. In the CAN bus, the shorter the length of the message identifier, the higher the priority. Therefore, when the second value is less than the first value, the second priority of the second control instruction is higher than the first priority of the first control instruction. Conversely, when the second value is greater than the first value, the first priority is higher than the second priority.
[0084] Additionally, it is worth noting that when the first and second values are equal, it indicates that the first control command and the second control command have the same priority. In this case, the priority can be determined according to the order of the timestamps. That is, if the timestamp of the vehicle terminal receiving the first control command is earlier than the timestamp of receiving the second control command, then the first priority of the first control command is higher than the second priority of the second control command.
[0085] In other embodiments, the communication type between the physical network module, the serial communication module, and the processor can also adopt other bus types. For each bus type, there are different priority rules, which can be determined by referring to the priority rules of the corresponding bus, and will not be elaborated further here.
[0086] In some other embodiments, the second message may further include an instruction type for characterizing the second control instruction, and before S103, the method may further include:
[0087] Determine whether the instruction type of the second control instruction is an uninterruptible type;
[0088] If the instruction type of the second control instruction is uninterruptible, obtain the first status identifier of the first control instruction;
[0089] Based on the first state identifier, the first execution state of the first control instruction is determined;
[0090] If the first execution status is determined to be in the execution state, the first execution status is sent to the server;
[0091] If the first execution state is determined to be either completed or not executed, the call status of the serial interface module for the first message is obtained.
[0092] If the call status is "completed" or "in progress", stop the serial interface module's call to the first message and delete the first message;
[0093] The second message is invoked to cause the processor to execute the second control instruction;
[0094] If the instruction type of the second control instruction is interruptible, execute S103.
[0095] In this embodiment, before determining the priority of the first control instruction and the second control instruction, it is also necessary to determine the instruction type of the second control instruction and, by referring to different instruction types, determine whether the second control instruction can be executed.
[0096] Specifically, in the second message, a variable can be set to represent the instruction type of the second control instruction. For example, the instruction type can be represented by the value of one of the variables in the second message, such as 0 representing an interruptible type and 1 representing a non-interruptible type.
[0097] When the instruction type of the second control instruction is uninterruptible, the first status identifier of the first control instruction can be obtained, and then the first execution state of the first control instruction can be determined according to the first status identifier. For example, in the vehicle terminal, a variable "Breakflag" can be set in the first message to represent the first execution state of the first control instruction. The value corresponding to Breakflag represents the first execution state. For example, 0 indicates the execution state of not executing or having completed execution, and 1 indicates the execution state of being executed.
[0098] The first execution state of the first control command is determined by identifying the values of the aforementioned variables. In some embodiments, when the first control command is determined to be in execution, the vehicle terminal can send the first execution state to the server. This allows the server to display the first execution state to the control terminal and simultaneously remind the user of the command being executed by the vehicle terminal.
[0099] In some other embodiments, when the first execution state is determined to be either completed or not executed, it indicates that the vehicle terminal is in an idle period and may not have executed the first control instruction due to delay. Therefore, it is necessary to obtain the call status of the serial interface module for the first message. If the call status is determined to be completed or in the process of calling, it is necessary to stop the serial interface module from calling the first message, delete the first message, and store the second message in the serial interface module to prepare for the processor to execute the second control instruction.
[0100] In some other embodiments, if the call status is determined to be not called, a busy message is returned to the server.
[0101] In this embodiment, when the instruction type of the second control instruction is interruptible, it means that both the second control instruction and the first control instruction are asynchronous commands. The control instruction to be executed can be determined by judging the priority of the first control instruction and the second control instruction.
[0102] In other embodiments, when the instruction type of the second control instruction is interruptible, the method may further include:
[0103] If the first message identifier and the second message identifier are the same, and the first execution status is "in execution", the first status identifier is adjusted to the second status identifier, and the second status identifier is used to indicate that the first execution status corresponding to the first control instruction is "suspended execution"; and / or;
[0104] If the first message identifier and the second message identifier are the same, and the first execution state is the suspended execution state, the second state identifier is adjusted to the third state identifier. The third state identifier is used to indicate that the first execution state corresponding to the first control instruction has changed from the suspended execution state to the resumed execution state.
[0105] In some other embodiments, the first message further includes a first instruction type for characterizing the real-time nature of the first control instruction, and the second message further includes a second instruction type for characterizing the real-time nature of the second control instruction. S103 may also include:
[0106] When the first instruction type is determined to be a synchronous instruction, the first priority is higher than the second priority;
[0107] When the second instruction type is determined to be a synchronous instruction, the second priority is higher than the first priority.
[0108] In this embodiment, during the remote control of the vehicle, the on-board terminal needs to execute some real-time control commands to ensure the execution of remote control.
[0109] Therefore, when determining the priority of the first control command and the second control command, the command type of the control command needs to be considered. If the first command type is a synchronous command, it means that the first control command is used for real-time execution and the vehicle terminal needs to return the execution result to the control terminal. Therefore, regardless of whether the second command type of the second control command is a synchronous command, the first priority is higher than the second priority.
[0110] It is worth noting that when the first control instruction is a synchronous instruction, even if the second control instruction is also a synchronous instruction, the first priority is higher than the second priority, and the first control instruction is executed. The first control instruction cannot be interrupted.
[0111] Correspondingly, if the first instruction type of the first control instruction is determined to be an asynchronous instruction and the second instruction type of the second control instruction is determined to be a synchronous instruction, the second priority is higher than the first priority. In this case, an interrupt is required regardless of whether the first control instruction is executed.
[0112] As an example, the control commands corresponding to the basic functions that ensure vehicle operation can all be set as synchronous commands, while other additional functions can be set as asynchronous commands. For example, turning off the engine and locking the car can be set as synchronous commands, while parking and finding the car can be set as asynchronous commands.
[0113] In some other embodiments, prior to S103, the following may also be included:
[0114] Calculate the length of the second message identifier;
[0115] If the length value is greater than the preset length, a preset prompt message is transmitted to the server.
[0116] In this embodiment, noise interference during the transmission of the second control command via the cloud server may affect the second message of the second control command, causing its length to exceed the preset length. This indicates an error in the second control command, necessitating the transmission of a preset prompt message to the server. This preset prompt message serves to alert the user of the error in the second control command.
[0117] S104, if the second priority of the second control instruction is higher than the first priority of the first control instruction, the first control instruction is interrupted.
[0118] In this embodiment, when the second priority is higher than the first priority, it means that the second control instruction needs to be executed. However, in order to reduce the impact of the first control instruction on the second control instruction, the first control instruction can be interrupted at this time.
[0119] It is worth noting that, regardless of which control instruction is being executed, the time period from receiving the control instruction to its completion can be divided into three stages: preparation for execution, execution in progress, and completion of execution. The execution of the first control instruction must be interrupted no matter which of the three stages the first control instruction is in.
[0120] S105, execute the second control instruction and obtain the execution result.
[0121] In some embodiments, after determining the control instruction to be executed, the processor reads the corresponding message to execute the corresponding control instruction. For example, when the second priority of the second control instruction is higher than the priority of the first control instruction, the processor executes the second control instruction and obtains the execution result. Then, the processor transmits the execution result to the server through the serial interface module and the physical network module so that the user can understand the execution result of the control instruction through the control terminal.
[0122] In other embodiments, the second control instruction may include multiple stage commands, the second message may include a third message, and when the instruction type of the second control instruction is determined to be an interruptible type, and the second priority corresponding to the second control instruction is higher than the first priority corresponding to the first control instruction, S105 may include:
[0123] Obtain the number of interrupts for the second control instruction;
[0124] In the case where the interruption count is the first time;
[0125] Store the third message corresponding to the current stage command into the serial interface module and update the interrupt count;
[0126] The third message is invoked to cause the processor to execute the current stage command;
[0127] After the execution of the multiple stage commands is completed, the execution result of the second control instruction is obtained.
[0128] In this embodiment, when it is determined that the second control instruction needs to be executed, since the second control instruction is a multi-stage command, the second control instruction can only be considered completed after all the multi-stage commands have been executed normally.
[0129] In some other embodiments, the second message may include a fourth message, and if the interruption is not the first time, the method may further include:
[0130] Clear the third message of the current stage command stored in the serial interface module;
[0131] After a preset delay period, the fourth message corresponding to the next stage command is stored.
[0132] In the serial interface module, a fourth message is invoked to cause the processor to execute the next stage command and update the interrupt count.
[0133] In this embodiment, since the second control instruction has multiple stage commands, it is necessary to determine which stage command to execute when executing the second control instruction. In this embodiment, the stage command to be executed can be determined by judging the number of interruptions of the second control instruction.
[0134] It is worth noting that when the second control command includes multiple stage commands, the second message can include the message corresponding to each stage command. That is, when sending the second control command, the messages corresponding to multiple stage commands can be packaged into a second message and sent together to the serial interface module, or the message corresponding to each stage command can be sent separately.
[0135] For example, regarding the second control command for automatic parking, automatic parking can include three stages: start parking, pause parking, and resume parking. When executing the start parking stage command, a third message corresponding to start parking can be sent separately to execute the start parking stage command. Alternatively, a second message corresponding to parking can be sent directly. The second message includes the third message corresponding to start parking, the fourth message corresponding to pause parking, and the fifth message corresponding to resume parking. Then, by responding to the stage command selected by the user, the message consistent with the selected stage command can be retrieved directly from the second message to execute the corresponding stage command.
[0136] For example, if automatic vehicle location is the first control command and automatic parking is the second control command, and the user issues the second control command for automatic parking while the first control command for automatic vehicle location is being executed, then automatic vehicle location needs to be interrupted and the automatic parking command needs to be executed.
[0137] In this process, automatic parking can be divided into three stages: start parking, pause parking, and resume parking. During the execution of the first stage command, start parking, since it is the first interruptible command, the first message stored in the serial interface module, which is the first message corresponding to automatic vehicle search, needs to be deleted. After a preset delay period, the third message corresponding to start parking is stored. Then, in the serial interface module, the first status identifier is modified to the second status identifier in the second message. The second status identifier is used to indicate that the first stage command of the second control instruction has started. Since the first stage command has started, the interrupt count of the second control instruction needs to be updated. For example, the interrupt count can be adjusted to 2.
[0138] As an example, the preset delay period can be 100ms, and the initial interrupt count of the second control instruction is 1.
[0139] In this embodiment, when executing the first-stage command to start parking, the user issues the second-stage command to pause parking. Since the interruption count is not the first time, it is necessary to interrupt the first-stage command to start parking. That is, clear the third message corresponding to the first-stage command to start parking, and then store the fourth message corresponding to the second-stage command to pause parking in the serial interface module, update the interruption count to 3, and call the fourth message to start executing the pause parking command.
[0140] When the pause parking command is executed, the user issues the third-stage command to resume parking. Since the interruption count is 3, the pause parking command needs to be interrupted. Then, the fifth message corresponding to resume parking is stored in the serial interface module, the interruption count is updated to 4, and the message corresponding to resume parking is called to start executing the resume parking command until automatic parking ends, the second control command is completed, and the execution result corresponding to successful execution is obtained.
[0141] To facilitate understanding of the above method, a specific example will be used for explanation.
[0142] In this example, taking automatic vehicle locator as the first control command and automatic parking as the second control command as an example, the automatic vehicle locator command and the automatic parking command are first obtained. Then, it is determined whether the format of the second message corresponding to the automatic parking command is correct, that is, whether the Buff tag in the format is empty. If it is empty, an invalid format is returned to the user. If it is not empty, it is also necessary to determine whether the length of the second message identifier is greater than the preset length. If it is greater than the preset length, the preset prompt information is transmitted to the server. If it is not greater than the preset length, the second command type of the automatic parking command can be determined. If the second command type of the automatic parking command is a synchronous command and the first command type of the automatic vehicle locator command is an asynchronous command, it can be determined that the second priority of the automatic parking command is higher than the first priority of the automatic vehicle locator command, and the automatic parking command is executed.
[0143] If the second instruction type for automatic parking is asynchronous and the first instruction type for automatic vehicle finding is synchronous, then it is necessary to further determine whether the instruction type for automatic parking is interruptible. If the instruction type for automatic parking is non-interruptible, it is necessary to determine whether the execution status of automatic vehicle finding is 1, i.e., whether automatic vehicle finding is being executed. If automatic vehicle finding is being executed, the current command status is sent to the server. If the instruction for automatic vehicle finding has been completed or not executed, the call status of the serial interface module for the first message corresponding to automatic vehicle finding can be obtained. If the call status is not called, the serial interface module can be returned to the server as busy. If the call status is completed or is being called, the call of the serial interface module to the first message is stopped and the first message is deleted. Then the serial interface module calls the third message corresponding to automatic parking to make the processor execute the automatic parking instruction.
[0144] In this example, the execution of the first or second control command can be determined by the command type. After determining the control command to be executed by the command type, it is also necessary to determine the priority of the second and first control commands. If the second priority of automatic parking is lower than the first priority of automatic car finding, then the command to return to the server with the lower priority of automatic parking will continue to be executed. In this example, the second priority of automatic parking is set to be higher than the first priority of automatic car finding.
[0145] If it is determined that the second priority of automatic parking is higher than the first priority of automatic vehicle locator, then it can be determined that the control command for automatic parking should be executed.
[0146] During the execution of automatic parking control commands, since automatic parking can be divided into three stages: start parking, pause parking, and resume parking, the interruption count can be obtained to determine which stage command is currently being executed. For example, if the interruption count for start parking is 1 (the first interruption), the first message corresponding to automatic vehicle location needs to be deleted, and the third message corresponding to start parking needs to be stored in the serial interface module to execute the start parking command and update the interruption count to 2. If the user issues a pause parking stage command while the start parking control command is being executed, since the interruption count is no longer the first, the start parking stage command needs to be interrupted, and the fourth message corresponding to pause parking needs to be stored in the serial interface module to execute the pause parking stage command. If the user issues a resume parking stage command while the pause parking stage command is being executed, the pause parking stage command can be interrupted, and the fifth message corresponding to resume parking needs to be stored in the serial interface module to execute the resume parking stage command. This continues until parking is completed, the second control command execution ends, and the execution result is obtained.
[0147] Reference Figure 3 This application also provides a vehicle remote control device, which may include:
[0148] The acquisition module 301 is used to acquire a first control instruction and a second control instruction, wherein the first control instruction is a control instruction that is being executed or received before the second control instruction is received;
[0149] The parsing module 302 is used to parse the first control command and the second control command respectively to obtain the first message corresponding to the first control command and the second message corresponding to the second control command.
[0150] The determining module 303 is used to determine the priority of the first control command and the second control command based on the first message and the second message;
[0151] Interrupt module 304 is used to interrupt the first control instruction when the second priority corresponding to the second control instruction is higher than the first priority corresponding to the first control instruction.
[0152] The execution module 305 is used to execute the second control task and obtain the execution result.
[0153] As an optional implementation, the vehicle-mounted terminal includes an Internet of Things module, a serial interface module, and a processor. The first message includes a first message identifier, and the second message includes a second message identifier. The determining module 303 can be specifically used for:
[0154] Based on the first message and the second message, the priorities of the first control command and the second control command are determined, including:
[0155] Obtain the communication types between the IoT module and the serial interface module and the processor, respectively;
[0156] When the communication type is CAN bus, the first value of the first message identifier and the second value of the second message identifier are counted respectively.
[0157] If the second value is less than the first value, the second priority is determined to be higher than the first priority;
[0158] If the second value is greater than the first value, the second priority is determined to be lower than the first priority.
[0159] As an optional implementation, the second message also includes an instruction type for characterizing the second control instruction, and the determining module 303 may be specifically used for:
[0160] When the instruction type is non-interruptible, obtain the first status identifier of the first control instruction;
[0161] Based on the first state identifier, the first execution state of the first control instruction is determined;
[0162] If the first execution status is determined to be in the execution state, the first execution status is sent to the server;
[0163] If the first execution state is determined to be either completed or not executed, the call status of the serial interface module for the first message is obtained.
[0164] If the call status is "completed" or "in progress", stop the serial interface module's call to the first message and delete the first message;
[0165] The second message is invoked to cause the processor to execute the second control instruction.
[0166] As an optional implementation, the second control instruction includes multiple stage commands, and the second message includes a third message; when the instruction type of the second control instruction is determined to be interruptible, and the second priority corresponding to the second control instruction is higher than the first priority corresponding to the first control instruction, the execution module 305 can be specifically used for:
[0167] Get the number of interrupts for the second control instruction;
[0168] If the interruption count is the first time, store the third message corresponding to the current stage command in the serial interface module and update the interruption count.
[0169] Invoke a third message to cause the processor to execute the current stage command;
[0170] After the execution of multiple stage commands is completed, the execution result of the second control instruction is obtained.
[0171] As an optional implementation, the second message also includes a fourth message, and the execution module 305 can also be specifically used for:
[0172] Clear the third message of the current stage command stored in the serial interface module;
[0173] After a preset delay period, the fourth message corresponding to the next stage command is stored.
[0174] In the serial interface module, the fourth message is invoked to cause the processor to execute the next stage command and update the interrupt count.
[0175] As an optional implementation, the first message further includes a first instruction type for characterizing the real-time nature of the first control instruction, and the second message further includes a second instruction type for characterizing the real-time nature of the second control instruction. The determining module 303 may specifically be used for:
[0176] When the first instruction type is determined to be a synchronous instruction, the first priority is higher than the second priority;
[0177] When the second instruction type is determined to be a synchronous instruction, the second priority is higher than the first priority.
[0178] As an optional implementation, the acquisition module 301 can be specifically used for:
[0179] The second control command is obtained from the cloud server. The second control command is a control command triggered in response to the user's operation on the control terminal.
[0180] As an optional implementation, the determining module 303 can be specifically used for:
[0181] Calculate the length of the second message identifier;
[0182] If the length value is greater than the preset length, a preset prompt message is transmitted to the server. The preset prompt message is used to indicate that the second control command has an error.
[0183] Figure 4 A schematic diagram of the hardware structure of the vehicle terminal provided in an embodiment of this application is shown.
[0184] The vehicle terminal may include a processor 401 and a memory 402 storing computer program instructions.
[0185] Specifically, the processor 401 may include a central processing unit (CPU), an application specific integrated circuit (ASIC), or one or more integrated circuits that can be configured to implement the embodiments of this application.
[0186] Memory 402 may include mass storage for data or instructions. For example, and not limitingly, memory 502 may include a hard disk drive (HDD), floppy disk drive, flash memory, optical disk, magneto-optical disk, magnetic tape, or Universal Serial Bus (USB) drive, or a combination of two or more of these. In one instance, memory 402 may include removable or non-removable (or fixed) media, or memory 402 may be non-volatile solid-state memory. Memory 402 may be internal or external to the integrated gateway disaster recovery device.
[0187] In one instance, memory 402 may be read-only memory (ROM). In one instance, the ROM may be a mask-programmed ROM, a programmable ROM (PROM), an erasable PROM (EPROM), an electrically erasable PROM (EEPROM), an electrically rewritable ROM (EAROM), or flash memory, or a combination of two or more of these.
[0188] Memory 402 may include read-only memory (ROM), random access memory (RAM), disk storage media device, optical storage media device, flash memory device, electrical, optical, or other physical / tangible memory storage device. Therefore, typically, memory includes one or more tangible (non-transitory) computer-readable storage media (e.g., memory devices) encoded with software including computer-executable instructions, and when the software is executed (e.g., by one or more processors), it is operable to perform the operations described with reference to the vehicle remote control method according to the first aspect of this disclosure.
[0189] The processor 401 reads and executes computer program instructions stored in the memory 402 to achieve... Figure 1 A vehicle remote control method is shown in the embodiment.
[0190] In one example, the vehicle terminal may also include a communication interface 403 and a bus 404. For example, Figure 4 As shown, the processor 401, memory 402, and communication interface 403 are connected through bus 404 and complete communication with each other.
[0191] The communication interface 403 is mainly used to realize communication between various modules, devices, units and / or equipment in the embodiments of this application.
[0192] Bus 404 includes hardware, software, or both, that couples components of an in-vehicle terminal together. For example, and not limitingly, the bus may include an Accelerated Graphics Port (AGP) or other graphics bus, an Extended Industry Standard Architecture (EISA) bus, a Front Side Bus (FSB), a Hyper Transport (HT) interconnect, an Industry Standard Architecture (ISA) bus, an Infinite Bandwidth Interconnect, a Low Pin Count (LPC) bus, a memory bus, a Microchannel Architecture (MCA) bus, a Peripheral Component Interconnect (PCI) bus, a PCI-Express (PCI-X) bus, a Serial Advanced Technology Attachment (SATA) bus, a Video Electronics Standards Association Local (VLB) bus, or other suitable buses, or combinations of two or more of these. Where appropriate, bus 404 may include one or more buses. Although specific buses are described and illustrated in embodiments of this application, this application contemplates any suitable bus or interconnect.
[0193] The vehicle-mounted terminal can execute the vehicle remote control method in the embodiments of this application, thereby achieving a combination of Figures 1-3 The described vehicle remote control method and apparatus.
[0194] Furthermore, in conjunction with the vehicle remote control methods in the above embodiments, this application embodiment can provide a computer storage medium for implementation. The computer storage medium stores computer program instructions; when these computer program instructions are executed by a processor, they implement any of the vehicle remote control methods in the above embodiments.
[0195] In an optional embodiment, in conjunction with the vehicle remote control method in the above embodiments, this application embodiment can provide a computer program product to implement it. The instructions in the computer program product are executed by the processor of the vehicle terminal, enabling the vehicle terminal to implement any of the vehicle remote control methods in the above embodiments.
[0196] It should be clarified that this application is not limited to the specific configurations and processes described above and shown in the figures. For the sake of brevity, detailed descriptions of known methods are omitted here. In the above embodiments, several specific steps are described and shown as examples. However, the method process of this application is not limited to the specific steps described and shown. Those skilled in the art can make various changes, modifications, and additions, or change the order of steps, after understanding the spirit of this application.
[0197] The functional blocks shown in the above block diagram can be implemented as hardware, software, firmware, or a combination thereof. When implemented in hardware, they can be, for example, electronic circuits, application-specific integrated circuits (ASICs), appropriate firmware, plug-ins, function cards, etc. When implemented in software, the elements of this application are programs or code segments used to perform the required tasks. Programs or code segments can be stored on a machine-readable medium or transmitted over a transmission medium or communication link via data signals carried on a carrier wave. "Machine-readable medium" can include any medium capable of storing or transmitting information. Examples of machine-readable media include electronic circuits, semiconductor memory devices, ROM, flash memory, erasable ROM (EROM), floppy disks, CD-ROMs, optical disks, hard disks, fiber optic media, radio frequency (RF) links, etc. Code segments can be downloaded via computer networks such as the Internet, intranets, etc.
[0198] It should also be noted that the exemplary embodiments mentioned in this application describe methods or systems based on a series of steps or apparatus. However, this application is not limited to the order of the above steps; that is, the steps can be performed in the order mentioned in the embodiments, or in a different order, or several steps can be performed simultaneously.
[0199] The aspects of this disclosure have been described above with reference to flowchart illustrations and / or block diagrams of methods, apparatus (systems), and computer program products according to embodiments of this disclosure. It should be understood that each block in the flowchart illustrations and / or block diagrams, and combinations of blocks in the flowchart illustrations and / or block diagrams, can be implemented by computer program instructions. These computer program instructions can be provided to a processor of a general-purpose computer, a special-purpose computer, or other programmable data processing apparatus to produce a machine such that these instructions, executable via the processor of the computer or other programmable data processing apparatus, enable the implementation of the functions / actions specified in one or more blocks of the flowchart illustrations and / or block diagrams. Such a processor can be, but is not limited to, a general-purpose processor, a special-purpose processor, a special application processor, or a field-programmable logic circuit. It is also understood that each block in the block diagrams and / or flowcharts, and combinations of blocks in the block diagrams and / or flowcharts, can also be implemented by special-purpose hardware performing the specified functions or actions, or can be implemented by a combination of special-purpose hardware and computer instructions.
[0200] The above are merely specific embodiments of this application. Those skilled in the art will clearly understand that, for the sake of convenience and brevity, the specific working processes of the systems, modules, and units described above can be referred to the corresponding processes in the foregoing method embodiments, and will not be repeated here. It should be understood that the protection scope of this application is not limited thereto. Any person skilled in the art can easily conceive of various equivalent modifications or substitutions within the technical scope disclosed in this application, and these modifications or substitutions should all be covered within the protection scope of this application.
Claims
1. A method for remote vehicle control, characterized in that, Applied to an in-vehicle terminal, the in-vehicle terminal includes a serial interface module and a processor, comprising: Obtain a first control instruction and a second control instruction, wherein the first control instruction is a control instruction that is being executed or received before the second control instruction is received; the first control instruction and the second control instruction are control instructions remotely issued by the user; The first control command and the second control command are parsed respectively to obtain the first message corresponding to the first control command and the second message corresponding to the second control command. Based on the first message and the second message, the priority of the first control command and the second control command is determined; If the second priority corresponding to the second control instruction is higher than the first priority corresponding to the first control instruction, the first control instruction is interrupted. Execute the second control instruction and obtain the execution result; The second control command includes multiple stage commands, and the second message includes a third message; When the instruction type of the second control instruction is determined to be interruptible, and the second priority corresponding to the second control instruction is higher than the first priority corresponding to the first control instruction, executing the second control instruction includes: Obtain the number of interrupts for the second control instruction; If the interruption count is the first time, the third message corresponding to the current stage command is stored in the serial interface module, and the interruption count is updated. The third message is invoked to cause the processor to execute the current stage command; After the execution of the multiple stage commands is completed, the execution result of the second control instruction is obtained.
2. The method according to claim 1, characterized in that, The vehicle-mounted terminal includes an Internet of Things module, a serial interface module, and a processor. The first message includes a first message identifier number, and the second message includes a second message identifier number. Determining the priority of the first control command and the second control command based on the first message and the second message includes: Obtain the communication types between the IoT module and the serial interface module and the processor, respectively; When the communication type is CAN bus, the first value of the first message identifier and the second value of the second message identifier are determined respectively. If the second value is less than the first value, the second priority is determined to be higher than the first priority; If the second value is greater than the first value, the second priority is determined to be lower than the first priority.
3. The method according to claim 2, characterized in that, The second message also includes an instruction type for characterizing the second control instruction. Before determining the priority of the first control instruction and the second control instruction based on the first message and the second message, the method further includes: Determine whether the instruction type of the second control instruction is an uninterruptible type; If the instruction type of the second control instruction is uninterruptible, obtain the first status identifier of the first control instruction; Based on the first status identifier, the first execution state of the first control instruction is determined; If the first execution status is determined to be in the execution state, the first execution status is sent to the server; If the first execution state is determined to be either completed or not executed, the call status of the serial interface module to the first message is obtained. If the call status is "completed" or "in progress", stop the serial interface module's call to the first message and delete the first message; The second message is invoked to cause the processor to execute the second control instruction; If the instruction type of the second control instruction is interruptible, the step of determining the priority of the first control instruction and the second control instruction based on the first message and the second message is executed.
4. The method according to claim 1, characterized in that, The second message also includes a fourth message, and if the interruption count is not the first time, the method further includes: Clear the third message of the current stage command stored in the serial interface module; After a preset delay period, the fourth message corresponding to the next stage command is stored. In the serial interface module, a fourth message is invoked to cause the processor to execute the next-stage command and update the interrupt count.
5. The method according to claim 2, characterized in that, The first message further includes a first instruction type for characterizing the real-time nature of the first control instruction, and the second message further includes a second instruction type for characterizing the real-time nature of the second control instruction. The step of determining the priority of the first control instruction and the second control instruction based on the first message and the second message further includes: If the first instruction type is determined to be a synchronous instruction, the first priority is higher than the second priority; When the second instruction type is determined to be a synchronous instruction, the second priority is higher than the first priority.
6. The method according to claim 1, characterized in that, Acquire second control commands, including: The second control command is obtained from the cloud server. The second control command is a control command triggered in response to the user's operation on the control terminal.
7. A vehicle remote control device, characterized in that, The device includes: The acquisition module is used to acquire a first control instruction and a second control instruction, wherein the first control instruction is a control instruction that is being executed or received before the second control instruction is received; the first control instruction and the second control instruction are control instructions remotely issued by the user; The parsing module is used to parse the first control instruction and the second control instruction respectively to obtain the first message corresponding to the first control instruction and the second message corresponding to the second control instruction; The determining module is used to determine the priority of the first control command and the second control command based on the first message and the second message; An interrupt module is used to interrupt the first control instruction when the second priority corresponding to the second control instruction is higher than the first priority corresponding to the first control instruction. The execution module is used to execute the second control instruction and obtain the execution result; The second control command includes multiple stage commands, and the second message includes a third message; When the instruction type of the second control instruction is determined to be interruptible, and the second priority corresponding to the second control instruction is higher than the first priority corresponding to the first control instruction, executing the second control instruction includes: Obtain the number of interrupts for the second control instruction; If the interruption count is the first time, the third message corresponding to the current stage command is stored in the serial interface module of the vehicle terminal, and the interruption count is updated. The third message is invoked to cause the processor of the vehicle terminal to execute the current stage command; After the execution of the multiple stage commands is completed, the execution result of the second control instruction is obtained.
8. A vehicle-mounted terminal, characterized in that, The vehicle-mounted terminal includes: a processor and a memory storing computer program instructions; When the processor executes the computer program instructions, it implements the vehicle remote control method as described in any one of claims 1-6.
9. A computer-readable storage medium, characterized in that, The computer-readable storage medium stores computer program instructions, which, when executed by a processor, implement the vehicle remote control method as described in any one of claims 1-6.
10. A computer program product, characterized in that, When the instructions in the computer program product are executed by the processor of the vehicle terminal, the vehicle terminal performs the vehicle remote control method as described in any one of claims 1-6.
Citation Information
Patent Citations
Instruction processing method of vehicle
CN108710506A
Hardware interface signal generation method and device and electronic equipment
CN116848519A