IBM i上でNode-REDを動かしてみた時の備忘録です。
環境
IBM i Ver7.3
前提条件
以下のライセンスプログラムがインストールされていること
- 5770SS1 OPT33 PASE
- 5733SC1 IBM PORTABLE UTILITIES FOR I
- 5733OPS OPT10 Node Ver6
nodeのバージョン確認
Node-RED が推奨環境としているnode v6になっているかを確認します。
QP2TERMでPASEセッションを開始して、バージョンを確認します。
node -v
npm -v
/QOpenSys/usr/bin/-sh
$
> node -v
v6.9.1
$
> npm -v
3.10.8
Node-REDのインストール
npmコマンドでNode-REDをインストールします。
Linuxなどと基本的には同じですね。
npm install -g node-red
Node-REDの起動確認
/QOpenSys/QIBM/ProdData/OPS/Node6/bin/node-red
$
/QOpenSys/QIBM/ProdData/OPS/Node6/bin/node-red
23 Nov 07:40:11 - [info]
Welcome to Node-RED
===================
23 Nov 07:40:11 - [info] Node-RED version: v0.17.5
23 Nov 07:40:11 - [info] Node.js version: v6.9.1
23 Nov 07:40:11 - [info] OS400 3 ppc BE
23 Nov 07:40:12 - [info] Loading palette nodes
23 Nov 07:40:16 - [warn] ----------------------------------------------------
--
23 Nov 07:40:16 - [warn] [rpi-gpio] Info : Ignoring Raspberry Pi specific node
23 Nov 07:40:16 - [warn] ------------------------------------------------------
23 Nov 07:40:16 - [info] Settings file : /home/demu/.node-red/settings.js
23 Nov 07:40:16 - [info] User directory : /home/demu/.node-red
23 Nov 07:40:16 - [info] Flows file : /home/demu/.node-red/flows_xxxx.xxxx.json
23 Nov 07:40:16 - [info] Starting flows
23 Nov 07:40:16 - [info] Started flows
23 Nov 07:40:16 - [info] Server now running at http://127.0.0.1:1880/
Webブラウザーでポート1880にアクセスする。
http://(IBM iのIPアドレス):1880/
以下のようにNode-REDの画面が表示されればOKです。
DB2 for i 用nodeを追加する。
このままでもNode-REDは使用できますが、IBM iのデータベースにアクセスするのに便利なノードを追加してみます。
画面右上のツールボタンからパレットの管理をクリックします。
次に「ノードの追加」タブの検索欄にnode-red-contrib-db2-for-iと入力しEnterキーを押すと、検索結果が表示されます。
ノードを追加ボタンをクリックしてインストールを開始します。
パレットのストレージにDB2 for iのノードが追加されていればインストールは無事完了です。
DB2 for iのデータをSQLで照会してみる
DB2 for iノードはmsg.payloadに渡されたSQL文を実行するので、injectノードにSELECT文を入力し、実行してみます。
デプロイボタンをクリックしてデプロイし、injectノードをクリックすると、デバック欄にテーブルが表示されているのがわかる。
デフォルトの設定では1レコード毎に出力されるが、DB2 for iノードの「Single Array Result mode」にチェックを入れれば、配列として出力されます。
IBM iでもNode-REDを気軽に使えますね。