AWS SiteWiseでOPC UAのデータ収集してみた

本サイトはアフィリエイト広告を利用しています。
AWS

AWS IoT SiteWiseを使ってOPC UAのデータ収集・解析をしてみました。

各設定方法から実際に掛かった料金まで記載しています。

実例を基にクラウド(AWS)で産業用データの使い方を紹介します。

 

スポンサーリンク

AWS SiteWiseでOPC UAのデータ収集してみた

AWS IoT SiteWiseでOPC UA(産業用のデータ)を収集・解析してみました。

ダッシュボード上でグラフ化まで実施しています。

 

また実際に発生したクラウド料金のコスト面についても確認しています。

※2021/3時点ではSiteWiseのサービスは初期12か月の無料枠は無く、有料です。

今回実施したテストレベルならば、趣味レベルの費用(約10ドル程度)でした。

但し有料のオプションなどもありますので、注意するポイント含めて紹介します。

 

AWS IoT SiteWiseの使い方に関して、一から説明していきます。

下記動画でも実際のテストの様子を紹介していますので、是非一緒にご覧ください。

 

AWS IoT SiteWiseとは

AWS IoTのサービスの一つで産業用のデータを収集・処理することが可能です。

今回使用するOPC UA以外にも、Modbus TCP・EtherNet/IPの産業用のデータで接続可能です。

 

AWS SiteWiseのゲートウェイ用意する

AWS(IoT SiteWise)とOPC UAを接続するゲートウェイはラズパイで作れます。

「AWS IoT Greengrass」と「SiteWiseのコネクタ」をインストール・デプロイします。

 

ゲートウェイ作成の手順に関しては下記記事で紹介しています。

AWSでOPC UAの使い方!Greengrassで接続してみた

AWSでOPC UAの使い方!Greengrassで接続してみた
AWS IoTでOPC UAを使ってみました。 クラウド(AWS)でOPC UAのデータを確認できています。 実際に接続した事例をもとに環境構築の手順を一から紹介します。

 

AWSにOPC UAサーバーからデータを送る

OPC UAサーバーに関してはラズパイ+Pythonで作成しています。

今回クラウドにはラズパイのCPUクロック・CPU温度・カウントアップ値を送ります。

 

下記記事でラズパイ+PythonでOPC UAサーバーの作り方を紹介しています。

OPC UAの情報モデルをサーバー作って確認してみた

OPC UAの情報モデルをサーバー作って確認してみた
OPC UAの情報モデルの型は規格で決まっています。 フリー(無料)のサーバーを作成して、実際にどのような仕様になっているのか調べてみました。 OPC UAのデータ構造を分かりやすく紹介します。

 

データ処理したい変数はint・doubleで

AWS IoT SiteWiseは「文字列(String)」も読み込めますが、データ処理が手間です。

データ処理・解析したい変数はint(整数)・double(浮動小数点数)を推奨します。

今回のテストではOPC UAサーバーの変数は全てdouble(float)で出力させます。

実際使用したPythonのプログラムは下記です。

 

AWS IoT SiteWiseの設定

AWS IoT SiteWiseのゲートウェイとモデル・アセットの設定を行います。

今回の記事では概要のみ紹介していますので、詳細は下記記事を参考にお願いします。

AWSでOPC UAの使い方!Greengrassで接続してみた

 

AWS IoT SiteWiseのゲートウェイの設定

今回のテストで実施したゲートウェイの設定例を紹介しておきます。

OPC UAのデータの収集方法によって変わりますので、あくまで一例の旨をご了承ください。

今回のテストではSourcesの設定を追加したのみです。

 

セキュリティモードなどは無しでテスト用となっています。

  • (デバイスの)名前…raspberrypi_test_opcua_server(適当です)
  • ローカルエンドポイント…opc.tcp://192.168.100.125:4840/freeopcua/server/
  • メッセージのセキュリティモード…なし
  • 認証の設定…なし-認証なし
  • (プロパティの)名前…test(適当です)
  • Scan mode…Subscribe(Pollでも動作確認しました)
  • Scan rate…500

 

AWS IoT SiteWise モデルの設定

モデルの設定では、AWS IoT SiteWise側での変数を定義します。

「測定の定義」の箇所だけ、名前とデータ型を入力しました。

名前は適当で、データ型はOPC UAサーバーからの変数に合わせています。

単位も必要に応じて設定します。(CPU温度は「℃」、CPU周波数は「Hz」を設定)

 

AWS IoT SiteWise アセットの設定

AWSのアセットの設定では、OPC UAの変数までのマッピングをします。

アセット名も適当でraspberrypi_test_assetとしています。

「測定」の項目でOPC UAサーバーのObject直下のアドレスを入力します。

  • count(カウントアップ値)…/MyObject/MyVariable
  • CPU_Temp(CPU温度)…/MyObject/MyThermal
  • CPU_Frequency(CPU周波数)…/MyObject/MyClock

 

AWS IoT SiteWiseのモニター

AWS IoT SiteWiseはモニターを使うことで、データ収集・解析が可能になります。

モニターの設定に関しての下記AWS公式のドキュメントは下記です。

 https://docs.aws.amazon.com/ja_jp/iot-sitewise/latest/userguide/monitor-getting-started.html

 

また公式のYoutubeも参考になりました。

How to Get Started with AWS IoT SiteWise - SiteWise Monitor Configuration & Dashboarding (4/4)

 

AWS SiteWiseのポータルを作成する

公式の手順に沿って「モニタリング」→「ポータル」からAWSのポータルを作成します。

管理者・ユーザ用のメールアドレスなどの登録を行います。特に難しい設定はありません。

作成後はURLリンクからAWSのモニターに飛べます。

 

パスワードなどの設定が終了すると、Site Wiseのモニター画面が出てきます。

直近ではアセットを選択すると、設定したOPC UAのデータが確認可能です。

 

AWS SiteWiseのダッシュボードを作成する

モニター画面でプロジェクトを作成後に、ダッシュボードも作ることが可能になります。

ダッシュボードでは自由にデータ処理が可能です。

各アセットをドラッグ&ドロップするだけで簡単にグラフ化でき、自由に設定を切り替えれます。

 

OPC UAのデータをクラウド上で自由に収集・解析することが出来ました。

 

AWS IoT SiteWiseのデモをしてみる

冒頭でも紹介しましたが、SiteWiseでOPC UAデータを測定したデモ動画が下記です。

簡単にデータ収集・解析が出来ていることが分かります。

 

AWS IoT SiteWiseを開く

AWS IoT SiteWiseの設定を行い、モニター含めて開いておきます

 

OPC UAサーバー(Python)を起動する

1台目のラズパイでOPC UAサーバーのPythonのプログラムを起動しておきます。

 

2台目のラズパイでゲートウェイとなるGreengrassも起動しておきます。

 

AWS IoT SiteWiseのモニターで確認する

SiteWiseのモニターのアセット箇所でOPC UAのデータを確認します。

 

OPC UAサーバーのCPUクロック・CPU温度が測定出来ています。

 

AWS IoT SiteWiseのダッシュボードを作成する

OPC UAのデータを解析しやすいように、ダッシュボード(画面)を作成します。

動画だとより簡単にグラフ化できていることが分かります。

 

AWS IoT SiteWiseでOPC UAのデータ収集・解析する

あとは自由にデータ収集・解析するのみです。

デモではわざとゲームを動かして、CPU温度とCPUクロックを変化させています。

リアルタイムでダッシュボードのグラフが変わっていることが分かります。

 

AWS IoT SiteWiseの料金に関して

今回のテストでは1時間ほどAWS IoT SiteWiseを使いました。

あくまで一例ですが、今回のテストのAWS IoT SiteWiseの料金としては約10ドルでした。

SiteWiseで使用・保存したデータ量はごく僅かで、ほぼ料金に影響しない結果でした。

ほぼSiteWiseのモニターを使う固定費用(1月1ユーザ_10ドル)のみが発生しました。

 

SiteWiseでデモした条件

今回のテスト(デモ)は下記条件です。条件一つで簡単に料金は簡単に変わります。

AWS IoT SiteWiseは従量課金型です。AWS(クラウド)を使用した分のみ費用が発生します。

(クラウドの怖い所で、設定間違えても費用が自己責任となります。)

 

(筆者が)初期12か月の無料利用枠の適用期間

ゲートウェイ用のIoT Greengrassのデプロイ・接続費用などは、ほぼ無視できる状況です。

ただしIoT SiteWiseに関しては無料利用枠が無いので料金が発生します。

 

リージョンは米国東部(バージニア北部)us-east-1

使用するリージョン(データセンターの場所)によって料金が異なります。

2021/3時点では、東京のリージョンではAWS IoT SiteWiseのサービスは対応していません。

(追記)2021/10から、東京リージョンでもサービスが開始されたようです。

 

テスト時期は2021/3

今回のテストは2021年3月に実施しています。料金体制は時期によって変わる可能性があります。

正確な料金が知りたい方は下記AWS公式ページを参考ください。

 https://aws.amazon.com/jp/iot-sitewise/pricing/

 

使用したデータ量はごく僅か

今回OPC UAサーバーから出力したデータは3つだけで、また500msのスキャンレートです。

もし本格的な産業機器のデータを送る場合は、桁違いのデータ量となります。

 

SiteWiseを使う上で注意すること

あくまで個人的に使ってみた感想レベルですが、料金に関しての注意点を記載します。

 

OPC UAゲートウェイのGreengrassの費用も発生する

今回OPC UA用のゲートウェイとして、ラズパイでGreengrassを動かしています。

 

OPC UA(IoT SiteWise)のコネクタとして使っている時間はGreengrassの料金も発生します。

無駄に接続していると、コストがかかるので注意が必要です。

※今回は初期12か月の無料枠内で対応できましたので、費用は発生しませんでした。

 

AWS IoT SiteWise Edge(プレビュー版)

AWS(クラウド)の代わりにローカル(エッジ)側でもデータ処理・モニターする機能があるようです。

2021/3時点ではプレビュー版の機能のため、基本的には無視すればOKです。

現在はモデル→「エッジの設定」から選択できます。

 

但し、この中の「データ処理パック」は月200ドル発生しますので注意が必要です。

※現在はプレビュー版のため、無料ということです。

 

まとめ

今回はAWS IoT SiteWiseに関して紹介させていただきました。

記事をまとめますと下記になります。

AWS IoT SiteWiseでOPC UAのデータ収集・解析が可能です。
AWS IoT SiteWiseは従量課金型です。不必要なデータ収集・接続は避けましょう。

 

ラズベリーパイ(raspberry pi)でAWSとOPC UAのテスト環境は構築可能です。

皆様もぜひ試してみてください。

コメント

  1. onizawa より:

    とても丁寧に説明してくれていて非常に参考になりました。
    私もラズベリーパイを使用してそのまま試してみようと思うのですが、1点だけわからないことがあります。
    OpcUaサーバーは、OpcUaクライアントと接続されると思っているのですが、この構成の場合、OpcUaクライアントは、どこのにいってしまったのでしょうか?
    インターネット上の通信はセキュアなOpcUaプロトコルで行われているのでしょうか?