

# LoRaWAN ダウンリンクデータトラフィックを受信するゲートウェイの選択
<a name="lorawan-gateway-participate"></a>

デバイスに AWS IoT Core for LoRaWAN からダウンリンクメッセージを送信する場合、ダウンリンクデータトラフィックに使用するゲートウェイを選択できます。個々のゲートウェイを指定することも、ダウンリンクトラフィックを受信するゲートウェイのリストから選択することもできます。

## ゲートウェイリストの指定方法
<a name="lorawan-participate-how"></a>

[https://docs.aws.amazon.com/iot-wireless/2020-11-22/apireference/API_SendDataToWirelessDevice.html](https://docs.aws.amazon.com/iot-wireless/2020-11-22/apireference/API_SendDataToWirelessDevice.html) API オペレーションを使用して、デバイスからダウンリンクメッセージを送信する際に使用する個々のゲートウェイまたはゲートウェイのリストを指定することができます。API オペレーションを呼び出す際には、ゲートウェイの `ParticipatingGateways` オブジェクトを使用して、以下のパラメータを指定します。

**注記**  
使用するゲートウェイのリストは、AWS IoT コンソールでは使用できません。このゲートウェイのリストは、`SendDataToWirelessDevice` API オペレーションまたは CLI を使用する場合にのみ使用するように指定することができます。
+ `DownlinkMode`: ダウンリンクメッセージをシーケンシャルモードで送信するか、並行モードで送信するかを示します。クラス A デバイスの場合は、前回のアップリンクメッセージ送信で選択したゲートウェイのみを使用するように `UsingUplinkGateway` を指定します。
+ `GatewayList`: ダウンリンクデータトラフィックの送信に使用するゲートウェイのリスト。ダウンリンクペイロードは、指定された頻度で指定されたゲートウェイに送信されます。これは、リストを `GatewayId` と `DownlinkFrequency` のペアで構成される `GatewayListItem` オブジェクトのリストを使用して示されます。
+ `TransmissionInterval`: AWS IoT Core for LoRaWAN が次のゲートウェイにペイロードを送信する前に待機する時間。

**注記**  
このゲートウェイリストを指定して、ダウンリンクメッセージをクラス B またはクラス C のワイヤレスデバイスに送信する場合にのみ使用できます。クラス A デバイスを使用する場合、ダウンリンクメッセージがデバイスに送信されるときに、アップリンクメッセージの送信時に選択したゲートウェイが使用されます。

次の例は、ゲートウェイのパラメータを指定する方法を示しています。`input.json` ファイルには追加の詳細が含まれます。`SendDataToWirelessDevice` API オペレーションを使用したダウンリンクメッセージの送信の詳細については、「[API を使用してダウンリンクキューオペレーションを実行する](lorawan-downlink-queue.md#lorawan-downlink-queue-api)」を参照してください。

**注記**  
参加しているゲートウェイのリストを指定するパラメータは、AWS IoT コンソールを使用して AWS IoT Core for LoRaWAN からダウンリンクメッセージを送信するときには利用できません。

```
aws iotwireless send-data-to-wireless-device \
    --id "11aa5eae-2f56-4b8e-a023-b28d98494e49" \
    --transmit-mode "1" \
    --payload-data "SGVsbG8gVG8gRGV2c2lt" \
    --cli-input-json file://input.json
```

以下は、`input.json` ファイルの内容を示しています。

**input.json の内容**

```
{
    "WirelessMetadata": {
        "LoRaWAN": {
            "FPort": "1", 
            "ParticipatingGateways": {
                "DownlinkMode": "SEQUENTIAL", 
                "TransmissionInterval": 1200,
                "GatewayList": [
                    {
                        "DownlinkFrequency": 100000000,
                        "GatewayID": a01b2c34-d44e-567f-abcd-0123e445663a
                    },
                    {
                        "DownlinkFrequency": 100000101,
                        "GatewayID": 12345678-a1b2-3c45-67d8-e90fa1b2c34d
                    }
                ]
            }
        }
    }
}
```

このコマンドを実行したときの出力により、ダウンリンクメッセージの `MessageId` が生成されます。場合によっては、`MessageId` を受信した場合でも、パケットはドロップされる可能性があります。この問題を解決する方法の詳細については、「[ダウンリンクメッセージキューエラーのトラブルシューティング](lorawan-downlink-queue.md#lorawan-downlink-queue-troubleshoot)」を参照してください。

```
{
    MessageId: "6011dd36-0043d6eb-0072-0008"
}
```

## 参加しているゲートウェイのリストに関する情報を取得する
<a name="lorawan-participate-get"></a>

ダウンリンクキュー内のメッセージを一覧表示することで、ダウンリンクメッセージの受信に参加しているゲートウェイのリストに関する情報を取得できます。メッセージを一覧表示するには、[https://docs.aws.amazon.com/iot-wireless/2020-11-22/apireference/API_ListQueuedMessages.html](https://docs.aws.amazon.com/iot-wireless/2020-11-22/apireference/API_ListQueuedMessages.html) API を使用します。

```
aws iotwireless list-queued-messages \
    --wireless-device-type "LoRaWAN"
```

このコマンドを実行すると、キュー内のメッセージとそのパラメータに関する情報が返されます。