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.