

# AWS IoT Core for LoRaWAN によるデバイスの管理
<a name="lorawan-manage-end-devices"></a>

次に、デバイスで AWS IoT Core for LoRaWAN を使用する際の重要な考慮事項をいくつか示します。AWS IoT Core for LoRaWAN へのデバイスの追加方法については、「[デバイスを AWS IoT Core for LoRaWAN にオンボードする](lorawan-onboard-end-devices.md)」を参照してください。

## デバイスに関する考慮事項
<a name="lorawan-devices-criteria"></a>

AWS IoT Core for LoRaWAN との通信に使用するデバイスを選択する際は、次の点を考慮してください。
+ 使用可能なセンサー
+ バッテリー容量
+ エネルギー消費量
+ Cost
+ アンテナの種類と送信範囲

## AWS IoT Core for LoRaWAN での使用を認定されたゲートウェイでのデバイスの使用
<a name="lorawan-devices-qualified-gateways"></a>

使用するデバイスは、AWS IoT Core for LoRaWAN での使用を認定されたワイヤレスゲートウェイとペアにできます。これらのゲートウェイとデベロッパーキットは、[AWS Partner Device Catalog](https://devices.amazonaws.com/search?page=1&sv=iotclorawan) にあります。また、これらのデバイスの、ゲートウェイへの近接性も考慮することをお勧めします。詳細については、「[AWS Partner Device Catalog の認定されたゲートウェイの使用](lorawan-manage-gateways.md#lorawan-qualified-gateways)」を参照してください。

## LoRaWAN バージョン
<a name="lorawan-lorawan-version"></a>

AWS IoT Core for LoRaWAN は、LoRa Alliance によって標準化された 1.0.x または 1.1 LoRaWAN 仕様に準拠するすべてのデバイスをサポートしています。

## アクティベーションモード
<a name="lorawan-activation-modes"></a>

LoRaWAN デバイスがアップリンクデータを送信する前に、*アクティベーション*または*参加*手順と呼ばれるプロセスを完了する必要があります。デバイスをアクティベートするには、OTAA (無線通信経由アクティベーション) または ABP (パーソナライゼーションによるアクティベーション) のいずれかを使用できます。アクティベーションごとに新しいセッションキーが生成されて安全性が高まるため、デバイスのアクティベーションには OTAA を使用することをお勧めします。

ワイヤレスデバイスの仕様は、LoRaWAN のバージョンと、アクティベーションごとに生成されるルートキーとセッションキーを決定するアクティベーションモードに基づいています。詳細については、「[コンソールを使用してワイヤレスデバイスの仕様を AWS IoT Core for LoRaWAN に追加する](lorawan-end-devices-add.md#lorawan-end-device-spec-console)」を参照してください。

## デバイスクラス
<a name="lorawan-device-classes"></a>

LoRaWAN デバイスは、いつでもアップリンクメッセージを送信できます。ダウンリンクメッセージをリッスンすると、バッテリー容量が消費され、バッテリー持続時間が短縮されます。LoRaWAN プロトコルは、LoRaWAN デバイスの 3 つのクラスを指定します。
+ クラス A デバイスは、ほとんどの時間をスリープ状態にし、短時間だけダウンリンクメッセージをリッスンします。これらのデバイスは、最大 10 年のバッテリー寿命を持つバッテリー駆動のセンサーです。
+ クラス B デバイスは、スケジュールされたダウンリンクスロットでメッセージを受信できます。これらのデバイスは、主にバッテリー駆動のアクチュエータです。
+ クラス C デバイスはスリープせず、継続的に着信メッセージをリッスンすることがないため、メッセージの受信にそれほど遅延はありません。これらのデバイスは、主に主電源駆動のアクチュエータです。

これらのワイヤレスデバイスの考慮事項の詳細については、「[LoRaWAN の詳細](what-is-lorawan.md#lorawan-learn-more)」で説明したリソースを参照してください。

**Topics**
+ [デバイスに関する考慮事項](#lorawan-devices-criteria)
+ [AWS IoT Core for LoRaWAN での使用を認定されたゲートウェイでのデバイスの使用](#lorawan-devices-qualified-gateways)
+ [LoRaWAN バージョン](#lorawan-lorawan-version)
+ [アクティベーションモード](#lorawan-activation-modes)
+ [デバイスクラス](#lorawan-device-classes)
+ [AWS IoT Core for LoRaWAN でのアダプティブデータレート (ADR) の実行](iot-lorawan-adr.md)
+ [LoRaWAN デバイスと AWS IoT 間の通信の管理](lorawan-device-cloud-communication.md)
+ [パブリック LoRaWAN デバイスネットワーク (Everynet) からの LoRaWAN トラフィックの管理](iot-lorawan-roaming.md)

# AWS IoT Core for LoRaWAN でのアダプティブデータレート (ADR) の実行
<a name="iot-lorawan-adr"></a>

エンドデバイスからのメッセージがゲートウェイで受信されるようにしつつ、デバイスの送信電力消費量を最適化するために、AWS IoT Core for LoRaWAN では、アダプティブデータレートを使用します。アダプティブデータレートは、ゲートウェイで受信されるパケットのエラーレートを下げながら、データレート、送信電力、再送信回数を最適化するようにエンドデバイスに指示します。例えば、エンドデバイスがゲートウェイの近くにある場合、アダプティブデータレートによって送信電力が低下し、データレートが向上します。

**Topics**
+ [アダプティブデータレート (ADR) の仕組み](#iot-lorawan-adr-algorithm)
+ [データレート制限 (CLI) を設定する](#iot-lorawan-adr-use)

## アダプティブデータレート (ADR) の仕組み
<a name="iot-lorawan-adr-algorithm"></a>

ADR を有効にするには、デバイスがフレームヘッダーに ADR ビットを設定する必要があります。ADR ビットが設定されると、AWS IoT Core for LoRaWAN は `LinkADRReq` MAC コマンドを送信し、デバイスは ADR コマンドの ACK ステータスを含む `LinkADRAns` コマンドで応答します。デバイスが ADR コマンドを ACK すると、AWS IoT Core for LoRaWAN からの ADR 指示に従って、最適なデータレートを得るように送信パラメータ値を調整します。

AWS IoT Core for LoRaWAN ADR アルゴリズムは、アップリンクメタデータ履歴の SINR 情報を使用して、デバイスに使用する最適な送信電力とデータレートを決定します。このアルゴリズムは、ADR ビットがフレームヘッダーに設定された後に始まる最新の 20 個のアップリンクメッセージを使用します。再送信の数を決定するために、パケットエラー率 (PER) を使用します。PER は、失われたパケットの合計数に対する割合です。このアルゴリズムを使用すると、データレートの範囲、つまりデータレートの最小制限と最大制限のみを制御できます。

## データレート制限 (CLI) を設定する
<a name="iot-lorawan-adr-use"></a>

デフォルトでは、LoRaWAN デバイスのフレームヘッダーに ADR ビットを設定すると、AWS IoT Core for LoRaWAN は ADR を実行します。AWS IoT Wireless API オペレーション [https://docs.aws.amazon.com/iot-wireless/2020-11-22/apireference/API_CreateServiceProfile.html](https://docs.aws.amazon.com/iot-wireless/2020-11-22/apireference/API_CreateServiceProfile.html)、または AWS CLI コマンド [https://docs.aws.amazon.com/cli/latest/reference/create-service-profile.html](https://docs.aws.amazon.com/cli/latest/reference/create-service-profile.html) を使用して、LoRaWAN デバイスのサービスプロファイルを作成するときに、データレートの最小制限と最大制限を制御できます。

**注記**  
AWS マネジメントコンソール からサービスプロファイルを作成するときに、最大データレート制限と最小データレート制限を指定することはできません。AWS IoT Wireless API または AWS CLI を使用してのみ指定にすることができます。

データレートの最小制限と最大制限を指定するには、`CreateServiceProfile` API オペレーションで `DrMin` および `DrMax` パラメータを使用します。デフォルトの最小および最大データレート制限は 0 と 15 です。例えば、次の CLI コマンドは、最小データレート制限を 3、最大制限を 12 に設定します。

```
aws iotwireless create-service-profile \ 
    --lorawan DrMin=3,DrMax=12
```

このコマンドを実行すると、サービスプロファイルの ID と Amazon リソースネーム (ARN) が生成されます。

```
{
    "Arn": "arn:aws:iotwireless:us-east-1:123456789012:ServiceProfile/12345678-a1b2-3c45-67d8-e90fa1b2c34d",
    "Id": "12345678-a1b2-3c45-67d8-e90fa1b2c34d"
}
```

AWS IoT Wireless API オペレーション [https://docs.aws.amazon.com/iot-wireless/2020-11-22/apireference/API_GetServiceProfile.html](https://docs.aws.amazon.com/iot-wireless/2020-11-22/apireference/API_GetServiceProfile.html)、または AWS CLI コマンド [https://docs.aws.amazon.com/cli/latest/reference/get-service-profile.html](https://docs.aws.amazon.com/cli/latest/reference/get-service-profile.html) を使用して、指定されたパラメータの値を取得できます。

```
aws iotwireless get-service-profile --id "12345678-a1b2-3c45-67d8-e90fa1b2c34d"
```

このコマンドを実行すると、サービスプロファイルパラメータの値が生成されます。

```
{
    "Arn": "arn:aws:iotwireless:us-east-1:651419225604:ServiceProfile/12345678-a1b2-3c45-67d8-e90fa1b2c34d",
    "Id": "12345678-a1b2-3c45-67d8-e90fa1b2c34d",
    "LoRaWAN": {
        "UlRate": 60,
        "UlBucketSize": 4096,
        "DlRate": 60,
        "DlBucketSize": 4096,
        "AddGwMetadata": false,
        "DevStatusReqFreq": 24,
        "ReportDevStatusBattery": false,
        "ReportDevStatusMargin": false,
        "DrMin": 3,
        "DrMax": 12,
        "PrAllowed": false,
        "HrAllowed": false,
        "RaAllowed": false,
        "NwkGeoLoc": false,
        "TargetPer": 5,
        "MinGwDiversity": 1
    }
}
```

複数のプロファイルを作成した場合は、API オペレーション、[https://docs.aws.amazon.com/iot-wireless/2020-11-22/apireference/API_ListServiceProfiles.html](https://docs.aws.amazon.com/iot-wireless/2020-11-22/apireference/API_ListServiceProfiles.html)、または AWS CLI コマンド [https://docs.aws.amazon.com/cli/latest/reference/list-service-profiles.html](https://docs.aws.amazon.com/cli/latest/reference/list-service-profiles.html) を使用して、AWS アカウント のサービスプロファイルを一覧表示し、次に `GetServiceProfile` API または `get-service-profile` CLI コマンドを使用して、データレート制限をカスタマイズしたサービスプロファイルを取得できます。

# LoRaWAN デバイスと AWS IoT 間の通信の管理
<a name="lorawan-device-cloud-communication"></a>

LoRaWAN デバイスを AWS IoT Core for LoRaWAN に接続した後、デバイスはクラウドへのメッセージの送信を開始できます。アップリンクメッセージは、デバイスから送信され、AWS IoT Core for LoRaWAN によって受信されるメッセージです。LoRaWAN デバイスはいつでもアップリンクメッセージを送信できます。その後、AWS のサービス およびクラウドホスト型アプリケーションへ転送されます。AWS IoT Core for LoRaWAN およびその他の AWS のサービス やアプリケーションからデバイスへ送信されるメッセージは、ダウンリンクメッセージと呼ばれます。

以下は、デバイスとクラウド間で送信されるアップリンクメッセージとダウンリンクメッセージを表示および管理する方法を示しています。ダウンリンクメッセージのキューを保持し、キューに追加された順序でこれらのメッセージをデバイスに送信できます。

**Topics**
+ [LoRaWAN デバイスから送信されたアップリンクメッセージの形式の表示](lorawan-uplink-metadata-format.md)
+ [LoRaWAN デバイスに送信するダウンリンクメッセージをキューに入れる](lorawan-downlink-queue.md)

# LoRaWAN デバイスから送信されたアップリンクメッセージの形式の表示
<a name="lorawan-uplink-metadata-format"></a>

LoRaWAN デバイスを AWS IoT Core for LoRaWAN に接続したら、ワイヤレスデバイスから受信するアップリンクメッセージの形式を確認できます。

## アップリンクメッセージを確認する前に
<a name="lorawan-uplink-metadata-prerequisites"></a>

データを送受信できるように、ワイヤレスデバイスをオンボーディングし、デバイスを AWS IoT に接続済みである必要があります。AWS IoT Core for LoRaWAN へのデバイスのオンボーディングについては、「[デバイスを AWS IoT Core for LoRaWAN にオンボードする](lorawan-onboard-end-devices.md)」を参照してください。

## アップリンクメッセージに含まれているもの
<a name="lorawan-uplink-metadata-contains"></a>

LoRaWAN デバイスは、LoRaWAN ゲートウェイを使用して AWS IoT Core for LoRaWAN に接続できます。デバイスから受信したアップリンクメッセージには、次の情報が含まれます。
+ ワイヤレスデバイスから送信される暗号化されたペイロードメッセージに対応するペイロードデータ。
+ 以下を含むワイヤレスメタデータ
  + DevEUI、データレート、デバイスが動作している周波数チャネルなどのデバイス情報。
  + デバイスに接続されているゲートウェイのオプションの追加パラメータおよびゲートウェイ情報。ゲートウェイパラメータには、ゲートウェイの EUI、SNR、および RSSI が含まれます。

  ワイヤレスメタデータを使用すると、ワイヤレスデバイスや、デバイスと AWS IoT の間で送信されるデータに関する有用な情報が得られます。例えば、`AckedMessageId` パラメータを使用して、最後に確認されたダウンリンクメッセージがデバイスによって受信されたかどうかを確認できます。必要に応じて、ゲートウェイ情報を含めることを選択した場合、デバイスに近い強力なゲートウェイチャネルに切り替えるかどうかを識別できます。

## アップリンクメッセージを確認する方法
<a name="lorawan-uplink-metadata-observe"></a>

デバイスをオンボーディングした後、AWS IoT コンソールの [**Test**] (テスト) ページで [MQTT テストクライアント](https://console.aws.amazon.com/iot/home#/test)を使用して、送信先を作成するときに指定したトピックにサブスクライブできます。デバイスが接続され、ペイロードデータの送信が開始されると、メッセージが表示されるようになります。

この図は、AWS IoT Core for LoRaWAN に接続された LoRaWAN システムの主要な要素を識別するとともに、プライマリデータプレーンおよびシステム内のデータフローを示しています。

![\[AWS IoT Core for LoRaWAN データがワイヤレスデバイスから AWS IoT およびその他のサービスにどのように渡されるかを示す画像。\]](http://docs.aws.amazon.com/ja_jp/iot-wireless/latest/developerguide/images/iot-lorawan-data-flow.png)


ワイヤレスデバイスがアップリンクデータの送信を開始すると、AWS IoT Core for LoRaWAN によりワイヤレスメタデータの情報がペイロードでラッピングされ、AWS アプリケーションに送信されます。

## アップリンクメッセージの例
<a name="lorawan-uplink-metadata-example"></a>

次の例は、デバイスから受信したアップリンクメッセージの形式を示しています。

```
{
    "WirelessDeviceId": "5b58245e-146c-4c30-9703-0ca942e3ff35", 
    "PayloadData": "Cc48AAAAAAAAAAA=",    
    "WirelessMetadata":
    {
        "LoRaWAN":
        {
            "ADR": false,
            "Bandwidth": 125,
            "ClassB": false,
            "CodeRate": "4/5",
            "DataRate": "0",
            "DevAddr": "00b96cd4",
            "DevEui": "58a0cb000202c99",            
            "FOptLen": 2,
            "FCnt": 1,
            "Fport": 136,   
            "Frequency": "868100000",     
            "Gateways": [
             {
                    "GatewayEui": "80029cfffe5cf1cc",      
                    "Snr": -29,
                    "Rssi": 9.75
             }
             ],  
            "MIC": "7255cb07",  
            "MType": "UnconfirmedDataUp",
            "Major": "LoRaWANR1",
            "Modulation": "LORA", 
            "PolarizationInversion": false,    
            "SpreadingFactor": 12,                         
            "Timestamp": "2021-05-03T03:24:29Z"
            
        }
    }
}
```

### アップリンクメタデータからゲートウェイメタデータを除外する
<a name="lorawan-uplink-metadata-example2"></a>

アップリンクメタデータからゲートウェイメタデータ情報を除外する場合は、サービスプロファイルの作成時に **AddGwMetadata** パラメータを無効にします。このパラメータの無効化については、「[サービスプロファイルを追加する](lorawan-define-profiles.md#lorawan-service-profiles)」を参照してください。

この場合、次の例に示すように、アップリンクメタデータに `Gateways` セクションは表示されません。

```
{  
    "WirelessDeviceId": "0d9a439b-e77a-4573-a791-49d5c0f4db95",
    "PayloadData": "AAAAAAAA//8=",
    "WirelessMetadata": {
        "LoRaWAN": {
            "ClassB": false,
            "CodeRate": "4/5",
            "DataRate": "1",
            "DevAddr": "01920f27",
            "DevEui": "ffffff10000163b0",
            "FCnt": 1,
            "FPort": 5,
            "Timestamp": "2021-04-29T05:19:43.646Z"
    }
  }
}
```

# LoRaWAN デバイスに送信するダウンリンクメッセージをキューに入れる
<a name="lorawan-downlink-queue"></a>

クラウドホスト型アプリケーションおよび AWS のサービス は、ワイヤレスデバイスにダウンリンクメッセージを送信できます。ダウンリンクメッセージは、AWS IoT Core for LoRaWAN からワイヤレスデバイスに送信されるメッセージです。AWS IoT Core for LoRaWAN にオンボーディングした各デバイスに、ダウンリンクメッセージをスケジュールして送信できます。

ダウンリンクメッセージを送信する対象のデバイスが複数ある場合は、マルチキャストグループを使用できます。マルチキャストグループ内のデバイスは、同じマルチキャストアドレスを共有し、その後、受信側デバイスのグループ全体に配信されます。詳細については、「[マルチキャストグループを作成してダウンリンクのペイロードを複数のデバイスに送信する](lorawan-multicast-groups.md)」を参照してください。

## ダウンリンクメッセージキューのしくみ
<a name="lorawan-how-downlink-works"></a>

LoRaWAN デバイスのデバイスクラスによって、キュー内のメッセージがデバイスにどのように送信されるかが決まります。クラス A デバイスは、デバイスがダウンリンクメッセージを受信できることを示すために、アップリンクメッセージを AWS IoT Core for LoRaWAN に送信します。。クラス B デバイスは、通常のダウンリンクスロットでメッセージを受信できます。クラス C デバイスは、いつでもダウンリンクメッセージを受信できます。デバイスクラスの詳細については、「[デバイスクラス](lorawan-manage-end-devices.md#lorawan-device-classes)」を参照してください。

次に、メッセージがキューに入れられ、クラス A デバイスに送信される方法を示します。

1. AWS IoT Core for LoRaWAN は、フレームポート、ペイロードデータ、および AWS IoT コンソールまたは AWS IoT Wireless API を使用して指定した確認モードパラメータを使用して、キューに追加したダウンリンクメッセージをバッファします。

1. LoRaWAN デバイスは、オンラインであることを示すアップリンクメッセージを送信し、ダウンリンクメッセージの受信を開始できます。

1. 複数のダウンリンクメッセージをキューに追加した場合は、AWS IoT Core for LoRaWAN は、[acknowledge (ACK)] (確認) フラグが設定された状態で、キュー内の最初のダウンリンクメッセージをデバイスに送信します。

1. デバイスは、アップリンクメッセージを直ちに AWS IoT Core for LoRaWAN に送信する、または次のアップリンクメッセージまでスリープし、メッセージに ACK フラグを含めます。

1. AWS IoT Core for LoRaWAN は ACK フラグ付きのアップリンクメッセージを受信し、ダウンリンクメッセージをキューからクリアし、デバイスがダウンリンクメッセージを正常に受信したことを示します。3 回チェックした後に ACK フラグがアップリンクメッセージに表示されない場合、メッセージは破棄されます。

## コンソールを使用してダウンリンクキューオペレーションを実行する
<a name="lorawan-downlink-queue-console"></a>

必要に応じて、AWS マネジメントコンソール を使用してダウンリンクメッセージをキューに入れ、個々のメッセージ、またはキュー全体をクリアすることがきます。クラス A デバイスの場合、アップリンクがデバイスから受信されてオンラインであることを示すと、キューに入れられたメッセージがデバイスに送信されます。メッセージが送信されると、キューから自動的にクリアされます。

**ダウンリンクメッセージをキューに入れる**  
ダウンリンクメッセージキューを作成するには

1. [[Devices hub of the AWS IoT console]](https://console.aws.amazon.com/iot/home#/wireless/devices) (IoT コンソールのデバイスハブ) へ移動し、ダウンリンクメッセージをキューに入れるデバイスを選択します。

1. デバイスの詳細ページの **[Downlink messages]** (ダウンリンクメッセージ) セクションで、**[Queue downlink messages]** (ダウンリンクメッセージをキューに入れる) を選択します。

1. ダウンリンクメッセージを設定するには、次のパラメータを指定します。
   + **FPort**: デバイスが AWS IoT Core for LoRaWAN と通信するフレームポートを選択します。
   + **Payload**: デバイスに送信するペイロードメッセージを指定します。最大ペイロードサイズは 242 バイトです。アダプティブデータレート (ADR) が有効になっている場合、AWS IoT Core for LoRaWAN では、ペイロードサイズに最適なデータレートを選択するために使用します。必要に応じて、データレートをさらに最適化できます。
   + **確認モード** : デバイスがダウンリンクメッセージを受信したかどうかを確認します。メッセージにこのモードが必要な場合は、データストリームに ACK フラグを含むアップリンクメッセージが表示され、メッセージはキューからクリアされます。

1. ダウンリンクメッセージをキューに追加するには、**[Submit]** (送信) を選択します。

ダウンリンクメッセージがキューに追加されました。メッセージが表示されない場合、またはエラーを受信した場合は、[ダウンリンクメッセージキューエラーのトラブルシューティング](#lorawan-downlink-queue-troubleshoot) の説明に従ってエラーをトラブルシューティングできます。

**注記**  
ダウンリンクメッセージがキューに追加されると、**FPort**、**Payload**、**確認モード** パラメータを編集できなくなります。これらのパラメータに異なる値を持つダウンリンクメッセージを送信するには、このメッセージを削除し、更新されたパラメータ値を含む新しいダウンリンクメッセージをキューに入れます。

キューには、追加したダウンリンクメッセージが一覧表示されます。デバイスと AWS IoT Core for LoRaWAN の間で交換されるアップリンクメッセージおよびダウンリンクメッセージのペイロードを表示するには、ネットワークアナライザを使用します。詳細については、「[ネットワークアナライザを使用したワイヤレスリソースフリートのリアルタイムでのモニタリング](network-analyzer-overview.md)」を参照してください。

**ダウンリンクメッセージキューの一覧表示**  
作成したダウンリンクメッセージがキューに追加されます。後続の各ダウンリンクメッセージは、このメッセージの後にキューに追加されます。ダウンリンクメッセージのリストは、デバイスの詳細ページの **[Downlink messages]** (ダウンリンクメッセージ) セクションに表示されます。アップリンクを受信すると、メッセージがデバイスに送信されます。デバイスがダウンリンクメッセージを受信すると、そのメッセージはキューから削除されます。次のメッセージがキュー内で上に移動し、デバイスに送信されます。

**個々のダウンリンクメッセージを削除するまたはキュー全体をクリアする**  
各ダウンリンクメッセージは、デバイスに送信された後、キューから自動的にクリアされます。個々のメッセージを削除したり、ダウンリンクキュー全体をクリアすることもできます。これらの操作は元に戻すことができません。
+ 送信したくないメッセージがキュー内に見つかった場合は、メッセージを選択し、**[Delete]** (削除) を選択します。
+ キューからデバイスにメッセージを送信したくない場合は、**[Clear downlink queue]** (ダウンリンクキューをクリア) を選択して、キュー全体をクリアできます。。

## API を使用してダウンリンクキューオペレーションを実行する
<a name="lorawan-downlink-queue-api"></a>

必要に応じて、AWS IoT Wireless APIを使用してダウンリンクメッセージをキューに入れたり、個々のメッセージ、またはキュー全体をクリアすることができます。

**ダウンリンクメッセージをキューに入れる**  
ダウンリンクメッセージキューを作成するには、[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 オペレーションまたは [cli/latest/reference/iotwireless/send-data-to-wireless-device.html](cli/latest/reference/iotwireless/send-data-to-wireless-device.html) CLI コマンドを使用します。

```
aws iotwireless send-data-to-wireless-device \
    --id "11aa5eae-2f56-4b8e-a023-b28d98494e49" \
    --transmit-mode "1" \
    --payload-data "SGVsbG8gVG8gRGV2c2lt" \
    --wireless-metadata LoRaWAN={FPort=1}
```

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

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

**キュー内のダウンリンクメッセージを一覧表示する**  
キュー内のすべてのダウンリンクメッセージを一覧表示するには、[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 オペレーションまたは [https://docs.aws.amazon.com/cli/latest/reference/iotwireless/list-queued-messages.html](https://docs.aws.amazon.com/cli/latest/reference/iotwireless/list-queued-messages.html) CLI コマンドを使用します。

```
aws iotwireless list-queued-messages
```

デフォルトでは、このコマンドを実行すると、最大 10 個のダウンリンクメッセージが表示されます。

**個々のダウンリンクメッセージを削除するまたはキュー全体をクリアする**  
キューから個々のメッセージを削除したり、キュー全体をクリアしたりするには、[https://docs.aws.amazon.com/iot-wireless/2020-11-22/apireference/API_DeleteQueuedMessages.html](https://docs.aws.amazon.com/iot-wireless/2020-11-22/apireference/API_DeleteQueuedMessages.html) API オペレーションまたは [https://docs.aws.amazon.com/cli/latest/reference/iotwireless/delete-queued-messages.html](https://docs.aws.amazon.com/cli/latest/reference/iotwireless/delete-queued-messages.html) CLI コマンドを使用します。
+ 個々のメッセージを削除するには、`wirelessDeviceId` により指定されたワイヤレスデバイスから削除するメッセージの `messageID` を指定します。
+ ダウンリンクキュー全体をクリアするには、`wirelessDeviceId` により指定されたワイヤレスデバイスの `messageID` を `*` に指定します。

## ダウンリンクメッセージキューエラーのトラブルシューティング
<a name="lorawan-downlink-queue-troubleshoot"></a>

ここでは、期待通りの結果が得られない場合に確認すべきことを説明します。
+ 

**ダウンリンクメッセージが AWS IoT コンソールに表示されない**  
[コンソールを使用してダウンリンクキューオペレーションを実行する](#lorawan-downlink-queue-console) の説明に従って、ダウンリンクメッセージを追加した後にキューにダウンリンクメッセージが表示されない場合、デバイスが*[activation]* (アクティベーション) または*[join procedure]* (結合手順) と呼ばれるプロセスを完了していないことが原因である可能性があります。この手順は、デバイスが AWS IoT Core for LoRaWAN にオンボードしているときに完了します。詳細については、「[コンソールを使用してワイヤレスデバイスの仕様を AWS IoT Core for LoRaWAN に追加する](lorawan-end-devices-add.md#lorawan-end-device-spec-console)」を参照してください。

  デバイスを AWS IoT Core for LoRaWAN にオンボーディングした後、ネットワークアナライザーまたは Amazon CloudWatch を使用して、デバイスをモニタリングして、結合と再結合が成功したかどうかを確認できます。詳細については、「[モニタリングツール](monitoring-cloudwatch.md#monitoring-tools)」を参照してください。
+ 

**API の使用時にダウンリンクメッセージパケットが見つからない**  
`SendDataToWirelessDevice` API オペレーションを使用する場合、API は一意の `MessageId` を返します。ただし、LoRaWAN デバイスがダウンリンクメッセージを受信したかどうかは確認できません。ダウンリンクパケットは、デバイスが結合手順を完了していない場合などにドロップされる可能性があります。このエラーを解決する方法の詳細については、前のセクションを参照してください。
+ 

**ダウンリンクメッセージの送信時に ARN エラーが発生しない**  
キューからデバイスにダウンリンクメッセージを送信すると、Amazon リソースネーム (ARN) が見つからないというエラーが表示されることがあります。このエラーは、ダウンリンクメッセージを受信しているデバイスの宛先が正しく指定されていないために発生する可能性があります。このエラーを解決するには、デバイスの送信先の詳細を確認します。

# パブリック LoRaWAN デバイスネットワーク (Everynet) からの LoRaWAN トラフィックの管理
<a name="iot-lorawan-roaming"></a>

公開されている LoRaWAN ネットワークを使用すれば、LoRaWAN デバイスを数分でクラウドに接続できます。AWS IoT Core for LoRaWAN は、米国と英国の Everynet のネットワークカバレッジをサポートするようになりました。パブリックネットワークを使用する場合、デバイスごとにパブリックネットワーク接続料金が毎月請求されます。この料金は、パブリックネットワーク接続が提供されるすべての AWS リージョン に適用されます。この機能の価格設定の詳細については、「[AWS IoT Core 料金表](https://aws.amazon.com/iot-core/pricing/)」を参照してください。

**重要**  
パブリックネットワークは Everynet が直接サービスとして運営、提供しています。この機能を使用する前に、該当する「[AWSサービス条件](https://aws.amazon.com/service-terms/)」を参照してください。さらに、AWS IoT Core for LoRaWAN を通してパブリックネットワークを利用する場合、`DevEUI` や `JoinEUI` などの特定の LoRaWAN デバイス情報は、AWS IoT Core for LoRaWAN が利用可能なリージョン間でレプリケーションされます。

AWS IoT Core for LoRaWAN は、「[LoRaWAN バックエンドインターフェイス 1.0 仕様](https://lora-alliance.org/wp-content/uploads/2020/11/lorawantm-backend-interfaces-v1.0.pdf)」で説明されているように、ローミングの LoRa Alliance 仕様に従ってパブリック LoRaWAN ネットワークをサポートします。パブリックネットワーク機能を使用して、ホームネットワークの外部にあるエンドデバイスを接続できます。この機能をサポートするために、AWS IoT Core for LoRaWAN は Everynet と提携して無線通信範囲を拡大しています。

## パブリック LoRaWAN ネットワークを使用する利点
<a name="lorawan-roaming-benefits"></a>

LoRaWAN デバイスは、パブリックネットワークを使用してクラウドに接続できるため、デプロイまでの時間が短縮され、プライベート LoRaWAN ネットワークの維持に必要な時間とコストを削減できます。

パブリック LoRaWAN ネットワークを使用すると、カバレッジの拡張、無線ネットワークなしでのコアの実行、カバレッジの高密度化などの利点が得られます。この機能は次の用途に使用できます。
+ [パブリック LoRaWAN ネットワークサポートアーキテクチャ](lorawan-roaming-works.md#lorawan-roaming-architecture) セクションの図のデバイス A など、ホームネットワークから移動するデバイスにカバレッジを提供します。
+ [パブリック LoRaWAN ネットワークサポートアーキテクチャ](lorawan-roaming-works.md#lorawan-roaming-architecture) セクションの図のデバイス B など、接続する LoRa ゲートウェイがないデバイスにもカバレッジを拡張します。その後、デバイスはパートナーが提供するゲートウェイを使用してホームネットワークに接続できます。

LoRaWAN デバイスは、ローミング機能を使用してパブリックネットワークを使用してクラウドに接続できるため、デプロイまでの時間が短縮され、プライベート LoRaWAN ネットワークの維持に必要な時間とコストを削減できます。

以下のセクションでは、パブリックネットワークサポートのアーキテクチャ、パブリック LoRaWAN ネットワークサポートの仕組み、およびこの機能の使用方法について説明します。

**Topics**
+ [パブリック LoRaWAN ネットワークを使用する利点](#lorawan-roaming-benefits)
+ [LoRaWAN パブリックネットワークサポートの仕組み](lorawan-roaming-works.md)
+ [パブリックネットワークサポートの使用方法](lorawan-roaming-use.md)

# LoRaWAN パブリックネットワークサポートの仕組み
<a name="lorawan-roaming-works"></a>

AWS IoT Core for LoRaWAN は、LoRa Alliance の仕様に従って、パッシブローミング機能をサポートしています。パッシブローミングでは、ローミングプロセスはエンドデバイスに対して完全に透過的です。ホームネットワークの外部をローミングするエンドデバイスは、そのネットワーク内のゲートウェイに接続し、アプリケーションサーバーを使用してアップリンクデータとダウンリンクデータを交換できます。デバイスは、ローミングプロセス全体を通してホームネットワークに接続されたままになります。

**注記**  
AWS IoT Core for LoRaWAN は、パッシブローミングのステートレス機能のみをサポートします。ハンドオーバーローミングはサポートされていません。ハンドオーバーローミングでは、デバイスがホームネットワークの外部に移動すると、別の通信事業者に切り替わります。

**Topics**
+ [パブリック LoRaWAN ネットワークの概念](#lorawan-roaming-concepts)
+ [パブリック LoRaWAN ネットワークサポートアーキテクチャ](#lorawan-roaming-architecture)

## パブリック LoRaWAN ネットワークの概念
<a name="lorawan-roaming-concepts"></a>

AWS IoT Core for LoRaWAN でサポートされているパブリックネットワーク機能では、次の概念が使用されます。

**LoRaWAN network server (LNS)**  
LNS はスタンドアロンのプライベートサーバーで、オンプレミスで実行することも、クラウドベースのサービスにすることもできます。AWS IoT Core for LoRaWAN は、クラウド上でサービスを提供する LNS です。

**ホームネットワークサーバー (hNS)**  
ホームネットワークは、デバイスが属するネットワークです。ホームネットワークサーバー (hNS) は、AWS IoT Core for LoRaWAN がデバイスのプロビジョニングデータ (`DevEUI`、`AppEUI`、セッションキーなど) を保存する LNS です。

**訪問先ネットワークサーバー (vNS)**  
訪問先ネットワークとは、デバイスがホームネットワークを離れるときに通信可能になるネットワークです。訪問先ネットワークサーバー (vNS) は、エンドデバイスにサービスを提供できるように hNS とビジネス上および技術上の契約を結んでいる LNS です。AWS パートナーの Everynet は訪問先のネットワークとして機能し、カバレッジを提供します。

**サービス提供ネットワークサーバー (sNS)**  
サービス提供ネットワークサーバー (sNS) は、デバイスの MAC コマンドを処理する LNS です。1 つの LoRa セッションには 1 つの sNS しか存在できません。

**転送ネットワークサーバー (fNS)**  
転送ネットワークサーバー (fNS) は、無線ゲートウェイを管理する LNS です。1 つの LoRa セッションには、0 個以上の fNS が関与する可能性があります。このネットワークサーバーは、デバイスから受信したデータパケットのホームネットワークへの転送を管理します。

## パブリック LoRaWAN ネットワークサポートアーキテクチャ
<a name="lorawan-roaming-architecture"></a>

次のアーキテクチャ図は、AWS IoT Core for LoRaWAN が Everynet と提携してパブリックネットワーク接続を提供する方法を示しています。この場合、デバイス A は、LoRa ゲートウェイを介して AWS IoT Core for LoRaWAN によって提供される hNS (ホームネットワークサーバー) に接続されます。デバイス A がホームネットワークから移動すると、訪問先のネットワークに入り、Everynet が提供する訪問先ネットワークサーバー (vNS) によってカバーされます。また、vNS は、接続する LoRa ゲートウェイを持たないデバイス B にもカバレッジを拡張します。

次のセクションで説明するように、パブリックネットワークのカバレッジ情報を AWS IoT コンソールに表示できます。

![\[AWS IoT Core for LoRaWAN がローミングをサポートして、ホームネットワークの外に移動するデバイスをサポートし、接続するゲートウェイを持たないデバイスにカバレッジを拡張する方法を示す画像。\]](http://docs.aws.amazon.com/ja_jp/iot-wireless/latest/developerguide/images/iot-lorawan-roaming-architecture.png)


 AWS IoT Core for LoRaWAN は、[LoRa Alliance LoRaWAN Roaming Hub Technical Recommendation](https://lora-alliance.org/wp-content/uploads/2022/01/TR010-1.0.0-LoRaWAN-Roaming-Hub.pdf) に従ってローミングハブ機能を使用しています。ローミングハブは、Everynet がエンドデバイスから受信したトラフィックをルーティングするためのエンドポイントを提供します。この場合、Everynet はデバイスから受信したトラフィックを転送する転送ネットワークサーバー (fNS) として機能します。LoRa Alliance 仕様で定義されている HTTP RESTful API を使用しています。

**注記**  
デバイスがホームネットワークから移動して、ホームネットワークと Everynet の両方が通信できる場所に入ると、先着順のポリシーを使用して、LoRa ゲートウェイに接続するか、Everynet のゲートウェイに接続するかを決定します。

パブリックネットワークにアクセスする場合、HN とサービングネットワークサーバー (SN) は分離されます。次に、sNS と hNS の間でアップリンクパケットとダウンリンクパケットが交換されます。

# パブリックネットワークサポートの使用方法
<a name="lorawan-roaming-use"></a>

Everynet のパブリックネットワークサポートを指定にするには、サービスプロファイルの作成時に特定のローミングパラメータを指定します。このベータリリースでは、AWS IoT Wireless API または AWS CLI を使用するときにこれらのパラメータを使用できます。次のセクションでは、有効にする必要があるパラメータと、AWS CLI を使用してパブリックネットワークを有効する方法を示します。

**注記**  
パブリックネットワークサポートは、新しいサービスプロファイルを作成する場合のみ有効にできます。これらのパラメータを使用して既存のプロファイルを更新してパブリックネットワークを有効にすることはできません。

**Topics**
+ [ローミングパラメータ](#lorawan-roaming-parameters)
+ [デバイスのパブリックネットワークサポートを有効にします。](#lorawan-roaming-enable)

## ローミングパラメータ
<a name="lorawan-roaming-parameters"></a>

デバイスのサービスプロファイルを作成するときに、次のパラメータを指定します。AWS IoT コンソールの[プロファイル](https://console.aws.amazon.com/iot/home#/wireless/profiles)ハブからサービスプロファイルを追加するとき、または AWS IoT Wireless API オペレーションの [https://docs.aws.amazon.com/iot-wireless/2020-11-22/apireference/API_CreateServiceProfile.html](https://docs.aws.amazon.com/iot-wireless/2020-11-22/apireference/API_CreateServiceProfile.html)、または AWS CLI コマンドの [https://docs.aws.amazon.com/cli/latest/reference/create-service-profile.html](https://docs.aws.amazon.com/cli/latest/reference/create-service-profile.html) を使用するときに、これらのパラメータを指定します。

**注記**  
AWS IoT Core for LoRaWAN は、ハンドオーバーローミングをサポートしていません。サービスプロファイルを作成する場合、ハンドオーバーローミングを使用するかどうかを指定する `HrAllowed` パラメータを有効にすることはできません。
+ ローミングアクティベーションが許可されました (`RaAllowed`): このパラメータは、ローミングアクティベーションを有効にするかどうかを指定します。ローミングアクティベーションにより、エンドデバイスを vNS の通信範囲内でアクティブ化できます。ローミング機能を使用する場合は、`RaAllowed` を `true` に設定する必要があります。
+ パッシブローミングが許可されました (`PrAllowed`): このパラメータは、パッシブローミングを有効にするかどうかを指定します。ローミング機能を使用する場合は、`PrAllowed` を `true` に設定する必要があります。

## デバイスのパブリックネットワークサポートを有効にします。
<a name="lorawan-roaming-enable"></a>

デバイスでパブリック LoRaWAN ネットワークサポートを有効にするには、次の手順を実行します。

**注記**  
パブリックネットワーク機能は OTAA デバイスでのみ有効にできます。この機能は、アクティベーション方法として ABP を使用するデバイスではサポートされません。

1. 

**ローミングパラメータを含むサービスプロファイルを作成する**

   ローミングパラメータを有効にしてサービスプロファイルを作成します。
**注記**  
このサービスプロファイルに関連付けるデバイスのデバイスプロファイルを作成するときは、`RxDelay1` パラメータに 2 秒以上の大きな値を指定することをお勧めします。
   + 

**AWS IoT コンソールを使用する場合**  
AWS IoT コンソールの[プロファイル](https://console.aws.amazon.com/iot/home#/wireless/profiles)ハブに移動し、**[サービスプロファイルの追加]** を選択します。プロファイルを作成するときは、**[パブリックネットワークを有効にする]** を選択します。
   + 

**AWS IoT Wireless API を使用する場合**  
サービスプロファイルの作成時にローミングを有効にするには、以下の例に示すように、[CreateServiceProfile](https://docs.aws.amazon.com/iot-wireless/2020-11-22/apireference/API_CreateServiceProfile.html) API オペレーションまたは [https://docs.aws.amazon.com/cli/latest/reference/create-service-profile.html](https://docs.aws.amazon.com/cli/latest/reference/create-service-profile.html) CLI コマンドを使用します。

     ```
     aws iotwireless create-service-profile \ 
         --region us-east-1 \
         --name roamingprofile1 \ 
         --lorawan '{"AddGwMetadata":true,"PrAllowed":true,"RaAllowed":true}'
     ```

     このコマンドを実行すると、サービスプロファイルの ARN と ID が出力として返されます。

     ```
     {
         "Arn": "arn:aws:iotwireless:us-east-1:123456789012:ServiceProfile/12345678-a1b2-3c45-67d8-e90fa1b2c34d",
         "Id": "12345678-a1b2-3c45-67d8-e90fa1b2c34d"
     }
     ```

1. 

**サービスプロファイルのローミングパラメータを確認する**

   指定したローミングパラメータを確認するには、次の例に示すように、コンソールでサービスプロファイルを表示するか、`get-service-profile` CLI コマンドを使用します。
   + 

**AWS IoT コンソールを使用する場合**  
AWS IoT コンソールの[プロファイル](https://console.aws.amazon.com/iot/home#/wireless/profiles)ハブに移動し、作成したプロファイルを選択します。詳細ページの **[プロファイル設定]** タブで、**[RaAllowed]** と **[PrAllowed]** が [`true`] に設定されていることがわかります。
   + 

**AWS IoT Wireless API を使用する場合**  
有効にしたローミングパラメータを表示するには、以下の例に示すように、[GetServiceProfile](https://docs.aws.amazon.com/iot-wireless/2020-11-22/apireference/API_GetServiceProfile.html) API オペレーションまたは [https://docs.aws.amazon.com/cli/latest/reference/get-service-profile.html](https://docs.aws.amazon.com/cli/latest/reference/get-service-profile.html) CLI コマンドを使用します。

     ```
     aws iotwireless get-service-profile \ 
         --region us-east-1 \ 
         --id 12345678-a1b2-3c45-67d8-e90fa1b2c34d
     ```

     このコマンドを実行すると、ローミングパラメータの値や `RaAllowed` および `PrAllowed` などのサービスプロファイルの詳細が出力として返されます。

     ```
     {
         "Arn": "arn:aws:iotwireless:us-east-1:123456789012:ServiceProfile/12345678-a1b2-3c45-67d8-e90fa1b2c34d",
         "Id": "12345678-a1b2-3c45-67d8-e90fa1b2c34d",
         "Name": "roamingprofile1"
         "LoRaWAN": {
             "UlRate": 60,
             "UlBucketSize": 4096,
             "DlRate": 60,
             "DlBucketSize": 4096,
             "AddGwMetadata": true,
             "DevStatusReqFreq": 24,
             "ReportDevStatusBattery": false,
             "ReportDevStatusMargin": false,
             "DrMin": 0,
             "DrMax": 15,
             "PrAllowed": true,
             "RaAllowed": true,
             "NwkGeoLoc": false,
             "TargetPer": 5,
             "MinGwDiversity": 1
         }
     }
     ```

1. 

**サービスプロファイルをデバイスにアタッチする**

   ローミングパラメータを使用して作成したサービスプロファイルをエンドデバイスにアタッチします。デバイスプロファイルを作成し、ワイヤレスデバイスの宛先を追加することもできます。この宛先を使用して、デバイスから送信されるアップリンクメッセージをルーティングします。デバイスプロファイルと宛先の作成の詳細については、「[デバイスプロファイルを追加する](lorawan-define-profiles.md#lorawan-device-profiles)」と「[AWS IoT Core for LoRaWAN に送信先を追加する](lorawan-create-destinations.md)」を参照してください。
   + 

**新しいデバイスのオンボーディング**  
デバイスをまだオンボーディングしていない場合は、デバイスを AWS IoT Core for LoRaWAN に追加するときにこのサービスプロファイル使用するように指定します。次のコマンドは、`create-wireless-device` CLI コマンドを使用して、作成したサービスプロファイルの ID を使用してデバイスを追加する方法を示しています。コンソールを使用したサービスプロファイルを追加する方法については、「[コンソールを使用してワイヤレスデバイスの仕様を AWS IoT Core for LoRaWAN に追加する](lorawan-end-devices-add.md#lorawan-end-device-spec-console)」を参照してください。

     ```
     aws iotwireless create-wireless-device --cli-input-json file://createdevice.json
     ```

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

     **createdevice.json の内容**

     ```
     {
         "Name": "DeviceA",  
         "Type": LoRaWAN,
         "DestinationName": "RoamingDestination1",
         "LoRaWAN": {
             "DeviceProfileId": "ab0c23d3-b001-45ef-6a01-2bc3de4f5333",
             "ServiceProfileId": "12345678-a1b2-3c45-67d8-e90fa1b2c34d",
             "OtaaV1_1": {
                 "AppKey": "3f4ca100e2fc675ea123f4eb12c4a012",
                 "JoinEui": "b4c231a359bc2e3d",
                 "NwkKey": "01c3f004a2d6efffe32c4eda14bcd2b4"
             },
             "DevEui": "ac12efc654d23fc2"
         },
     }
     ```

     このコマンドを実行すると、ワイヤレスデバイスの ARN と ID が出力として生成されます。

     ```
     {
         "Arn": "arn:aws:iotwireless:us-east-1:123456789012:WirelessDevice/1ffd32c8-8130-4194-96df-622f072a315f",
         "Id": "1ffd32c8-8130-4194-96df-622f072a315f"
     }
     ```
   + 

**既存のデバイスの更新**  
デバイスを既にオンボーディングしている場合は、このサービスプロファイルを使用するように既存のワイヤレスデバイスを更新できます。次のコマンドは、`update-wireless-device` CLI コマンドを使用して、作成したサービスプロファイルの ID を使用してデバイスを更新する方法を示しています。

     ```
     aws iotwireless update-wireless-device \
         --id "1ffd32c8-8130-4194-96df-622f072a315f" \
         --service-profile-id "12345678-a1b2-3c45-67d8-e90fa1b2c34d" \ 
         --description "Using roaming service profile A"
     ```

     このコマンドでは、出力が生成されません。`GetWirelessDevice` API または `get-wireless-device` CLI コマンドを使用して、更新された情報を取得できます。

1. 

**Everynet を使用してデバイスをクラウドに接続する**

   ローミングが有効になっているため、デバイスは結合を実行して新しい `DevAddr` を取得する必要があります。OTAA を使用している場合、LoRaWAN デバイスが参加要求を送信し、ネットワークサーバーが要求を許可することができます。その後、Everynet が提供するネットワークカバレッジを使用して AWS クラウド クラウドに接続できます。デバイスのアクティベーション手順や参加方法については、デバイスのマニュアルを参照してください。
**注記**  
ローミング機能を有効にし、アクティベーション方法として OTAA を使用するデバイスのパブリックネットワークへの接続を有効にできます。ABP デバイスはサポートされていません。デバイスのアクティベーション手順や参加方法については、デバイスのマニュアルを参照してください。「[アクティベーションモード](lorawan-manage-end-devices.md#lorawan-activation-modes)」を参照してください。
デバイスのローミング機能を無効にするには、このサービスプロファイルからデバイスの関連付けを解除し、ローミングパラメータが `false` に設定されている別のサービスプロファイルにデバイスを関連付けます。このサービスプロファイルに切り替えた後、デバイスがパブリックネットワークで実行され続けないように、別の結合を実行する必要があります。

1. 

**アップリンクとダウンリンクのメッセージを交換する**

   デバイスが AWS IoT Core for LoRaWAN に接続されたら、デバイスとクラウドの間でメッセージの交換を開始できます。
   + 

**アップリンクメッセージを表示する**  
デバイスからアップリンクメッセージを送信すると、AWS IoT Core for LoRaWAN は以前に設定した宛先を使用してこれらのメッセージを AWS アカウント アカウントに配信します これらのメッセージは、デバイスから Everynet のネットワーク経由でクラウドに送信されます。

     AWS IoT ルール名を使用してメッセージを表示することも、MQTT クライアントを使用して宛先の作成時に指定された MQTT トピックをサブスクライブすることもできます。指定するルール名やその他の宛先の詳細については、「[コンソールを使用して送信先を追加します](lorawan-create-destinations.md#lorawan-create-destination-console)」を参照してください。

     アップリンクメッセージの表示とその形式の詳細については、「[LoRaWAN デバイスから送信されたアップリンクメッセージの形式の表示](lorawan-uplink-metadata-format.md)」を参照してください。
   + 

**ダウンリンクメッセージを送信する**  
コンソールから、または AWS IoT Wireless API コマンド `SendDataToWirelessDevice`、または AWS CLI コマンド `send-data-to-wireless-device` を使用して、ダウンリンクメッセージをキューに入れてデバイスに送信できます。ダウンリンクメッセージのキューイングと送信については、「[LoRaWAN デバイスに送信するダウンリンクメッセージをキューに入れる](lorawan-downlink-queue.md)」を参照してください。

     次のコードは、`send-data-to-wireless-device` CLIコマンドを使用してダウンリンクメッセージを送信する方法の例を示しています。データを受信するワイヤレスデバイスの ID、ペイロード、確認モードを使用するかどうか、およびワイヤレスメタデータを指定します。

     ```
     aws iotwireless send-data-to-wireless-device \
         --id "1ffd32c8-8130-4194-96df-622f072a315f" \
         --transmit-mode "1" \
         --payload-data "SGVsbG8gVG8gRGV2c2lt" \
         --wireless-metadata LoRaWAN={FPort=1}
     ```

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

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

**カバレッジ情報を表示する**  
パブリックネットワークを有効にすると、ネットワークカバレッジ情報を AWS IoT コンソールに表示できます。AWS IoT コンソールの [https://console.aws.amazon.com/iot/home#/wireless/network-coverage](https://console.aws.amazon.com/iot/home#/wireless/network-coverage) ハブに移動して場所を検索すると、デバイスのカバレッジ情報が地図上に表示されます。
**注記**  
この機能は、Amazon Location Service を使用して、デバイスのカバレッジ情報を Amazon ロケーションマップに表示します。Amazon ロケーションマップを使用する前に、Amazon Location Service 利用規約を確認してください。AWS は、選択したサードパーティーデータプロバイダーに API クエリを送信する場合があることに注意してください。このプロバイダーは現在使用している AWS リージョン の外部にある可能性があります。詳細については、「[AWS サービス条件](https://aws.amazon.com/service-terms)」を参照してください。