はじめに
以前、二酸化炭素濃度モニタリングリモートデモシステムのデータをSiemensの産業向けエッジプラットプラットフォーム"Industrial Edge"へアップロードしプラットフォーム上で動作するアプリケーションPerfomance Insightで可視化を行いました。
今回、このデータをIndustrial EdgeのCloud Connectorを用いてAWS IoT Coreと連携してみましたので、その方法を紹介します。
構成
今回の構成およびデータフローを図1に示します。
二酸化炭素濃度センサーを用いてデータ(二酸化炭素濃度、室温、湿度)をPLCで取得します。このデータをS7 Connector(S7はSiemens PLCの標準プロトコル)を用いてIE Databusへ送ります。IE Detabusではデータの統合および変換を行いCloud Connectorへ転送します。Cloud ConnectorはAWS IoT Coreとの接続を確立しAWS IoT Coreへデータを転送します。
また、Industrial Edge Device(以下、IEDと略します。)の設定・管理はIndustrial Edge Management(以下、IEMと略します。)で行います。
構築フロー
構築手順
具体的な構築手順を以下に記述します。
Industrial Edge SIMATIC S7 Connectorの設定
SIMATIC S7 Connectorの設定手順は以前の投稿で実施しておりますので割愛します。(参考リンク 設定手順 ①項)
SIMATIC S7 Connectorの設定完了後の画面は図3の通りです。
図3. SIMATIC S7 Connector設定
Industrial Edge IE Databusの設定
IE Databusの設定についても以前の投稿で実施しておりますので割愛します。(参考リンク 設定手順 ②項)
IE Databusの設定完了後の画面は図4の通りです。
図4. IE Databus設定
※参考リンク
Siemens Industrial EdgeのPerformance Insightによる可視化とNotifierによる異常通知
AWSの設定
データの受信側(AWS)の設定を行います。
- AWS Consoleホームから IoT → IoT Coreをクリックします。
図5. AWS Consoleホーム - ナビゲーションペインで設定をクリックします。
図6. AWS IoT画面 - エンドポイントを確認し、コピーボタンをクリックします。クリップボードにコピーされるので、メモ帳などに貼り付けておきます。この情報はIndustrial Edgeの設定で後ほど使用します。
次にセキュリティ → ポリシーをクリックします。
図7. AWS IoT設定画面 - Industrial EdgeがAWS IoT Coreにアクセスするための権限を設定します。ポリシーを作成をクリックします。
図8. AWS IoTポリシー画面 - ポリシー名に任意のポリシー名(CCC_AWS_Policy)を入力します。ポリシードキュメントでポリシー効果を許可、ポリシーアクションをiot:Connect、ポリシーリソースを*とします。
新しいステートメントを追加をクリックすると入力行が追加されるので、ポリシードキュメントでポリシー効果を許可、ポリシーアクションをiot:publish、ポリシーリソースを*に指定して、作成をクリックします。
図9. AWS IoTポリシー作成画面 - CCC_AWS_Policyが作成されました。ナビゲーションペインで管理 → すべてのデバイス → モノをクリックします。
図10. AWS IoTポリシー画面 - Industrial Edgeと連携するモノを作成します。モノの作成をクリックします。
図11. AWS IoTモノ画面 - 1つのモノを作成を選択し次へをクリックします。
図12. AWS IoTモノ作成画面 - 任意のモノの名前(CCC_AWS)を指定し次へをクリックします。
図13. AWS IoTモノ作成プロパティ指定画面 - 新しい証明書を自動生成(推奨)を選択し、次へをクリックします。
図14. AWS IoTモノ作成デバイス証明書設定画面 - 証明書にポリシーをアタッチします。項番5で作成したポリシー(CCC_AWS_Policy)をチェックしてモノを作成をクリックします。
図15. AWS IoTモノ作成ポリシーアタッチ設定画面 - デバイス証明書およびプライベートキーのダウンロードをクリックし保存します。ルートCA証明書に関してはInduatrial Edgeにデフォルトでインポートされているため不要です。
図16. AWS IoTモノ証明書ダウンロード画面
以上でAWS IoTの設定は完了となります。
次にIndustrial EdgeのCloud Connectorの設定を行います。
Industrial Edge Cloud Connectorの設定
データの送信側(IED)の設定を行います。
- IEMのManagement UIへアクセスします。ブラウザからIEMのIPアドレスにポート番号9443でアクセスします。
図17. IEM Management UI アクセスブラウザアドレスバー - 以下の画面が開きます。右上のSign inをクリックします。
図18. IEM Managementホーム画面(Sing in前) - 所定の電子メールアドレスおよびパスワードを入力しSing inをクリックします。
図19. IEM Management Sign in画面 - ナビゲーションメニューのData Connectionsをクリックします。
図20. IEM Managementホーム画面(Sing in後) - Cloud Connectorをクリックします。
図21. IEM Management Data Connections画面 - 以下の画面が開きます。AWS IoT Coreと接続するIEDを選択し、Launchをクリックします。
図22. IEM Management Data Connections Cloud Connector Launch画面 - Cloud Connector Configurator画面が開きます。Cloud ConnectorはIEMで設定を作成し、その設定をIEDにデプロイすることでIED上で動作します。Add Topicをクリックします。
図23. Cloud Connector Configurator画面 - Cloud ConnectorとIE Databusでデータのやり取りを行うMQTT Topicを指定します。UsernameとPasswordはInduustrial ED IE Databusの設定(図4参照)で作成したものを入力します。Metadata for Subscriptionにはサブスクライブするメータデータを指定します。今回はデータの取得を行うのでie/m/j/simatic/v1/s7c1/dpを選択しました。選択したらList Data Topicsをクリックします。
図24. Cloud Connector Configurator Topic指定画面 - トピックの検索が実行されます。
図25. Cloud Connector Configurator Topic指定画面 - 検索が完了すると実行中インディケータが消えます。List Data Topicsボタンが反転するのでそれをクリックします。
図26. Cloud Connector Configurator Topic指定画面 - 該当するTopicが表示されるのでチェックボックスをチェックしADDをクリックします。
図27. Cloud Connector Configurator Topic指定画面 - Select Data Topicsに前項で選択したTopicが表示されるので、SAVEをクリックします。
図28. Cloud Connector Configurator Topic指定画面 - Cloud ConnectorとAWS IoTを接続するためのCloud Clients設定を行います。Add Clientをクリックします。
図29. Cloud Connector Configurator画面 - Client TypeでAWSを選択し、Client Nameは任意の名前を入力します。今回はAWS_IoTとしました。
図30. Cloud Connector Configurator Cloud Client設定画面 - AWSを選択することで、以下の画面が展開されます。Thing CertificateにはAWSの設定の項番12で保存したデバイス証明書を指定します。Private Keyには同様にAWSの設定の項番12で保存したプライベートキーファイルを指定します。HostnameにはAWSの設定項番3で確認したエンドポイントを入力します。以上を設定したらSAVEをクリックします。
図31. Cloud Connector Configurator Cloud Client(AWS)設定画面 - MQTT Topic(IE Databus)とCloud Client(AWS IoT)の紐づけを行うことで、データのルート(IE Databus---Cloud Connector---AWS IoT)が確立します。Add Routeをクリックします。
図32. Cloud Connector Configurator画面 - Route Nameに任意のRoute名を入力します。今回はRoute_for_AWS_IoTとしました。
図33. Cloud Connector Configurator Route設定画面 - Route_for_AWS_IoTをクリックすると青色に反転し、TopicとClientが選択可能になります。
図34. Cloud Connector Configurator画面 - 作成したTopicとClientのチェックボックスをチェックして、Save Routeをクリックします。
図35. Cloud Connector Configurator画面 - 右上にSaved Successfullyと出れば、ルートの設定は完了です。
図36. Cloud Connector Configurator画面 - この設定をIEDに適用します。Deployをクリックします。
図37. Cloud Connector Configurator画面 - 以下の画面が表示されるので、Deployをクリックします。
図38. Cloud Connector Configurator Deploy画面 - 設定の適用が開始します。適用中はDeploy is in progress...と表示されます。
図39. Cloud Connector Configurator画面 - 完了するとConfigration is deployed successfullyと表示され、問題なく接続ができていればTopicおよびClientのインディケーターが緑色のチェック表示になります。
図40. Cloud Connector Configurator画面
以上で全ての設定は完了となります。
動作確認
AWS IoT Coreにてデータが取得できていることを確認します。
- AWS Consoleホームから IoT → IoT Coreをクリックします。
図41. AWS Consoleホーム - ナビゲーションペインのテスト → MQTTテストクライアントをクリックします。
図42. AWS IoT画面 - トピックのフィルターに#を入力し、サブスクライブをクリックします。
図43. AWS IoT MQTTテストクライアント画面 - サブスクリプションに受信データが表示されます。
図44. AWS IoT MQTTテストクライアント画面
以下は図44の赤枠部分を拡大したものです。
Cloud ClientのClient ID "AWSIKTEZLD"(図28参照)からデータを受信しており、二酸化炭素濃度、室温、湿度データがそれぞれ確認できます。
図45. 取得データ
おわりに
エッジプラットフォーム(Siemens Industrial Edge)とクラウドプラットフォーム(AWS IoT)とのデータ連携を行うことができました。
拠点ごとに特化した管理・データ分析をSiemens社のエッジデバイスで行い、複数拠点の一括管理・データ分析をSiemens社以外のクラウド基盤(AWS)で行うことができます。。
※ SiemensおよびIndustrial Edgeは、Siemensの登録商標または商標です