AWS IoT Wireless

2022/07/07 - AWS IoT Wireless - 5 new3 updated api methods

Changes  Adds 5 APIs: PutPositionConfiguration, GetPositionConfiguration, ListPositionConfigurations, UpdatePosition, GetPosition for the new Positioning Service feature which enables customers to configure solvers to calculate position of LoRaWAN devices, or specify position of LoRaWAN devices & gateways.

UpdatePosition (new) Link ¶

Update the position information of a resource.

See also: AWS API Documentation

Request Syntax

client.update_position(
    ResourceIdentifier='string',
    ResourceType='WirelessDevice'|'WirelessGateway',
    Position=[
        ...,
    ]
)
type ResourceIdentifier:

string

param ResourceIdentifier:

[REQUIRED]

Resource identifier of the resource for which position is updated.

type ResourceType:

string

param ResourceType:

[REQUIRED]

Resource type of the resource for which position is updated.

type Position:

list

param Position:

[REQUIRED]

The position information of the resource.

  • (float) --

rtype:

dict

returns:

Response Syntax

{}

Response Structure

  • (dict) --

ListPositionConfigurations (new) Link ¶

List position configurations for a given resource, such as positioning solvers.

See also: AWS API Documentation

Request Syntax

client.list_position_configurations(
    ResourceType='WirelessDevice'|'WirelessGateway',
    MaxResults=123,
    NextToken='string'
)
type ResourceType:

string

param ResourceType:

Resource type for which position configurations are listed.

type MaxResults:

integer

param MaxResults:

The maximum number of results to return in this operation.

type NextToken:

string

param NextToken:

To retrieve the next set of results, the nextToken value from a previous response; otherwise null to receive the first set of results.

rtype:

dict

returns:

Response Syntax

{
    'PositionConfigurationList': [
        {
            'ResourceIdentifier': 'string',
            'ResourceType': 'WirelessDevice'|'WirelessGateway',
            'Solvers': {
                'SemtechGnss': {
                    'Provider': 'Semtech',
                    'Type': 'GNSS',
                    'Status': 'Enabled'|'Disabled',
                    'Fec': 'ROSE'|'NONE'
                }
            },
            'Destination': 'string'
        },
    ],
    'NextToken': 'string'
}

Response Structure

  • (dict) --

    • PositionConfigurationList (list) --

      A list of position configurations.

      • (dict) --

        The wrapper for a position configuration.

        • ResourceIdentifier (string) --

          Resource identifier for the position configuration.

        • ResourceType (string) --

          Resource type of the resource for the position configuration.

        • Solvers (dict) --

          The details of the positioning solver object used to compute the location.

          • SemtechGnss (dict) --

            The Semtech GNSS solver object details.

            • Provider (string) --

              The vendor of the solver object.

            • Type (string) --

              The type of positioning solver used.

            • Status (string) --

              The status indicating whether the solver is enabled.

            • Fec (string) --

              Whether forward error correction is enabled.

        • Destination (string) --

          The position data destination that describes the AWS IoT rule that processes the device's position data for use by AWS IoT Core for LoRaWAN.

    • NextToken (string) --

      The token to use to get the next set of results, or null if there are no additional results.

GetPosition (new) Link ¶

Get the position information for a given resource.

See also: AWS API Documentation

Request Syntax

client.get_position(
    ResourceIdentifier='string',
    ResourceType='WirelessDevice'|'WirelessGateway'
)
type ResourceIdentifier:

string

param ResourceIdentifier:

[REQUIRED]

Resource identifier used to retrieve the position information.

type ResourceType:

string

param ResourceType:

[REQUIRED]

Resource type of the resource for which position information is retrieved.

rtype:

dict

returns:

Response Syntax

{
    'Position': [
        ...,
    ],
    'Accuracy': {
        'HorizontalAccuracy': ...,
        'VerticalAccuracy': ...
    },
    'SolverType': 'GNSS',
    'SolverProvider': 'Semtech',
    'SolverVersion': 'string',
    'Timestamp': 'string'
}

Response Structure

  • (dict) --

    • Position (list) --

      The position information of the resource.

      • (float) --

    • Accuracy (dict) --

      The accuracy of the estimated position in meters. An empty value indicates that no position data is available. A value of ‘0.0’ value indicates that position data is available. This data corresponds to the position information that you specified instead of the position computed by solver.

      • HorizontalAccuracy (float) --

        The horizontal accuracy of the estimated position in meters.

      • VerticalAccuracy (float) --

        The vertical accuracy of the estimated position in meters.

    • SolverType (string) --

      The type of solver used to identify the position of the resource.

    • SolverProvider (string) --

      The vendor of the positioning solver.

    • SolverVersion (string) --

      The version of the positioning solver.

    • Timestamp (string) --

      The timestamp at which the device's position was determined.

PutPositionConfiguration (new) Link ¶

Put position configuration for a given resource.

See also: AWS API Documentation

Request Syntax

client.put_position_configuration(
    ResourceIdentifier='string',
    ResourceType='WirelessDevice'|'WirelessGateway',
    Solvers={
        'SemtechGnss': {
            'Status': 'Enabled'|'Disabled',
            'Fec': 'ROSE'|'NONE'
        }
    },
    Destination='string'
)
type ResourceIdentifier:

string

param ResourceIdentifier:

[REQUIRED]

Resource identifier used to update the position configuration.

type ResourceType:

string

param ResourceType:

[REQUIRED]

Resource type of the resource for which you want to update the position configuration.

type Solvers:

dict

param Solvers:

The positioning solvers used to update the position configuration of the resource.

  • SemtechGnss (dict) --

    The Semtech GNSS solver configuration object.

    • Status (string) -- [REQUIRED]

      The status indicating whether the solver is enabled.

    • Fec (string) -- [REQUIRED]

      Whether forward error correction is enabled.

type Destination:

string

param Destination:

The position data destination that describes the AWS IoT rule that processes the device's position data for use by AWS IoT Core for LoRaWAN.

rtype:

dict

returns:

Response Syntax

{}

Response Structure

  • (dict) --

GetPositionConfiguration (new) Link ¶

Get position configuration for a given resource.

See also: AWS API Documentation

Request Syntax

client.get_position_configuration(
    ResourceIdentifier='string',
    ResourceType='WirelessDevice'|'WirelessGateway'
)
type ResourceIdentifier:

string

param ResourceIdentifier:

[REQUIRED]

Resource identifier used in a position configuration.

type ResourceType:

string

param ResourceType:

[REQUIRED]

Resource type of the resource for which position configuration is retrieved.

rtype:

dict

returns:

Response Syntax

{
    'Solvers': {
        'SemtechGnss': {
            'Provider': 'Semtech',
            'Type': 'GNSS',
            'Status': 'Enabled'|'Disabled',
            'Fec': 'ROSE'|'NONE'
        }
    },
    'Destination': 'string'
}

Response Structure

  • (dict) --

    • Solvers (dict) --

      The wrapper for the solver configuration details object.

      • SemtechGnss (dict) --

        The Semtech GNSS solver object details.

        • Provider (string) --

          The vendor of the solver object.

        • Type (string) --

          The type of positioning solver used.

        • Status (string) --

          The status indicating whether the solver is enabled.

        • Fec (string) --

          Whether forward error correction is enabled.

    • Destination (string) --

      The position data destination that describes the AWS IoT rule that processes the device's position data for use by AWS IoT Core for LoRaWAN.

CreateWirelessDevice (updated) Link ¶
Changes (request)
{'LoRaWAN': {'FPorts': {'Positioning': {'ClockSync': 'integer',
                                        'Gnss': 'integer',
                                        'Stream': 'integer'}}}}

Provisions a wireless device.

See also: AWS API Documentation

Request Syntax

client.create_wireless_device(
    Type='Sidewalk'|'LoRaWAN',
    Name='string',
    Description='string',
    DestinationName='string',
    ClientRequestToken='string',
    LoRaWAN={
        'DevEui': 'string',
        'DeviceProfileId': 'string',
        'ServiceProfileId': 'string',
        'OtaaV1_1': {
            'AppKey': 'string',
            'NwkKey': 'string',
            'JoinEui': 'string'
        },
        'OtaaV1_0_x': {
            'AppKey': 'string',
            'AppEui': 'string',
            'GenAppKey': 'string'
        },
        'AbpV1_1': {
            'DevAddr': 'string',
            'SessionKeys': {
                'FNwkSIntKey': 'string',
                'SNwkSIntKey': 'string',
                'NwkSEncKey': 'string',
                'AppSKey': 'string'
            },
            'FCntStart': 123
        },
        'AbpV1_0_x': {
            'DevAddr': 'string',
            'SessionKeys': {
                'NwkSKey': 'string',
                'AppSKey': 'string'
            },
            'FCntStart': 123
        },
        'FPorts': {
            'Fuota': 123,
            'Multicast': 123,
            'ClockSync': 123,
            'Positioning': {
                'ClockSync': 123,
                'Stream': 123,
                'Gnss': 123
            }
        }
    },
    Tags=[
        {
            'Key': 'string',
            'Value': 'string'
        },
    ]
)
type Type:

string

param Type:

[REQUIRED]

The wireless device type.

type Name:

string

param Name:

The name of the new resource.

type Description:

string

param Description:

The description of the new resource.

type DestinationName:

string

param DestinationName:

[REQUIRED]

The name of the destination to assign to the new wireless device.

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 device configuration information to use to create the wireless device.

  • DevEui (string) --

    The DevEUI value.

  • DeviceProfileId (string) --

    The ID of the device profile for the new wireless device.

  • ServiceProfileId (string) --

    The ID of the service profile.

  • OtaaV1_1 (dict) --

    OTAA device object for v1.1 for create APIs

    • AppKey (string) --

      The AppKey value.

    • NwkKey (string) --

      The NwkKey value.

    • JoinEui (string) --

      The JoinEUI value.

  • OtaaV1_0_x (dict) --

    OTAA device object for create APIs for v1.0.x

    • AppKey (string) --

      The AppKey value.

    • AppEui (string) --

      The AppEUI value.

    • GenAppKey (string) --

      The GenAppKey value.

  • AbpV1_1 (dict) --

    ABP device object for create APIs for v1.1

    • DevAddr (string) --

      The DevAddr value.

    • SessionKeys (dict) --

      Session keys for ABP v1.1

      • FNwkSIntKey (string) --

        The FNwkSIntKey value.

      • SNwkSIntKey (string) --

        The SNwkSIntKey value.

      • NwkSEncKey (string) --

        The NwkSEncKey value.

      • AppSKey (string) --

        The AppSKey value.

    • FCntStart (integer) --

      The FCnt init value.

  • AbpV1_0_x (dict) --

    LoRaWAN object for create APIs

    • DevAddr (string) --

      The DevAddr value.

    • SessionKeys (dict) --

      Session keys for ABP v1.0.x

      • NwkSKey (string) --

        The NwkSKey value.

      • AppSKey (string) --

        The AppSKey value.

    • FCntStart (integer) --

      The FCnt init value.

  • FPorts (dict) --

    List of FPort assigned for different LoRaWAN application packages to use

    • Fuota (integer) --

      The Fport value.

    • Multicast (integer) --

      The Fport value.

    • ClockSync (integer) --

      The Fport value.

    • Positioning (dict) --

      FPort values for the GNSS, stream, and ClockSync functions of the positioning information.

      • ClockSync (integer) --

        The Fport value.

      • Stream (integer) --

        The Fport value.

      • Gnss (integer) --

        The Fport value.

type Tags:

list

param Tags:

The tags to attach to the new wireless device. 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.

rtype:

dict

returns:

Response Syntax

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

Response Structure

  • (dict) --

    • Arn (string) --

      The Amazon Resource Name of the new resource.

    • Id (string) --

      The ID of the new wireless device.

GetWirelessDevice (updated) Link ¶
Changes (response)
{'LoRaWAN': {'FPorts': {'Positioning': {'ClockSync': 'integer',
                                        'Gnss': 'integer',
                                        'Stream': 'integer'}}}}

Gets information about a wireless device.

See also: AWS API Documentation

Request Syntax

client.get_wireless_device(
    Identifier='string',
    IdentifierType='WirelessDeviceId'|'DevEui'|'ThingName'|'SidewalkManufacturingSn'
)
type Identifier:

string

param Identifier:

[REQUIRED]

The identifier of the wireless device to get.

type IdentifierType:

string

param IdentifierType:

[REQUIRED]

The type of identifier used in identifier.

rtype:

dict

returns:

Response Syntax

{
    'Type': 'Sidewalk'|'LoRaWAN',
    'Name': 'string',
    'Description': 'string',
    'DestinationName': 'string',
    'Id': 'string',
    'Arn': 'string',
    'ThingName': 'string',
    'ThingArn': 'string',
    'LoRaWAN': {
        'DevEui': 'string',
        'DeviceProfileId': 'string',
        'ServiceProfileId': 'string',
        'OtaaV1_1': {
            'AppKey': 'string',
            'NwkKey': 'string',
            'JoinEui': 'string'
        },
        'OtaaV1_0_x': {
            'AppKey': 'string',
            'AppEui': 'string',
            'GenAppKey': 'string'
        },
        'AbpV1_1': {
            'DevAddr': 'string',
            'SessionKeys': {
                'FNwkSIntKey': 'string',
                'SNwkSIntKey': 'string',
                'NwkSEncKey': 'string',
                'AppSKey': 'string'
            },
            'FCntStart': 123
        },
        'AbpV1_0_x': {
            'DevAddr': 'string',
            'SessionKeys': {
                'NwkSKey': 'string',
                'AppSKey': 'string'
            },
            'FCntStart': 123
        },
        'FPorts': {
            'Fuota': 123,
            'Multicast': 123,
            'ClockSync': 123,
            'Positioning': {
                'ClockSync': 123,
                'Stream': 123,
                'Gnss': 123
            }
        }
    },
    'Sidewalk': {
        'AmazonId': 'string',
        'SidewalkId': 'string',
        'SidewalkManufacturingSn': 'string',
        'DeviceCertificates': [
            {
                'SigningAlg': 'Ed25519'|'P256r1',
                'Value': 'string'
            },
        ]
    }
}

Response Structure

  • (dict) --

    • Type (string) --

      The wireless device type.

    • Name (string) --

      The name of the resource.

    • Description (string) --

      The description of the resource.

    • DestinationName (string) --

      The name of the destination to which the device is assigned.

    • Id (string) --

      The ID of the wireless device.

    • Arn (string) --

      The Amazon Resource Name of the resource.

    • ThingName (string) --

      The name of the thing associated with the wireless device. The value is empty if a thing isn't associated with the device.

    • ThingArn (string) --

      The ARN of the thing associated with the wireless device.

    • LoRaWAN (dict) --

      Information about the wireless device.

      • DevEui (string) --

        The DevEUI value.

      • DeviceProfileId (string) --

        The ID of the device profile for the new wireless device.

      • ServiceProfileId (string) --

        The ID of the service profile.

      • OtaaV1_1 (dict) --

        OTAA device object for v1.1 for create APIs

        • AppKey (string) --

          The AppKey value.

        • NwkKey (string) --

          The NwkKey value.

        • JoinEui (string) --

          The JoinEUI value.

      • OtaaV1_0_x (dict) --

        OTAA device object for create APIs for v1.0.x

        • AppKey (string) --

          The AppKey value.

        • AppEui (string) --

          The AppEUI value.

        • GenAppKey (string) --

          The GenAppKey value.

      • AbpV1_1 (dict) --

        ABP device object for create APIs for v1.1

        • DevAddr (string) --

          The DevAddr value.

        • SessionKeys (dict) --

          Session keys for ABP v1.1

          • FNwkSIntKey (string) --

            The FNwkSIntKey value.

          • SNwkSIntKey (string) --

            The SNwkSIntKey value.

          • NwkSEncKey (string) --

            The NwkSEncKey value.

          • AppSKey (string) --

            The AppSKey value.

        • FCntStart (integer) --

          The FCnt init value.

      • AbpV1_0_x (dict) --

        LoRaWAN object for create APIs

        • DevAddr (string) --

          The DevAddr value.

        • SessionKeys (dict) --

          Session keys for ABP v1.0.x

          • NwkSKey (string) --

            The NwkSKey value.

          • AppSKey (string) --

            The AppSKey value.

        • FCntStart (integer) --

          The FCnt init value.

      • FPorts (dict) --

        List of FPort assigned for different LoRaWAN application packages to use

        • Fuota (integer) --

          The Fport value.

        • Multicast (integer) --

          The Fport value.

        • ClockSync (integer) --

          The Fport value.

        • Positioning (dict) --

          FPort values for the GNSS, stream, and ClockSync functions of the positioning information.

          • ClockSync (integer) --

            The Fport value.

          • Stream (integer) --

            The Fport value.

          • Gnss (integer) --

            The Fport value.

    • Sidewalk (dict) --

      Sidewalk device object.

      • AmazonId (string) --

        The Sidewalk Amazon ID.

      • SidewalkId (string) --

        The sidewalk device identification.

      • SidewalkManufacturingSn (string) --

        The Sidewalk manufacturing series number.

      • DeviceCertificates (list) --

        The sidewalk device certificates for Ed25519 and P256r1.

        • (dict) --

          List of sidewalk certificates.

          • SigningAlg (string) --

            The certificate chain algorithm provided by sidewalk.

          • Value (string) --

            The value of the chosen sidewalk certificate.

UpdateWirelessDevice (updated) Link ¶
Changes (request)
{'LoRaWAN': {'FPorts': {'Positioning': {'ClockSync': 'integer',
                                        'Gnss': 'integer',
                                        'Stream': 'integer'}}}}

Updates properties of a wireless device.

See also: AWS API Documentation

Request Syntax

client.update_wireless_device(
    Id='string',
    DestinationName='string',
    Name='string',
    Description='string',
    LoRaWAN={
        'DeviceProfileId': 'string',
        'ServiceProfileId': 'string',
        'AbpV1_1': {
            'FCntStart': 123
        },
        'AbpV1_0_x': {
            'FCntStart': 123
        },
        'FPorts': {
            'Positioning': {
                'ClockSync': 123,
                'Stream': 123,
                'Gnss': 123
            }
        }
    }
)
type Id:

string

param Id:

[REQUIRED]

The ID of the resource to update.

type DestinationName:

string

param DestinationName:

The name of the new destination for the device.

type Name:

string

param Name:

The new name of the resource.

type Description:

string

param Description:

A new description of the resource.

type LoRaWAN:

dict

param LoRaWAN:

The updated wireless device's configuration.

  • DeviceProfileId (string) --

    The ID of the device profile for the wireless device.

  • ServiceProfileId (string) --

    The ID of the service profile.

  • AbpV1_1 (dict) --

    ABP device object for update APIs for v1.1

    • FCntStart (integer) --

      The FCnt init value.

  • AbpV1_0_x (dict) --

    ABP device object for update APIs for v1.0.x

    • FCntStart (integer) --

      The FCnt init value.

  • FPorts (dict) --

    FPorts object for the positioning information of the device.

    • Positioning (dict) --

      Positioning FPorts for the ClockSync, Stream, and GNSS functions.

      • ClockSync (integer) --

        The Fport value.

      • Stream (integer) --

        The Fport value.

      • Gnss (integer) --

        The Fport value.

rtype:

dict

returns:

Response Syntax

{}

Response Structure

  • (dict) --