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) --