AWS IoT Wireless

2023/02/23 - AWS IoT Wireless - 3 updated api methods

Changes  In this release, we add additional capabilities for the FUOTA which allows user to configure the fragment size, the sending interval and the redundancy ratio of the FUOTA tasks

CreateFuotaTask (updated) Link ¶
Changes (request)
{'FragmentIntervalMS': 'integer',
 'FragmentSizeBytes': 'integer',
 'RedundancyPercent': 'integer'}

Creates a FUOTA task.

See also: AWS API Documentation

Request Syntax

client.create_fuota_task(
    Name='string',
    Description='string',
    ClientRequestToken='string',
    LoRaWAN={
        'RfRegion': 'EU868'|'US915'|'AU915'|'AS923-1'
    },
    FirmwareUpdateImage='string',
    FirmwareUpdateRole='string',
    Tags=[
        {
            'Key': 'string',
            'Value': 'string'
        },
    ],
    RedundancyPercent=123,
    FragmentSizeBytes=123,
    FragmentIntervalMS=123
)
type Name:

string

param Name:

The name of a FUOTA task.

type Description:

string

param Description:

The description of the new resource.

type ClientRequestToken:

string

param ClientRequestToken:

Each resource must have a unique client request token. If you try to create a new resource with the same token as a resource that already exists, an exception occurs. If you omit this value, AWS SDKs will automatically generate a unique client request.

This field is autopopulated if not provided.

type LoRaWAN:

dict

param LoRaWAN:

The LoRaWAN information used with a FUOTA task.

  • RfRegion (string) --

    Supported RfRegions

type FirmwareUpdateImage:

string

param FirmwareUpdateImage:

[REQUIRED]

The S3 URI points to a firmware update image that is to be used with a FUOTA task.

type FirmwareUpdateRole:

string

param FirmwareUpdateRole:

[REQUIRED]

The firmware update role that is to be used with a FUOTA task.

type Tags:

list

param Tags:

The tag to attach to the specified resource. Tags are metadata that you can use to manage a resource.

  • (dict) --

    A simple label consisting of a customer-defined key-value pair

    • Key (string) -- [REQUIRED]

      The tag's key value.

    • Value (string) -- [REQUIRED]

      The tag's value.

type RedundancyPercent:

integer

param RedundancyPercent:

The percentage of added redundant fragments. For example, if firmware file is 100 bytes and fragment size is 10 bytes, with RedundancyPercent set to 50(%), the final number of encoded fragments is (100 / 10) + (100 / 10 * 50%) = 15.

type FragmentSizeBytes:

integer

param FragmentSizeBytes:

The size of each fragment in bytes. Currently only supported in fuota tasks with multicast groups.

type FragmentIntervalMS:

integer

param FragmentIntervalMS:

The interval of sending fragments in milliseconds. Currently the interval will be rounded to the nearest second. Note that this interval only controls the timing when the cloud sends the fragments down. The actual delay of receiving fragments at device side depends on the device's class and the communication delay with the cloud.

rtype:

dict

returns:

Response Syntax

{
    'Arn': 'string',
    'Id': 'string'
}

Response Structure

  • (dict) --

    • Arn (string) --

      The arn of a FUOTA task.

    • Id (string) --

      The ID of a FUOTA task.

GetFuotaTask (updated) Link ¶
Changes (response)
{'FragmentIntervalMS': 'integer',
 'FragmentSizeBytes': 'integer',
 'RedundancyPercent': 'integer'}

Gets information about a FUOTA task.

See also: AWS API Documentation

Request Syntax

client.get_fuota_task(
    Id='string'
)
type Id:

string

param Id:

[REQUIRED]

The ID of a FUOTA task.

rtype:

dict

returns:

Response Syntax

{
    'Arn': 'string',
    'Id': 'string',
    'Status': 'Pending'|'FuotaSession_Waiting'|'In_FuotaSession'|'FuotaDone'|'Delete_Waiting',
    'Name': 'string',
    'Description': 'string',
    'LoRaWAN': {
        'RfRegion': 'string',
        'StartTime': datetime(2015, 1, 1)
    },
    'FirmwareUpdateImage': 'string',
    'FirmwareUpdateRole': 'string',
    'CreatedAt': datetime(2015, 1, 1),
    'RedundancyPercent': 123,
    'FragmentSizeBytes': 123,
    'FragmentIntervalMS': 123
}

Response Structure

  • (dict) --

    • Arn (string) --

      The arn of a FUOTA task.

    • Id (string) --

      The ID of a FUOTA task.

    • Status (string) --

      The status of a FUOTA task.

    • Name (string) --

      The name of a FUOTA task.

    • Description (string) --

      The description of the new resource.

    • LoRaWAN (dict) --

      The LoRaWAN information returned from getting a FUOTA task.

      • RfRegion (string) --

        The frequency band (RFRegion) value.

      • StartTime (datetime) --

        Start time of a FUOTA task.

    • FirmwareUpdateImage (string) --

      The S3 URI points to a firmware update image that is to be used with a FUOTA task.

    • FirmwareUpdateRole (string) --

      The firmware update role that is to be used with a FUOTA task.

    • CreatedAt (datetime) --

      Created at timestamp for the resource.

    • RedundancyPercent (integer) --

      The percentage of added redundant fragments. For example, if firmware file is 100 bytes and fragment size is 10 bytes, with RedundancyPercent set to 50(%), the final number of encoded fragments is (100 / 10) + (100 / 10 * 50%) = 15.

    • FragmentSizeBytes (integer) --

      The size of each fragment in bytes. Currently only supported in fuota tasks with multicast groups.

    • FragmentIntervalMS (integer) --

      The interval of sending fragments in milliseconds. Currently the interval will be rounded to the nearest second. Note that this interval only controls the timing when the cloud sends the fragments down. The actual delay of receiving fragments at device side depends on the device's class and the communication delay with the cloud.

UpdateFuotaTask (updated) Link ¶
Changes (request)
{'FragmentIntervalMS': 'integer',
 'FragmentSizeBytes': 'integer',
 'RedundancyPercent': 'integer'}

Updates properties of a FUOTA task.

See also: AWS API Documentation

Request Syntax

client.update_fuota_task(
    Id='string',
    Name='string',
    Description='string',
    LoRaWAN={
        'RfRegion': 'EU868'|'US915'|'AU915'|'AS923-1'
    },
    FirmwareUpdateImage='string',
    FirmwareUpdateRole='string',
    RedundancyPercent=123,
    FragmentSizeBytes=123,
    FragmentIntervalMS=123
)
type Id:

string

param Id:

[REQUIRED]

The ID of a FUOTA task.

type Name:

string

param Name:

The name of a FUOTA task.

type Description:

string

param Description:

The description of the new resource.

type LoRaWAN:

dict

param LoRaWAN:

The LoRaWAN information used with a FUOTA task.

  • RfRegion (string) --

    Supported RfRegions

type FirmwareUpdateImage:

string

param FirmwareUpdateImage:

The S3 URI points to a firmware update image that is to be used with a FUOTA task.

type FirmwareUpdateRole:

string

param FirmwareUpdateRole:

The firmware update role that is to be used with a FUOTA task.

type RedundancyPercent:

integer

param RedundancyPercent:

The percentage of added redundant fragments. For example, if firmware file is 100 bytes and fragment size is 10 bytes, with RedundancyPercent set to 50(%), the final number of encoded fragments is (100 / 10) + (100 / 10 * 50%) = 15.

type FragmentSizeBytes:

integer

param FragmentSizeBytes:

The size of each fragment in bytes. Currently only supported in fuota tasks with multicast groups.

type FragmentIntervalMS:

integer

param FragmentIntervalMS:

The interval of sending fragments in milliseconds. Currently the interval will be rounded to the nearest second. Note that this interval only controls the timing when the cloud sends the fragments down. The actual delay of receiving fragments at device side depends on the device's class and the communication delay with the cloud.

rtype:

dict

returns:

Response Syntax

{}

Response Structure

  • (dict) --