AWS IoT Wireless

2022/08/25 - AWS IoT Wireless - 5 updated api methods

Changes  This release includes a new feature for the customers to enable the LoRa gateways to send out beacons for Class B devices and an option to select one or more gateways for Class C devices when sending the LoRaWAN downlink messages.

CreateWirelessGateway (updated) Link ¶
Changes (request)
{'LoRaWAN': {'Beaconing': {'DataRate': 'integer', 'Frequencies': ['integer']}}}

Provisions a wireless gateway.

See also: AWS API Documentation

Request Syntax

client.create_wireless_gateway(
    Name='string',
    Description='string',
    LoRaWAN={
        'GatewayEui': 'string',
        'RfRegion': 'string',
        'JoinEuiFilters': [
            [
                'string',
            ],
        ],
        'NetIdFilters': [
            'string',
        ],
        'SubBands': [
            123,
        ],
        'Beaconing': {
            'DataRate': 123,
            'Frequencies': [
                123,
            ]
        }
    },
    Tags=[
        {
            'Key': 'string',
            'Value': 'string'
        },
    ],
    ClientRequestToken='string'
)
type Name

string

param Name

The name of the new resource.

type Description

string

param Description

The description of the new resource.

type LoRaWAN

dict

param LoRaWAN

[REQUIRED]

The gateway configuration information to use to create the wireless gateway.

  • GatewayEui (string) --

    The gateway's EUI value.

  • RfRegion (string) --

    The frequency band (RFRegion) value.

  • JoinEuiFilters (list) --

    A list of JoinEuiRange used by LoRa gateways to filter LoRa frames.

    • (list) --

      A pair of join EUI describing a range [BegEui, EndEui], both ends are inclusive.

      • (string) --

  • NetIdFilters (list) --

    A list of NetId values that are used by LoRa gateways to filter the uplink frames.

    • (string) --

      LoRaWAN network ID.

  • SubBands (list) --

    A list of integer indicating which sub bands are supported by LoRa gateway.

    • (integer) --

      A subset of supported frequency channels in a certain RFRegion.

  • Beaconing (dict) --

    Beaconing object information, which consists of the data rate and frequency parameters.

    • DataRate (integer) --

      The data rate for gateways that are sending the beacons.

    • Frequencies (list) --

      The frequency list for the gateways to send the beacons.

      • (integer) --

type Tags

list

param Tags

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

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 gateway.

GetWirelessGateway (updated) Link ¶
Changes (response)
{'LoRaWAN': {'Beaconing': {'DataRate': 'integer', 'Frequencies': ['integer']}}}

Gets information about a wireless gateway.

See also: AWS API Documentation

Request Syntax

client.get_wireless_gateway(
    Identifier='string',
    IdentifierType='GatewayEui'|'WirelessGatewayId'|'ThingName'
)
type Identifier

string

param Identifier

[REQUIRED]

The identifier of the wireless gateway to get.

type IdentifierType

string

param IdentifierType

[REQUIRED]

The type of identifier used in identifier .

rtype

dict

returns

Response Syntax

{
    'Name': 'string',
    'Id': 'string',
    'Description': 'string',
    'LoRaWAN': {
        'GatewayEui': 'string',
        'RfRegion': 'string',
        'JoinEuiFilters': [
            [
                'string',
            ],
        ],
        'NetIdFilters': [
            'string',
        ],
        'SubBands': [
            123,
        ],
        'Beaconing': {
            'DataRate': 123,
            'Frequencies': [
                123,
            ]
        }
    },
    'Arn': 'string',
    'ThingName': 'string',
    'ThingArn': 'string'
}

Response Structure

  • (dict) --

    • Name (string) --

      The name of the resource.

    • Id (string) --

      The ID of the wireless gateway.

    • Description (string) --

      The description of the resource.

    • LoRaWAN (dict) --

      Information about the wireless gateway.

      • GatewayEui (string) --

        The gateway's EUI value.

      • RfRegion (string) --

        The frequency band (RFRegion) value.

      • JoinEuiFilters (list) --

        A list of JoinEuiRange used by LoRa gateways to filter LoRa frames.

        • (list) --

          A pair of join EUI describing a range [BegEui, EndEui], both ends are inclusive.

          • (string) --

      • NetIdFilters (list) --

        A list of NetId values that are used by LoRa gateways to filter the uplink frames.

        • (string) --

          LoRaWAN network ID.

      • SubBands (list) --

        A list of integer indicating which sub bands are supported by LoRa gateway.

        • (integer) --

          A subset of supported frequency channels in a certain RFRegion.

      • Beaconing (dict) --

        Beaconing object information, which consists of the data rate and frequency parameters.

        • DataRate (integer) --

          The data rate for gateways that are sending the beacons.

        • Frequencies (list) --

          The frequency list for the gateways to send the beacons.

          • (integer) --

    • Arn (string) --

      The Amazon Resource Name of the resource.

    • ThingName (string) --

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

    • ThingArn (string) --

      The ARN of the thing associated with the wireless gateway.

ListQueuedMessages (updated) Link ¶
Changes (response)
{'DownlinkQueueMessagesList': {'LoRaWAN': {'ParticipatingGateways': {'DownlinkMode': 'SEQUENTIAL '
                                                                                     '| '
                                                                                     'CONCURRENT '
                                                                                     '| '
                                                                                     'USING_UPLINK_GATEWAY',
                                                                     'GatewayList': [{'DownlinkFrequency': 'integer',
                                                                                      'GatewayId': 'string'}],
                                                                     'TransmissionInterval': 'integer'}}}}

List queued messages in the downlink queue.

See also: AWS API Documentation

Request Syntax

client.list_queued_messages(
    Id='string',
    NextToken='string',
    MaxResults=123,
    WirelessDeviceType='Sidewalk'|'LoRaWAN'
)
type Id

string

param Id

[REQUIRED]

The ID of a given wireless device which the downlink message packets are being sent.

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.

type MaxResults

integer

param MaxResults

The maximum number of results to return in this operation.

type WirelessDeviceType

string

param WirelessDeviceType

The wireless device type, whic can be either Sidewalk or LoRaWAN.

rtype

dict

returns

Response Syntax

{
    'NextToken': 'string',
    'DownlinkQueueMessagesList': [
        {
            'MessageId': 'string',
            'TransmitMode': 123,
            'ReceivedAt': 'string',
            'LoRaWAN': {
                'FPort': 123,
                'ParticipatingGateways': {
                    'DownlinkMode': 'SEQUENTIAL'|'CONCURRENT'|'USING_UPLINK_GATEWAY',
                    'GatewayList': [
                        {
                            'GatewayId': 'string',
                            'DownlinkFrequency': 123
                        },
                    ],
                    'TransmissionInterval': 123
                }
            }
        },
    ]
}

Response Structure

  • (dict) --

    • NextToken (string) --

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

    • DownlinkQueueMessagesList (list) --

      The messages in the downlink queue.

      • (dict) --

        The message in the downlink queue.

        • MessageId (string) --

          The message ID assigned by IoT Wireless to each downlink message, which helps identify the message.

        • TransmitMode (integer) --

          The transmit mode to use for sending data to the wireless device. This can be 0 for UM (unacknowledge mode) or 1 for AM (acknowledge mode).

        • ReceivedAt (string) --

          The time at which Iot Wireless received the downlink message.

        • LoRaWAN (dict) --

          LoRaWAN router info.

          • FPort (integer) --

            The Fport value.

          • ParticipatingGateways (dict) --

            Choose the gateways that you want to use for the downlink data traffic when the wireless device is running in class B or class C mode.

            • DownlinkMode (string) --

              Indicates whether to send the downlink message in sequential mode or concurrent mode, or to use only the chosen gateways from the previous uplink message transmission.

            • GatewayList (list) --

              The list of gateways that you want to use for sending the downlink data traffic.

              • (dict) --

                Gateway list item object that specifies the frequency and list of gateways for which the downlink message should be sent.

                • GatewayId (string) --

                  The ID of the wireless gateways that you want to add to the list of gateways when sending downlink messages.

                • DownlinkFrequency (integer) --

                  The frequency to use for the gateways when sending a downlink message to the wireless device.

            • TransmissionInterval (integer) --

              The duration of time for which AWS IoT Core for LoRaWAN will wait before transmitting the payload to the next gateway.

ListWirelessGateways (updated) Link ¶
Changes (response)
{'WirelessGatewayList': {'LoRaWAN': {'Beaconing': {'DataRate': 'integer',
                                                   'Frequencies': ['integer']}}}}

Lists the wireless gateways registered to your AWS account.

See also: AWS API Documentation

Request Syntax

client.list_wireless_gateways(
    NextToken='string',
    MaxResults=123
)
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.

type MaxResults

integer

param MaxResults

The maximum number of results to return in this operation.

rtype

dict

returns

Response Syntax

{
    'NextToken': 'string',
    'WirelessGatewayList': [
        {
            'Arn': 'string',
            'Id': 'string',
            'Name': 'string',
            'Description': 'string',
            'LoRaWAN': {
                'GatewayEui': 'string',
                'RfRegion': 'string',
                'JoinEuiFilters': [
                    [
                        'string',
                    ],
                ],
                'NetIdFilters': [
                    'string',
                ],
                'SubBands': [
                    123,
                ],
                'Beaconing': {
                    'DataRate': 123,
                    'Frequencies': [
                        123,
                    ]
                }
            },
            'LastUplinkReceivedAt': 'string'
        },
    ]
}

Response Structure

  • (dict) --

    • NextToken (string) --

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

    • WirelessGatewayList (list) --

      The ID of the wireless gateway.

      • (dict) --

        Information about a wireless gateway's operation.

        • Arn (string) --

          The Amazon Resource Name of the resource.

        • Id (string) --

          The ID of the wireless gateway reporting the data.

        • Name (string) --

          The name of the resource.

        • Description (string) --

          The description of the resource.

        • LoRaWAN (dict) --

          LoRaWAN gateway info.

          • GatewayEui (string) --

            The gateway's EUI value.

          • RfRegion (string) --

            The frequency band (RFRegion) value.

          • JoinEuiFilters (list) --

            A list of JoinEuiRange used by LoRa gateways to filter LoRa frames.

            • (list) --

              A pair of join EUI describing a range [BegEui, EndEui], both ends are inclusive.

              • (string) --

          • NetIdFilters (list) --

            A list of NetId values that are used by LoRa gateways to filter the uplink frames.

            • (string) --

              LoRaWAN network ID.

          • SubBands (list) --

            A list of integer indicating which sub bands are supported by LoRa gateway.

            • (integer) --

              A subset of supported frequency channels in a certain RFRegion.

          • Beaconing (dict) --

            Beaconing object information, which consists of the data rate and frequency parameters.

            • DataRate (integer) --

              The data rate for gateways that are sending the beacons.

            • Frequencies (list) --

              The frequency list for the gateways to send the beacons.

              • (integer) --

        • LastUplinkReceivedAt (string) --

          The date and time when the most recent uplink was received.

SendDataToWirelessDevice (updated) Link ¶
Changes (request)
{'WirelessMetadata': {'LoRaWAN': {'ParticipatingGateways': {'DownlinkMode': 'SEQUENTIAL '
                                                                            '| '
                                                                            'CONCURRENT '
                                                                            '| '
                                                                            'USING_UPLINK_GATEWAY',
                                                            'GatewayList': [{'DownlinkFrequency': 'integer',
                                                                             'GatewayId': 'string'}],
                                                            'TransmissionInterval': 'integer'}}}}

Sends a decrypted application data frame to a device.

See also: AWS API Documentation

Request Syntax

client.send_data_to_wireless_device(
    Id='string',
    TransmitMode=123,
    PayloadData='string',
    WirelessMetadata={
        'LoRaWAN': {
            'FPort': 123,
            'ParticipatingGateways': {
                'DownlinkMode': 'SEQUENTIAL'|'CONCURRENT'|'USING_UPLINK_GATEWAY',
                'GatewayList': [
                    {
                        'GatewayId': 'string',
                        'DownlinkFrequency': 123
                    },
                ],
                'TransmissionInterval': 123
            }
        },
        'Sidewalk': {
            'Seq': 123,
            'MessageType': 'CUSTOM_COMMAND_ID_NOTIFY'|'CUSTOM_COMMAND_ID_GET'|'CUSTOM_COMMAND_ID_SET'|'CUSTOM_COMMAND_ID_RESP',
            'AckModeRetryDurationSecs': 123
        }
    }
)
type Id

string

param Id

[REQUIRED]

The ID of the wireless device to receive the data.

type TransmitMode

integer

param TransmitMode

[REQUIRED]

The transmit mode to use to send data to the wireless device. Can be: 0 for UM (unacknowledge mode) or 1 for AM (acknowledge mode).

type PayloadData

string

param PayloadData

[REQUIRED]

The binary to be sent to the end device, encoded in base64.

type WirelessMetadata

dict

param WirelessMetadata

Metadata about the message request.

  • LoRaWAN (dict) --

    LoRaWAN device info.

    • FPort (integer) --

      The Fport value.

    • ParticipatingGateways (dict) --

      Choose the gateways that you want to use for the downlink data traffic when the wireless device is running in class B or class C mode.

      • DownlinkMode (string) -- [REQUIRED]

        Indicates whether to send the downlink message in sequential mode or concurrent mode, or to use only the chosen gateways from the previous uplink message transmission.

      • GatewayList (list) -- [REQUIRED]

        The list of gateways that you want to use for sending the downlink data traffic.

        • (dict) --

          Gateway list item object that specifies the frequency and list of gateways for which the downlink message should be sent.

          • GatewayId (string) -- [REQUIRED]

            The ID of the wireless gateways that you want to add to the list of gateways when sending downlink messages.

          • DownlinkFrequency (integer) -- [REQUIRED]

            The frequency to use for the gateways when sending a downlink message to the wireless device.

      • TransmissionInterval (integer) -- [REQUIRED]

        The duration of time for which AWS IoT Core for LoRaWAN will wait before transmitting the payload to the next gateway.

  • Sidewalk (dict) --

    The Sidewalk account credentials.

    • Seq (integer) --

      The sequence number.

    • MessageType (string) --

      Sidewalk device message type. Default value is CUSTOM_COMMAND_ID_NOTIFY .

    • AckModeRetryDurationSecs (integer) --

      The duration of time in seconds for which you want to retry sending the ACK.

rtype

dict

returns

Response Syntax

{
    'MessageId': 'string'
}

Response Structure

  • (dict) --

    • MessageId (string) --

      The ID of the message sent to the wireless device.