はじめに
以前、記事にしました二酸化炭素濃度モニタリングリモートデモシステムのデータをAWS SiteWiseにアップロードしましたので紹介いたします。
デモ構成
図1に構成図を示します。二酸化炭素濃度センサーのデータ(二酸化炭素濃度、室温、湿度)をSiemens社のPLC(ET200SP)で取り込みます。AWS SiteWiseとの接続はSiemens SIMATIC IoT2050にAWS Greengrassコアデバイスをインストールすることで実現します。GreengrassコアデバイスとET200SPの通信はGrreengrassコアデバイスにSiteWise OPCUA Collectorをインストールし、OPCUAサーバー機能に対応しているET200SPと接続することで実現します。
SIEMENS SIMATIC IoT2050の初期設定
Siemens SIMATIC IoT2050はLinuxを搭載した(Armアーキテクチャ)産業用IoTプラットフォームで、AWSの認定デバイスとなっております。(以下リンク参照)
今回、このデバイスを用いてIoTデータの収集およびSiteWiseへの転送を行っています。IoT2050の設定手順を以下に示します。
◆必要条件
・Java Runtime Environment (JRE) version8以上
・Java Development Kit (JDK) Amazon Corretto 11 or OpenJDK 11
・GNU C Library(glibc) version 2.25以上
◆必要な部機材
・操作PC(Windows)
・マイクロSD(+SDカードアダプタ)
・UART cable(以下を参照)
https://de.rs-online.com/web/p/entwicklungstool-zubehor/0429307
◆手順
1. Example Imageのインストール
1.1 ソフトウェアの準備
・Example Imageを以下のリンクのSiemens社サポートより入手します。
https://support.industry.siemens.com/cs/document/109741799/downloads-for-simatic-iot20x0?dti=0&lc=en-JP
・Tera Term、Puttyなどのターミナルエミュレーターを操作PCにインストールします。
・Win32 Disk Imagerを以下より入手し操作PCにインストールします。
https://sourceforge.net/projects/win32diskimager/
1.2 マイクロSDへのExample Imageのコピー
・マイクロSDをSDカードアダプタを用いて操作PCに差し込みます。
・Win32 Disk Imagerを起動します。
・フォルダをクリックします。
図2 Win32 Disk Imager
・ダウンロードしたIOT2050_Example_Image_Vx.x.x.imgファイルを選択しOpenをクリックします。
図3 Win32 Disk Imager
・SDカードを挿入したドライブを選択します。
図4 Win32 Disk Imager
・Writeをクリックします。
図5 Win32 Disk Imager
・確認メッセージが表示されるのでYesをクリックします。
図6 Win32 Disk Imager
・以下が表示されるのでOKをクリックします。
図7 Win32 Disk Imager
・操作PCからマイクロSDを取り出します。
・IoT2050のマイクロSDを挿入します。(IoT2050の電源が入っている場合はオフにしてから実施します。)
図8 IoT2050 マイクロSDカードスロット
ファームウェアのバージョンアップが必要な場合があります。インストールするSample Imageのファームウェア要件をダウンロードサイトで確認します。
1.3 起動順序の変更
起動順序をマイクロSDから起動するように設定します。
・UARTケーブルをIoT2050のX14コネクタおよび操作PCに接続します。基板に"1"表示がある方にケーブルの1番を接続します。
図9 IoT2050 X14コネクタ
・操作PCのデバイスマネージャーでUARTケーブルのCOMポートを確認します。
・操作PCでターミナルエミュレーターを起動し、シリアル通信を行います。ボーレートは115200を指定します。(以下はTera Termの設定例です。)
図10 Tera Termシリアル通信設定画面
・IoT2050の電源を入れるとIoT2050は起動します。ターミナルエミュレーターに
Hit any key to stop autobootと表示されたら任意のキーを押します。するとu-bootシェルになります。(IOT2050>と表示されます。)
図11 IoT2050コンソール画面
・IOT2050> setenv boot_targets “mmc1 usb0 usb1 usb2 mmc0”と入力します。
・IOT2050> saveenvと入力し起動順序設定を保存します。
図12 IoT2050コンソール画面
・IOT2050> bootと入力するとマイクロSDから起動します。
図13 IoT2050コンソール画面
1.4 初期設定
・IoT2050のP2 LANポートにネットワークケーブルを接続します。
・起動したら、ユーザー名:root、パスワード:rootでログインします。
・nmtuiと入力するとネットワークマネージメントツールが立ち上がるので、Edit a connectionを選択しEnterを押します。
図14 IoT2050コンソール画面
・Wired connection1のEditを選択しEnterを押します。
図16 IoT2050ネットワークマネージメントツール画面
・ネットワーク設定画面が開くので、IPアドレス、ネットマスク、デフォルトゲートウェイ、DNSサーバーアドレスを入力します。
図17 IoT2050ネットワークマネージメントツール画面
入力後カーソルをOKまで下方に移動しEnterを押します。
図18 IoT2050ネットワークマネージメントツール画面
・Backを選択しEnterを押します。
図19 IoT2050ネットワークマネージメントツール画面
・Quitを選択しEnterを押すとコンソール画面に戻ります。
図20 IoT2050ネットワークマネージメントツール画面
1.5 ソフトウェアアップデート・インストール
・コマンドapt updateを実行してソフトウェアのアップデートを実施します。
図21 IoT2050コンソール画面
・必要に応じてapt installコマンドでソフトウェアをインストールします。
以上でIoT2050の初期設定は完了となります。
図22 IoT2050コンソール画面
AWSの構築
2. AWS SiteWiseの構築
2.1 SiteWiseゲートウェイの作成
・AWSコンソールホームでIoT SiteWiseをクリックします。
図23 AWSコンソールホーム画面
・ナビゲーションペインでゲートウェイを選択し、ゲートウェイを作成をクリックします。
図24 SiteWiseゲートウェイ画面
・任意のゲートウェイ名を入力します。
・Greengrassコアデバイスはデフォルトセットアップを選択します。
・任意のGreengrassコアデバイス名を入力します。
・次へをクリックします。
図25 SiteWiseゲートウェイ設定画面
・次へをクリックします。
図26 SiteWiseエッジ機能設定画面
・次へをクリックします。
図27 SiteWiseパブリッシャー設定画面
・データソースを追加をクリックします。
図28 SiteWiseデータソース追加画面
・ソースタイプはOPC-UAを選択します。
・ソース名は任意の名称を入力します。
・ローカルエンドポイントはデータを取得するOPCUAサーバを指定します。
・送信先はAWS IoTサイトワイズリアルタイムを選択します。
・次へをクリックします。
図29 SiteWiseデータソース追加設定画面
・ゲートウェイデバイスOSを選択します。IoT2050はLinuxであるためLinuxを選択しゲートウェイを作成をクリックします。
図30 SiteWiseゲートウェイ設定確認画面
・生成してダウンロードをクリックします。
図31 SiteWiseエッジインストーラー生成画面
・インストーラーが操作PCにダウンロードされます。
図32 SiteWiseゲートウェイ画面
2.2 IoT2050へのインストール
・操作PCをIoT2050にコンソール接続またはssh接続します。
・生成したインストーラーファイルをIoT2050にコピーします。
図33 IoT2050エッジインストーラーコピー画面(ftp転送)
・以下のコマンドを入力します。
chmod +x IoT2050_0_IoT_Sitewise_Gateway.deploy.sh
sudo ./IoT2050_0_IoT_Sitewise_Gateway.deploy.sh
・Proceed with the installation? [y/N]と表示されたらyを入力しEnterを押すとインストールが開始されます。
図34 IoT2050エッジインストール画面
・以下が表示され、インストールが完了します。
Updating package manager ...
Installing docker ...
Successfully set up Nucleus as a system service
図35 IoT2050エッジインストール完了画面
2.3 AWS IoTの確認
・AWSコンソールホームでIoT Coreをクリックします。
図36 AWSコンソールホーム画面
・ナビゲーションペインでモノを選択します。
・Greengrassコアデバイス名のモノが作成されていることを確認します。
図37 AWS IoTモノ画面
・ナビゲーションペインでコアデバイスを選択します。
・Greengrassコアデバイスが作成され、ステータスが正常であることを確認します。
・NETFC_IoT2050_0をクリックします。
図38 AWS IoT Greengrassコアデバイス画面
・IoT2050にインストールされたコンポーネントが表示されます。
図39 AWS IoT Greengrassコアデバイス詳細画面
2.4 AWS IoT SiteWiseの設定
・AWSコンソールホームでIoT SiteWiseをクリックします。
図40 AWSコンソールホーム画面
・ナビゲーションペインでをモデルを選択し、Create asset modelをクリックします。
図41 SiteWiseモデル画面
・モデルの名前を入力します。ここでは二酸化炭素濃度センサーとしました。
・Measurementsを選択します。
・このモデルに含まれるデータの設定(名称、単位、データタイプ)を入力します。当該センサーは二酸化炭素濃度、温度、湿度が取得できるため、二酸化炭素濃度、室温、湿度としました。
図42 SiteWiseモデル作成画面
・アセットの作成をクリックします。
図43 SiteWiseモデル画面
・アセットの名称を入力します。当該センサーは当社技術センターNETFCに設置してあるので、NETFC二酸化炭素濃度センサーとしました。
・アセットの作成をクリックします。
図44 SiteWiseアセット作成画面
・アセットが作成されたことを確認します。
図45 SiteWiseモデル画面
・ナビゲーションペインでをデータストリームを選択します。
・接続に問題がなければ、OPCUAサーバーよりデータストリームエイリアスを自動的に取得します。
図46 SiteWiseデータストリーム画面
・アセットとデータストリームのマッピングを行うことにより、当該データストリームがアセットに送信されます。
・データを取得するデータストリームエイリアスのチェックボックスをチェックしてデータストリームを管理をクリックします。
図47 SiteWiseデータストリーム画面
・測定値を選択をクリックします。
図48 SiteWiseデータストリーム管理画面
・当該アセット(ここではNETFC二酸化炭素濃度センサー)の当該測定値(ここでは二酸化炭素濃度)を選択し、選択をクリックします。
図49 SiteWiseデータストリーム管理画面
・測定値の名前に選択した測定値が表示されていることを確認し更新をクリックします。
図50 SiteWiseデータストリーム管理画面
・データストリームエイリアスにアセットがマッピングされていることを確認します。
図51 SiteWiseデータストリーム画面
・同様にデータを取得するデータストリームエイリアスのチェックボックスをチェックしてデータストリームを管理をクリックします。
図52 SiteWiseデータストリーム画面
・測定値を選択をクリックします。
図53 SiteWiseデータストリーム管理画面
・当該アセット(ここではNETFC二酸化炭素濃度センサー)の当該測定値(ここでは湿度)を選択し、選択をクリックします。
図54 SiteWiseデータストリーム管理画面
・測定値の名前に選択した測定値が表示されていることを確認し更新をクリックします。
図55 SiteWiseデータストリーム管理画面
・データストリームエイリアスにアセットがマッピングされていることを確認します。
図56 SiteWiseデータストリーム画面
・同様にデータを取得するデータストリームエイリアスのチェックボックスをチェックしてデータストリームを管理をクリックします。
図57 SiteWiseデータストリーム画面
・測定値を選択をクリックします。
図58 SiteWiseデータストリーム管理画面
・当該アセット(ここではNETFC二酸化炭素濃度センサー)の当該測定値(ここでは室温)を選択し、選択をクリックします。
図59 SiteWiseデータストリーム管理画面
・測定値の名前に選択した測定値が表示されていることを確認し更新をクリックします。
図60 SiteWiseデータストリーム管理画面
・データストリームエイリアスにアセットがマッピングされていることを確認します。
図61 SiteWiseデータストリーム画面
アセットとデータストリームのマッピングは複数のデータストリームを選択して実施することも可能です。
ここまででAWS IoT SiteWiseの設定は完了となります。
データの確認
・実際にデータが取得できていることを確認します。
・AWSコンソールホームでIoT SiteWiseをクリックします。
図62 AWSコンソールホーム画面
・ナビゲーションペインでアセットを選択し、当該アセット(ここではNETFC二酸化炭素濃度センサー)
図63 SiteWiseアセット作成画面
・Property Typeの測定を選択します。
図64 SiteWiseアセット詳細画面
・測定値を右方向にスクロールまたは画面を縮小して最新の値にデータが反映されていることを確認します。
図65 SiteWiseアセット詳細画面
以上で、社内のOPC UAデータをSiteWiseへアップロードすることができるようになりました。