Creates firmware after uploading the firmware file to Object Storage Service (OSS).

Limits

  • You can have at most 500 firmware files under an Alibaba cloud account.
  • The maximum number of queries per second (QPS) for a single Alibaba Cloud account to call this operation is 10. The quota is shared between the Alibaba Cloud account and RAM users.

Request parameters

Parameter Type Required Description
Action String Yes The operation that you want to perform. Set the value to CreateOTAFirmware.
ProductKey String No The key of the product to which the devices belong.
FirmwareName String Yes The firmware name. It can contain English letters, digits, hyphens (-), underscores (_), and parenthese (). The name can contain 1 to 40 characters.
DestVersion String Yes The version of this firmware. It can contain English letters, digits, dots (.), hyphens (-), and underscores (_). It can contain 1 to 64 characters.
FirmwareUrl String Yes The URL of the firmware file stored in Object Storage Service (OSS). The firmware URL is a response parameter that is returned when the GenerateOTAUploadURL operation is called to generate the firmware information.
SignMethod String No The signature method of the firmware. The only valid value is MD5. Default value: MD5.
FirmwareSign String No The signature value of the firmware. It is calculated by using the SignMethod on the firmware content.

If you do not specify this parameter, the MD5 value of the firmware file content in OSS is used as the firmware signature.

FirmwareSize String No The size of the firmware. Unit: bytes.

If you do not specify this parameter, the size of the firmware file in Object Storage Service (OSS) is used as the firmware size.

FirmwareDesc String No The firmware description. It can be up to 100 characters in length.
Type Integer No The firmware type. Valid values:
  • 0: complete firmware. The uploaded firmware file contains the complete firmware. The system pushes the entire firmware package to devices for update.
  • 1: differential firmware. The uploaded firmware file contains only the differences between the target version and the current version.

Default value: 0.

SrcVersion String No The firmware version to be updated. It is the current firmware version of the devices pending an update.

You can call QueryDeviceDetail to view the (FirmwareVersion) parameter.

Note
  • If Type is set to 1 (differential firmware), this parameter must be specified, and the value cannot be the same as the DestVersion.
  • If Type is set to 0 (complete firmware), this parameter is optional.
IotInstanceId String No The ID of your IoT Platform instance. This parameter is not required for public instances. However, the parameter is required for the instances that you have purchased.
Common request parameters N/A Yes For more information about common request parameters, see Common parameters.

Response parameters

Parameter Type Description
RequestId String The globally unique ID that is generated by Alibaba Cloud for the request.
Success Boolean Indicates whether the call is successful. true indicates that the call was successful. false indicates that the call failed.
ErrorMessage String The error message returned if the call fails.
Code String The error code returned if the call fails. For more information about error codes, see Error codes.
Data Data The firmware information returned when the call is successful. For more information, see the following table Data.
Table 1. Data
Parameter Type Description
FirmwareId String The firmware ID. It is the unique identifier that is allocated by IoT Platform for the firmware.
UtcCreate String The time when the firmware was created in UTC.

Examples

Sample requests

https://iot.cn-shanghai.aliyuncs.com/?Action=CreateOTAFirmware
&ProductKey=aluctKe****
&FirmwareName=Firmware***
&DestVersion=2.0.0
&FirmwareUrl=https%3A%2F%2F******%2F****%2F****%2F****.bin
&SignMethod=MD5
&FirmwareSign=93230c3bde425a9d7984a594ac55****
&FirmwareSize=900
&FirmwareDesc=OTA function updated
&Type=0
&Common request parameters

Sample success responses

  • JSON format
    {  
      "Data": {
        "FirmwareId": "s8SSHiKjpBfrM3BSN0z803****",
        "UtcCreate": "2019-11-04T06:21:54.607Z"
      },
      "RequestId": "291438BA-6E10-4C4C-B761-243B9A0D324F",
      "Success": true
    }
  • XML format
    <? xml version="1.0" encoding="utf-8"? >
    <CreateOTAFirmwareResponse>
      <Data>
        <FirmwareId>s8SSHiKjpBfrM3BSN0z803****</FirmwareId>
        <UtcCreate>2019-11-04T06:21:54.607Z</UtcCreate>
      </Data>
      <RequestId>E4BD5A12-7C1D-4712-A7D5-B2432331165E</RequestId>
      <Success>true</Success>
    </CreateOTAFirmwareResponse>