Method, device and equipment for remote diagnosis and storage medium

By using the MQTT protocol and serialization operation, remote diagnosis of vehicles is realized, the problem of insufficient convenience and safety of traditional diagnostic equipment is solved, and the convenience and safety of remote diagnosis is improved.

CN120295261APending Publication Date: 2025-07-11RUILIAN XINGCHEN (BEIJING) TECH CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202410005618.0
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-01-02
Publication Date
2025-07-11

AI Technical Summary

Technical Problem

传统车辆故障诊断设备通过有线连接进行通信,存在便捷性和安全性较差的问题,难以实现方便快捷的远程诊断。

Method used

The diagnostic data is encapsulated and decapsulated by the Message Queue Telemetry Transmission (MQTT) protocol, and the remote diagnostic data transmission and processing are realized through serialization and deserialization operations.

Benefits of technology

Remote diagnosis of vehicles is realized, the convenience and safety of diagnosis are improved, and the safety of remote diagnosis is improved through predefined diagnostic markings and command processing.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120295261A_ABST
    Figure CN120295261A_ABST
Patent Text Reader

Abstract

The embodiment of the invention provides a remote diagnosis method and device, equipment and a storage medium. The remote diagnosis method comprises the steps that first equipment generates diagnosis data by executing serialization operation on at least one diagnosis command and a corresponding diagnosis identifier associated with the at least one diagnosis command; packaging the diagnostic data based on a message queue telemetry transmission (MQTT) protocol; and sending the diagnosis data packaged by the MQTT protocol to the second equipment. In this way, the vehicle can be remotely diagnosed conveniently and quickly. In addition, the diagnosis command is processed through the predefined diagnosis identifier, the diagnosis command, the MQTT protocol and the like, so that the safety of remote diagnosis can be improved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] Example embodiments of the present disclosure generally relate to the field of computers, and in particular, to methods, devices, equipment, and computer-readable storage media for remote diagnosis. Background Art

[0002] With the continuous development of social economy and vehicle technology, vehicles have become an essential means of transportation in people's lives. To ensure driving safety, it is necessary to regularly perform fault diagnosis on vehicles (which can also be called automotive fault diagnosis). Automotive fault diagnosis refers to the detection, analysis, and judgment carried out to determine the technical condition of a vehicle, identify the location and cause of a fault, when the vehicle has potential faults, its technical condition deteriorates, or it has partially or completely lost its working ability, without disassembling the vehicle (or only removing a few small parts). Summary of the Invention

[0003] In a first aspect of the present disclosure, a remote diagnosis method is provided. The method includes: a first device generating diagnostic data by performing a serialization operation on at least one diagnostic command and corresponding diagnostic identifiers associated with the at least one diagnostic command; performing an encapsulation operation on the diagnostic data based on the Message Queuing Telemetry Transport (MQTT) protocol; and sending the diagnostic data encapsulated by the MQTT protocol to a second device.

[0004] In a second aspect of the present disclosure, a remote diagnosis method is provided. The method includes: a second device receiving the diagnostic data encapsulated by the Message Queuing Telemetry Transport (MQTT) protocol from the first device; obtaining the diagnostic data by performing a de-encapsulation operation on the encapsulated diagnostic data; determining at least one diagnostic command and corresponding diagnostic identifiers associated with the at least one diagnostic command by performing a deserialization operation on the diagnostic data; and performing a diagnostic operation based on the at least one diagnostic command in response to the corresponding diagnostic identifiers meeting a predetermined value.

[0005] In a third aspect of the present disclosure, a device for remote diagnosis is provided. The device includes: a data generation module configured to generate diagnostic data by performing a serialization operation on at least one diagnostic command and corresponding diagnostic identifiers associated with the at least one diagnostic command; a data encapsulation module configured to perform an encapsulation operation on the diagnostic data based on the Message Queuing Telemetry Transport (MQTT) protocol; and a data sending module configured to send the diagnostic data encapsulated by the MQTT protocol to a second device.

[0006] In a fourth aspect of the present disclosure, there is provided a device for remote diagnosis. The device includes: a data receiving module configured to receive diagnostic data encapsulated by the Message Queuing Telemetry Transport (MQTT) protocol from a first device; a de-encapsulation module configured to obtain the diagnostic data by performing a de-encapsulation operation on the encapsulated diagnostic data; a deserialization module configured to determine at least one diagnostic command and corresponding diagnostic identifiers associated with the at least one diagnostic command by performing a deserialization operation on the diagnostic data; and a diagnostic execution module configured to perform a diagnostic operation based on the at least one diagnostic command in response to the corresponding diagnostic identifiers meeting a predetermined value.

[0007] In a fifth aspect of the present disclosure, there is provided an electronic device. The device includes at least one processing unit; and at least one memory coupled to the at least one processing unit and storing instructions for execution by the at least one processing unit. The instructions, when executed by the at least one processing unit, cause the device to perform the method of the first aspect or the method of the second aspect.

[0008] In a sixth aspect of the present disclosure, there is provided a computer-readable storage medium. A computer program is stored on the computer-readable storage medium and can be executed by a processor to implement the method of the first aspect or the method of the second aspect.

[0009] It should be understood that the content described in the present invention content section is not intended to limit the key features or important features of the embodiments of the present disclosure, nor is it used to limit the scope of the present disclosure. Other features of the present disclosure will become easily understood through the following description. BRIEF DESCRIPTION OF THE DRAWINGS

[0010] In conjunction with the accompanying drawings and with reference to the following detailed description, the above and other features, advantages, and aspects of the embodiments of the present disclosure will become more apparent. In the drawings, the same or similar reference numerals represent the same or similar elements, where:

[0011] Figure 1 A schematic diagram showing an example environment in which the embodiments of the present disclosure can be implemented;

[0012] Figure 2 A flowchart showing the information flow for remote diagnosis according to some embodiments of the present disclosure;

[0013] Figure 3 A schematic diagram showing an example framework for remote diagnosis according to some embodiments of the present disclosure;

[0014] Figure 4 A flowchart showing the process of remote diagnosis according to some embodiments of the present disclosure;

[0015] Figure 5A flowchart showing the process of remote diagnosis according to some embodiments of the present disclosure;

[0016] Figure 6 A schematic structural block diagram of a device for remote diagnosis according to some embodiments of the present disclosure;

[0017] Figure 7 A schematic structural block diagram of a device for remote diagnosis according to some embodiments of the present disclosure; and

[0018] Figure 8 A block diagram of an electronic device in which one or more embodiments of the present disclosure can be implemented. Detailed Description of Specific Embodiments

[0019] Embodiments of the present disclosure will be described in more detail below with reference to the accompanying drawings. Although some embodiments of the present disclosure are shown in the drawings, it should be understood that the present disclosure can be implemented in various forms and should not be construed as limited to the embodiments set forth herein. On the contrary, these embodiments are provided to more thoroughly and completely understand the present disclosure. It should be understood that the drawings and embodiments of the present disclosure are for illustrative purposes only and are not intended to limit the scope of protection of the present disclosure.

[0020] It should be noted that the titles of any sections / subsections provided herein are not restrictive. Various embodiments are described throughout this document, and any type of embodiment can be included under any section / subsection. Additionally, the embodiments described in any section / subsection can be combined with any other embodiments described in the same section / subsection and / or different sections / subsections in any manner.

[0021] In the description of the embodiments of the present disclosure, the term "including" and its like should be understood as open inclusion, that is, "including but not limited to". The term "based on" should be understood as "at least partially based on". The term "one embodiment" or "the embodiment" should be understood as "at least one embodiment". The term "some embodiments" should be understood as "at least some embodiments". There may also be other explicit and implicit definitions hereinafter. The terms "first", "second", etc. may refer to different or the same objects. There may also be other explicit and implicit definitions hereinafter.

[0022] The term "responsive to" means that the corresponding event occurs or the condition is satisfied. It will be understood that the execution timing of the subsequent action executed in response to the event or condition and the time when the event occurs or the condition is satisfied are not necessarily strongly correlated. In some cases, the subsequent action can be executed immediately when the event occurs or the condition is established; in other cases, the subsequent action can also be executed after a period of time after the event occurs or the condition is established.

[0023] Embodiments of the present disclosure may involve user data, data acquisition and / or use, etc. All these aspects comply with corresponding laws, regulations and related provisions. In the embodiments of the present disclosure, the collection, acquisition, processing, processing, forwarding, use, etc. of all data are carried out on the premise that the user is aware and has confirmed. Correspondingly, when implementing the embodiments of the present disclosure, the types, usage scopes, usage scenarios, etc. of the data or information that may be involved should be informed to the user and the user's authorization should be obtained through appropriate means in accordance with relevant laws and regulations. The specific notification and / or authorization methods may vary according to the actual situation and application scenarios, and the scope of the present disclosure is not limited in this regard.

[0024] In the solutions described in this specification and the embodiments, if personal information processing is involved, it will be processed on the premise of having a legal basis (such as obtaining the consent of the personal information subject, or being necessary for performing a contract, etc.), and will only be processed within the specified or agreed scope. If the user refuses to process personal information other than the necessary information required for the basic functions, it will not affect the user's use of the basic functions.

[0025] As discussed above, with the continuous development of social economy and vehicle technology, vehicles have become an essential transportation device in people's lives. To ensure driving safety, it is necessary to perform fault diagnosis on vehicles regularly. Traditionally, general or special instrument devices (which can also be called diagnostic devices) are often used to perform fault diagnosis on vehicles. Such diagnostic devices and vehicles can be connected by wire. After connection, the diagnostic device can communicate with the vehicle's electronic control unit (ECU), read and analyze the fault codes and sensor data stored in the ECU. The diagnostic device can then send a diagnostic command to the vehicle and obtain the diagnostic information of the ECU. Such fault diagnosis has problems of poor convenience and safety. It is expected that remote diagnosis of vehicles can be carried out conveniently and quickly to ensure driving safety.

[0026] In view of this, embodiments of the present disclosure provide a remote diagnosis method. The method includes: the first device generates diagnostic data by performing a serialization operation on at least one diagnostic command and the corresponding diagnostic identifier associated with at least one diagnostic command. The first device encapsulates the diagnostic data based on the Message Queuing Telemetry Transport (MQTT) protocol and sends the diagnostic data encapsulated by the MQTT protocol to the second device. The second device receives the diagnostic data encapsulated by the MQTT protocol sent by the first device. The second device obtains the diagnostic data by performing a de-encapsulation operation on the encapsulated diagnostic data. The second device determines at least one diagnostic command and the corresponding diagnostic identifier associated with at least one diagnostic command by performing an anti-serialization operation on the diagnostic data. The second device performs a diagnostic operation based on at least one diagnostic command in response to the corresponding diagnostic identifier meeting a predetermined value.

[0027] In this way, the vehicle can be remotely diagnosed conveniently and quickly. In addition, by processing the diagnostic commands via predefined diagnostic identifiers, diagnostic commands, the MQTT protocol, etc., the security of remote diagnosis can be improved.

[0028] Example scenario

[0029] First, refer to Figure 1 , which schematically shows a schematic diagram of an example environment 100 in which embodiments of the present disclosure can be implemented. As Figure 1 shown, the environment 100 may include a first device 110, a second device 120, and a vehicle 130.

[0030] The first device 110 may, for example, include any computing system having computing capabilities, such as various computing devices / systems, terminal devices, server devices, etc. The terminal device may be any type of mobile terminal, fixed terminal, or portable terminal, including mobile phones, desktop computers, laptop computers, notebook computers, netbook computers, tablet computers, media computers, multimedia tablets, personal communication system (PCS) devices, personal navigation devices, personal digital assistants (PDAs), audio / video players, digital cameras / cameras, positioning devices, television receivers, radio broadcast receivers, e-book devices, game devices, or any combination of the foregoing, including accessories and peripherals of these devices or any combination thereof.

[0031] The server device may be an independent physical server, or a server cluster or distributed system composed of multiple physical servers, or a cloud server providing basic cloud computing services such as cloud services, cloud databases, cloud computing, cloud functions, cloud storage, network services, cloud communications, middleware services, domain name services, security services, content delivery networks, and big data and artificial intelligence platforms. The server device may be various types of computing systems / servers capable of providing computing capabilities, including but not limited to mainframes, edge computing nodes, computing devices in cloud environments, and the like.

[0032] The second device 120 may, for example, be an electronic device associated with the vehicle 130. The vehicle 130 may, for example, include any suitable vehicle, including but not limited to sedans, taxis, vans, and the like. The present disclosure does not limit the specific type of vehicle. In some embodiments, the second device 120 may be an electronic device installed in the vehicle 130 that can control the vehicle 130, which may, for example, be a vehicle-mounted device. The second device 120 may also include any computing system having computing capabilities, such as various computing devices / systems, terminal devices, server devices, etc.

[0033] In some embodiments, a communication connection may be established between the first device 110 and the second device 120. The communication connection may be established in a wired or wireless manner. The communication connection may include, but is not limited to, a Bluetooth connection, a mobile network connection, a USB data cable connection, a WiFi connection, etc., and the embodiments of the present disclosure are not limited in this regard. In some embodiments, the first device 110 and the second device 120 may perform data communication based on a communication protocol. Such communication protocols may include, for example, the Transmission Control Protocol (TCP), the IPv4 communication protocol, the IPv6 communication protocol, and so on.

[0034] In some embodiments, the first device 110 may send a diagnostic command 115 indicating to perform a remote diagnosis to the second device 120. The second device 120 may perform a diagnostic operation based on the received diagnostic command 115. The second device 120 may also send the diagnostic result obtained from performing the diagnostic operation back to the first device 110 so that the first device 110 can obtain the diagnostic result 125.

[0035] It should be understood that the structure and function of the environment 100 are described only for exemplary purposes, without implying any limitation on the scope of the present disclosure.

[0036] Some example embodiments of the present disclosure will be described below with continued reference to the accompanying drawings.

[0037] Example interaction and framework

[0038] Figure 2 A flowchart of an information flow 200 for remote diagnosis according to some embodiments of the present disclosure is shown. The information flow 200 involves the first device 110 and the second device 120. In some embodiments, the first device 110 may include a remote device, and the second device 120 may include a vehicle-side device. For ease of discussion, the information flow 200 will be described with reference to Figure 1 the environment 100.

[0039] In the information flow 200, the first device 110 generates (205) diagnostic data by performing a serialization operation on at least one diagnostic command and the corresponding diagnostic identifier associated with the at least one diagnostic command. Here, the at least one diagnostic command and the corresponding diagnostic identifier may be predefined by the first device 110 and the second device 120. For example, the first device 110 and the second device 120 may store a predefined at least one diagnostic command and the corresponding diagnostic identifier. Exemplarily, both the first device 110 and the second device 120 may store a look-up table as shown in Table 1:

[0040] Table 1

[0041] Command Identifier Diagnostic command 1 Diagnostic identifier 1 Diagnostic command 2 Diagnostic identifier 2 …… …… Diagnostic command N Diagnostic identifier N

[0042] The first device 110 can, for example, in response to receiving an operation for only remote diagnosis, determine at least one diagnostic command to be used for remote diagnosis. The first device 110 can then determine at least one diagnostic identifier corresponding to the at least one diagnostic command based on the look-up table shown in Table 1. The first device 110 can then generate diagnostic data by performing a serialization operation on the at least one diagnostic command and the at least one diagnostic identifier.

[0043] Regarding the specific manner of generating diagnostic data, in some embodiments, the first device 110 can obtain the command codes respectively corresponding to the at least one diagnostic command. Each diagnostic command can, for example, correspond to a respective command code. In some embodiments, the command code corresponding to each diagnostic command can also be stored in the look-up table shown in Table 1 above. The first device 110 can then perform a serialization operation on the at least one command code and the at least one diagnostic identifier corresponding to the at least one diagnostic command based on at least one serialization protocol. The at least one serialization protocol can include, for example, the Programming Language Object Notation protocol (Json) and / or the Protocol Buffers protocol (Protobuf). Based on the at least one serialization protocol, the serialized at least one command code and the at least one diagnostic identifier obtained by performing the serialization operation on the at least one command code and the at least one diagnostic identifier can, for example, satisfy the data format required by the at least one serialization protocol. For example, if based on the Json protocol, the serialized at least one command code and the at least one diagnostic identifier satisfy the Json format. Exemplarily, for each diagnostic command, the corresponding serialized command code and diagnostic identifier can be, for example, a string that satisfies the at least one serialization protocol. It can be understood that the serialized at least one command code and the at least one diagnostic identifier corresponding to the at least one diagnostic command can be, for example, at least one string. In some embodiments, the first device 110 can also sort the at least one string based on the at least one serialization protocol to obtain a sorting result corresponding to the at least one diagnostic command.

[0044] Exemplarily, if at least one diagnostic command includes three diagnostic commands: diagnostic command 1, diagnostic command 2, and diagnostic command 3, the command codes corresponding to these three diagnostic commands are 0907, 0908, and 0909 respectively, and the diagnostic identifiers corresponding to these three diagnostic commands are aid = 1, aid = 2, and aid = 3 respectively. The terminal device 110 can first determine the serialized command code and diagnostic identifier corresponding to each diagnostic command. For example, the serialized command code and diagnostic identifier corresponding to diagnostic command 1 can be 09070001, the serialized command code and diagnostic identifier corresponding to diagnostic command 2 can be 09080002, and the serialized command code and diagnostic identifier corresponding to diagnostic command 3 can be 09090003. The first device 110 can then also sort the three serialized command codes and diagnostic identifiers corresponding to these three diagnostic commands (i.e., 09070001, 09080002, and 09090003) based on a predetermined sorting rule (e.g., a sorting rule that matches at least one serialization protocol) (such a sorting can also be referred to as performing a serialization operation on these three serialized command codes and diagnostic identifiers), obtaining a sorting result of 090700010908000209090003.

[0045] The first device 110 can then generate diagnostic data based on the corresponding serialized command code and at least one diagnostic identifier. The first device 110 can directly determine the at least one serialized command code and at least one diagnostic identifier as diagnostic data. Exemplarily, continuing to refer to the above example, the first device 110 can determine the sorting result 090700010908000209090003 as diagnostic data.

[0046] The first device 110 can perform an encapsulation operation (210) on the diagnostic data based on the MQTT protocol. The first device 110 can obtain a packet header that meets the MQTT protocol. This packet header can also be a string, for example. The first device 110 can generate the diagnostic data encapsulated by the MQTT protocol by adding the packet header to the diagnostic data. Exemplarily, if the diagnostic data is 090700010908000209090003 and the packet header that meets the MQTT protocol is AA, the first device 110 can obtain the encapsulated diagnostic data AA090700010908000209090003 by adding the packet header to the diagnostic data.

[0047] The first device 110 sends (215) the diagnostic data encapsulated by the MQTT protocol to the second device 120. The first device 110 can, for example, send the encapsulated diagnostic data to the second device 120 based on the TCP protocol. Correspondingly, the second device 120 receives (220) the diagnostic data encapsulated by the MQTT protocol from the first device 110.

[0048] The second device 120 obtains (225) the diagnostic data by performing a de-encapsulation operation on the encapsulated diagnostic data. The second device 120 can, for example, determine the packet header that complies with the MQTT protocol in the encapsulated diagnostic data based on the MQTT protocol. The second device 120 can, for example, perform a de-encapsulation operation on the encapsulated diagnostic data by removing the packet header from the encapsulated diagnostic data. Exemplarily, if the encapsulated diagnostic data is AA090700010908000209090003, and the second device 120 can determine that the packet header that complies with the MQTT protocol is AA, the second device 120 can perform a de-encapsulation operation on the encapsulated diagnostic data by removing the packet header AA from the encapsulated diagnostic data to obtain the diagnostic data 090700010908000209090003.

[0049] The second device 120 determines at least one diagnostic command and the corresponding diagnostic identifier associated with the at least one diagnostic command by performing (230) a deserialization operation on the diagnostic data. The second device 120 can, for example, also determine at least one serialization protocol used by the first device 110 to perform the serialization operation. The second device 120 can then perform a deserialization operation on the diagnostic data based on the at least one serialization protocol. Exemplarily, the second device 120 can perform a deserialization operation on the diagnostic data 090700010908000209090003 based on the at least one serialization protocol to determine the three command encodings 0907, 0908, and 0909 and the three diagnostic identifiers aid = 1, aid = 2, and aid = 3 corresponding to these three command encodings. The second device 120 can, for example, determine the corresponding three diagnostic commands based on the three command encodings and the three diagnostic identifiers.

[0050] The second device 120 performs a diagnostic operation (235) based on at least one diagnostic command in response to a corresponding diagnostic identifier meeting a predetermined value. In some embodiments, the second device 120 may pre-obtain the predetermined value, which may be pre-input by a user or determined by the first device 110 / the second device 120 itself. In some embodiments, different diagnostic identifiers may have different values, and the second device 120 may, for example, perform a diagnostic operation only based on the diagnostic command corresponding to the diagnostic identifier whose corresponding value meets the predetermined value. The second device 120 may, for example, determine that a diagnostic operation cannot be performed based on a certain diagnostic command in response to the diagnostic identifier corresponding to the diagnostic command being less than the predetermined value. For example, if the predetermined value is 2, the second device 120 may obtain 3 diagnostic commands, and the diagnostic identifiers corresponding to these 3 diagnostic commands are aid = 1, aid = 2, and aid = 3 respectively. The second device 120 may, for example, perform a diagnostic operation only based on the two diagnostic commands corresponding to the diagnostic identifiers aid = 2 and aid = 3.

[0051] The second device 120 obtains (240) at least one diagnostic result associated with the diagnostic operation. The second device 120 generates (245) result data by performing a serialization operation on at least one diagnostic result and the corresponding diagnostic identifier. Similar to the first device 110, the second device 120 may perform a serialization operation on the corresponding result encoding corresponding to at least one diagnostic result and the corresponding diagnostic identifier based on at least one serialization protocol. Each diagnostic result may correspond to a result encoding. The second device 120 may determine the result encoding of the diagnostic result corresponding to each diagnostic command and the diagnostic identifier. The second device 120 may then generate result data based on the serialized corresponding result encoding and at least one diagnostic identifier.

[0052] The second device 120 then performs an encapsulation operation (250) on the result data based on the Message Queuing Telemetry Transport (MQTT) protocol. Similarly, the second device 120 may obtain a packet header that meets the MQTT protocol and generate the result data encapsulated by the MQTT protocol by adding the packet header to the result data.

[0053] The second device 120 sends (255) the result data encapsulated by the MQTT protocol to the first device 110. The second device 120 may, for example, also send the encapsulated result data to the first device 110 based on the Transmission Control Protocol (TCP). Correspondingly, the first device 110 receives (260) the result data encapsulated by the MQTT protocol from the second device 120, and the result data is associated with at least one diagnostic result associated with the diagnostic operation performed by the second device.

[0054] Figure 3A schematic diagram of an example framework 300 for remote diagnosis according to some embodiments of the present disclosure is shown. The example framework 300 includes a first device 110 and a second device 120.

[0055] The first device 110 may include a unit 312 that performs encapsulation operations and decapsulation operations based on the MQTT protocol and a unit 314 that performs serialization operations and deserialization operations based on at least one serialization protocol. Exemplarily, the unit 314 in the first device 110 may generate diagnostic data by performing a serialization operation on at least one diagnostic command and a corresponding diagnostic identifier associated with the at least one diagnostic command. The diagnostic data is provided to the unit 312. The unit 312 may perform an encapsulation operation on the diagnostic data based on the MQTT protocol. The first device 110 may then send the diagnostic data encapsulated by the MQTT protocol to the second device 120 based on the TCP protocol.

[0056] The second device 120 may include a data unit 320 and a diagnostic unit 330. The data unit 320 may include a unit 322 that performs encapsulation operations and decapsulation operations based on the MQTT protocol and a unit 324 that performs serialization operations and deserialization operations based on at least one serialization protocol. The diagnostic unit 330 may include a unit 332 that performs vehicle diagnosis based on the DoIP protocol. Exemplarily, the second device 120 receives the diagnostic data encapsulated by the MQTT protocol sent by the first device 110. The unit 322 in the data unit 320 may obtain the diagnostic data by performing a decapsulation operation on the encapsulated diagnostic data. The diagnostic data is provided to the unit 324. The unit 324 may determine at least one diagnostic command and a corresponding diagnostic identifier associated with the at least one diagnostic command by performing a deserialization operation on the diagnostic data. The data unit 320 may determine whether the corresponding diagnostic identifier associated with the at least one diagnostic command meets a predetermined value. The data unit 320 may send at least one diagnostic command whose corresponding diagnostic identifier meets the predetermined value to the diagnostic unit 330.

[0057] The unit 332 in the diagnostic unit 330 may perform a diagnostic operation based on at least one diagnostic command. Specifically, the unit 332 may determine at least one diagnostic site corresponding to each of the received at least one diagnostic commands, and based on the DoIP protocol, send the at least one diagnostic command to at least one electronic device (such as an ECU) that controls the at least one diagnostic site. The unit 332 may receive diagnostic results fed back by the at least one electronic device. The diagnostic unit 330 may send the obtained at least one diagnostic result to the data unit 320.

[0058] The unit 324 in the data unit 320 may perform a serialization operation on at least one diagnostic result and the corresponding diagnostic identifier based on at least one serialization protocol to generate result data. The unit 322 may perform an encapsulation operation on the result data based on the MQTT protocol to generate the result data encapsulated by the MQTT protocol. Thus, the second device 120 may obtain the result data corresponding to at least one diagnostic command. The second device 120 may send the result data encapsulated by the MQTT protocol to the first device 110 based on the TCP protocol so that the first device 110 can obtain the diagnostic result.

[0059] In summary, in the embodiments of the present disclosure, the first device 110 and the second device 120 may pre-define at least one diagnostic command and the corresponding diagnostic identifier. The first device 110 may perform a serialization operation and an encapsulation operation on at least one diagnostic command and the corresponding diagnostic identifier associated with at least one diagnostic command to generate the encapsulated diagnostic data. The first device 110 sends the encapsulated diagnostic data to the second device on the vehicle side. The second device 120 performs a de-encapsulation operation and a deserialization operation on the encapsulated diagnostic data to determine at least one diagnostic command and the corresponding diagnostic identifier associated with at least one diagnostic command. The second device may perform a diagnostic operation based on the diagnostic identifier and at least one diagnostic command.

[0060] In this way, the vehicle can be remotely diagnosed conveniently and quickly. In addition, by processing the diagnostic command via the pre-defined diagnostic identifier, diagnostic command, MQTT protocol, etc., the security of remote diagnosis can be improved.

[0061] Example process

[0062] Figure 4 The flowchart of a remote diagnosis process 400 according to some embodiments of the present disclosure is shown. The process 400 may be implemented at the first device 110.

[0063] In block 410, the first device 110 generates diagnostic data by performing a serialization operation on at least one diagnostic command and the corresponding diagnostic identifier associated with at least one diagnostic command.

[0064] In block 420, the first device 110 performs an encapsulation operation on the diagnostic data based on the Message Queuing Telemetry Transport (MQTT) protocol.

[0065] In block 430, the first device 110 sends the diagnostic data encapsulated by the MQTT protocol to the second device.

[0066] In some embodiments, at least one diagnostic command and the corresponding diagnostic identifier are pre-defined by the first device and the second device.

[0067] In some embodiments, generating diagnostic data includes: performing a serialization operation based on at least one serialization protocol to encode a corresponding command and a corresponding diagnostic identifier corresponding to at least one diagnostic command; and generating diagnostic data based on the serialized corresponding command encoding and at least one diagnostic identifier.

[0068] In some embodiments, performing an encapsulation operation on the diagnostic data includes: obtaining a packet header that complies with the MQTT protocol; and generating the diagnostically data encapsulated by the MQTT protocol by adding the packet header to the diagnostic data.

[0069] In some embodiments, sending the diagnostically data encapsulated by the MQTT protocol includes: sending the diagnostically data encapsulated by the MQTT protocol to a second device based on the Transmission Control Protocol (TCP).

[0070] In some embodiments, process 400 further includes: receiving the result data encapsulated by the MQTT protocol from the second device, where the result data is associated with at least one diagnostic result associated with the diagnostic operation performed by the second device.

[0071] In some embodiments, the first device includes a remote device, and the second device includes a vehicle-side device.

[0072] Figure 5 A flowchart of a process 500 for remote diagnosis according to some embodiments of the present disclosure is shown. Process 500 may be implemented at a second device 120.

[0073] At block 510, the second device 120 receives diagnostic data encapsulated by the Message Queuing Telemetry Transport (MQTT) protocol from the first device.

[0074] At block 520, the second device 120 obtains the diagnostic data by performing a de-encapsulation operation on the encapsulated diagnostic data.

[0075] At block 530, the second device 120 determines at least one diagnostic command and corresponding diagnostic identifiers associated with the at least one diagnostic command by performing a deserialization operation on the diagnostic data.

[0076] At block 540, the second device 120 performs a diagnostic operation based on at least one diagnostic command in response to the corresponding diagnostic identifier satisfying a predetermined value.

[0077] In some embodiments, process 500 further includes: obtaining at least one diagnostic result associated with the diagnostic operation; generating result data by performing a serialization operation on the at least one diagnostic result and the corresponding diagnostic identifier; performing an encapsulation operation on the result data based on the MQTT protocol; and sending the result data encapsulated by the MQTT protocol to the first device.

[0078] In some embodiments, generating result data includes: performing a serialization operation on corresponding result encodings and corresponding diagnostic identifiers corresponding to at least one diagnostic result based on at least one serialization protocol; and generating result data based on the serialized corresponding result encodings and at least one diagnostic identifier.

[0079] In some embodiments, performing an encapsulation operation on the result data includes: obtaining a packet header that complies with the MQTT protocol; and generating result data encapsulated by the MQTT protocol by adding the packet header to the result data.

[0080] In some embodiments, sending the result data encapsulated by the MQTT protocol includes: sending the result data encapsulated by the MQTT protocol to a first device based on the Transmission Control Protocol (TCP).

[0081] Example device and equipment

[0082] Embodiments of the present disclosure also provide corresponding apparatuses for implementing the above methods or processes.

[0083] Figure 6 A schematic structural block diagram of a device 600 for remote diagnosis according to certain embodiments of the present disclosure is shown. The device 600 may be implemented as or included in a first device 110. Each module / component in the device 600 may be implemented by hardware, software, firmware, or any combination thereof.

[0084] As Figure 6 shown, the device 600 includes a data generation module 610 configured to generate diagnostic data by performing a serialization operation on at least one diagnostic command and corresponding diagnostic identifiers associated with the at least one diagnostic command. The device 600 further includes a data encapsulation module 620 configured to perform an encapsulation operation on the diagnostic data based on the Message Queuing Telemetry Transport (MQTT) protocol. The device 600 further includes a data sending module 630 configured to send the diagnostic data encapsulated by the MQTT protocol to a second device.

[0085] In some embodiments, the at least one diagnostic command and the corresponding diagnostic identifiers are predefined by the first device and the second device.

[0086] In some embodiments, the data generation module 610 is further configured to: perform a serialization operation on corresponding command encodings and corresponding diagnostic identifiers corresponding to at least one diagnostic command based on at least one serialization protocol; and generate diagnostic data based on the serialized corresponding command encodings and at least one diagnostic identifier.

[0087] In some embodiments, the data encapsulation module 620 is further configured to: obtain a packet header that complies with the MQTT protocol; and generate the diagnostic data encapsulated by the MQTT protocol by adding the packet header to the diagnostic data.

[0088] In some embodiments, the data sending module 630 is further configured to: send the diagnostic data encapsulated by the MQTT protocol to the second device based on the Transmission Control Protocol (TCP).

[0089] In some embodiments, the apparatus 600 further includes: a result data receiving module, configured to receive the result data encapsulated by the MQTT protocol from the second device, where the result data is associated with at least one diagnostic result associated with the diagnostic operation performed by the second device.

[0090] In some embodiments, the first device includes a remote device, and the second device includes a vehicle-side device.

[0091] Figure 7 FIG. shows a schematic structural block diagram of an apparatus 700 for remote diagnosis according to certain embodiments of the present disclosure. The apparatus 700 may be implemented as or included in the second device 120. Each module / component in the apparatus 700 may be implemented by hardware, software, firmware, or any combination thereof.

[0092] As Figure 7 shown, the apparatus 700 includes a data receiving module 710, configured to receive the diagnostic data encapsulated by the Message Queuing Telemetry Transport (MQTT) protocol from the first device. The apparatus 700 further includes a de-encapsulation module 720, configured to obtain the diagnostic data by performing a de-encapsulation operation on the encapsulated diagnostic data. The apparatus 700 further includes a deserialization module 730, configured to determine at least one diagnostic command and a corresponding diagnostic identifier associated with the at least one diagnostic command by performing a deserialization operation on the diagnostic data. The apparatus 700 further includes a diagnostic execution module 740, configured to perform a diagnostic operation based on the at least one diagnostic command in response to the corresponding diagnostic identifier satisfying a predetermined value.

[0093] In some embodiments, the apparatus 700 further includes: a diagnostic result obtaining module, configured to obtain at least one diagnostic result associated with the diagnostic operation; a result data generating module, configured to generate result data by performing a serialization operation on the at least one diagnostic result and the corresponding diagnostic identifier; a result data encapsulation module, configured to perform an encapsulation operation on the result data based on the MQTT protocol; and a result data sending module, configured to send the result data encapsulated by the MQTT protocol to the first device.

[0094] In some embodiments, the result data generation module is further configured to: perform a serialization operation on the corresponding result encoding and the corresponding diagnostic identifier corresponding to at least one diagnostic result based on at least one serialization protocol; and generate result data based on the serialized corresponding result encoding and the at least one diagnostic identifier.

[0095] In some embodiments, the result data encapsulation module is further configured to: obtain a packet header that complies with the MQTT protocol; and generate the result data encapsulated by the MQTT protocol by adding the packet header to the result data.

[0096] In some embodiments, the result data sending module is further configured to: send the result data encapsulated by the MQTT protocol to the first device based on the Transmission Control Protocol (TCP).

[0097] The units and / or modules included in apparatus 600 and apparatus 700 may be implemented in various ways, including software, hardware, firmware, or any combination thereof. In some embodiments, one or more units and / or modules may be implemented using software and / or firmware, such as machine-executable instructions stored on a storage medium. In addition to or as an alternative to the machine-executable instructions, some or all of the units and / or modules in these apparatuses may be implemented at least in part by one or more hardware logic components. By way of example and not limitation, exemplary types of hardware logic components that may be used include Field Programmable Gate Arrays (FPGA), Application Specific Integrated Circuits (ASIC), Application Specific Standard Products (ASSP), System on a Chip (SOC), Complex Programmable Logic Devices (CPLD), and the like.

[0098] Figure 8 A block diagram of an electronic device 800 in which one or more embodiments of the present disclosure may be implemented is shown. It should be understood that Figure 8 The electronic device 800 shown is merely exemplary and should not impose any limitation on the functions and scope of the embodiments described herein. Figure 8 The electronic device 800 shown may be used to implement Figure 1 the first device 110 and the second device 120.

[0099] As Figure 8As shown, the electronic device 800 is in the form of a general-purpose electronic device. The components of the electronic device 800 may include, but are not limited to, one or more processors or processing units 810, a memory 820, a storage device 830, one or more communication units 840, one or more input devices 850, and one or more output devices 860. The processing unit 810 may be an actual or virtual processor and is capable of performing various processes according to the programs stored in the memory 820. In a multi-processor system, multiple processing units execute computer-executable instructions in parallel to improve the parallel processing ability of the electronic device 800.

[0100] The electronic device 800 generally includes multiple computer storage media. Such media can be any available media accessible to the electronic device 800, including but not limited to volatile and non-volatile media, removable and non-removable media. The memory 820 may be a volatile memory (such as registers, caches, random access memory (RAM)), a non-volatile memory (such as read-only memory (ROM), electrically erasable programmable read-only memory (EEPROM), flash memory), or some combination thereof. The storage device 830 may be a removable or non-removable medium and may include a machine-readable medium, such as a flash drive, a magnetic disk, or any other medium that can be used to store information and / or data and can be accessed within the electronic device 800.

[0101] The electronic device 800 may further include additional removable / non-removable, volatile / non-volatile storage media. Although not shown in Figure 8 a disk drive for reading from or writing to a removable, non-volatile magnetic disk (such as a "floppy disk") and an optical disk drive for reading from or writing to a removable, non-volatile optical disk may be provided. In these cases, each drive may be connected to a bus (not shown) by one or more data media interfaces. The memory 820 may include a computer program product 825 having one or more program modules that are configured to perform the various methods or actions of the various embodiments of the present disclosure.

[0102] The communication unit 840 enables communication with other electronic devices through a communication medium. Additionally, the functions of the components of the electronic device 800 may be implemented by a single computing cluster or multiple computer machines that are capable of communicating through a communication connection. Thus, the electronic device 800 may operate in a networked environment using a logical connection to one or more other servers, network personal computers (PCs), or another network node.

[0103] The input device 850 can be one or more input devices, such as a mouse, a keyboard, a trackball, etc. The output device 860 can be one or more output devices, such as a display, a speaker, a printer, etc. The electronic device 800 can also communicate with one or more external devices (not shown) as needed through the communication unit 840. The external devices such as a storage device, a display device, etc., communicate with one or more devices that enable a user to interact with the electronic device 800, or communicate with any device that enables the electronic device 800 to communicate with one or more other electronic devices (e.g., a network card, a modem, etc.). Such communication can be performed via an input / output (I / O) interface (not shown).

[0104] According to an exemplary implementation of the present disclosure, a computer-readable storage medium is provided, on which computer-executable instructions are stored, and the computer-executable instructions are executed by a processor to implement the method described above. According to an exemplary implementation of the present disclosure, a computer program product is also provided. The computer program product is tangibly stored on a non-transitory computer-readable medium and includes computer-executable instructions, and the computer-executable instructions are executed by a processor to implement the method described above.

[0105] Aspects of the present disclosure are described herein with reference to the flowcharts and / or block diagrams of methods, apparatuses, devices, and computer program products implemented according to the present disclosure. It should be understood that each block of the flowcharts and / or block diagrams, and the combinations of blocks in the flowcharts and / or block diagrams, can be implemented by computer-readable program instructions.

[0106] These computer-readable program instructions can be provided to a processing unit of a general-purpose computer, a special-purpose computer, or other programmable data processing device, thereby producing a machine such that when these instructions are executed by the processing unit of the computer or other programmable data processing device, a device is produced that implements the functions / actions specified in one or more blocks of the flowchart and / or block diagram. These computer-readable program instructions can also be stored in a computer-readable storage medium, and these instructions cause a computer, a programmable data processing device, and / or other devices to work in a specific manner. Thus, the computer-readable medium storing the instructions includes a manufacture, which includes instructions for implementing various aspects of the functions / actions specified in one or more blocks of the flowchart and / or block diagram.

[0107] The computer-readable program instructions can be loaded onto a computer, other programmable data processing device, or other device, so that a series of operation steps are performed on the computer, other programmable data processing device, or other device to produce a computer-implemented process, thereby causing the instructions executed on the computer, other programmable data processing device, or other device to implement the functions / actions specified in one or more blocks of the flowchart and / or block diagram.

[0108] The flowcharts and block diagrams in the accompanying drawings illustrate the architecture, functionality, and operation of possible implementations of systems, methods, and computer program products according to various implementations of the present disclosure. In this regard, each block in the flowchart or block diagram may represent a module, a segment of a program, or a part of an instruction, which contains one or more executable instructions for implementing a specified logical function. In some alternative implementations, the functions noted in the blocks may occur in a different order than noted in the accompanying drawings. For example, two consecutive blocks may actually be executed substantially in parallel, or they may sometimes be executed in the reverse order, depending on the functions involved. It should also be noted that each block in the block diagrams and / or flowcharts, and combinations of blocks in the block diagrams and / or flowcharts, can be implemented by a dedicated hardware-based system that performs the specified functions or actions, or by a combination of dedicated hardware and computer instructions.

[0109] The various implementations of the present disclosure have been described above. The above description is exemplary, not exhaustive, and is not limited to the disclosed implementations. Many modifications and variations will be apparent to those of ordinary skill in the art in the field of this technology without departing from the scope and spirit of the described implementations. The choice of terms used herein is intended to best explain the principles of the implementations, the practical application, or the improvement of the technology in the market, or to enable other ordinary skilled persons in the field of this technology to understand the various implementation manners disclosed herein.

Claims

1. A remote diagnosis method, comprising: The first device generates diagnostic data by performing a serialization operation on at least one diagnostic command and corresponding diagnostic identifiers associated with the at least one diagnostic command; Performing an encapsulation operation on the diagnostic data based on the Message Queuing Telemetry Transport (MQTT) protocol; and Sending the diagnostic data encapsulated by the MQTT protocol to a second device.

2. The method according to claim 1, wherein the at least one diagnostic command and the corresponding diagnostic identifiers are predefined by the first device and the second device.

3. The method according to claim 1, wherein generating the diagnostic data comprises: Performing a serialization operation on corresponding command encodings corresponding to the at least one diagnostic command and the corresponding diagnostic identifiers based on at least one serialization protocol; And Generating diagnostic data based on the serialized corresponding command encodings and the at least one diagnostic identifier.

4. The method according to claim 1, wherein performing an encapsulation operation on the diagnostic data comprises: Obtaining a packet header that complies with the MQTT protocol; And Generating the diagnostic data encapsulated by the MQTT protocol by adding the packet header to the diagnostic data.

5. The method according to claim 1, wherein sending the diagnostic data encapsulated by the MQTT protocol comprises: Sending the diagnostic data encapsulated by the MQTT protocol to the second device based on the Transmission Control Protocol (TCP).

6. The method according to claim 1, further comprising: Receiving result data encapsulated by the MQTT protocol from the second device, the result data being associated with at least one diagnostic result associated with a diagnostic operation performed by the second device.

7. The method according to any one of claims 1 to 6, wherein the first device comprises a remote device, and the second device comprises a vehicle-side device.

8. A remote diagnosis method, the method comprising: The second device receives diagnostic data encapsulated by the Message Queuing Telemetry Transport (MQTT) protocol from the first device; Obtaining diagnostic data by performing a de-encapsulation operation on the encapsulated diagnostic data; Determining at least one diagnostic command and corresponding diagnostic identifiers associated with the at least one diagnostic command by performing an anti-serialization operation on the diagnostic data; And In response to the corresponding diagnostic identifiers meeting a predetermined value, performing a diagnostic operation based on the at least one diagnostic command.

9. The method according to claim 8, further comprising: Obtaining at least one diagnostic result associated with the diagnostic operation; Generating result data by performing a serialization operation on the at least one diagnostic result and the corresponding diagnostic identifiers; Performing an encapsulation operation on the result data based on the Message Queuing Telemetry Transport (MQTT) protocol; And Sending the result data encapsulated by the MQTT protocol to the first device.

10. The method according to claim 9, wherein generating the result data comprises: Performing a serialization operation on corresponding result encodings corresponding to the at least one diagnostic result and the corresponding diagnostic identifiers based on at least one serialization protocol; And Generate result data based on the serialized corresponding result encoding and the at least one diagnostic identifier.

11. The method according to claim 9, wherein performing an encapsulation operation on the result data includes: Obtain a packet header that complies with the MQTT protocol; And Generate result data encapsulated by the MQTT protocol by adding the packet header to the result data.

12. The method according to claim 9, wherein sending the result data encapsulated by the MQTT protocol includes: Send the result data encapsulated by the MQTT protocol to the first device based on the Transmission Control Protocol (TCP).

13. A device for remote diagnosis, comprising: A data generation module configured to generate diagnostic data by performing a serialization operation on at least one diagnostic command and a corresponding diagnostic identifier associated with the at least one diagnostic command; A data encapsulation module configured to perform an encapsulation operation on the diagnostic data based on the Message Queuing Telemetry Transport (MQTT) protocol; And A data sending module configured to send the diagnostic data encapsulated by the MQTT protocol to a second device.

14. A device for remote diagnosis, comprising: A data receiving module configured to receive diagnostic data encapsulated by the MQTT protocol sent by a first device; A de-encapsulation module configured to obtain diagnostic data by performing a de-encapsulation operation on the encapsulated diagnostic data; A deserialization module configured to determine at least one diagnostic command and a corresponding diagnostic identifier associated with the at least one diagnostic command by performing a deserialization operation on the diagnostic data; And A diagnosis execution module configured to perform a diagnosis operation based on the at least one diagnostic command in response to the corresponding diagnostic identifier satisfying a predetermined value.

15. An electronic device, At least one processing unit; and At least one memory coupled to the at least one processing unit and storing instructions for execution by the at least one processing unit, the instructions, when executed by the at least one processing unit, cause the electronic device to perform the method according to any one of claims 1 to 7 or the method according to any one of claims 8 to 12.

16. A computer-readable storage medium having stored thereon a computer program, the computer program being executable by a processor to implement the method according to any one of claims 1 to 7 or the method according to any one of claims 8 to 12.