パブリックネットワークサポートの使用方法 - AWS IoT Wireless

パブリックネットワークサポートの使用方法

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

注記

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

ローミングパラメータ

デバイスのサービスプロファイルを作成するときに、次のパラメータを指定します。AWS IoT コンソールのプロファイルハブからサービスプロファイルを追加するとき、または AWS IoT Wireless API オペレーションの CreateServiceProfile、または AWS CLI コマンドの create-service-profile を使用するときに、これらのパラメータを指定します。

注記

AWS IoT Core for LoRaWAN は、ハンドオーバーローミングをサポートしていません。サービスプロファイルを作成する場合、ハンドオーバーローミングを使用するかどうかを指定する HrAllowed パラメータを有効にすることはできません。

  • ローミングアクティベーションが許可されました (RaAllowed): このパラメータは、ローミングアクティベーションを有効にするかどうかを指定します。ローミングアクティベーションにより、エンドデバイスを vNS の通信範囲内でアクティブ化できます。ローミング機能を使用する場合は、RaAllowedtrue に設定する必要があります。

  • パッシブローミングが許可されました (PrAllowed): このパラメータは、パッシブローミングを有効にするかどうかを指定します。ローミング機能を使用する場合は、PrAllowedtrue に設定する必要があります。

デバイスのパブリックネットワークサポートを有効にします。

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

注記

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

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

    ローミングパラメータを有効にしてサービスプロファイルを作成します。

    注記

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

    • AWS IoT コンソールを使用する場合

      AWS IoT コンソールのプロファイルハブに移動し、[サービスプロファイルの追加] を選択します。プロファイルを作成するときは、[パブリックネットワークを有効にする] を選択します。

    • AWS IoT Wireless API を使用する場合

      サービスプロファイルの作成時にローミングを有効にするには、以下の例に示すように、CreateServiceProfile API オペレーションまたは create-service-profile 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" }
  2. サービスプロファイルのローミングパラメータを確認する

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

    • AWS IoT コンソールを使用する場合

      AWS IoT コンソールのプロファイルハブに移動し、作成したプロファイルを選択します。詳細ページの [プロファイル設定] タブで、[RaAllowed][PrAllowed] が [true] に設定されていることがわかります。

    • AWS IoT Wireless API を使用する場合

      有効にしたローミングパラメータを表示するには、以下の例に示すように、GetServiceProfile API オペレーションまたは get-service-profile 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 } }
  3. サービスプロファイルをデバイスにアタッチする

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

    • 新しいデバイスのオンボーディング

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

      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 コマンドを使用して、更新された情報を取得できます。

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

    ローミングが有効になっているため、デバイスは結合を実行して新しい DevAddr を取得する必要があります。OTAA を使用している場合、LoRaWAN デバイスが参加要求を送信し、ネットワークサーバーが要求を許可することができます。その後、Everynet が提供するネットワークカバレッジを使用して AWS クラウド クラウドに接続できます。デバイスのアクティベーション手順や参加方法については、デバイスのマニュアルを参照してください。

    注記
    • ローミング機能を有効にし、アクティベーション方法として OTAA を使用するデバイスのパブリックネットワークへの接続を有効にできます。ABP デバイスはサポートされていません。デバイスのアクティベーション手順や参加方法については、デバイスのマニュアルを参照してください。「アクティベーションモード」を参照してください。

    • デバイスのローミング機能を無効にするには、このサービスプロファイルからデバイスの関連付けを解除し、ローミングパラメータが false に設定されている別のサービスプロファイルにデバイスを関連付けます。このサービスプロファイルに切り替えた後、デバイスがパブリックネットワークで実行され続けないように、別の結合を実行する必要があります。

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

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

    • アップリンクメッセージを表示する

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

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

      アップリンクメッセージの表示とその形式の詳細については、「LoRaWAN デバイスから送信されたアップリンクメッセージの形式の表示」を参照してください。

    • ダウンリンクメッセージを送信する

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

      次のコードは、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 を受信した場合でも、パケットはドロップされる可能性があります。このようなシナリオのトラブルシューティングと解決方法については、「ダウンリンクメッセージキューエラーのトラブルシューティング」を参照してください。

      { MessageId: "6011dd36-0043d6eb-0072-0008" }
    • カバレッジ情報を表示する

      パブリックネットワークを有効にすると、ネットワークカバレッジ情報を AWS IoT コンソールに表示できます。AWS IoT コンソールの [カバレッジ] ハブに移動して場所を検索すると、デバイスのカバレッジ情報が地図上に表示されます。

      注記

      この機能は、Amazon Location Service を使用して、デバイスのカバレッジ情報を Amazon ロケーションマップに表示します。Amazon ロケーションマップを使用する前に、Amazon Location Service 利用規約を確認してください。AWS は、選択したサードパーティーデータプロバイダーに API クエリを送信する場合があることに注意してください。このプロバイダーは現在使用している AWS リージョン の外部にある可能性があります。詳細については、「AWS サービス条件」を参照してください。