MQTT 対応 V3 ゲートウェイを使用してデータを SiteWise Edge に統合する - AWS IoT SiteWise

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

MQTT 対応 V3 ゲートウェイを使用してデータを SiteWise Edge に統合する

このチュートリアルでは、MQTT メッセージングプロトコルを使用するサードパーティーのデバイスとセンサーを AWS IoT SiteWise MQTT 対応 V3 ゲートウェイと統合する方法について説明します。MQTT 対応デバイスからデータを収集してモニタリングするように AWS IoT SiteWise エッジゲートウェイを設定する方法について説明します。 AWS IoT SiteWise を使用すると、産業機器データを収集、処理、モニタリングできます。SiteWise Edge 機能を使用して、産業用 IoT オペレーションを最適化し、未加工データを実用的なインサイトに変換します。

このチュートリアルでは、風力発電所のデモンストレーションのデータを使用して、主要な概念を説明します。プロセスに慣れたら、独自のデータを使用してチュートリアルを繰り返すことができます。

このチュートリアルを完了したら、次の項目を実行できます。

  • 産業用デバイスからデータを受信するように MQTT 対応の V3 ゲートウェイを設定および設定する

  • エッジの機器からの受信 MQTT メッセージを処理および検証する

  • サードパーティーの視覚化プラットフォーム AWS IoT SiteWise を使用して でデバイスデータを表示する

  • エッジゲートウェイから に処理されたデータを送信 AWS クラウド して、一元化されたストレージとさらなる分析を可能にする

さらに、他の AWS IoT サービスに接続して次のタスクを実行することで、エッジゲートウェイ機能を活用できます。

  • Amazon Amazon S3 Timestream、 などのサービスにデータをルーティングする AWS IoT ルールを設定しますAWS Lambda

  • AWS IoT Device Defender を使用して、ゲートウェイ設定をリモートで管理および更新します。

  • AWS IoT セキュリティ機能を使用して、安全なデバイス認証と認可を実装します。詳細については、「 AWS IoT デベロッパーガイド」のAWS IoT 「 セキュリティ」を参照してください。

  • 機器データに基づいて自動アラートと通知を作成します。詳細については、「 AWS IoT デベロッパーガイド」の「 のルール AWS IoT」を参照してください。

注記

このチュートリアルでは、サードパーティーのサービス、ツール、ドキュメントを参照します。 AWS は、サードパーティーの製品やサービスのベンダーまたはサプライヤーではなく、外部プロバイダーからの情報の正確性を保証することはできません。デプロイする前に、すべてのサードパーティーツールを評価して検証します。

前提条件

このチュートリアルを完了するには、以下が必要です。

  • AWS アカウント。アカウントをお持ちでない場合は、「AWS アカウントを設定する」を参照してください。

  • 管理者権限を持つ AWS Identity and Access Management (IAM) ユーザー。詳細については、「の ID とアクセスの管理 AWS IoT SiteWise」を参照してください。

  • デバイスにPythonインストールされている の最新バージョン。

重要

このチュートリアルでは、Ingest data チュートリアルで作成されたリソースを使用する必要があります。このチュートリアルに進む前に完了する必要があります。

ステップ 1: AWS IoT ポリシーを作成する

このチュートリアルでは、データ取り込みチュートリアルで作成した AWS IoT ポリシーを使用します。このポリシーは、デバイスのセキュリティルールを設定し、外部デバイスとセンサーのデジタル表現を作成します AWS IoT。このポリシーは、サードパーティーデバイスが MQTT (Message Queuing Telemetry Transport) AWS IoT Core を使用して にデータを送信することを許可します。MQTT メッセージの詳細については、「MQTT とは」を参照してください。

Console

AWS IoT ポリシーが完了していることを確認します。詳細な手順については、「データを取り込む」チュートリアルの「ステップ 1」を参照してください。 AWS IoT モノ AWS IoT SiteWise から にデータを取り込む

アクティブな AWS IoT ポリシーがあることを確認するには

  1. AWS IoT コンソールに移動します。

  2. 左側のナビゲーションペインで、証券ポリシーを選択します。

  3. 作成したポリシーを選択します。例えば、SiteWiseTutorialDevicePolicy

  4. ポリシーのステータスがアクティブとしてリストされていることを確認します。

AWS CLI

AWS IoT ポリシーが完了していることを確認します。詳細な手順については、「データを取り込む」チュートリアルの「ステップ 1」を参照してください。 AWS IoT モノ AWS IoT SiteWise から にデータを取り込む

AWS CLI コマンドリファレンスの次の AWS CLI get-policy コマンドを使用して、アクティブな AWS IoT ポリシーがあることを確認します。

aws iot get-policy --policy-name "SiteWiseTutorialDevicePolicy"

このポリシーにより、 AWS IoT デバイスは MQTT メッセージを使用して接続を確立し、デバイスシャドウと通信できるようになります。デバイスシャドウを操作するために、 AWS IoT モノは で始まるトピックで MQTT メッセージを発行および受信します$aws/things/thing-name/shadow/。このポリシーには、${iot:Connection.Thing.ThingName} と呼ばれるモノのポリシー変数が組み込まれています。この変数は、各トピックで接続されたモノの名前に置き換わります。iot:Connect ステートメントはデバイスが接続を確立できる制限を設定し、モノのポリシー変数は、SiteWiseTutorialDevice で始まる名前のみに置き換えることができます。

詳細については、[AWS IoT Developer Guide] (デベロッパーガイド) の[Thing policy variables] (シングポリシー変数) を参照してください。

注記

このポリシーは、名前が SiteWiseTutorialDevice で始まるモノに適用されます。モノに別の名前を使用するには、それに応じてポリシーを更新する必要があります。

ステップ 2: AWS IoT モノを作成して設定する

このステップでは、エッジデバイスを AWS IoT モノとして登録し、 AWS IoT SiteWise Edge との安全な通信に必要なモノの証明書とキーを生成します。このプロセスは、デバイスが MQTT 対応 V3 ゲートウェイを介してサードパーティーデータを送信するための基盤を確立します。

Console

AWS IoT モノの作成ステップと設定ステップが完了していることを確認します。詳細な手順については、「データを取り込む」チュートリアルの「ステップ 2」を参照してください。

アクティブな AWS IoT モノがあることを確認するには

  1. AWS IoT コンソールに移動します。

  2. 左側のナビゲーションペインで、すべてのデバイスモノを選択します。

  3. 作成したモノを選択します。例えば、SiteWiseTutorialDevice1

  4. 証明書で、ステータスがアクティブとしてリストされていることを確認します。

AWS CLI

AWS IoT モノの作成ステップと設定ステップが完了していることを確認します。詳細な手順については、「データを取り込む」チュートリアルの「ステップ 2」を参照してください。 AWS IoT モノ AWS IoT SiteWise から にデータを取り込む

次の AWS CLI コマンドを使用して、アクティブな AWS IoT ポリシーがあることを確認します。

aws iot describe-thing --thing-name "SiteWiseTutorialDevice1"

これらのステップを完了すると、デバイスを AWS IoT SiteWise Edge に安全に接続できます。MQTT 認証用に生成した証明書とキーを保存するローカルディレクトリを作成しました。デバイスは AWS IoT コンソールに AWS IoT モノとして登録され、デバイスはデータを SiteWise Edge と統合する準備が整います。産業機器やその他のデバイスを AWS IoT プラットフォームに接続し、SiteWise Edge へのデータの取り込みを開始できます。

ステップ 3: SiteWise Edge MQTT 対応 V3 ゲートウェイを設定する

このステップでは、 AWS IoT SiteWise Edge MQTT 対応 V3 ゲートウェイを作成し、EMQX ブローカーからデータを受信するように設定します。ゲートウェイは、デバイスと の間のブリッジとして機能します AWS IoT。これにより、 に送信する前に、エッジでローカルにデータを処理できます AWS クラウド。この設定により、帯域幅が減少し、クラウド処理の遅延が軽減されます。

Console

AWS IoT SiteWise MQTT 対応 V3 ゲートウェイを作成するには

  1. AWS Management Console にサインインして、AWS IoT SiteWise コンソール を開きます。

  2. 左側のナビゲーションペインで、エッジゲートウェイを選択し、ゲートウェイの作成を選択します。

  3. デプロイターゲットで、セルフホストゲートウェイを選択します。

  4. セルフホストゲートウェイオプションで、MQTT 対応、V3 ゲートウェイ - 推奨を選択します。

  5. ゲートウェイ設定で:

    1. ゲートウェイ名に、ゲートウェイの名前を入力します。例えば、SiteWise Tutorial Device Gateway

    2. Greengrass デバイス OS で、デバイスに適したオプションを選択します。

  6. 詳細設定

    1. デフォルト設定を選択します。

    2. Greengrass コアデバイスの名前を入力するか、 によって生成された名前を使用します AWS IoT SiteWise。

  7. [Create gateway (ゲートウェイの作成) ] を選択します。

  8. 確認ダイアログで、生成とダウンロードを選択して SiteWise Edge ゲートウェイのインストーラを生成します。詳細については、「セルフホスト SiteWise Edge ゲートウェイを作成する」を参照してください。

警告

インストーラファイルを安全な場所に保存します。このファイルは再生成できず、後のステップでゲートウェイのセットアップを完了するために必要です。

AWS CLI

AWS CLI を使用してセルフホスト型ゲートウェイを作成します。ゲートウェイの名前を指定し、プラットフォームとゲートウェイのバージョンを指定する必要があります。詳細については、 AWS IoT SiteWise API リファレンスCreateGateway」を参照してください。

この例を使用するには、ユーザー入力プレースホルダーを独自の情報に置き換えます。

aws iotsitewise create-gateway \ --gateway-name SiteWise Tutorial Device Gateway \ --gateway-platform greengrassV2={coreDeviceThingName=your-core-device-thing-name, coreDeviceOperatingSystem=LINUX_AMD64} \ --gateway-version 3 \ [--cli-input-json your-configuration]
  • gateway-name – ゲートウェイの一意の名前。例: SiteWise Tutorial Device Gateway

  • gateway-platform – と入力しますgreengrassV2。詳細については、 AWS IoT SiteWise API リファレンスCreateGateway」を参照してください。

    • coreDeviceThingName – AWS IoT Greengrass V2 コアデバイスの AWS IoT モノの名前。例えば、SiteWiseTutorialDevice1

    • coreDeviceOperatingSystem – のコアデバイスのオペレーティングシステム AWS IoT Greengrass V2。Gateway-version 3 にはオペレーティングシステムの指定が必要です。オプションにはLINUX_AARCH64、、LINUX_AMD64、および が含まれますWINDOWS_AMD64

  • gateway-version – ゲートウェイのバージョン。

    • ゲートウェイバージョン3に を使用して、MQTT 対応の V3 ゲートウェイを作成します。

  • cli-input-json – リクエストパラメータを含む JSON ファイル。

次の AWS CLI コマンドを使用して、ゲートウェイが正常に作成されたことを確認します。

aws iotsitewise describe-gateway --gateway-id your-gateway-id

ステップ 4: SiteWise Edge ゲートウェイソフトウェアをインストールする

ゲートウェイソフトウェアをインストールするには、前のステップでダウンロードしたインストーラパッケージを使用します。インストールプロセスでは、必要なコンポーネントを設定し、Greengrass コアサービスを開始し、デバイスを に登録します AWS IoT Greengrass。インストールが完了したら、ゲートウェイが Edge ゲートウェイのAWS IoT SiteWise コンソールに表示され、Greengrass サービスがデバイスで正しく実行されていることを確認します。

詳細な手順については、「ローカルデバイスに AWS IoT SiteWise Edge ゲートウェイソフトウェアをインストールする」を参照してください。

ステップ 5: 外部アプリケーションに接続するように EMQX ブローカーを設定する

注記

続行する前に、SiteWise Edge MQTT 対応 V3 ゲートウェイをデプロイしておく必要があります。ゲートウェイは、EMQX ブローカーの設定に必要なインフラストラクチャとセキュリティ設定を提供します。ブローカー設定は、アクティブなゲートウェイのデプロイなしで失敗します。

IoT デバイスと外部アプリケーション間の安全な通信を可能にするように EMQX ブローカーを設定します。EMQX ブローカーは、IoT デバイス、ゲートウェイ、アプリケーション間でデータをルーティングする中央メッセージングハブとして機能します。EMQX ブローカーは、ゲートウェイとエッジの接続されたアプリケーションで信頼性の高いメッセージ配信を実現します。詳細については、「外部アプリケーションを EMQX ブローカーに接続する」を参照してください。

EMQX ブローカーを設定するには

  1. EMQX ブローカーをセットアップします。詳細な設定手順については、「認証用の EMQX デプロイ設定を更新する」のステップ 1~14 に従ってください。

  2. 風力発電所のモニタリング用に MQTT トピックを設定します。MQTT 要件の詳細については、「」を参照してくださいMQTT トピックの要件

    1. CPU 使用率: SiteWiseTutorialDevice/cpu

    2. メモリ使用量: SiteWiseTutorialDevice/memory

    3. タイムスタンプ: SiteWiseTutorialDevice/timestamp

  3. 設定を確認し、デプロイを完了します。

    1. 確認 を選択して設定を保存します。

    2. レビューステップに到達するまで次へを選択します。

    3. [Review] ページで、[デプロイ] を選択します。

    4. デプロイが正常に完了するのを待ってから続行します。

  4. EMQX ブローカーに送信するペイロード形式を使用してメッセージを準備します。ペイロードの構造化の詳細については、「認証用の EMQX デプロイ設定の更新」を参照してください。

  5. 次のセキュリティ対策を実装します。

    1. Transport Layer Security (TLS) 暗号化 (ポート 8833) を使用して、転送中のデータを保護します。詳細については、「AWS IoT SiteWise Edge の EMQX ブローカーへの安全な接続のために TLS を設定する」を参照してください。

    2. ユーザー名とパスワード認証を設定して、デバイス ID を検証します。このセキュリティ対策は、データを保護するのに役立ち、承認されたデバイスのみがシステムに接続できるようにします。詳細については、「ユーザー名とパスワード認証を有効にする」を参照してください。

EMQX では、ユーザー名、IP アドレス、クライアント ID などの識別子に基づいて認可ルールを作成できます。これは、データへのアクセスを制御するのに役立ちます。詳細については、「EMQX で AWS IoT SiteWise Edge の認可ルールを設定する」を参照してください。

デプロイが成功すると、EMQX ブローカーが設定され、外部アプリケーションに安全に接続する準備が整います。

注記

ペイロード形式は、 AWS IoT SiteWise Edge がデータを適切に処理して取り込むための特定の構造に従う必要があります。必要な構造の詳細については、「」を参照してくださいJSON ペイロード構造

例: CPU、メモリ、タイムスタンプ JSON ペイロードを追加する

CPU JSON ペイロード

{ "propertyAlias": "SiteWiseTutorialDevice/cpu", "propertyValues": [ { "quality": "GOOD", "timestamp": { "offsetInNanos": 0, "timeInSeconds": 1753206441 }, "value": { "integerValue": 45.2 } } ] }

メモリ JSON ペイロード

{ "propertyAlias": "SiteWiseTutorialDevice/memory", "propertyValues": [ { "quality": "GOOD", "timestamp": { "offsetInNanos": 0, "timeInSeconds": 1753206441 }, "value": { "integerValue": 67.8 } } ] }

タイムスタンプ JSON ペイロード

{ "propertyAlias": "SiteWiseTutorialDevice/timestamp", "propertyValues": [ { "quality": "GOOD", "timestamp": { "offsetInNanos": 0, "timeInSeconds": 1753206441 }, "value": { "integerValue": 23.5 } } ] }
注記

各 JSON ペイロードは、個別のメッセージとして個別に発行する必要があります。複数のプロパティ値を 1 つのメッセージに結合しないでください。各 CPU、メモリ、タイムスタンプペイロードを独自の MQTT パブリケーションとして送信します。

ペイロードは、IoT デバイスが EMQX ブローカーを介して SiteWise Edge にデバイスデータを送信するために使用する必要のある JSON 構造を定義します。この形式により、 AWS IoT SiteWise はデバイスを識別し、センサーの読み取りを処理できます。これらの設定とペイロード構造を実装すると、風力発電所モニタリングシステムがデータを収集して処理する準備が整います。

ステップ 6: Mosquitto でデータを発行する

MQTT 対応 V3 ゲートウェイを作成したら、テストデータを SiteWise Edge に送信するように Eclipse Mosquitto を設定します。Mosquitto は、デバイス間の軽量メッセージングに MQTT プロトコルを使用するオープンソースの MQTT メッセージブローカーです。Mosquitto クライアントを使用すると、風力発電所センサーからのデータをシミュレートして、MQTT トピックにメッセージを発行できます。Mosquitto を使用して、サードパーティーのサービスや追加の機器を必要とすることなく、デバイスデータをシミュレートします。詳細については、公式の Eclipse Mosquitto ウェブサイトのドキュメントを参照してください。このチュートリアルでは、Ingest data チュートリアルのローカルデータと架空のデータがデモンストレーション目的で使用されています。

Mosquitto CLI クライアントを使用して SiteWise Edge EMQX ブローカーをテストする

  1. ローカルデバイスに Mosquitto をインストールします。詳細な手順については、公式の Eclipse Mosquitto ウェブサイトの「Download Mosquitto」を参照してください。

  2. 産業データを転送するために外部アプリケーションを接続する方法の詳細については、「」を参照してください外部アプリケーションを EMQX ブローカーに接続する

重要

ここで設定する MQTT 接続設定が、Mosquitto publish コマンドで使用されている設定と一致していることを確認します。ホストは、SiteWise Edge ゲートウェイの IP アドレスまたはホスト名である必要があります。ポートは通常 1883 (SSL/TLS を使用している場合は 8883) です。

Mosquitto を使用してテストデータを公開します。コマンドラインを開き、次のコマンドを実行します。

例: CPU プロパティ

mosquitto_pub -h localhost -p 1883 -t "SiteWiseTutorialDevice/cpu" -m '{ "propertyAlias": "SiteWiseTutorialDevice/cpu", "propertyValues": [ { "quality": "GOOD", "timestamp": { "timeInSeconds": 1753206441, "offsetInNanos": 0 }, "value": { "integerValue": 45.2 } } ] }'

例: メモリプロパティ

mosquitto_pub -h localhost -p 1883 -t "SiteWiseTutorialDevice/memory" -m '{ "propertyAlias": "SiteWiseTutorialDevice/memory", "propertyValues": [ { "quality": "GOOD", "timestamp": { "timeInSeconds": 1753206441, "offsetInNanos": 0 }, "value": { "integerValue": 72.1 } } ] }'

例: Timestamp プロパティ

mosquitto_pub -h localhost -p 1883 -t "SiteWiseTutorialDevice/timestamp" -m '{ "propertyAlias": "SiteWiseTutorialDevice/timestamp", "propertyValues": [ { "quality": "GOOD", "timestamp": { "timeInSeconds": 1753206441, "offsetInNanos": 0 }, "value": { "integerValue": 1683000000 } } ] }'
注記

EMQX ブローカーアドレスlocalhostとしての の使用は、デモンストレーションのみを目的としています。本番環境または外部デバイスから接続する場合は、特定のデプロイ設定に適切な EMQX ブローカーアドレスを使用する必要があります。接続手順の詳細については、「」を参照してくださいEdge の EMQX ブローカーにアプリケーションを接続する AWS IoT SiteWise

ステップ 7: 送信先を指定する

このステップでは、送信先を指定して、ソースデータの転送先を決定します。Amazon S3 バッファリング AWS IoT SiteWise を送信先として使用します。このオプションは、IoT データを保存および処理するためのスケーラブルな方法を提供します。

Console

送信先を追加するには

  1. AWS IoT SiteWise コンソールに移動し、 Edge ゲートウェイを選択します。

  2. SiteWise チュートリアルデバイスゲートウェイで、送信先の追加を選択します。

  3. 送信先の詳細で、AWS IoT SiteWise Amazon S3 を使用してバッファリングされた を選択します。送信先タイプの詳細については、AWS IoT SiteWise 「ゲートウェイの送信先」を参照してください。

  4. 送信先名に、送信先の名前を入力します。例: SiteWise Tutorial S3 Destination

  5. S3 アップロード設定で、S3 バケットの場所を入力します。例えば、s3://sitewise-tutorial-mqtt-data-[your-account-id]。Amazon S3 の詳細については、「Amazon Simple Storage Service ユーザーガイド」のAmazon S3バケットの作成、設定、および操作」を参照してください。

  6. データのアップロード頻度に、1 分から 30 日までの値を入力します。例えば、1 minute

  7. データストレージ設定の下:

    1. 「ストレージにデータをコピーする」の選択を解除します。この設定は本番環境では推奨されますが、このチュートリアルでは必要ありません。このオプションの選択を解除すると、S3 からデータを削除するオプションが自動的に選択解除されます。

  8. 送信先の追加を選択します。

注記

このチュートリアルでは、テストに 1 分間隔を使用します。チュートリアルを完了したら、本稼働ニーズに合わせてこの間隔を調整したり、追加料金が発生しないように削除したりできます。

AWS CLI

例: Amazon S3 を使用してバッファされた新しい AWS IoT SiteWise 送信先を作成する

AWS CLI コマンドリファレンスupdate-gateway-capability-configuration を使用して、パブリッシャーを設定します。capabilityNamespace パラメータを iotsitewise:publisher:3 に設定します。

{ "sources": [ { "type": "MQTT" } ], "destinations": [ { "type": "SITEWISE_BUFFERED", "name": "your-s3-destination-name", "config": { "targetBucketArn": "arn:aws:s3:::amzn-s3-demo-bucket/Optional/SomeFolder", "publishPolicy": { "publishFrequency": "1m", "localSizeLimitGB": 10 }, "siteWiseImportPolicy": { "enableSiteWiseStorageImport": true, "enableDeleteAfterImport": true, "bulkImportJobRoleArn": "arn:aws:iam::123456789012:role/your-role-name" } }, "filters": [ { "type": "PATH", "config": { "paths": [ "#" ] } } ] } ] }

送信先の詳細については、「」を参照してくださいAmazon S3 を使用して AWS IoT SiteWise バッファされた送信先を追加する

ステップ 8: パスフィルターを指定する

このステップでは、パスフィルターを設定して、風力発電所のデバイスデータに対してモニタリングする MQTT トピックを指定します。

パスフィルターは、2 つの特殊文字をサポートする MQTT トピックのワイルドカード仕様に従います。

  • + – この記号は、単一レベルのワイルドカードを表し、単一レベルの任意の文字列に一致します。

  • # – この記号は、トピック階層内の任意のレベルと一致する複数レベルのワイルドカードを表します。

注記

その他のパスフィルターの詳細については、「」を参照してくださいパスフィルター名の特殊文字

Console

パスフィルターを設定するには

パスフィルターの下:

  1. AWS IoT SiteWise コンソールに移動し、 Edge ゲートウェイを選択します。

  2. SiteWise チュートリアルデバイスゲートウェイで、送信先の追加を選択します。

  3. パスフィルターの追加 を選択して、次のパスフィルターを手動で入力します。

    • SiteWiseTutorialDevice/#

    • windfarm/+/turbine/+/performance/#

    • cpu/+/idle-time

    • cpu/+/interruption-count/+

    • +/memory/consumption

    • timestamp/+/measurement

    • device/+/status/+

    • system/+/performance-log

  4. 送信先の追加を選択します。

パスフィルターのベストプラクティスの詳細については、「」を参照してくださいパスフィルターのベストプラクティス

AWS CLI

パスフィルターを設定するには、次の AWS CLI コマンドを使用します。

例 1: ワイルドカードを使用したデバイスデータ

{ "destinations": [ { "name": "All Device Data Destination" } ], "filters": [ { "type": "PATH", "config": { "paths": [ "SiteWiseTutorialDevice/#", "windfarm/+/turbine/+/performance/#" ] } } ] }

このパスフィルター設定では、マルチレベルワイルドカード (#) を使用して、SiteWiseTutorialDevice のすべてのデータと、風力発電所のタービンのすべてのパフォーマンスデータをキャプチャします。

例 2: CPU とメモリのパフォーマンス

{ "destinations": [ { "name": "Performance Metrics Destination" } ], "filters": [ { "type": "PATH", "config": { "paths": [ "cpu/+/idle-time", "+/memory/consumption", "cpu/+/interruption-count/+" ] } } ] }

この例では、デバイス全体のさまざまな CPU メトリクス (アイドル時間と中断数) とメモリ消費データをキャプチャします。

例 3: デバイス診断

{ "destinations": [ { "name": "Device Diagnostics Destination" } ], "filters": [ { "type": "PATH", "config": { "paths": [ "device/+/status/+", "system/+/performance-log" ] } } ] }

この設定では、+ワイルドカードを使用して、複数のデバイスからの診断データ、特にシステムパフォーマンスログとデバイスステータスの更新をキャプチャします。

これらの 3 つのパスフィルターは、Mosquitto でテストデータを発行するために使用する MQTT トピックと一致します。フィルターにより、SiteWise Edge ゲートウェイが関連する MQTT メッセージをキャプチャして処理できるようになります。パスフィルターを追加する方法の詳細については、「」を参照してくださいAWS IoT SiteWise Edge 送信先にパスフィルターを追加する

ステップ 9: AWS IoT リソースを設定する

このステップでは、シミュレートされたサードパーティーデバイスを表すために必要な AWS IoT SiteWise アセットモデルとアセットを作成し、エッジゲートウェイを介したデータ取り込みを有効にします。

このステップを開始する前に、Ingest data チュートリアルのステップ 3~8 を完了しておく必要があります。これらのステップは、MQTT 対応 V3 ゲートウェイを介してサードパーティーデータを統合するための基本コンポーネントを確立します。また、センサーデータがどのように流れるかを定義するルールを設定し AWS IoT SiteWise、産業用風力発電所データをシミュレートするデバイスクライアントスクリプトを実行します。

AWS IoT リソース設定を検証するには

  1. 次の AWS CLI コマンドを使用して、SiteWise チュートリアルデバイスモデルと SiteWise チュートリアルデバイスフリートモデルが作成され、正しく設定されていることを確認します。

    aws iotsitewise describe-asset-model --asset-model-id your-device-model-id

    次の AWS CLI コマンドを使用して、アセットモデルの ID を取得します。

    aws iotsitewise list-asset-models
  2. 次の AWS CLI コマンドを使用して、SiteWise チュートリアルデバイス 1 アセットと SiteWise チュートリアルデバイスフリート 1 アセットが作成され、正しく設定されていることを確認します。

    aws iotsitewise describe-asset --asset-id your-asset-id

    次の AWS CLI コマンドを使用して、アセットの ID を取得します。

    aws iotsitewise list-assets

ステップ 10: データを視覚化する

オープンソースバージョンの Grafana を設定して、風力発電所のデバイスデータを視覚化します。Grafana は、リアルタイムの運用データを表示する視覚化プラットフォームです。これらのダッシュボードは、運用効率を追跡し、インフラストラクチャ全体のメンテナンスニーズを特定するのに役立ちます。統合の詳細については、「」を参照してくださいGrafana AWS IoT SiteWise との統合

Grafana をセットアップするには

  1. Grafana の最新バージョンをダウンロードしてインストールする手順については、公式 Grafana ウェブサイトの「Grafana のインストール」を参照してください。

  2. オペレーティングシステム固有の詳細な設定手順については、公式 Grafana ウェブサイトの「Configure Grafana」を参照してください。

  3. AWS IoT SiteWise データソースを設定します。これにより、Grafana サーバーで AWS IoT SiteWise プラグインを設定できます。プラグインの使用方法の詳細については、「Amazon Managed Grafana ユーザーガイド」のAWS IoT SiteWise 「データソースに接続する」を参照してください。

重要

AWS IoT SiteWise データソースとの互換性のために、Grafana の最新バージョンがあることを確認します。

これらのステップを完了したら、Grafana ダッシュボードを構築およびカスタマイズして、風力発電所の運用メトリクスを表示できます。これにより、エッジでの風力発電所のパフォーマンスをリアルタイムで追跡および分析できます。

注記

このチュートリアルでは Grafana のオープンソースバージョンを使用していますが、 は本番環境用の Amazon Managed Grafana AWS も提供しています。Amazon Managed Grafana は、独自の Grafana サーバーをセットアップ、設定、保守する必要がなくなるフルマネージドサービスです。ソリューションをスケールする準備ができたら、Amazon Managed Grafana へのアップグレードを検討してください。Amazon Managed Grafana の詳細と、オープンソースツールを使用してデータを処理および視覚化する方法については、以下を参照してください。

これでチュートリアルは完了です。この手順では、MQTT 対応 V3 ゲートウェイを使用してサードパーティーのデバイスデータを統合するように AWS IoT SiteWise Edge を設定しました。この設定により、エッジで産業機器データを収集、処理、視覚化できるため、レイテンシーと運用コストを削減できます。風力発電所のデモを使用することで、MQTT 対応 V3 ゲートウェイを介して CPU やメモリの使用状況データなどの運用メトリクスを収集して処理しました。

IoT ソリューションを強化するには、 を活用して異常検出などの高度な機能を調べるかLookout for Equipment で異常を検出するAmazon QuickSight ユーザーガイドの Amazon QuickSight などの他の AWS サービスと統合して高度な分析を行うことを検討してください。

ステップ 11: チュートリアルの後にリソースをクリーンアップする

AWS IoT SiteWise Edge へのデータの統合に関するこのチュートリアルを完了したら、追加料金が発生しないようにリソースをクリーンアップします。

で階層アセットを削除するには AWS IoT SiteWise
  1. AWS IoT SiteWise コンソールに移動します。

  2. 左側のナビゲーションペインで [アセット] を選択します。

  3. でアセットを削除するときは AWS IoT SiteWise、まずアセットの関連付けを解除する必要があります。

    デバイスフリートアセットからデバイスアセットの関連付けを解除するには、次の手順を実行します。

    1. デバイスフリートアセット () を選択しますSiteWise Tutorial Device Fleet 1

    2. [編集] を選択します。

    3. [このアセットに関連付けられているアセット] で、このデバイスフリートアセットに関連付けられている各デバイスアセットに対して [関連付け解除] を選択します。

    4. [保存] を選択します。

      注記

      デバイスアセットは現在階層として整理されなくなりました。

  4. デバイスアセット (SiteWise Tutorial Device 1) を選択します。

  5. [削除] を選択します。

  6. 確認ダイアログで、「」と入力しDelete「削除」を選択します。

  7. デバイスアセットとデバイスフリートアセット (SiteWise Tutorial Device Fleet 1) ごとに、ステップ 4~6 を繰り返します。

で階層アセットモデルを削除するには AWS IoT SiteWise
  1. AWS IoT SiteWise コンソールに移動します。

  2. デバイスおよびデバイスフリートアセットを削除します。

  3. 左のナビゲーションペインで [モデル] を選択します。

  4. デバイスフリートアセット (SiteWise Tutorial Device Fleet Model 1) を選択します。モデルから作成されたアセットがある場合は、そのモデルを削除できません。

    階層アセットモデルを削除する場合は、最初に親アセットモデルを削除する必要があります。

  5. [削除] を選択します。

  6. 確認ダイアログで、「」と入力しDelete「削除」を選択します。

  7. デバイスのアセットモデル (SiteWise Tutorial Device Model) について、ステップ 4~6 を繰り返します。

でルールを無効化または削除するには AWS IoT Core
  1. AWS IoT コンソールに移動します。

  2. 左側のナビゲーションペインで、メッセージルーティングを選択し、ルールを選択します

  3. ルールを選択し、[削除] を選択します。

  4. 確認ダイアログボックスでルール名を入力し、[削除] を選択します。

Amazon S3 バケットを削除するには
  1. Amazon S3 コンソールに移動します。

  2. 左側のナビゲーションペインで、汎用バケットを選択します。

  3. バケットリストで、作成したバケットの横にあるオプションボタンを選択し、ページの上部にある空の を選択します。

  4. 確認ダイアログで、削除を確認し、を選択します。

  5. バケットが空になったら、削除を選択してバケットを削除します。

  6. 確認ダイアログで、削除を確認するバケットの名前を入力します。

  7. [バケットを削除] を選択します。

SiteWise Edge ゲートウェイを削除するには
  1. AWS IoT SiteWise コンソールに移動します。

  2. 左側のナビゲーションペインで、エッジゲートウェイを選択します。

  3. Gateways で、このチュートリアル用に作成したゲートウェイを選択します。例えば、SiteWise Tutorial Device Gateway

  4. [削除] を選択します。

  5. ゲートウェイを削除することを確認するには、確認ダイアログDeleteに「」と入力し、表示されるウィンドウで「削除」を選択します。

IoT モノを削除するには
  1. AWS IoT コンソールに移動します。

  2. 左側のナビゲーションペインで、管理を選択し、モノを選択します。

  3. このチュートリアル用に作成した IoT モノを選択します。例えば、SiteWiseTutorialDevice1

  4. [削除] を選択します。

  5. 確認ダイアログで、モノの名前を入力し、削除を選択します。

AWS IoT Greengrass Core をアンインストールするには

ローカルデバイスから AWS IoT Greengrass Core ソフトウェアをアンインストールします。詳細な手順については、「 AWS IoT Greengrass デベロッパーガイド、バージョン 2」の AWS IoT Greengrass 「 Core ソフトウェアをアンインストールする」を参照してください。

重要

Greengrass をアンインストールすると、すべてのローカル設定とデータが削除されます。続行する前に、重要な情報をバックアップしていることを確認してください。

(オプション) サードパーティーリソースを削除するには

このチュートリアルを完了したら、作成した外部リソースをシャットダウンすることを検討してください。これにより、サードパーティープロバイダーからの料金の発生を防ぐことができます。

追加リソース

詳細については、次のリソースを参照してください。