AWS IoT Wireless

2022/07/07 - AWS IoT Wireless - 5 new 3 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.

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.

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

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.

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

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