Detailed Description
For the purpose of making the objects, technical solutions and advantages of the embodiments of the present application more apparent, the technical solutions of the embodiments of the present application will be clearly and completely described below with reference to the accompanying drawings in the embodiments of the present application, and it should be understood that the detailed description described herein is merely for illustrating and explaining the embodiments of the present application, and is not intended to limit the embodiments of the present application. All other embodiments, which can be made by those skilled in the art based on the embodiments of the application without making any inventive effort, are intended to be within the scope of the application.
It should be noted that, if directional indications (such as up, down, left, right, front, and rear are referred to in the embodiments of the present invention), the directional indications are merely used to explain the relative positional relationship, movement conditions, and the like between the components in a specific posture (as shown in the drawings), and if the specific posture is changed, the directional indications are correspondingly changed.
In addition, if there is a description of "first", "second", etc. in the embodiments of the present application, the description of "first", "second", etc. is for descriptive purposes only and is not to be construed as indicating or implying a relative importance or implicitly indicating the number of technical features indicated. Thus, a feature defining "a first" or "a second" may explicitly or implicitly include at least one such feature. In addition, the technical solutions of the embodiments may be combined with each other, but it is necessary to base that the technical solutions can be realized by those skilled in the art, and when the technical solutions are contradictory or cannot be realized, the combination of the technical solutions should be considered to be absent and not within the scope of protection claimed in the present application.
Fig. 1 is a flowchart of a control method for performing an auxiliary action by a construction machine according to an embodiment of the present invention, where the control method is applied to a mobile client. Referring to fig. 1, the control method may include the steps of:
step S110, a public key issued by a third party platform is obtained, and a request message encrypted by the public key is sent to a vehicle-mounted terminal, wherein the request message is used for requesting an encryption algorithm and a secret key.
Referring to the example of fig. 2, the third party platform is, for example, a device management platform. When a vehicle (e.g., a crawler crane) leaves a factory, a registration request (the request message may include device information of the vehicle) may be sent to a device management platform, the device management platform may generate an associated public key and private key according to the device information of the vehicle, and the device management platform may manage the public key and private key, issue the public key to a mobile client (e.g., an APP), and issue the private key to the vehicle (e.g., a gateway for network connection) for storage.
Preferably, after the public key issued by the third party platform is obtained, the control method further comprises searching the network address of the vehicle-mounted terminal, and after the network address is searched, obtaining the network name and the network password input by the user to form the request message. Preferably, the request message is further used for requesting the vehicle-mounted terminal to perform authority verification by using the network name and the network password input by the user.
Referring to fig. 3, for illustration, a network name (e.g., WIFI name) and a network password are set at the vehicle-mounted terminal, and a hotspot is opened, and after the hotspot is successfully opened, the vehicle-mounted terminal may automatically start a socket server program and wait for connection. After the socket is successfully started, the on-board screen may display the network address (i.e., the current IP address). The mobile client (for example, the APP end) can set up a page of WIFI through opening the system, and can connect to the corresponding WIFI through searching for initiative. And after the connection is successful, returning to the APP to input the correct IP address, clicking a connection button to initiate a connection request. The request message includes a network name and a network password input by the user, so as to provide authority verification (i.e. authentication) for the vehicle end. For example, the network name and the network password input by the user are the same as the network name and the network password set by the vehicle-mounted terminal, namely, the authentication is passed (authentication is successful), otherwise, the authentication is failed (namely, the authentication is failed).
Correspondingly, the vehicle-mounted terminal establishes temporary socket connection, issues authentication information and sends encrypted equipment identity information to the APP terminal. Comparing and authenticating the encrypted information in the APP terminal through a corresponding decryption process, if the encrypted information is consistent, maintaining connection, entering a 'safe encryption communication link', and if the encrypted information is failed to be authenticated, actively disconnecting the APP terminal, prompting to display 'connection is refused', and checking whether the connected WIFI name is consistent with a target vehicle type or not. The mobile client and the vehicle terminal in the embodiment of the invention are configured to be in one-to-one network connection, and after the vehicle terminal is connected with one mobile client, communication connection is not generated with other mobile clients.
And step S120, receiving a response message from the vehicle-mounted terminal in response to the request message, and decrypting the response message by utilizing the public key to obtain the encryption algorithm and the secret key, wherein the response message is encrypted by the private key of the vehicle-mounted terminal.
Preferably, the control method further comprises the steps of encrypting the request message and the response message in an asymmetric encryption mode and encrypting the control instruction in a symmetric encryption mode.
Referring to fig. 2, when a mobile client requests to communicate with a vehicle, encryption of a request message and a response message is performed by an asymmetric encryption method, and when communication with the vehicle is performed, a symmetric encryption method is adopted. Therefore, the embodiment of the invention can reasonably utilize the asymmetric encryption mode and the symmetric encryption mode so as to improve the safety of communication.
Referring to fig. 2, after the vehicle end verifies the mobile client, the mobile client receives a response message, which is encrypted by the private key of the vehicle end, and decrypts the response message by using the public key. That is, the encryption of the request message and the response message is an asymmetric encryption method, and the algorithm of the asymmetric encryption method includes, for example, algorithms such as RSA, DSA, and ECC. After decrypting the response message, an encryption algorithm and a secret key can be obtained, and the algorithm of the symmetrical encryption mode comprises, for example, algorithms such as DES, 3DES, AES and the like. At this time, the mobile client may obtain the encryption algorithm and the key selected by the vehicle side, and establish encrypted communication between the vehicle side and the mobile client.
And step S130, encrypting the control instruction which is input by the user and used for executing the auxiliary action based on the encryption algorithm and the secret key.
Wherein the control command may include setting one or more of a rotational speed of the engine, a speed of left and right walking, and a direction. For example, when the user sets full-speed forward, the engine speed is set to 1600rpm, the left traveling speed is set to 100%, the direction is forward, the right traveling speed is set to 100%, the direction is forward, the engine speed is set to 1600rpm, the left traveling speed is set to 100%, the direction is backward, the right traveling speed is set to 100%, the direction is backward, the engine speed is set to 1200rpm, the left traveling speed is set to 80%, the direction is forward, the right traveling speed 0, the direction is not, the full-speed steering (for example, the engine speed is set to 1600rpm, the left traveling speed is set to 100%, the direction is forward, the right traveling speed is set to 100%, the direction is backward, the engine speed is set to 800rpm, the left traveling speed is set to 30%, the direction is forward, the right traveling speed is set to 0%, the direction is not, the engine speed is set to 750rpm (idle state) when the vehicle is in normal steering (for example, the left traveling speed is set to 80%, the direction is forward, the right traveling speed 0%, the direction is not set to 0%, and the direction is not set to idle).
Referring to the examples of fig. 2 and 3, one or more of the control instructions described above are encrypted based on a resulting encryption algorithm (e.g., one of DES, 3DES, and AES algorithm encryption) and a key. Wherein each communication with the vehicle end may send one or more control instructions encrypted.
Further preferably, when the control instruction for executing the auxiliary action input by the user is encrypted, the random signatures are different, so that the communication security is further improved.
And step 140, sending an encrypted control instruction to the vehicle-mounted end to control the engineering machinery to execute corresponding auxiliary actions.
In the above example, the mobile client sends the encrypted control command to the vehicle-mounted terminal, and the vehicle-mounted terminal receives the encrypted control command, decrypts the encrypted control command through a decryption algorithm and a secret key corresponding to the confidential algorithm, and controls the engineering machinery (for example, a crawler crane) to execute corresponding auxiliary actions after obtaining the decrypted control command. For example, the vehicle-mounted terminal converts the decrypted control instruction into a CAN signal, and transmits the corresponding parameter to a master controller of the engineering machinery through a CAN bus, and the master controller respectively controls the corresponding action controllers to execute corresponding auxiliary actions.
Referring to fig. 2 and 3, after the mobile client and the vehicle end complete the encryption pass, the mobile client may send communication end information to disconnect the network from the vehicle end, and the vehicle end may end the socket server program.
Therefore, when the mobile client side and the vehicle side carry out communication requests, the encryption of the request message and the response message is carried out in an asymmetric encryption mode, and when the mobile client side and the vehicle side carry out communication, the symmetric encryption mode is adopted, and the asymmetric encryption mode and the symmetric encryption mode are reasonably utilized, so that the safety of communication is improved. The two ends communicate by encrypting control instructions in a symmetrical encryption mode, and the key of the symmetrical encryption mode is that the key and the encryption algorithm are selected in an asymmetrical encryption mode, and the two ends are randomly negotiated and determined without exposure. Therefore, the embodiment of the invention can be safe and efficient in the transmission process of the control instruction. In addition, the embodiment of the invention further improves the safety by the mode that the mobile client holds the public key and the vehicle holds the private key, and is simultaneously applicable to network communication control of the traditional engineering machinery and the new energy engineering machinery.
Further, the embodiment of the invention realizes the dynamic encryption of the communication between the mobile client and the vehicle-mounted terminal based on one-to-one network connection with authority verification, random signature and variable encryption algorithm. The embodiment of the invention abandons a mode of depending on time stamp encryption, has wider application scene, does not need to consider a time synchronization mechanism, and is more suitable for equipment with inaccurate time and failure to frequently check the time in a networking way. Meanwhile, the dynamic encryption mode is also a good choice for equipment with time proofreading due to the strict logic, high security degree and no other limitation of the encrypted communication. Compared with the method that a driver directly controls the crawler crane to walk in a cab, the method has the advantages that the driver needs to be equipped with the observer to guarantee safety sideways, the driver directly stands around beside the vehicle to observe, the control can be more direct and efficient at any time, and the observer does not need to be cultivated. Compared with the traditional physical remote controller, the mobile client can be used with APP software at any time, so that the software can be updated at any time, and the later maintenance cost is greatly reduced. And the mobile client improves the space in the aspect of using convenience and has higher iteration speed through continuous optimization and updating of interaction on the interface. Meanwhile, compared with 443 radio frequency technology, the WIFI technology has more advantages in the aspect of safety.
Fig. 4 is a flowchart of a control method for executing an auxiliary action according to an embodiment of the present invention, where the control method is applied to a vehicle-mounted terminal. Referring to fig. 4, the control method may include the steps of:
step S210, a request message sent by a mobile client for requesting an encryption algorithm and a secret key is obtained, wherein the request message is encrypted through a public key of the mobile client.
Preferably, before step S210, the control method may further include sending a registration request to the third party platform, where the registration request is used to request the third party platform to generate the public key and the private key associated with each other according to the device information of the vehicle end, and after the registration is successful, receiving the private key.
Referring to the example of fig. 2, the third party platform is, for example, a device management platform. When a vehicle (e.g., a crawler crane) leaves a factory, a registration request (the request message may include device information of the vehicle) may be sent to a device management platform, the device management platform may generate an associated public key and private key according to the device information of the vehicle, and the device management platform may manage the public key and private key, issue the public key to a mobile client (e.g., an APP), and issue the private key to the vehicle (e.g., a gateway for network connection) for storage.
Referring to fig. 3, for illustration, a network name (e.g., WIFI name) and a network password are set at the vehicle-mounted terminal, and a hotspot is opened, and after the hotspot is successfully opened, the vehicle-mounted terminal may automatically start a socket server program and wait for connection. After the socket is successfully started, the on-board screen may display the network address (i.e., the current IP address). The mobile client (for example, the APP end) can set up a page of WIFI through opening the system, and can connect to the corresponding WIFI through searching for initiative. And after the connection is successful, returning to the APP to input the correct IP address, clicking a connection button to initiate a connection request. The request message includes a network name and a network password input by the user, so as to provide authority verification (i.e. authentication) for the vehicle end.
And step S220, responding to the request message, and after decrypting the request message by utilizing a private key issued by a third-party platform, sending a response message which is encrypted by utilizing the private key and comprises an encryption algorithm and a secret key to the mobile client.
Preferably, after the request message is decrypted by using the private key issued by the third party platform, the control method further comprises the steps of obtaining a network name and a network password input by a user from the request message, performing authority verification on the mobile client by using the network name and the network password input by the user, and executing the step of sending the response message encrypted by using the private key and comprising an encryption algorithm and a secret key to the mobile client after the authority verification is successful.
With the above example, the network name and the network password input by the user are the same as the network name and the network password set by the vehicle-mounted terminal, i.e. the authentication is passed (authentication is successful), otherwise, the authentication is failed (i.e. authentication is failed). Correspondingly, the vehicle-mounted terminal establishes temporary socket connection, issues authentication information and sends encrypted equipment identity information to the APP terminal. Comparing and authenticating the encrypted information in the APP terminal through a corresponding decryption process, if the encrypted information is consistent, maintaining connection, entering a 'safe encryption communication link', and if the encrypted information is failed to be authenticated, actively disconnecting the APP terminal, prompting to display 'connection is refused', and checking whether the connected WIFI name is consistent with a target vehicle type or not. The mobile client and the vehicle terminal in the embodiment of the invention are configured to be in one-to-one network connection, and after the vehicle terminal is connected with one mobile client, communication connection is not generated with other mobile clients.
Preferably, the control method further comprises the steps of encrypting the request message and the response message in an asymmetric encryption mode and encrypting the control instruction in a symmetric encryption mode.
Referring to fig. 2, when a mobile client requests to communicate with a vehicle, encryption of a request message and a response message is performed by an asymmetric encryption method, and when communication with the vehicle is performed, a symmetric encryption method is adopted. Therefore, the embodiment of the invention can reasonably utilize the asymmetric encryption mode and the symmetric encryption mode so as to improve the safety of communication.
Referring to fig. 2, after the vehicle end verifies the mobile client, the vehicle end may randomly select an encryption algorithm and a key, encrypt the key to form a response message, send the response message to the mobile client, where the response message is encrypted by a private key of the vehicle end, and decrypt the response message by using a public key. That is, the encryption of the request message and the response message is an asymmetric encryption method, and the algorithm of the asymmetric encryption method includes, for example, algorithms such as RSA, DSA, and ECC. After decrypting the response message, the mobile client may obtain an encryption algorithm and a key, where the algorithm in the symmetric encryption mode includes, for example, DES, 3DES, AES, and other algorithms. At this time, the mobile client may obtain the encryption algorithm and the key selected by the vehicle side, and establish encrypted communication between the vehicle side and the mobile client.
And step S230, receiving a control instruction of the mobile client for executing auxiliary actions based on the encryption algorithm and the key encryption.
The control command may include one or more of setting a rotation speed of the engine, a speed of left and right walking, and a direction, as described above, which will not be repeated here.
Referring to the examples of fig. 2 and 3, the mobile client may encrypt one or more control instructions based on a resulting encryption algorithm (e.g., one of DES, 3DES, and AES algorithm encryption) and a key. Wherein each communication of the mobile client with the vehicle may send one or more control instructions encrypted.
Further preferably, when the control instruction for executing the auxiliary action input by the user is encrypted, the random signatures are different, so that the communication security is further improved.
And step S240, decrypting the encrypted control instruction based on a decryption method corresponding to the encryption method and the private key to obtain a decrypted control instruction so as to control the execution of the corresponding auxiliary action.
In the above example, the vehicle-mounted terminal receives the encrypted control command and decrypts the encrypted control command by a decryption algorithm and a secret key corresponding to the confidential algorithm, after the decrypted control command is obtained, the engineering machine (for example, a crawler crane) is controlled to execute corresponding auxiliary actions. For example, the vehicle-mounted terminal converts the decrypted control instruction into a CAN signal, and transmits the corresponding parameter to a master controller of the engineering machinery through a CAN bus, and the master controller respectively controls the corresponding action controllers to execute corresponding auxiliary actions.
Referring to fig. 2 and 3, after the mobile client and the vehicle end complete the encryption pass, the mobile client may send communication end information to disconnect the network from the vehicle end, and the vehicle end may end the socket server program.
Therefore, when the mobile client side and the vehicle side carry out communication requests, the encryption of the request message and the response message is carried out in an asymmetric encryption mode, and when the mobile client side and the vehicle side carry out communication, the symmetric encryption mode is adopted, and the asymmetric encryption mode and the symmetric encryption mode are reasonably utilized, so that the safety of communication is improved. The two ends communicate by encrypting control instructions in a symmetrical encryption mode, and the key of the symmetrical encryption mode is that the key and the encryption algorithm are selected in an asymmetrical encryption mode, and the two ends are randomly negotiated and determined without exposure. Therefore, the embodiment of the invention can be safe and efficient in the transmission process of the control instruction. In addition, the embodiment of the invention further improves the safety by the mode that the mobile client holds the public key and the vehicle holds the private key, and is simultaneously applicable to network communication control of the traditional engineering machinery and the new energy engineering machinery.
Further, the embodiment of the invention realizes the dynamic encryption of the communication between the mobile client and the vehicle-mounted terminal based on one-to-one network connection with authority verification, random signature and variable encryption algorithm. The embodiment of the invention abandons a mode of depending on time stamp encryption, has wider application scene, does not need to consider a time synchronization mechanism, and is more suitable for equipment with inaccurate time and failure to frequently check the time in a networking way. Meanwhile, the dynamic encryption mode is also a good choice for equipment with time proofreading due to the strict logic, high security degree and no other limitation of the encrypted communication. Compared with the method that a driver directly controls the crawler crane to walk in a cab, the method has the advantages that the driver needs to be equipped with the observer to guarantee safety sideways, the driver directly stands around beside the vehicle to observe, the control can be more direct and efficient at any time, and the observer does not need to be cultivated. Compared with the traditional physical remote controller, the mobile client can be used with APP software at any time, so that the software can be updated at any time, and the later maintenance cost is greatly reduced. And the mobile client improves the space in the aspect of using convenience and has higher iteration speed through continuous optimization and updating of interaction on the interface. Meanwhile, compared with 443 radio frequency technology, the WIFI technology has more advantages in the aspect of safety.
The embodiment of the invention also provides a mobile client, which can comprise a memory and a processor, wherein the memory is configured to store instructions, and the processor is configured to call the instructions from the memory and can realize the control method for executing auxiliary actions of the engineering machinery according to the instructions when executing the instructions.
The embodiment of the invention also provides a vehicle-mounted terminal which comprises a memory and a processor, wherein the memory is configured to store instructions, and the processor is configured to call the instructions from the memory and can realize the control method for executing auxiliary actions when executing the instructions.
The embodiment of the invention also provides a machine-readable storage medium, which stores instructions for causing a machine to execute the control method for performing the auxiliary action or the control method for performing the auxiliary action.
The embodiment of the invention also provides the engineering machine, which comprises the vehicle-mounted end and can be a fuel engineering machine and/or a new energy engineering machine. The new energy engineering machinery can comprise a new energy operation vehicle, a new energy passenger car and the like, and the driving mode of the new energy engineering machinery can comprise pure electric, extended-range electric, hybrid power, fuel cell electric and hydrogen power.
The new energy engineering machinery is an intelligent networking combined operation vehicle, can be provided with devices such as a vehicle-mounted sensor, a controller and an actuator, integrates modern communication and network technology, and realizes intelligent information exchange sharing of vehicles, people, vehicles, roads, background and the like. The new energy engineering machine may include a full electric work vehicle, an extended range electric work vehicle, a hybrid work vehicle, a fuel cell electric work vehicle, a hydrogen engine work vehicle, and the like.
The embodiment of the invention also provides a control system of the engineering machinery, which comprises the mobile client, the vehicle-mounted terminal and the third-party platform.
It will be appreciated by those skilled in the art that embodiments of the present application may be provided as a method, system, or computer program product. Accordingly, the present application may take the form of an entirely hardware embodiment, an entirely software embodiment or an embodiment combining software and hardware aspects. Furthermore, the present application may take the form of a computer program product embodied on one or more computer-usable storage media (including, but not limited to, disk storage, CD-ROM, optical storage, and the like) having computer-usable program code embodied therein.
The present application is described with reference to flowchart illustrations and/or block diagrams of methods, apparatus (systems), computer program products according to embodiments of the application. It will be understood that each flow and/or block of the flowchart illustrations and/or block diagrams, and combinations of flows and/or blocks in the flowchart illustrations and/or block diagrams, can be implemented by computer program instructions. These computer program instructions may be provided to a processor of a general purpose computer, special purpose computer, embedded processor, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, create means for implementing the functions specified in the flowchart flow or flows and/or block diagram block or blocks.
These computer program instructions may also be stored in a computer-readable memory that can direct a computer or other programmable data processing apparatus to function in a particular manner, such that the instructions stored in the computer-readable memory produce an article of manufacture including instruction means which implement the function specified in the flowchart flow or flows and/or block diagram block or blocks.
These computer program instructions may also be loaded onto a computer or other programmable data processing apparatus to cause a series of operational steps to be performed on the computer or other programmable apparatus to produce a computer implemented process such that the instructions which execute on the computer or other programmable apparatus provide steps for implementing the functions specified in the flowchart flow or flows and/or block diagram block or blocks.
In one typical configuration, a computing device includes one or more processors (CPUs), input/output interfaces, network interfaces, and memory.
The memory may include volatile memory in a computer-readable medium, random Access Memory (RAM) and/or nonvolatile memory, etc., such as Read Only Memory (ROM) or flash RAM. Memory is an example of a computer-readable medium.
Computer readable media, including both non-transitory and non-transitory, removable and non-removable media, may implement information storage by any method or technology. The information may be computer readable instructions, data structures, modules of a program, or other data. Examples of storage media for a computer include, but are not limited to, phase change memory (PRAM), static Random Access Memory (SRAM), dynamic Random Access Memory (DRAM), other types of Random Access Memory (RAM), read Only Memory (ROM), electrically Erasable Programmable Read Only Memory (EEPROM), flash memory or other memory technology, compact disc read only memory (CD-ROM), digital Versatile Disks (DVD) or other optical storage, magnetic cassettes, magnetic disk storage or other magnetic storage devices, or any other non-transmission medium which can be used to store information that can be accessed by a computing device. Computer-readable media, as defined herein, does not include transitory computer-readable media (transmission media), such as modulated data signals and carrier waves.
It should also be noted that the terms "comprises," "comprising," or any other variation thereof, are intended to cover a non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements does not include only those elements but may include other elements not expressly listed or inherent to such process, method, article, or apparatus. Without further limitation, an element defined by the phrase "comprising one does not exclude the presence of other like elements in a process, method, article, or apparatus that comprises an element.
The foregoing is merely exemplary of the present application and is not intended to limit the present application. Various modifications and variations of the present application will be apparent to those skilled in the art. Any modification, equivalent replacement, improvement, etc. which come within the spirit and principles of the application are to be included in the scope of the claims of the present application.