Intern

DALIをNode-REDで動かそう

今回は、以前繋げたグラフィックアイとパワーモジュールをNode-REDで操作していきたいと思います。(下記URL参照)

DEVICEとシリアル番号を紐付ける

これからグラフィックアイを操作するのに、シリアル番号が必要になってきます。
そのためシリアル番号をデバイスと紐付けることで簡単にしていきたいと思います。
(一応やらなくても大丈夫のため、飛ばしても構いません)

まず、コマンドプロンプトンでグラフィックアイに繋がっているGCUにtelnetで接続します。(pw:nwkでした)
そうしましたら、1度グラフィックアイのボタンを押してください。

すると上図のようなデバイスが表示されます。(設定済みのため、LANPAがシリアル番号になっています)
グラフィックアイのデバイスのシリアル番号がわかりましたら、次のコードを打ってください。

「#INTEGRATIONID,1,シリアル番号,好きな名前」

今回では「#INTEGRATIONID,1,01e3476b,LANPA」と入れて設定しています。
これで準備完了です。

グラフィックアイと接続する

まずは、グラフィックアイと接続します。
IPアドレスで接続するため、初めに簡単な短い接続を試します。下図のように作ってみましょう。

1,タイムスタンプとデバックの間に、tcp.requestを入れます。
2,tcp.requesの中身を開き、IPアドレスとポート番号を入れ、終了をなし-接続維持に変えます。
3,終わったらデプロイを押し、tcpが接続されタイムスタンプを押してデバックに数字が表示されたらOKです。(下図参照)

グラフィックアイのボタンを作る

グラフィックアイとの接続ができたら、あとはボタンを作るだけです。
今回は、タイムスタンプだけでなく、UI表示させ少しアプリっぽく作っていきます。
まずは、UIに必要なbuttonを入れます。(今回はグラフィックアイに合わせて5つ)
次に中身を開いて名前を付けます。すると下図のような形になると思います。

buttonの中身です
名前以外は何も変えていません

次に動きを指示するノードを作ります。これは、ノードとしてないのでコードを書きます。(難しくないです)
まず、コードを書く際使うノードfunctionノードを入れ、中にコードを書きます。(コードは下図参照)

これは、payloadの中に、初めに設定したDEVICE,シリアル番号,動いた際の数字
を入れています。数字がわからない際は、コマンドプロンプトンで1度動かして確認してください。

この要領でコードをすべてのボタンに書きます。(後ろの数字#DEVICE,LANPA,〇〇,〇の部分はボタンによって違うので注意、コマンドプロンプトンで確認してください)
すると下図のようになります。

最後に接続ボタンを作る

動くために必要なボタンが作り終わったのですが、接続が切れた際サイド繋ぎなおすことができず、動かなくなってしまいます。
そのため、LOGINボタンを作ります。
まず、buttonとfunctionノード追加し、buttonは名前を変えて終了です。functionノードは中を開き下図のコードを書きます。

payloadが空と宣言したうえで、payloadの中にpasswordを入れます。
node.send(msg)は、関数宣言されないものに対し区切りをつけるために宣言するものです。
これを追加し、繋げてあげデプロイします。(下図参照)

そうしましたら、UIのほうでLOGINを押した後、ほかのボタンを押すと動かすことができるようになります。