

# パブリックネットワークサポートの使用方法
<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)」を参照してください。