先日、ワンフットシーバス 田中さん、株式会社ウフル 花村さんと私の3人で技術調査していたDALIとNode-REDで連携するテストと披露を株式会社ウルフさんでおこなってきました。
Node-Red側のことについては田中さんが書かれているので、私は設備側についてご紹介したいと思います。
Node-REDで照明に特化したDALI APIと連携するナレッジを御社と共有しました – enebular blog
DALIとNode-REDで連携する為の設備
下は今回使用した設備の主なモノの写真です。
全体的なシステムをあらわしたのがこちら
ざっくりと説明すると、下の赤くなっているところが「DALIとEathernetのゲートウエイ」。それ以外はDALIのネットワークを有効化したり照明(今回はLEDテープライト)を光らせる為の設備です。
今回は実験なので赤と青と緑を出すLEDテープライト(RGBテープライト)と白色(6500K)を出すテープライトの合計4アドレス分しかつないでいませんが、実際には64アドレスの照明器具をDALIネットワークにつなぐことができます。
ちなみにDALIゲートウェイには、iLumTech社のDeeBridgeという製品を使っています。
Node-REDとDALIのつなぎ方
田中さんのPCでNode-REDを動かしてWiFiルーターを通してDALIのゲートウェイにつながっています。
ゲートウェイはIPアドレスをもっており、Node-REDのTCPアウトプットノードからデータをゲートウェイに送ることでDALIのネットワークにDALIコマンドを送ります。
照明の設定
以下、照明側の設定状況を説明します。
アドレス設定
使用した照明はRGBテープライトと白色のテープライトで合計4アドレス。下記の表のとおり設定しました。
タイプにかいてある「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%で点灯する。
といったようなものです。
下記が今回の設定です。
Scene(シーン)0のときは、A3(白)が100%点灯し、見た目は白い光が見えます。
シーン1のときは、A0(赤)とA1(緑)がそれぞれ100%点灯し、見た目は黄色い光がみえます。
シーン2のときは、A0(赤)とA2(青)がそれぞれ100%点灯し、見た目はピンクの光がみえます。
シーン3の時は、A1(緑)とA2(青)がそれぞれ100%点灯し、見た目は水色の光が見えます。
Node-REDの仕組み
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