Amazon Web Services ブログ
Edge to Twin:デジタルツイン向けのスケーラブルなEdge to Cloud アーキテクチャ
このブログは、Edge to Twin: A scalable edge to cloud architecture for digital twins を翻訳したものです。
システムと運用の没入型 3D ビューを取得して、効率を最適化し、生産を増やし、パフォーマンスを向上させる方法を探していますか?おそらく、さまざまなオンプレミスシステムから必要なすべてのデータを生成していますが、実際の仮想表現でこの情報にアクセスする方法が分からないのではないでしょうか。このブログ投稿では、AWS IoT TwinMaker を使用して、エッジからツインまで、エンドツーエンドのソリューションを構築する方法を学習します。また、エッジで Open Platform Communications United Architecture(OPC UA)を使用して産業用ミキサーからテレメトリデータを取得し、AWS IoT TwinMaker でツインを構築するようにさまざまな AWS サービスを設定する方法についても学習します。
概要
このブログは 1 つのデータソースでのみ機能しますが、産業環境から複数のデータストリームを取得する場合、AWS IoT TwinMaker は、データソースをバインドする自動生成されたナレッジグラフで時間を節約できます。データソースは、AWS IoT SiteWise、時系列のヒストリアン、警報データベース、製造実行システム(MES)、エンタープライズリソースプランニング(ERP)システム、その他のビジネスシステムにまで及びます。これらのデータソースをバインドすると、物理システムの仮想レプリカを作成して、実際の環境を正確にモデル化できます。時間の経過とともに、デジタルツインは、異常検出と予知保全のために機械学習(ML)機能を採用するように成長する可能性があります。以下の画像は、ビデオを含むさまざまなデータストリームを AWS IoT TwinMaker にバインドする方法の例です。
インダストリアルエッジからツインまでのスケーラブルなアーキテクチャ
前提条件
リアルタイムシミュレーションを使用してこのブログの手順を設定および実行するには、AWS アカウントが必要です。このリアルタイムのシミュレートされたデータを AWS IoT SiteWise を介して AWS IoT TwinMaker にストリーミングするエッジ用に、いくつかのサービスが構成されます。バージニアリージョン(us-east-1)で作業することをお勧めします。次のサービスの一部で費用が発生する場合があります。
- ミキサーデータをシミュレートするための Amazon Elastic Compute Cloud(Amazon EC2)での OPC UA サーバーのセットアップ
- AWS IoT Greengrass での AWS IoT SiteWise ゲートウェイのセットアップ
- AWS IoT SiteWise アセットモデルとミキサーのアセットのセットアップ
- AWS IoT TwinMaker ワークスペース、エンティティ、およびシーンのセットアップ
- Amazon Managed Grafana で AWS IoT TwinMaker シーンを視覚化する
Ubuntu を使用して Amazon EC2 で実行
テレメトリシミュレーションから始めましょう。簡単にするために、Amazon EC2 インスタンスを使用しますが、このセクションは、エッジコンピューティング用に選択したものに置き換えることができます。Amazon EC2 システムでは、一般的な産業プロトコルである OPC UA を使用してアセットからデータを取り込むためのゲートウェイを設定します。
次のタスクは、インスタンスにログインして、node.js と Node-RED をインストールすることです。また、データをシミュレートするために OPC UA サーバーノードをインストールします。これは、シミュレーションのみを目的としています。実際には、オンプレミスの産業資産とシステムが OPC UA をサポートする可能性があります。
ベースの Amazon EC2 イメージを作成します
- Amazon EC2 console にログインします。
- Launch Instance をクリックします。
- Edge Gateway という名前を入力します。
- Ubuntu Quickstart クイックスタートを選択します。
- インスタンスタイプを選択– t2.medium
- 既存のキーペア を使用するか、新しいキーペアを作成 して、Download key pair をクリックします。ブラウザは .pemファイルを保存します。安全に保管してください!
- Launch Instance をクリックします。
- 数分後、Amazon EC2 インスタンスが実行されます。
- こちらの手順に従って、SSH クライアントを使用してインスタンスに接続します。
- 以下のコマンドをコピーして実行し、ノードレッドをインストールします。
bash <(curl -sL https://raw.githubusercontent.com/node-red/linux-installers/master/deb/update-nodejs-and-nodered) --confirm-root --confirm-install --skip-pi
- これらのコマンドを解除して、OPC UA サーバーノードをインストールします。
sudo systemctl start nodered.service
sudo npm install --prefix ~/.node-red node-red-contrib-opcua-server &>/dev/null
sudo systemctl restart nodered.service
- 次に、これらの最後のコマンドを実行して、OPC UA サーバーシミュレーションをインストールして実行します。
curl -O https://iot-blog-files.s3.amazonaws.com/edge-to-twin/opcua_sim.json
curl -vX POST http://127.0.0.1:1880/flows -d @opcua_sim.json --header "Content-Type: application/json" - サーバーは実行されていないはずであり、次のステップに進むことができます。
AWS IoT Greengrass で AWS IoT SiteWise Collector をセットアップする
次に、AWS IoT SiteWise Gateway をセットアップしてインストールします。このゲートウェイは、インダストリアルアセットと AWS IoT SiteWise の間の仲介役として機能します。AWS IoT SiteWise ゲートウェイソフトウェアは、AWS IoT Greengrass でサポートされている任意のプラットフォームにデプロイできます。
AWS IoT SiteWise ゲートウェイを作成する
- AWS IoT SiteWise に移動します。
- 左側の Edge→Gateways に移動し、Create gateway をクリックして、Greengrass v2 を選択します。
- Default Setup を選択し、add data sources に到達するまで Next をクリックします。
- Add data source をクリックします。
- 以下に示すように OPC サーバーを構成し、Node Red のローカルエンドポイントに opc.tcp://localhost:54845 を使用します。
- Add、Next の順にクリックします。
- Review and generate an installer セクションで、Gateway device OS を Ubuntu に変更して、Generate をクリックします。
Amazon EC2 インスタンスに AWS IoT Greengrass を使用して AWS IoT SiteWise Gateway をインストールします
- インストーラースクリプトを Amazon EC2 インスタンスにコピーします。以下のように scp コマンドを使用できます。
scp -i "blog.pem" Gateway-xxxxxxxx.deploy.sh ubuntu@ec2-xx-xxx-x-xx.compute-1.amazonaws.com:
- コピーされたシェルスクリプトを実行します。
sudo bash ~/Gateway-xxxxxxxx.sh
- AWS IoT SiteWise Gateway は、数分以内に同期してデータを収集しはじめるはずです。以下の画像は、AWS IoT SiteWise ゲートウェイが同期している場合にキャプチャされたデータストリームを示しています。これが表示されない場合は、同期を強制できます。これを行うには、コンソールの AWS SiteWise Gateway でパブリッシャー設定を編集し、Publishing Order を Newest first に変更して変更を強制します。これにより、パブリッシャーの同期が開始されます。それでもストリームが表示されない場合は、関連付けが解除されたデータの取り込みが有効になっていない可能性があります。有効にするには、IoT SiteWiseコンソールの Settings に移動し、Data Ingestion を選択してから、関連付けを解除したデータの取り込みを有効にします。続行するには、データストリームが AWS IoT SiteWise コンソールに取り込まれていることを確認できます。
AWS IoT SiteWise モデルとアセットのセットアップ
エッジノードの構成が完了し、OPC UA サーバーからテレメトリデータを収集しています。これは、クラウドの AWS IoT SiteWise にストリーミングされます。次に、モデルとアセットを作成し、これらの関連付けされていないデータストリームを関連付けます。
アセットモデルを作成する
- AWS コンソールで AWS IoT SiteWise に移動します。
- Build→Models に移動します。
- Create model をクリックします。
- 名前に Mixer Model と入力します。
- 3 つの測定値を追加します。
- Name: rpm, Unit: RPM, Data Type: Double
- Name: temperature, Unit: Fahrenheit, Data Type: Double
- Name: state, Unit: Leave_Blank, Data Type: String
- Create Model をクリックします。
モデルからアセットを作成し、データストリームを割り当てる
- モデルが作成されると、ミキサーモデルの下部に Assets のセクションが表示されます。 Create asset をクリックします。
- Mixer Model テンプレートを選択し、Mixer_A という名前を付けます。
- AWS IoT SiteWiseの Data Streams セクションに戻り、3つのデータストリームを選択して、Manage Data Streams をクリックします。
- 左側で各測定値を選択し、右側で対応する測定値を選択します。次に、Choose をクリックします。
- 完了したら Update をクリックします。
- 次に、アセット Mixer_A に戻ります。Latest value 列を確認することで、アセットがデータを受信していることを確認できます。
ツインを構築する
Edge でアセットに接続し、このデータを AWS IoT SiteWise データソースにストリーミングしたので、AWS IoT TwinMaker を使用してツインを構築できます。AWS IoT SiteWise は AWS IoT TwinMaker の前提条件ではないことに注意してください。テレメトリデータのソースは、他のシステムから取得される場合があります。このブログでは、テレメトリデータを具体的に処理していますが、インダストリーツインは複数のデータソースで構成されると予想されます。
Workspace を作成
- AWS IoT TwinMaker に移動します。
- Create workspace を作成します。
- MixerWorkspace という名前をつけます。
- create a new S3 bucket を選択します。
- Auto-generate a new role を選択して、Skip to review and create をクリックします。
- Create Workspace をクリックします。
Entity を作成
- Workspaces → Entities に移動します。
- Create Entity をクリックします。
- Mixers という名前をつけます。
- 作成したエンティティをクリックして、子エンティティを作成します。
- Mixer_A という名前をつけます。施設のツインを構築する場合、物理的なレイアウトまたはプロセスを表す階層を作成できます。
- Mixer_A を選択して、Add component をクリックします。
- SiteWise と名前をつけて、type に com.amazon.iotsitewise.connector を選択します。
- タイプを選択すると、AWS IoT SiteWise で設定したアセットモデルとアセットを選択できることがわかります。 Mixer Model と Mixer_A アセットを選択するだけです。
- 下にスクロールして、Add component をクリックします。以下の期待される結果を参照してください。
Resource を追加する
- ミキサー用の CookieFactory デモからこの CAD モデルをダウンロードします。
- Workspace→Resource に移動します。
- Add resource をクリックします。
- ダウンロードした GLB モデルファイルを選択します。これは、後でこのミキサーのシーンを作成するときに使用します。
Scene を追加する
- Workspace→Scenes に移動します。
- シーン名に Mixer として、シーンを作成します。
- シーンエディタ内で、プラス「+」記号をクリックして 3D モデルを追加します。
- モデルの名前を CookieFactoryMixer から Mixer_A に変更します。
- プラス記号をもう一度クリックして、Add light を選択します。光の角度と強度を自由に調整してください。
- 左側から Mixer_A を選択し、プラス記号をクリックして Add model shader を選択します。
- 右側で、entity_id に Mixer_A、ComponentName に SiteWise、PropertyName に State、Rule Id に sampleTimeSeriesColorRule を選択します。
- Rules タブを選択します。
- 既存ルールで sampleTimeSeriesColorRule を選択します。
- 以下のように 3 つの表現を変更し、好みに合わせて色を調整します。 Grafana でこのシーンの視覚化に進みます。
Grafana で Twin を視覚化する
AWS IoT TwinMaker は、アプリケーションプラグインを介して Grafana 統合 をサポートします。AWS IoT TwinMaker プラグインは、カスタムパネル、ダッシュボードテンプレート、およびデジタルツインに接続するためのデータソースを提供します。
Managed Grafana Workspace のセットアップ
- Amazon Managed Grafana に移動します。
- Getting Started ガイドを完了して、SSO 認証を使用してワークスペースをセットアップします。
- このインラインポリシー(inline_policy.json)を使用して、Grafana に AWS IoT SiteWise、AWS IoT TwinMaker、および Amazon S3 の API を呼び出す権限を付与します。{account id}を AWS アカウント ID と、アセットモデルと Sitewise のアセットの両方の Universally Unique Identifier(UUID)に置き換えます。
Grafana で AWS IoT TwinMaker データソースをセットアップする
- ワークスペースの Grafana URL をクリックします。
- Grafana で、データソースを設定します。
- Add data source をクリックします。
- AWS IoT TwinMaker を選択します。
- MixerWorkspace を選択して、Save & test をクリックします。
AWS IoT TwinMaker ダッシュボードを作成する
- Grafana で新しいダッシュボードを作成します。
- 新しいパネルで、AWS IoT TwinMaker Scene Viewer を選択します。
- Mixers シーンを選択します。
- シーンルールで構成された色のシェーディングをアニメーション化するには、以下に示すように、ミキサー状態のプロパティ値の履歴のクエリを追加する必要があります。この手順がないと、アニメーションは機能しません。
- これで終わりです!データの傾向を表示するために、他のパネルを自由に作成してください。
注:Grafana では、ダッシュボード内で選択したエンティティ間の動的な切り替えを可能にするために、変数の作成を利用できます。
クリーンアップ
料金を回避するために、このブログの作業を必ずクリーンアップしてください。この順序で終了したら、次のリソースを削除します。
- AWS Managed Grafana の ワークスペース
- AWS IoT TwinMaker のシーン、リソース、エンティティ、ワークスペース
- AWS IoT SiteWise のゲートウェイ、アセット、アセットモデル
- Greengrass→Core devices メニューの AWS IoT Greengrass Core device
- Manage->Things メニューの Core Device Thing にある AWS IoT Core
- Amazon EC2 インスタンスの終了
まとめ
このブログでは、Edge から Twin まで作業し、OPC UA サーバーへの接続を作成して、AWS IoT Greengrass 上の AWS IoT SiteWise を介して産業用データを収集しました。このデータをクラウドの AWS IoT SiteWise にストリーミングし、AWS IoT TwinMaker からこのデータにアクセスして、後で Amazon Managed Grafana で視覚化するミキサーの Twin entity を作成しました。これは、1 つのエンティティとデータタグを接続するための簡略化された手順でした。一般的に、これは数千のエンティティとデータソースにスケールアウトできるため、テレメトリ、ビデオ、予知保全のための機械学習推論結果、製造実行データなどのために取り込まれたデータのストリームにアクセスできます。デジタルツインの機能が向上するにつれて、さまざまなビジネスシステム間でデータを結合し始めて、運用パフォーマンス、使用率、および製品の品質に関するインサイトを得ることができます。
AWS IoT TwinMaker が一般提供されています。 AWS IoT TwinMaker の詳細については、以下の Web サイトにアクセスして詳細を確認してください。
https://aws.amazon.com/iot-twinmaker
https://aws.amazon.com/blogs/aws/aws-iot-twinmaker-is-now-generally-available/
著者について
Chris Azer は、デジタルツインイニシアチブで顧客を支援するシニア IoT スペシャリストアーキテクトです。Chris は、2017 年から AWS でさまざまな役割を果たし、IoT ソリューションの設計でパートナーや顧客をサポートしています。これには、国防総省、製造業、州および地方自治体、連邦および民間人、スマートシティ、パートナーなどをカバーする幅広いユースケースが含まれます。インダストリアルオートメーションでの彼のキャリアは 2004 年にさかのぼり、今日の企業のスマートな製造の旅を支援し続けています。
この記事はソリューションアーキテクトの戸塚智哉が翻訳しました。