Node-REDとDALIをつなげたことについて設備側からの説明

先日、ワンフットシーバス 田中さん、株式会社ウフル 花村さんと私の3人で技術調査していたDALIとNode-REDで連携するテストと披露を株式会社ウルフさんでおこなってきました。

Node-Red側のことについては田中さんが書かれているので、私は設備側についてご紹介したいと思います。

Node-REDで照明に特化したDALI APIと連携するナレッジを御社と共有しました – enebular blog

DALIとNode-REDで連携する為の設備

下は今回使用した設備の主なモノの写真です。

DALI

全体的なシステムをあらわしたのがこちら

DALI

ざっくりと説明すると、下の赤くなっているところが「DALIとEathernetのゲートウエイ」。それ以外はDALIのネットワークを有効化したり照明(今回はLEDテープライト)を光らせる為の設備です。

DALI

今回は実験なので赤と青と緑を出すLEDテープライト(RGBテープライト)と白色(6500K)を出すテープライトの合計4アドレス分しかつないでいませんが、実際には64アドレスの照明器具をDALIネットワークにつなぐことができます。

ちなみにDALIゲートウェイには、iLumTech社のDeeBridgeという製品を使っています。

Ethernet to DALI Bridge

Node-REDとDALIのつなぎ方

田中さんのPCでNode-REDを動かしてWiFiルーターを通してDALIのゲートウェイにつながっています。

ゲートウェイはIPアドレスをもっており、Node-REDのTCPアウトプットノードからデータをゲートウェイに送ることでDALIのネットワークにDALIコマンドを送ります。

Dali tcp nodered

照明の設定

以下、照明側の設定状況を説明します。

アドレス設定

使用した照明はRGBテープライトと白色のテープライトで合計4アドレス。下記の表のとおり設定しました。

DALI

タイプにかいてある「DAP」と「IAP」は下記の略です。それぞれ、アドレスに送るコマンドの内容がDAPかIAPかによって変わってくると思ってください。

DAP : Direct Arc Power Control
IAP : Indirect Arc Power Control

16進と10進はゲートウェイ側にアドレスを送る時に、Node-RED側からは10進数で指定するので参考のため載せています。

シーン設定

DALIにはシーンという機能があります。シーンというのは決められたシーンをよばれた時に、ひとつひとつの照明達がどんな状態で点灯しているのかを覚えさせる機能です。

例えば、

シーン1の時は、赤と青だけ100%で点灯。それ以外は50%の明るさで点灯する。

とか、

シーン2の時は、赤と緑と青は50%で点灯、白色は100%で点灯する。

といったようなものです。

下記が今回の設定です。

DALI

Scene(シーン)0のときは、A3(白)が100%点灯し、見た目は白い光が見えます。

シーン1のときは、A0(赤)とA1(緑)がそれぞれ100%点灯し、見た目は黄色い光がみえます。

シーン2のときは、A0(赤)とA2(青)がそれぞれ100%点灯し、見た目はピンクの光がみえます。

Pink

シーン3の時は、A1(緑)とA2(青)がそれぞれ100%点灯し、見た目は水色の光が見えます。

Waterblue

Node-REDの仕組み

Node

Node-REDでは結果で見える色をインジェクションノードの名前にしています。実際には先に紹介したシーンをよびだしているので、インジェクションノードが押されると、その後のシーン判定にて対応するシーンがゲートウェイにに送られるという仕組みになっています。

結果

実際の様子がこちら。

しゃべっているのは私の声なのですが、この時、でる光の色をコントロールすることで植物育成の際に必要な色を必要なタイミングで植物に当てて育成を最適化することができるのでは?といった話をしていました。

まとめ

昨年8月に実験した内容がNode-REDと連携することで、ほとんどコードを書かずにプラットフォーム側から照明をコントロールできるようなメドが立ちました。

Node.js,Electron,UnityからDALIで照明制御した | デジタルライトJP

で、Node-RedでDALIがコントロールできるようになるとなにができるか?というと、どんな条件の時にどこ照明をどのように点灯させるか?ということが、条件判断をNode-RED側で書いて実際の照明の呼び出しをDALIのAPIで呼び出すというとてもシンプルなものになります。

役割分担としては、

■ 照明屋さん

  • 照明をどんな風につかうと効果的かを考える
  • それにはどんな照明器具や機材が必要か考え揃える
  • 照明器具のグループ分けやシーンをどのように設定するかを考え設定する

■ 開発屋さん

  • センサーやDBからの情報をどのように取得するかを考え実装
  • 条件ごとに照明のシーンをよびだすAPIを叩く

と、設備側に詳しい照明屋さんとロジックを書く開発屋さんの役割分担が明確になり、かつ、お互いの得意な分野の情報を会話することで、ありとあらゆる可能性を感じることができます。

実際の運用に当たっては設備としての信頼性や確実性が求められるので、リスクをどのように減らすかも検討する必要がありますが、まずは実験や遊びベースでいろいろテストできると楽しそうです。

余談

今週、ワンフットシーバスの田中さんとマイクロソフトのHoloLensからNode-REDを使って現実世界の照明をDALIでコントロールするという実験もしました。こちらも設備側からの記事を近いうちにかきますが、田中さんのブログもぜひチェックしてみてください。

HoloLensからNode-RED経由で照明操作のDALI APIを操作するメモ – 1ft-seabass.jp.MEMO

関連リンク

Node-REDで照明に特化したDALI APIと連携するナレッジを御社と共有しました – enebular blog

Node.js,Electron,UnityからDALIで照明制御した | デジタルライトJP

この記事を書いた人

この記事を書いた人

中畑隆拓

照明制御が得意です。
Node-REDを使ってIoT機器の情報を読み込み、DALI-APIを叩いて制御しています。

今後、設備の制御はNode-REDのようなソフトウェアが中心になると実感していて、いろんなところで講演してます。

講演予定・実績一覧

DALIだけでなくKNXやModbus、Lonworksなど、設備制御について意見交換を行うSlackを作りました。参加希望の方は問い合わせフォームより連絡ください。

お問い合わせ

シェアする

  • このエントリーをはてなブックマークに追加

フォローする