AWS IoT Core for LoRaWAN – Milesightセンサーの統合

説明

Milesight IoT LoRaWANのエンドデバイスをAWS IoT Core for LoRaWANに接続するための手順を紹介します。AWSアカウントをお持ちでない場合は、こちらのガイドをご参照ください。

AWS IoT Core for LoRaWANを使い始めるためのハイレベルな手順は以下の通りです:

  1. AWS IoT LinkにLoRaWANゲートウェイを追加します。
  2. エンドデバイスの追加

これらのステップの詳細は以下の通りです。その他のヘルプについては、AWSLoRaWAN 開発者ガイド を参照してください。

セットアップが完了すると、プロビジョニングされたデバイスがネットワークに参加し、メッセージの送信を開始できます。デバイスからのメッセージは AWS IoT Core for LoRaWAN で受信され、IoT Rules Engine に転送されます。

要件

  • AWSアカウント
  • AWS IoT for LoRaWANに接続済みのLoRaWANゲートウェイ(UG56、UG6xなど
  • 周波数プランがゲートウェイのLoRaWANリージョンと一致するMilesight LoRaWANエンドデバイス
  • MACバージョン。AWSでサポートされている以下のいずれかである必要があります(デフォルトでは、Milesightデバイスはv1.0.3を使用します)。
    • 1.0.2
    • 1.0.3
  • 使用するアクティベーション方法(デフォルトでは、MilesightデバイスはOTAA v1.0.xを使用します。)
    • OTAA v1.0.x
    • ABP v1.0.x
  • Milesight IoTドキュメントセンターにあるデバイスのペイロード構造から以下の情報をコピーしてください:
    • OTAA v1.0.xデバイスの場合: DevEUI、AppKey、AppEUI
    • ABP v1.0.xデバイスの場合: DevEUI、DevAddr、NwkSkey、AppSkey

構成

AWS IoT Core for LoRaWAN への Destination の IAM ロールの追加

ロールに IoT エンドポイントを記述し、AWS IoT にメッセージを発行する権限を与えるポリシーを作成します。

1. IAM コンソールに移動し、ナビゲーションパネルからPolicies を選択し、Create Policy を選択します。

  • 次に JSON タブを選択し、ポリシーエディターを開きます。既存のテンプレートをこの信頼ポリシードキュメントに置き換えます:
    {
      "Version": "2012-10-17", 
      "Statement": [
       {
        "Effect": "Allow", 
        "Action": 
     [ 
      "iot:DescribeEndpoint", 
      "iot:Publish" 
     ],
        "Resource": "*"
       }
      ]
    }
    JavaScript
  • クリックNext 、ポリシーの名前を入力します。説明] には、任意の説明を入力します。
  • Create policy を選択します。ポリシーが作成されたことを示す確認メッセージが表示

2. IAM コンソールでCreate Role を選択します。

  • AWS accountThis account を選択し、Next をクリックします。
  • 検索バーにポリシー名を入力して作成した IAM ポリシーを検索し、[Next ] をクリックします。
  • Role nameには適当な名前を入力します。この記事ではMilesightRoleを使用します。Descriptionには、任意の説明を入力します。
  • Create role(ロールの作成)を選択します。ロールが作成されたことを示す確認メッセージが表示されます。

3. Rolesページで、MilesightRoleを選択してロールを編集します。

  • [Trust relationships]タブを選択して[Trust relationships]ページに移動し、[Edit trust policy]を選択します。
  • トラストポリシードキュメントのプリンシパルAWSロールのデフォルトがrootになっているので、変更する必要があります。既存のポリシーを次のように置き換えます:
  • {
      "Version": "2012-10-17",
      "Statement": [
       {
        "Sid": "",
        "Effect": "Allow",
        "Principal": {
          "Service": "iotwireless.amazonaws.com"
        },
        "Action": "sts:AssumeRole",
        "Condition": {}
       }
      ]
    }
    JavaScript
  • Update Trust Policy  を選択して変更を保存し、終了します。

デバイストラフィックの Destination の設定

ほとんどの LoRaWAN デバイスは、AWS サービスで消費できるフォーマットで AWS IoT Core for LoRaWAN にデータを送信しないため、トラフィックはまず Destination に送信する必要があります。Destination は、AWS サービスで使用するためにデバイスのデータを処理する AWS IoT ルールを表します。この AWS IoT ルールには、デバイスのデータを選択する SQL ステートメントと、SQL ステートメ ントの結果を使用するサービスに送信するトピックルールのアクションが含まれます。Destinations の詳細については、AWSLoRaWAN 開発者ガイド を参照してください。

. [Manage] > [LPWAN devices] > [Destinations]ページに移動し、[Add destination] を選択します。

    • Destination nameProcessLoRaを入力し、Destination description – optionalに適切な説明を入力します
    • またはRule nameに LoRaWANRoutingと入力します。Rules configuration – Optional“のセクションは、今は無視してください。

    注: 名前は何でも構いません。AWS IoT Core for LoRaWAN との最初の統合では、上記の名前を選択します。

  • Permissionsセクションで、ドロップダウンから先ほど作成した IAM ロールを選択します。
  • Add Destination を選択します。デスティネーションが正常に追加されたことを示す 「Destination added」 というメッセージが表示されます。

プロファイルの確認

WS IoT Core for LoRaWANは、デバイスプロファイルとサービスプロファイルをサポートしています。デバイスプロファイルには、デバイスがネットワークサーバーと通信するために必要な通信とプロトコルのパラメータ値が含まれています。サービスプロファイルには、デバイスがアプリケーションサーバーと通信するために必要な通信パラメータが記述されています。

デバイス・プロファイルとサービス・プロファイルには、事前に定義されたプロ ファイルがあります。先に進む前に、これらのプロファイル設定が AWS IoT Core for LoRaWAN で動作するように設定するデバイスと一致していることを確認してください。

. AWS IoT コンソールに移動します。ナビゲーションペインで、[Manage] > [LPWAN devices] > [Profiles] を選択し、[Add device profile] をクリックします。

  • Milesight デバイスを例にします:
    • acVersionは1.0.2または1.0.3です。
    • egParamsRevision 地域パラメータ v1.0.2rB
    • デバイスのワークモードに応じてクラスBまたはクラスCをサポートします。
    • 参加タイプがOTAAの場合、SupportsJoinを有効にします。

Add device profile をクリックしてプロファイルを保存します。

. Add service profile をクリックし、必要に応じてパラメータを設定します。デバイスとサービスプロファイルがある場合のみ、続行してください。

  • Service Profilesセクションで、サービスプロファイルに名前を付け、必要に応じて設定し、[Add service profile]をクリックしてプロファイルを保存します。
  • デバイスの登録

    以下の手順で、AWS IoT Core for LoRaWAN にエンドポイントデバイスを登録します:

    • AWS IoT コンソールに移動し、[Manage] > [LPWAN devices] > [Devices]ページに移動し、[Add wireless device] を選択します。
  • LoRaWAN specification and wireless device configurationで、LoRaWAN仕様のバージョンをOTAA v1.0.xまたはABP v1.0.xとしてドロップダウンで選択し、DevEUIとその他のキーを入力します。その際、AppEUI を選択してください。デフォルトの App EUI は 24E124C0002A0001、デフォルトの AppKey は 5572404c696e6b4c6f52613230313823 です。
  • Profiles(プロファイル)セクションで、ドロップダウンリストからデバイスプロファイルとサービスプロファイルを選択します。
  • 注: デバイスの詳細を比較して、デバイス・プロファイルが正しいことを確認してください。有効なデフォルト・オプションがない場合は、新しいプロファイルを作成する必要があります(「プロファイルの検証」セクションを参照)。
    • Choose destination(宛先の選択) ]のドロップダウンから、先に作成した宛先(ProcessLoRa)を選択し、[Next(次へ)]を選択します。
    • Add device(デバイスの追加)を選択します。
    • ワイヤレスデバイスが追加されました」というメッセージが表示されます。
    • ページを更新して、最終アップリンク受信時間をロードします。

宛先ルールのラムダ関数の作成

宛先ルールが処理するデバイス・メッセージを処理するラムダ関数を作成します。

. AWS Lambda コンソールに移動し、ナビゲーションペインの[Functions]をクリックし、[Create function] をクリックします。

  • Author from scratch. [Basic information]で、関数名「am100decoder」を入力し、[Runtime]のドロップダウンから「Node.js 14.x」を選択します。
  • Create function をクリックします。

2. 作成した関数をクリックし、Code タブでREADMEのガイドに従ってindex.jsを作成します。

  • index.jsのエンドポイントは、AWS IoT console > Settingsページにあります。

  • 最後の部分をxxxx_TTN.js decoderと置き換えてください。
  • コードを貼り付けたら、Deployを選択してラムダコードをデプロイします。

3.Test をクリックし、Configure test event を選択します。

  • Create New eventを選択し、イベント名を入力します。
  • 以下の AM107 サンプルのペイロードを取得し、イベント名の下に貼り付けます:
{
    "WirelessDeviceId": "ab35b5ec-00b6-4c02-9bec-1e4efa4c7ba1",
    "PayloadData": "A2cHAQRocgZlRABeAVAABWosAAd9ZgIIfQwACXN5Jw==",
    "WirelessMetadata": {
        "LoRaWAN": {
            "DataRate": "2",
            "DevEui": "24e124128a390388",
            "FCnt": 65,
            "FPort": 85,
            "Frequency": "865500000",
            "Gateways": [{
                "GatewayEui": "24e124fffef128ea",
                "Rssi": -33,
                "Snr": 10.5
            }],
           "Timestamp": "2021-03-16T07:37:18Z"
         }
     }
}
JavaScript
    • Save changesをクリックして、イベントを保存します。

    注:これは、[Test ]タブの下にも追加できます。

4.  ラムダ関数ページでTestをクリックすると、作成したテストイベントが生成されます。

コードをデプロイした後、以下の手順でラムダロールポリシーのパーミッションを変更する必要があります:

5.ラムダ関数のConfiguration > Permissionsタブに移動します。

  • Execution roleの下で、Role nameを クリックしてIAM Rolesページに移動します。
  • Permissionsタブでポリシー名を見つけ、クリックします。
  • PermissionsタブでEditを選択します。
  • JSON ] タブを選択し、ポリシーの [Statement] セクションに以下を追加して AWS IoT への公開を許可します。
,
{
  "Effect": "Allow",
  "Action": [
  "iot:Publish"
],
"Resource": [
  "*"
]
}
JavaScript
  • Next (次へ)」を選択し、「 Save changes (変更を保存)」を選択します。

6.AWS IoT Core コンソールに移動し、ナビゲーションペインでTest を選択し、MQTT test client を選択します。

  • MQTT テストクライアントを 「#」 (すべてのトピック) にサブスクライブするように設定します。
  • AWS IoT Core MQTT Test クライアントで公開されたデータを確認します。

Queueダウンリンクメッセージ

1. AWS IoT コンソールに移動し、[Manage] > [LPWAN devices] > [Devices]ページに移動して、作成したデバイスを選択します。

 

 

2. Queue downlink message]を選択します。

 

Fport(Milesightデバイスのデフォルトでは85)とダウンリンクコマンド(base64形式)を入力し、[Submit]をクリックします。ダウンリンクコマンドはMilesightデバイスのユーザーガイドまたはプロトコルドキュメントに記載されています。

 

以上

関連記事

IoT Sensorsの統合

  • IoT Sensorsの統合
  • The Thing Stack による Qubitro の統合Qubitro は、完全な開発者ツールキットのサポートにより、コードを使用せずに複数のネットワークからのデバイスデータを統合することで、ソリューションプロバイダーがグローバルな IAQ モニタリングソリューションを設計、販売することを可能にします。
  • Actility ThingParkとMilesight LoRaWANデバイスの統合ActilityはThingPark™プラットフォームとネットワーク技術を提供し、統合された拡張性の高い汎用的なネットワークインフラ内で、パブリックおよびプライベートなワイヤレスIoTネットワークを展開、動作、維持します。
  • The Things Stack-Milesight LoRaWAN デバイス統合このドキュメントでは、Milesight LoRaWAN デバイスを The Things Stack に接続する方法について説明します。
  • ChirpStack V4の統合この記事では、Milesight IoTセンサー/ノードをChirpStackサーバーに統合する方法を説明します。
  • The Thing Stack による Tago の統合この記事では、The Thing Stack を使用して Milesight IoT デバイスを Tago に追加する方法について説明します。
  • Thing StackによるAkenza Coreの統合この記事では、The Thing Stack を使用して Milesight IoT センサーを Akenza v2 に追加する方法について説明します。
  • The Thing Stack による Ubidots 統合この記事では、AM107 屋内環境センサーを例に、Milesight IoT センサーを The Thing Stack 経由で Ubidots に統合する方法をご説明します。
  • Milesight センサーと Sensgreen の統合持続可能性とエネルギー効率に重点を置いた Sensgreen のプラットフォームは、リアルタイムのデータ分析とダイナミックな制御オプションをユーザーに提供します。
  • Helium コンソール統合この記事では、Milesight LoRaWAN ノードを Helium コンソールに接続する方法について説明します。 手順については、以下のビデオチュートリアルもご参照ください。 
  • Everynet 統合この記事では、すでに追加されている同じ地域パラメータを使用する LoRaWAN® ゲートウェイを使用して、Everynet に Milesight IoT エンドデバイスを追加する手順について説明します。
  • Senet 統合このガイドでは、Milesight LoRaWANセンサーがSenet Platformに接続する方法を詳しく紹介します。
  • Loriot 統合この記事では、Loriot上にMilesight IoTエンドデバイスを追加する手順を、既に追加されている同じ地域パラメータを使用するLoRaWAN®ゲートウェイを使用して説明します。
  • ChirpStack V3の統合この記事では、Milesight IoTセンサー/ノードをChirpStackサーバーに統合する方法を説明します。

ソリューション / IoT サポート


Milesight製品

ウェーブクレスト株式会社が運営するMilesight製品特設サイトです

居住者の健康を確保

お知らせ

  1. 2025-4-3

    ピープル・センシング 駆動型スマートビルディング

    People Sensing Insights を通じてビルインテリジェンスに革命をもたらします。…
  2. 2023-7-21

    LoRaWANの説明: 理論から実践へのガイド

    この包括的なビデオでは、LoRaWANを深く掘り下げ、その仕組み、利点、アプリケーションについて説明…
  3. 2023-4-6

    センシング・インサイト Milesight リブランディングのお知らせ

    https://youtu.be/r40DK40DjIY …
ページ上部へ戻る