2
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

記事投稿キャンペーン 「2024年!初アウトプットをしよう」

IoT開発検証 ~センサデータ収集監視と閾値超過通知~

Posted at

はじめに

最近AWSを用いた製造現場のDX化の技術検証に携わっております。
そこで検証した内容をアウトプットのため、他にも同じようなことをしている方のため
簡単にですがまとめたいなーと思いました。

構築手順をサクッとまとめるので、わからんことあったら直接ご連絡ください笑

やること

image.png
センサデータを収集してニアリアルタイムで分析するため、IoT SiteWiseを利用しています。
また今回は検証しませんが、将来的にエッジでAWSに送信するデータの加工や取捨をしたいのでGreengrassを使用しています。
SNSの理由は言うまでもなく閾値通知ですね

検証

実際にセンサデータやサーバを用意するわけにはいかないので、その部分はCloud 9で代用していきます。

アーキテクチャ

image.png
こんな感じです。
Cloud 9にGreengrassのインストールと、センサデータの代役としてOPC UAサーバを作成しています

データ収集基盤構築、検証

cloud9作成

Cloud 9作成手順は飛ばします。
インスタンスタイプは「t3.small」で問題ないです。

SiteWise Gateway

Greengrass経由でSiteWiseにデータを転送するため、オンプレミスサーバ(検証ではCloud 9)にSiteWise Gatewayをインストールします。
ゲートウェイ名やコアデバイス名は自由でおけ。
「ゲートウェイを作成」をクリックするとデプロイ用のスクリプトがダウンロードできます。
3.Sitewise gateway.PNG

Cloud9にSiteWise Gatewayをデプロイ

Upload Fileから先ほどダウンロードしたスクリプトをアップロードします。
4.Sitewise gateway upload.PNG

下記コマンドで、スクリプトを実行すると、Cloud9にSiteWise Gatewayがデプロイされます

$ chmod +x {スクリプト名}.deploy.sh
$ sudo ./{スクリプト名}.deploy.sh

「AWS IoT」⇒「Greengrassデバイス」⇒「デプロイ」でゲートウェイ名を確認します。
また、以下コンポーネントがデプロイされています

  • aws.iot.SiteWiseEdgeCollectorOpcua
  • aws.iot.SiteWiseEdgePublisher

6.greengrass deploy確認.PNG

OPC UAサーバの作成

仮想のOPC UAサーバを作成します。
asyncuaライブラリをインストールすると、以下GitHubのサンプルをそのまま利用できます。
単純な数値の並びを送信するだけですが、検証なので問題ないです。

pip install asyncua

モデルの作成

今回は数値の羅列が送られてくるだけなので、「測定」に「count_value」を定義しました。
小数点付きなので、「データ型」はダブルです。
9. モデル作成.PNG

アセットの作成

先ほど作成したモデルを選択して、アセットを作成します。
10.アセット作成.PNG

「データストリーム」からSiteWise Gatewayから送られてくるデータとアセットを紐づけます。
11.データストリーム.PNG

SiteWise側データ受信確認

「最新の値」にデータが表示されていれば成功です。
後は各々S3への保管設定をしてください。
12.アセット受信確認.PNG

センサデータ監視

SiteWise Monitorを使用すれば、SiteWiseに収集したデータをグラフで確認できます。
設定方法は各々表示させたい情報によって異なると思うので飛ばしやす。
13.Sitewise Monitor.PNG

閾値通知検証

SiteWiseに収集したデータを監視し、閾値を超えると通知を送るようにします。

SNSのサブスクリプション作成

今回はメールで通知を行うのでプロトコルはEMAILを使用します。
15.SNS.PNG

モデル作成

閾値を超えたときに通知するため、モデルを作成します。
今回は「8」を超えたときに通知しようと思います。
14.通知用モデル.PNG

アラーム設定

「モデル」⇒「アラーム」から通知の設定をします。
「IoT Events」をアラームタイプとし、SNSを使用する設定にします。
16.アラーム設定.PNG

これで閾値を超えた時、SNSに通知が届きます

おわり

IoTはAWSだけでなくいろんなことを理解しないといけないのが難しいですね、、
最近は業務でAWSに触れる機会が増えたので、ブログ更新できていませんでしたが
たまにはここにもアウトプットしようと思います。

2
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?