はじめに
こんにちは。
KCCS デジタルソリューション Advent Calendar 2023 15 日目担当の福留(@kccs_kazuo_fukudome)です。
今回の記事は、IT 技術者が工場機器やセンサーなどの(OT)について気軽に触れてみる環境はないだろうか?そういうお悩みを解決する一助として、Node-RED で工場シミュレーター(GRFICS)を操作するという事を 2 回に分けてご紹介したいと思います。1 回目の今回は、環境構築編となります。
連載記事一覧
- Node-REDで工場シミュレーターを操作してみた #1 環境構築編 ★本記事★
- Node-REDで工場シミュレーターを操作してみた #2 Node-RED フロー作成編
GRFICS とは
GRFICS は、IoT システムのセキュリティ教育用に作られた工場シミュレーターのようで、GitHub で公開されています。GRFICS で検索すると、ハッキングとか工場爆破とか、物騒なキーワードがたくさん出てきます。ただ、実際に触ってわかったのですが、非常に良くできているシミュレーターです。単純なセキュリティ教育素材としてでなく、IT 技術者が OT のことを理解するのにも良いものだと、私自身は感じました。
工場シミュレーターの環境構築
今回利用した、GRFICS のバージョンは V2 です。現在 V3 まで出ているようですが、V2 で環境構築を実施します。
GRFICS V2 の GitHub には、インストール方法や IoT システムのセキュリティ教育の動画リンクもあります。セキュリティ教育についても学習したいという人は、ひととおり体験してみても良いと思います。
GRFICS V2 のページにも記載されていますが、GRFICS は Oracle の VirtualBox が必要となります。まず、VirtualBox をダウンロードしてインストールしてください。
次に、VirtualBox のネットワーク設定をします。"ツール" -> "作成" を押します。
次に、作成したネットワークを選び、192.168.95.111 のアダプターと、DHCP サーバーを次のように作成します。
次に、工場シミュレーターである Simulation VM をダウンロードします。
Simulation VM は、 GRFICS V2 のページの中ほどに、ダウンロードリンクがあります。
次に、"ファイル(F)" -> "仮想アプライアンスのインポート(I)" から、ダウンロードしたファイルを選択し、Simulation VM(ChemicalPlant)を作成します。
最後に、起動ボタンを押し、Simulation VM を起動します。VM が完全起動したら、ブラウザから http://192.168.95.10 にアクセスし、仮想工場が表示できたら設定完了です。
Node-RED(Ubuntu)の環境構築
続いて、Node-RED の環境を構築します。 今回は、Ubuntu で作成しましたが、お好みのディストリビューションを利用して頂いても問題ありません。
まず、公式 HP から Ubuntu OS のディスクイメージをダウンロードします。
仮想マシン(M)→ 新規(N)から、ダウンロードした Ubuntu OS のディスクイメージを選択し、仮想マシンを作成します。
Ubuntu の仮想マシンができたら、Node-RED のインストールを実施します。ただし、Ubuntu で terminal を実行しても起動しない場合もあります。その場合、次の Qiita 記事などに記述されているように、文字コードの設定変更をしてください。
https://qiita.com/towamz/items/2052f08e9e1af4068a56
terminal が起動できるようになったら、前回の私の記事を参考に Node-RED をインストールします。
2023 年 12 月 現在では、Node.js の推奨バージョンが 18 以上となっています。また、sudo コマンドを利用するには、別途設定が必要となります。そのため、su コマンドで root ユーザーにスイッチして、コマンドを実行してください。
Node-RED のインストールが完了したら、セットアップした仮想マシンのネットワークアダプターの割り当てを "NAT"(デフォルト設定)から "ホストオンリーアダプター" に変更してください。
ネットワークアダプターの変更後に Node-RED を起動し、ブラウザで接続確認できたら環境構築は完了です。
※Node-RED にアクセスする IP アドレスについては、terminal で ip コマンドを利用して確認してください。
次回予告とお知らせ
次回は、今回作成した Node-RED 環境から、工場シミュレーターを操作する Node-RED フローについて紹介します。
明日以降も弊社メンバーの記事が投稿されます。カレンダーを購読していただけたら嬉しいです。また、 でも、Qiita 投稿に関する情報や各種セミナー情報をお届けしております!情報収集や学びの場を求める方々にぜひフォローしていただき、最新情報を手に入れてください!!🙌📚