前の投稿の続きです。ローカルにインストールしたOPC-UAのシミュレーションサーバーと、こちらもやはりローカルにエッジとして立ち上げたNode-REDサーバーとを連携させます。このブログでは大衆化したAIにならって、IoTとブロックチェーンの大衆化を目指して、ただで誰でもできるIoTとブロックチェーンについて発信しています。5G/IoT通信展とかの大きなイベントでも、こういう大衆化テーマにしてくれる日を祈っています。
OPC-UAシミュレーションサーバー側作業
疑似のデバイスを追加します。エアコンプレッサの空気圧を16bitのデータフォーマットで出力するデバイスを想定して以下のデータソースを追加します。
Mydevice.AirPump.Pressureが今回追加したデバイスとなります。
後にNode-REDで設定するEndpoitのために以下の情報を参照します。このEndpoitタブは、ProsysをExpertモードにすることで利用できます。Optionメニュから、Expert Modeをチェックしてください。セキュリティ設定はここでは行っていませんが、実際の場面では、証明書を適切に設定して、通信を暗号化すべきでしょう。
エッジ(Node-RED)側作業
さて、Simulator側の設定は以上です。ここから、Node-REDの作業に移ります。
Node-REDを立ち上げます。
$ node-red
Node-REDのUIはWebアプリケーションで提供されています。ここではローカルで起動しているので、http://127.0.0.1:1880 にアクセスします。グラフィカルエディターを使って、以下のフローを作成します。
Injection -> OPC UA Item -> OPC UA Client -> Debug
とノードをドラッグドロップして、つなげます。
各ノードは以下の通り設定しました。
まずは入り口です。
OPC UAから取得するデータを定義します。先程、Prosysのシミュレーターで定義した、模擬センサーの値を設定します。
OPC UAのクライアントを定義します。取得データからクライアントをNode-RED上で定義する流れはデータ連携のパターンとなるでしょう。
最期に取得したデータを利用するための出口を定義します。ここではデバッグ用のノードを定義します。
最期に右上のDeployボタンを推して、定義したフローをNode-REDサーバーにデプロイします。
まとめ
ここまでで、OPC-UAサーバーのシミュレータと、エッジを定義しました。Node-REDは簡単にフローを作成できていいですね。以前、とあるAPI Managementツールの設定を行ったときよりも簡単でした。これだったら、業務系とバックエンドのWebAPIサーバーとも簡単に連携できそうです。
次に、このデータを利用する側の実装をして行きます。ようやくIIoTっぽくなってきます。
コメント
[…] OPCUAのシミュレーション環境構築の続きです。 […]