Inverter firmware remote upgrade method

By obtaining the upgrade information of multiple firmware provided by the server in the inverter client, downloading and upgrading the upgrade package of multiple firmware, the stability problem during the upgrade process of multiple firmware in the inverter is solved, and a simplified upgrade process and improved stability is achieved.

CN119127261BActive Publication Date: 2025-03-11ROYPOW TECH CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202411554467.0
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2024-11-04
Publication Date
2025-03-11
Estimated Expiration
2044-11-04

AI Technical Summary

Technical Problem

In the inverter, when multiple firmware needs to be upgraded, the client needs to orderly initiate upgrade requests to the server, resulting in uncontrollable emergencies during the upgrade process, such as the device power outage, resulting in unstable upgrade process.

Method used

By sending a request to the server, obtaining upgrade information for multiple firmware of the same type and can be upgraded, downloading upgrade packages for multiple firmware, and upgrading after the download is completed, thereby avoiding the client requesting upgrades one by one, simplifying the upgrade process and improving stability.

Benefits of technology

This method simplifies the upgrade process of multiple firmware, improves the stability of the upgrade process, and avoids upgrade failures caused by power outages in the middle of the equipment.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119127261B_ABST
    Figure CN119127261B_ABST
Patent Text Reader

Abstract

The present application provides a method for remotely upgrading inverter firmware. The method is applied to an inverter client, and the method includes: sending a first request to a server, the first request is used to request upgrading a first firmware; receiving first information from the server, the first information is used to indicate upgrade information of a first type of firmware, the first type of firmware including multiple firmwares of the same type as the first firmware and upgradeable; downloading upgrade packages of the multiple firmwares from the server based on the first information; after completing the download of the upgrade packages of the multiple firmwares, upgrading the multiple firmwares based on the upgrade packages of the multiple firmwares.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application relates to the technical field of Internet of Things, and in particular to a method for remotely upgrading inverter firmware. Background Art

[0002] The inverter can convert DC power into AC power and is the core device of the power generation system. In order to meet some user needs, add new functions and maintain the needs, the inverter needs to perform firmware upgrades regularly. Taking the photovoltaic inverter as an example, its firmware upgrade is usually performed through remote upgrade. In the remote upgrade method, the inverter client needs to initiate a firmware upgrade request to the server, and the server can then send the firmware upgrade package to the client for firmware upgrade. However, when the inverter has multiple firmwares to be upgraded, the client needs to initiate upgrade requests to the server in an orderly manner, and can only request the next firmware to be upgraded after one firmware upgrade is completed. However, this upgrade method may cause a variety of uncontrollable emergencies in the middle of the upgrade process, such as power failure of the equipment in the middle of the upgrade process, which may cause confusion in the upgrade process, thereby reducing the stability of the upgrade process. Summary of the invention

[0003] An embodiment of the present application provides a method for remotely upgrading inverter firmware.

[0004] In a first aspect, an embodiment of the present application provides a method for remotely upgrading inverter firmware, the method being applied to an inverter client, the method comprising:

[0005] Sending a first request to the server, where the first request is used to request an upgrade of a first firmware;

[0006] Receiving first information from a server, where the first information is used to indicate upgrade information of a first type of firmware, where the first type of firmware includes a plurality of firmware of the same type as the first firmware and which are upgradeable;

[0007] Downloading multiple firmware upgrade packages from a server based on the first information;

[0008] After the downloading of the upgrade packages of the multiple firmwares is completed, the multiple firmwares are upgraded based on the upgrade packages of the multiple firmwares.

[0009] Optionally, the first information includes upgrade package information of each firmware in the first category of firmware.

[0010] Optionally, the firmware upgrade package information includes one or more of the following:

[0011] The file size of the upgrade package;

[0012] File type of the upgrade package;

[0013] The upgrade package file is located on the server.

[0014] Optionally, the first information further includes first sorting information, where the first sorting information is used to indicate an upgrade sequence of the first type of firmware set by the server for the client.

[0015] Optionally, the first information includes information of a first firmware data packet, where the first firmware data packet is a data packet obtained by packaging a plurality of firmware upgrade packages on the server.

[0016] Optionally, the information of the first firmware data packet includes one or more of the following:

[0017] The file size of the first firmware data packet;

[0018] The file type of the first firmware data packet;

[0019] The first firmware package file is located on the server.

[0020] Optionally, the first firmware data packet is an encrypted data packet, and the password of the first firmware data packet is a password agreed upon by the server and the client.

[0021] Optionally, after downloading of the upgrade packages of the multiple firmwares is completed, and before upgrading the multiple firmwares based on the upgrade packages of the multiple firmwares, the method further includes:

[0022] Report the download progress of multiple firmware upgrade packages to the server.

[0023] Optionally, the method further includes:

[0024] Report the upgrade result of the first type of firmware to the server;

[0025] If all the firmware in the first category of firmware are upgraded successfully, the upgrade result is upgrade success;

[0026] Alternatively, if one of the first-category firmware fails to be upgraded, the upgrade result is upgrade failure.

[0027] Optionally, the first information is carried in an MQTT message.

[0028] In a second aspect, an embodiment of the present application provides a method for remotely upgrading inverter firmware, which is applied to an inverter server side, and the method includes:

[0029] Receive a first request sent by a client, where the first request is used to request an upgrade of a first firmware;

[0030] First information is sent to the client, where the first information is used to indicate upgrade information of a first type of firmware, where the first type of firmware includes a plurality of firmwares of the same type as the first firmware and which are upgradeable.

[0031] Optionally, the first information includes upgrade package information of each firmware in the first category of firmware.

[0032] Optionally, the firmware upgrade package information includes one or more of the following:

[0033] The file size of the upgrade package;

[0034] File type of the upgrade package;

[0035] The upgrade package file is located on the server.

[0036] Optionally, the first information further includes first sorting information, where the first sorting information is used to indicate an upgrade sequence of the first type of firmware set by the server for the client.

[0037] Optionally, the first information includes information of a first firmware data packet, where the first firmware data packet is a data packet obtained by packaging a plurality of firmware upgrade packages on the server.

[0038] Optionally, the information of the first firmware data packet includes one or more of the following:

[0039] The file size of the first firmware data packet;

[0040] The file type of the first firmware data packet;

[0041] The first firmware package file is located on the server.

[0042] Optionally, the first firmware data packet is an encrypted data packet, and the password of the first firmware data packet is a password agreed upon by the server and the client.

[0043] Optionally, the method further includes:

[0044] Receive the download progress of multiple firmware upgrade packages reported by the client.

[0045] Optionally, the method further includes:

[0046] Receive the upgrade result of the first type of firmware reported by the client;

[0047] If all the firmware in the first category of firmware are upgraded successfully, the upgrade result is upgrade success;

[0048] Alternatively, if one of the first-category firmware fails to be upgraded, the upgrade result is upgrade failure.

[0049] Optionally, the first information is carried in an MQTT message.

[0050] In a third aspect, an embodiment of the present application provides an inverter client device, including:

[0051] A sending module, used for sending a first request to a server, where the first request is used for requesting to upgrade a first firmware;

[0052] A receiving module, used for receiving first information from a server, where the first information is used for indicating upgrade information of a first type of firmware, where the first type of firmware includes a plurality of firmwares of the same type as the first firmware and which are upgradeable;

[0053] A download module, used for downloading multiple firmware upgrade packages to a server based on the first information;

[0054] The upgrade module is used to upgrade the multiple firmwares based on the upgrade packages of the multiple firmwares after the download module completes the download of the upgrade packages of the multiple firmwares.

[0055] Optionally, the first information includes upgrade package information of each firmware in the first category of firmware.

[0056] Optionally, the firmware upgrade package information includes one or more of the following:

[0057] The file size of the upgrade package;

[0058] File type of the upgrade package;

[0059] The upgrade package file is located on the server.

[0060] Optionally, the first information further includes first sorting information, where the first sorting information is used to indicate an upgrade sequence of the first type of firmware set by the server for the client.

[0061] Optionally, the first information includes information of a first firmware data packet, where the first firmware data packet is a data packet obtained by packaging a plurality of firmware upgrade packages on the server.

[0062] Optionally, the information of the first firmware data packet includes one or more of the following:

[0063] The file size of the first firmware data packet;

[0064] The file type of the first firmware data packet;

[0065] The first firmware package file is located on the server.

[0066] Optionally, the first firmware data packet is an encrypted data packet, and the password of the first firmware data packet is a password agreed upon by the server and the client.

[0067] Optionally, after the download module completes downloading of the upgrade packages of the multiple firmwares and before the upgrade module upgrades the multiple firmwares based on the upgrade packages of the multiple firmwares, the sending module is further used to:

[0068] Report the download progress of multiple firmware upgrade packages to the server.

[0069] Optionally, the sending module is further used for:

[0070] Report the upgrade result of the first type of firmware to the server;

[0071] If all the firmware in the first category of firmware are upgraded successfully, the upgrade result is upgrade success;

[0072] Alternatively, if one of the first-category firmware fails to be upgraded, the upgrade result is upgrade failure.

[0073] Optionally, the first information is carried in an MQTT message.

[0074] In a fourth aspect, an embodiment of the present application provides an inverter server device, including:

[0075] A receiving module, used for receiving a first request sent by a client, where the first request is used for requesting to upgrade a first firmware;

[0076] The sending module is used to send first information to the client, where the first information is used to indicate the upgrade information of the first type of firmware, and the first type of firmware includes multiple firmwares of the same type as the first firmware and can be upgraded.

[0077] Optionally, the first information includes upgrade package information of each firmware in the first category of firmware.

[0078] Optionally, the firmware upgrade package information includes one or more of the following:

[0079] The file size of the upgrade package;

[0080] File type of the upgrade package;

[0081] The upgrade package file is located on the server.

[0082] Optionally, the first information further includes first sorting information, where the first sorting information is used to indicate an upgrade sequence of the first type of firmware set by the server for the client.

[0083] Optionally, the first information includes information of a first firmware data packet, where the first firmware data packet is a data packet obtained by packaging a plurality of firmware upgrade packages on the server.

[0084] Optionally, the information of the first firmware data packet includes one or more of the following:

[0085] The file size of the first firmware data packet;

[0086] The file type of the first firmware data packet;

[0087] The first firmware package file is located on the server.

[0088] Optionally, the first firmware data packet is an encrypted data packet, and the password of the first firmware data packet is a password agreed upon by the server and the client.

[0089] Optionally, the receiving module is further used for:

[0090] Receive the download progress of multiple firmware upgrade packages reported by the client.

[0091] Optionally, the receiving module is further used for:

[0092] Receive the upgrade result of the first type of firmware reported by the client;

[0093] If all the firmware in the first category of firmware are upgraded successfully, the upgrade result is upgrade success;

[0094] Alternatively, if one of the first-category firmware fails to be upgraded, the upgrade result is upgrade failure.

[0095] Optionally, the first information is carried in an MQTT message.

[0096] In a fifth aspect, an embodiment of the present application provides an electronic device, comprising a memory, at least one processor, and a computer program stored in the memory and executable on the processor, wherein when the processor executes the computer program, the method as described in any one of the first or second aspects above is implemented.

[0097] In a sixth aspect, an embodiment of the present application provides a computer-readable storage medium, wherein the computer-readable storage medium stores a computer program, and when the computer program is executed by a processor, the method as described in any one of the first aspect or the second aspect above is implemented.

[0098] In a seventh aspect, an embodiment of the present application provides a computer program product. When the computer program product is run on an electronic device, the electronic device executes any one of the methods in the first or second aspect above.

[0099] Based on this application, after the inverter client initiates a firmware upgrade request to the server, the server can determine multiple firmwares of the same type that can be upgraded according to the type of firmware that the client requests to upgrade, and send the corresponding upgrade information to the client. The client can download multiple firmware upgrade packages from the server according to the upgrade information, and then upgrade after the download is complete, thereby avoiding the client requesting upgrades one by one, simplifying the upgrade process of multiple firmwares, and helping to improve the stability of the upgrade process. BRIEF DESCRIPTION OF THE DRAWINGS

[0100] In order to more clearly illustrate the technical solutions in the embodiments of the present application, the drawings required for describing the embodiments are briefly introduced below.

[0101] Figure 1 It is a flowchart of the inverter firmware remote upgrade method provided in an embodiment of the present application.

[0102] Figure 2 This is an example diagram of the inverter firmware remote upgrade method provided in an embodiment of the present application.

[0103] Figure 3 This is an example diagram of the first upgrade option provided in an embodiment of the present application.

[0104] Figure 4 This is an example diagram of the second upgrade option provided in an embodiment of the present application.

[0105] Figure 5 It is a structural diagram of the inverter client device provided in an embodiment of the present application.

[0106] Figure 6 It is a structural diagram of the inverter server device provided in an embodiment of the present application.

[0107] Figure 7 It is a schematic diagram of the structure of an electronic device provided in an embodiment of the present application. DETAILED DESCRIPTION

[0108] The technical solution of the embodiment of the present invention will be described below in conjunction with the accompanying drawings in the embodiment of the present invention.

[0109] The inverter can convert DC power into AC power and is the core device of the power generation system. In order to meet some user needs, add new functions and maintain the needs, the inverter needs to be regularly upgraded with firmware. Taking photovoltaic inverters as an example, their firmware upgrades are usually performed through remote upgrades. In the remote upgrade method, the inverter client needs to initiate a firmware upgrade request to the server, and the server can then send the firmware upgrade package to the client for firmware upgrade.

[0110] However, when the inverter has multiple firmwares that need to be upgraded, the client needs to initiate upgrade requests to the server in order, and can only request the next firmware to be upgraded after the upgrade of one firmware is completed. However, this upgrade method may cause many uncontrollable emergencies in the middle of the process. For example, the power failure of the equipment in the middle of the process may cause some firmware to not be upgraded, resulting in the inverter not knowing how to handle the next firmware if the previous firmware upgrade failed, or whether to continue upgrading if the previous firmware verification failed, which may cause confusion in the upgrade process and may reduce the stability of the upgrade process.

[0111] Based on this, Figure 1 The embodiment of the present application provides a method for remotely upgrading the firmware of an inverter. The method can be applied to an inverter client, such as a photovoltaic inverter client. Figure 1 As shown, the method may include steps S110-S140.

[0112] In step S110, the inverter client sends a first request to the server, and the first request is used to request to upgrade the first firmware. The inverter client can send the first request to the server when it detects that the first firmware needs to be upgraded, and the first firmware can be any firmware that needs to be upgraded. That is, the inverter client can initiate an upgrade request for the firmware to the server when it detects that any firmware needs to be upgraded. The type of the first request is not limited, for example, it can be a hypertext transfer protocol (HTTP) request.

[0113] In step S120, the inverter client receives the first information from the server. The first information can be used to indicate the upgrade information of the first type of firmware. The first type of firmware can include multiple firmwares of the same type as the first firmware and can be upgraded. When the server receives the first request to upgrade the first firmware, it can check whether the client has other firmware of the same type that needs to be upgraded, and send the upgrade information of the multiple firmwares that need to be upgraded to the client through the first information. The type of the first information is also not limited. For example, the first information can be carried in a message queuing telemetry transport (MQTT) message. Exemplarily, the server can carry the first information in an MQTT message of the corresponding topic. When the client device subscribes to the MQTT message of the corresponding topic to the server, the first information can be received.

[0114] In step S130, the inverter client downloads multiple firmware upgrade packages from the server based on the first information. The inverter client may download multiple firmware upgrade packages in any order, and the downloading method may be a conventional method and is not limited.

[0115] In step S140, after the inverter client completes downloading of the upgrade packages of the multiple firmwares, the multiple firmwares are upgraded based on the upgrade packages of the multiple firmwares. Completing the downloading of the upgrade packages of the multiple firmwares and then upgrading the multiple firmwares can help avoid confusion in the upgrade process.

[0116] Based on this application, after the inverter client initiates a firmware upgrade request to the server, the server can determine multiple firmwares of the same type that can be upgraded according to the type of firmware that the client requests to upgrade, and send the corresponding upgrade information to the client. The client can download multiple firmware upgrade packages from the server according to the upgrade information, and then upgrade after the download is complete, thereby avoiding the client requesting upgrades one by one, simplifying the upgrade process of multiple firmwares, and helping to improve the stability of the upgrade process.

[0117] In some implementations, the first information may include upgrade package information of each firmware in the first category of firmware. That is, the server may directly send the upgrade package information of each firmware that needs to be upgraded to the client through the first information. Based on the upgrade package information of each firmware, the inverter client may download the upgrade package of each firmware from the server respectively.

[0118] Furthermore, the firmware upgrade package information may include one or more of the following: the file size of the upgrade package; the file type of the upgrade package; the location of the upgrade package file on the server. In addition, the firmware upgrade package information may also include information such as a verification code for verifying the upgrade package. Based on the upgrade package information, the inverter client can accurately download the firmware upgrade package from the server.

[0119] Furthermore, the first information may also include first sorting information, and the first sorting information may be used to indicate the upgrade order of the first type of firmware set by the server for the client. That is, the server may set the upgrade order of multiple firmwares in the first type of firmware for the client, and indicate it through the first sorting information, thereby helping the client to upgrade multiple firmwares in an orderly manner. The type of the first sorting information may not be limited, for example, it may be a numbered sorting of multiple firmwares, or it may be a numbered sorting of upgrade package information of multiple firmwares. As an example, the client may upgrade each firmware in sequence according to the first sorting information after all upgrade packages have been downloaded.

[0120] In some other implementations, the first information may include information of a first firmware data packet, and the first firmware data packet may be a data packet obtained by the server by packaging multiple firmware upgrade packages. That is, the server may package multiple firmware upgrade packages into a first firmware data packet, and then send the information of the first firmware data packet to the client. Based on the information of the first firmware data packet, the inverter client may download the first firmware data packet from the server, thereby obtaining multiple firmware upgrade packages, which helps to simplify the process of the client downloading the upgrade package.

[0121] Furthermore, the information of the first firmware data packet may include one or more of the following: the file size of the first firmware data packet; the file type of the first firmware data packet; the location of the file of the first firmware data packet on the server. In addition, the information of the first firmware data packet may also include information such as a checksum for checking the first firmware data packet. Based on the information of the first firmware data packet, the inverter client may accurately download the first firmware data packet from the server.

[0122] Furthermore, the first firmware data packet may be an encrypted data packet, and the password of the first firmware data packet may be a password agreed upon by the server and the client. That is, the server may encrypt the first firmware data packet, which helps to protect the security of the data. For example, the server and the client may agree on the password of the first firmware data packet in advance, and after the client downloads the first firmware data packet, it may use the agreed password to decrypt it. The encryption method of the first firmware data packet is not limited in this application, and the corresponding encryption algorithm may be selected according to actual needs.

[0123] It is worth noting that after the client downloads the first firmware data package, the client can determine the upgrade order of multiple firmware in the first firmware data package by itself, and there is no specific limitation.

[0124] Optionally, before step S140, Figure 1 The method shown may also include: reporting the download progress of multiple firmware upgrade packages to the server. That is, the client can report the download progress to the server during the process of downloading multiple firmware upgrade packages. For example, when the first information includes the upgrade package information of each firmware in the first category of firmware, the client can report to the server the firmware that has been downloaded / not downloaded / firmware that is being downloaded during the process of downloading multiple firmware upgrade packages. For another example, when the first information includes information of the first firmware data packet, the client can report to the server the percentage of completed / downloaded / not completed or downloaded data during the process of downloading the first firmware data packet. Based on this, it helps the server to intuitively understand the download progress of the client.

[0125] Optional, Figure 1 The method shown may also include: reporting the upgrade result of the first type of firmware to the server; if all the firmware in the first type of firmware are successfully upgraded, the upgrade result is a successful upgrade; or, if one of the firmware in the first type of firmware fails to be upgraded, the upgrade result is an upgrade failure. That is, when one of the firmware in the first type of firmware fails to be upgraded, it indicates that the upgrade has failed. It is worth noting that when the client attempts to upgrade a certain firmware for a certain number of times and still fails to upgrade successfully, it can be considered that the firmware upgrade has failed. The number of attempts here is not limited, for example, it can be 3 times or 5 times.

[0126] Combine the following Figure 2-Figure 4 , the inverter firmware remote upgrade method of the embodiment of the present application is introduced by example.

[0127] like Figure 2As shown, an example of the remote upgrade method of the inverter firmware of an embodiment of the present application is shown. When the client detects that there is firmware that can be upgraded, it can send an HTTP request to the server to request the firmware upgrade. When the server receives the upgrade request, it will detect whether there are multiple firmwares of the same type that can be upgraded. If so, it can provide two upgrade options to correspond to different situations.

[0128] The first method: The server packages and sorts the information of multiple firmwares that need to be upgraded, and sends MQTT messages through the topic subscribed by the device to carry the information of multiple firmwares (i.e., the first information). After receiving the information of multiple firmwares, the device will download the firmware from the server and reply to the server with the download progress. After all the firmwares are downloaded, the device can be upgraded in the order of numbers (the upgrade order can be specified by the server through the first sorting information in the first information), and reply to the server with the upgrade result of success or failure.

[0129] The second method: The server takes out multiple firmwares that need to be upgraded, and encrypts and packages them using an algorithm to obtain a file package (i.e., the first firmware data package). The MQTT message sent to the topic subscribed by the device carries the information of the file package (i.e., the first information). After the device receives the information through the subscribed topic, it downloads the file package from the server. After decrypting the file package using the decryption algorithm, the device can upgrade the firmware in sequence (the device determines the sequence by itself), and reply to the server with the upgrade result of success or failure.

[0130] Combine the following Figure 3 and Figure 4 , further examples are given for the two upgrade options.

[0131] like Figure 3 As shown, it is an example of the first upgrade option. For example, there are currently three firmwares of the same type, A, B, and C, that need to be upgraded. When the server detects that all three firmwares need to be upgraded, it will take out all the information of the three firmwares to form an MQTT message, and number the three firmwares 1, 2, and 3, and then send the MQTT message through the topic subscribed by the device. After receiving the MQTT message, the client parses and obtains the firmware information, downloads the required firmware from the server in sequence, and reports the download progress. After all downloads are completed, they are upgraded in sequence according to the numbering order set by the server, and the upgrade results are returned.

[0132] like Figure 4As shown, it is an example of the second upgrade option. For example, there are three firmwares of the same type, A, B, and C, that need to be upgraded. When the server detects that all three firmwares need to be upgraded, it will take out all three firmwares and encrypt and package them through the algorithm, and send the packaged data packet information to the topic subscribed by the device through the MQTT information packet. After receiving the data packet information, the client parses the data packet information, downloads it, and decrypts and decompresses it into the original three firmwares through the algorithm. At this time, the device can be upgraded in the order set by itself and return the upgrade result.

[0133] The method provided in the embodiment of the present application is described in detail above. The device provided in the embodiment of the present application is described in detail below with reference to the accompanying drawings.

[0134] See also Figure 5 , is a schematic diagram of the structure of an inverter client device provided in an embodiment of the present application. Figure 5 The inverter client device 500 shown may include: a sending module 510 ; a receiving module 520 ; a downloading module 530 ; and an upgrading module 540 .

[0135] The sending module 510 may be used to send a first request to the server, and the first request may be used to request an upgrade of the first firmware;

[0136] The receiving module 520 may be used to receive first information from a server, where the first information may be used to indicate upgrade information of a first type of firmware, and the first type of firmware may include multiple firmware of the same type as the first firmware and that are upgradeable;

[0137] The download module 530 may be used to download multiple firmware upgrade packages to the server based on the first information;

[0138] The upgrade module 540 may be configured to upgrade the multiple firmwares based on the upgrade packages of the multiple firmwares after the download module 530 completes downloading of the upgrade packages of the multiple firmwares.

[0139] Optionally, the first information may include upgrade package information of each firmware in the first category of firmware.

[0140] Optionally, the firmware upgrade package information may include one or more of the following:

[0141] The file size of the upgrade package;

[0142] File type of the upgrade package;

[0143] The upgrade package file is located on the server.

[0144] Optionally, the first information may further include first sorting information, and the first sorting information may be used to indicate an upgrade sequence of the first type of firmware set by the server for the client.

[0145] Optionally, the first information may include information of a first firmware data packet, and the first firmware data packet may be a data packet obtained by packaging a plurality of firmware upgrade packages by the server.

[0146] Optionally, the information of the first firmware data packet may include one or more of the following:

[0147] The file size of the first firmware data packet;

[0148] The file type of the first firmware data packet;

[0149] The first firmware package file is located on the server.

[0150] Optionally, the first firmware data packet may be an encrypted data packet, and the password of the first firmware data packet may be a password agreed upon by the server and the client.

[0151] Optionally, after the download module 530 completes downloading of the upgrade packages of the multiple firmwares and before the upgrade module 540 upgrades the multiple firmwares based on the upgrade packages of the multiple firmwares, the sending module 510 may also be used to:

[0152] Report the download progress of multiple firmware upgrade packages to the server.

[0153] Optionally, the sending module 510 may also be used for:

[0154] Report the upgrade result of the first type of firmware to the server;

[0155] If all the firmware in the first category of firmware are upgraded successfully, the upgrade result is upgrade success;

[0156] Alternatively, if one of the first-category firmware fails to be upgraded, the upgrade result is upgrade failure.

[0157] Optionally, the first information may be carried in an MQTT message.

[0158] See also Figure 6 , is a schematic diagram of the structure of an inverter server device provided in an embodiment of the present application. Figure 6 The inverter server device 600 shown may include: a receiving module 610; and a sending module 620.

[0159] The receiving module 610 may be used to receive a first request sent by a client, where the first request is used to request an upgrade of a first firmware;

[0160] The sending module 620 may be configured to send first information to the client, where the first information is used to indicate upgrade information of a first type of firmware, and the first type of firmware includes a plurality of firmware of the same type as the first firmware and which are upgradeable.

[0161] Optionally, the first information may include upgrade package information of each firmware in the first category of firmware.

[0162] Optionally, the firmware upgrade package information may include one or more of the following:

[0163] The file size of the upgrade package;

[0164] File type of the upgrade package;

[0165] The upgrade package file is located on the server.

[0166] Optionally, the first information may further include first sorting information, and the first sorting information may be used to indicate an upgrade sequence of the first type of firmware set by the server for the client.

[0167] Optionally, the first information may include information of a first firmware data packet, and the first firmware data packet may be a data packet obtained by packaging a plurality of firmware upgrade packages by the server.

[0168] Optionally, the information of the first firmware data packet may include one or more of the following:

[0169] The file size of the first firmware data packet;

[0170] The file type of the first firmware data packet;

[0171] The first firmware package file is located on the server.

[0172] Optionally, the first firmware data packet may be an encrypted data packet, and the password of the first firmware data packet may be a password agreed upon by the server and the client.

[0173] Optionally, the receiving module 610 may also be used for:

[0174] Receive the download progress of multiple firmware upgrade packages reported by the client.

[0175] Optionally, the receiving module 610 may also be used for:

[0176] Receive the upgrade result of the first type of firmware reported by the client;

[0177] If all the firmware in the first category of firmware are upgraded successfully, the upgrade result is upgrade success;

[0178] Alternatively, if one of the first-category firmware fails to be upgraded, the upgrade result is upgrade failure.

[0179] Optionally, the first information may be carried in an MQTT message.

[0180] The present application also provides an electronic device. Figure 7 As shown, the electronic device 700 includes: at least one processor 701, a memory 702, and a computer program 703 stored in the memory 702 and executable on the at least one processor 701. When the processor 701 executes the computer program 703, the method provided in the present application is implemented.

[0181] Exemplarily, the computer program 703 may be divided into one or more modules / units, one or more modules / units are stored in the memory 702, and are executed by the processor 701 to complete the present application. One or more modules / units may be a series of computer program instruction segments capable of completing specific functions, and the instruction segments are used to describe the execution process of the computer program in the electronic device 700.

[0182] Those skilled in the art will understand that Figure 7 It is only an example of the electronic device 700 and does not constitute a limitation of the electronic device. It may include more or fewer components than shown in the figure, or a combination of certain components, or different components. For example, the electronic device 700 may also include input and output devices, network access devices, buses, etc.

[0183] The processor 701 may be a central processing unit (CPU), or other general-purpose processors, digital signal processors (DSP), application specific integrated circuits (ASIC), field-programmable gate arrays (FPGA) or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components, etc. A general-purpose processor may be a microprocessor or the processor may be any conventional processor, etc.

[0184] The memory 702 may be an internal storage unit of the electronic device 700, such as a hard disk or memory of the electronic device 700. The memory 702 may also be an external storage device of the electronic device 700, such as a plug-in hard disk, a smart media card (SMC), a secure digital (SD) card, a flash card, etc. equipped on the electronic device 700. Further, the memory 702 may also include both an internal storage unit of the electronic device 700 and an external storage device. The memory 702 is used to store computer programs and other programs and data required by the electronic device 700. The memory 702 may also be used to temporarily store data that has been output or is to be output.

[0185] The electronic device 700 provided in this embodiment can execute the above method embodiment, and its implementation principle and technical effect are similar, which will not be repeated here.

[0186] An embodiment of the present application further provides a computer-readable storage medium, which stores a computer program. When the computer program is executed by a processor, the steps in the above-mentioned method embodiments can be implemented.

[0187] An embodiment of the present application provides a computer program product. When the computer program product runs on an electronic device, the electronic device can implement the steps in the above-mentioned method embodiments when executing the computer program product.

[0188] If the integrated unit is implemented in the form of a software functional unit and sold or used as an independent product, it can be stored in a computer-readable storage medium. Based on this understanding, the present application implements all or part of the processes in the above method embodiments, which can be completed by instructing the relevant hardware through a computer program. The computer program can be stored in a computer-readable storage medium. When the computer program is executed by the processor, the steps of the above method embodiments can be implemented. Among them, the computer program includes computer program code, which can be in source code form, object code form, executable file or some intermediate form. The computer-readable medium may at least include: any entity or device that can carry the computer program code to the camera / electronic device, recording medium, computer memory, ROM (read-only memory), RAM (random access memory), CD-ROM (compact disc read-only memory), magnetic tape, floppy disk and optical data storage device. The computer-readable storage medium mentioned in the present application can be a non-volatile storage medium, in other words, it can be a non-transient storage medium.

[0189] In the above embodiments, the description of each embodiment has its own emphasis. For parts that are not described or recorded in detail in a certain embodiment, reference can be made to the relevant descriptions of other embodiments.

[0190] Those of ordinary skill in the art will appreciate that the units and algorithm steps of each example described in conjunction with the embodiments disclosed herein can be implemented in electronic hardware, or a combination of computer software and electronic hardware. Whether these functions are performed in hardware or software depends on the specific application and design constraints of the technical solution. Professional and technical personnel can use different methods to implement the described functions for each specific application, but such implementation should not be considered to be beyond the scope of this application.

[0191] In the embodiments provided in the present application, it should be understood that the disclosed devices / equipment and methods can be implemented in other ways. For example, the device / equipment embodiments described above are only schematic, for example, the division of modules or units is only a logical function division, and there may be other division methods in actual implementation, such as multiple units or components can be combined or integrated into another system, or some features can be ignored or not executed. Another point is that the mutual coupling or direct coupling or communication connection shown or discussed can be through some interfaces, indirect coupling or communication connection of devices or units, which can be electrical, mechanical or other forms.

[0192] It should be understood that when used in the present specification and the appended claims, the term "comprising" indicates the presence of described features, wholes, steps, operations, elements and / or components, but does not exclude the presence or addition of one or more other features, wholes, steps, operations, elements, components and / or combinations thereof.

[0193] It should also be understood that the term “and / or” used in the specification and appended claims refers to any and all possible combinations of one or more of the associated listed items, and includes these combinations.

[0194] As used in the specification and appended claims of this application, the term "if" can be interpreted as "when" or "uponce" or "in response to determining" or "in response to detecting", depending on the context. Similarly, the phrase "if it is determined" or "if [described condition or event] is detected" can be interpreted as meaning "uponce it is determined" or "in response to determining" or "uponce [described condition or event] is detected" or "in response to detecting [described condition or event]", depending on the context.

[0195] In addition, in the description of the present application specification and the appended claims, the terms "first", "second", etc. are only used to distinguish the descriptions and cannot be understood as indicating or implying relative importance.

[0196] Finally, it should be noted that the above embodiments are only used to illustrate the technical solutions of the present application, rather than to limit it. Although the present application has been described in detail with reference to the aforementioned embodiments, those skilled in the art should understand that they can still modify the technical solutions described in the aforementioned embodiments, or replace some or all of the technical features therein with equivalents. However, these modifications or replacements do not cause the essence of the corresponding technical solutions to deviate from the scope of the technical solutions of the embodiments of the present application.

Claims

1. A method for remotely upgrading inverter firmware, characterized in that: The method is applied to an inverter client, and the method comprises: Sending a first request to a server, where the first request is used to request an upgrade of a first firmware; Receive first information from the server, where the first information is used to indicate upgrade information of a first type of firmware, where the first type of firmware includes multiple firmwares of the same type as the first firmware and are upgradeable, where the first information includes upgrade package information of each of the firmwares in the first type of firmware, or where the first information includes information of a first firmware data packet, where the first firmware data packet is a data packet obtained by the server packaging the upgrade packages of the multiple firmwares, and the first information is carried in a message queue telemetry transmission MQTT message; Downloading the upgrade packages of the multiple firmwares from the server based on the first information; After the downloading of the upgrade packages of the multiple firmwares is completed, the multiple firmwares are upgraded based on the upgrade packages of the multiple firmwares.

2. The method according to claim 1, characterized in that The firmware upgrade package information includes one or more of the following: The file size of the upgrade package; The file type of the upgrade package; The file of the upgrade package is located at the server.

3. The method according to claim 2, characterized in that The first information further includes first sorting information, where the first sorting information is used to indicate an upgrade sequence of the first type of firmware set by the server for the client.

4. The method according to claim 1, characterized in that: The information of the first firmware data packet includes one or more of the following: The file size of the first firmware data packet; a file type of the first firmware data packet; The file of the first firmware data package is located at the server.

5. The method according to claim 4, characterized in that The first firmware data packet is an encrypted data packet, and the password of the first firmware data packet is a password agreed upon by the server and the client.

6. The method according to claim 3 or 5, characterized in that: After downloading of the upgrade packages of the multiple firmwares is completed, and before upgrading the multiple firmwares based on the upgrade packages of the multiple firmwares, the method further includes: Report the download progress of the upgrade packages of the multiple firmware to the server.

7. The method according to claim 6, characterized in that The method further comprises: Reporting the upgrade result of the first type of firmware to the server; If all the firmware in the first category of firmware are upgraded successfully, the upgrade result is upgrade success; Alternatively, if one of the first-type firmware fails to be upgraded, the upgrade result is upgrade failure.

Citation Information

Patent Citations

  • Firmware upgrade method, terminal and server

    CN107239302A

  • Server firmware upgrade package processing method and device

    CN110225139A