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
{'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 )
string
The name of a FUOTA task.
string
The description of the new resource.
string
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.
dict
The LoRaWAN information used with a FUOTA task.
RfRegion (string) --
Supported RfRegions
string
[REQUIRED]
The S3 URI points to a firmware update image that is to be used with a FUOTA task.
string
[REQUIRED]
The firmware update role that is to be used with a FUOTA task.
list
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.
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.
integer
The size of each fragment in bytes. Currently only supported in fuota tasks with multicast groups.
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.
dict
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.
{'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' )
string
[REQUIRED]
The ID of a FUOTA task.
dict
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.
{'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 )
string
[REQUIRED]
The ID of a FUOTA task.
string
The name of a FUOTA task.
string
The description of the new resource.
dict
The LoRaWAN information used with a FUOTA task.
RfRegion (string) --
Supported RfRegions
string
The S3 URI points to a firmware update image that is to be used with a FUOTA task.
string
The firmware update role that is to be used with a FUOTA task.
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.
integer
The size of each fragment in bytes. Currently only supported in fuota tasks with multicast groups.
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.
dict
Response Syntax
{}
Response Structure
(dict) --