2017年4月27日にグランドプリンスホテル新高輪で開催された「Bluemix User Group ミートアップ in Watson Summit 2017」にて、「現実空間の照明をNode-REDから制御することで変わる世界」という内容でお話ししてきました。
動画はこちらで公開していますが、その内容のダイジェスト版をご紹介いたします。
照明はNode-REDでコントロールできる

一番伝えたかったことは、照明はNode-REDというソフトウェアでコントロールできるということ。それも、一般的に設備で使われるような照明器具を。

こちらは高天井用のLED照明です。工場や倉庫などに利用されています。
Node-REDで照明をコントロールできることを伝える際、マイクロソフト社のHololensを使って仮想空間の中に設置したスイッチをタップすると、机の上に置いてある器具が操作できる動画をご覧いただきました。
HololensからNode-REDを使って照明器具を操作する仕組み

HololensからNode-REDを使って照明器具を操作する仕組みは、Hololensでスイッチをタップすると、その情報がWebSocketでNode-REDに送られ、どの照明を操作するか判別し、照明APIを叩くというものです。

HoloLensにてUnityで制作したボタンが表示され、それぞれのボタンにボタン名が割り当てられています。

指でそのボタンをタップすると、ボタンに対応したオブジェクト名をWebSocektでNode-REDのWebSocket入力ノードに送られます。ちなみに、WebSocketだけでなくHTTP Requestでも送ることができるので、お見せしたNode-REDのフローには両方ともはいっています。

ボタンから送られたオブジェクト名は、Node-REDの関数で照明のシーン名に変換されます。そのシーン名が次の関数で照明APIのデータに変換されます。

照明APIは、#255,16のように#ではじまりカンマでわけられた2つの数字の組み合わせになります。

ちなみに、255はつながっている照明器具全部に対して(Broadcast all)の意味で、16は事前に照明器具に設定されたシーン1を呼び出せという意味です。

照明APIはIPアドレスをもつGatewayにソケット接続でデータを送ります。
照明APIについて

このシステム図です。
HoloLensとNode-REDは一般的なWiFiルータで接続され、そのルーターから照明APIのGateWayもLANケーブルで接続。そこから先はDALいという照明のオープンなプロトコルで制御されています。

DALIとは、Digital Addressable Lighting Interfaceの略。直訳すると「デジタルでアドレス設定可能な照明のインターフェース」という意味。
ちなみに、現在でも照明器具は個別にアドレスをもつのではなく、配線でグループ分けして照明するほうが一般的です。なので、スイッチに対応する照明器具を変更する場合は、電気工事が必要になります。

DALIの信号は、どこの器具を対象にするかの[Where to]と、どんなコマンドをおくるのかの[info]の組み合わせです。また、2芯の信号線で接続されたネットワークでつながります。
照明がNode-REDで制御できると何ができるのか?

照明がNode-REDで制御できると何ができるのかというと、情報を環境側に実装できます。

たとえば、この会場にいる人に情報を伝える方法って何があるかというと、通常は音になります。もし、すぐにでも全員が避難しなければならなくなったら、大声で「みなさん、逃げてくださーい!」って叫ぶか、緊急放送で伝えることになりますよね。

でも、天井を見てください。照明がたくさんありませんか?

もし、みなさんの上についている照明が、全部消えて真っ暗になり、またしばらくして明るくなったりということを繰り返したら、きっとみなさん「どうしたんだろう?」って、今やっている作業を中断しますよね。
もしくは、照明が全部消えて真っ暗になって、ある場所が1箇所だけ明るくなったら、自然にそこに目がいきますよね?
さらに、前から順番に照明が列単位で消えて、後ろに光が流れていくようになったら、その光の流れる先に視線を向けませんか?

つまり、照明器具を1個単位で点けたり消したりできると、人の意識や視線をコントロールできたり、何かの状態や位置・方向を伝えることができるんです。これが、情報を環境側に実装するということ。
情報を環境側に実装するとできること

情報を環境側に実装できると、人の意識や視線をコントロールし、マーケティング情報と連携することで、店舗であれば販売したい商品に来客の視線を集めたり、商品の存在に気づいてもらいやすくすることができます。

イベントなどで大勢の人が集中する際、AとBの2つの出口があり、実はAは人がいっぱいだけどBの出口は人がガラガラだとしたら、Bの出口が空いているということを、照明を点滅させたり、光の流れでBの出口に人を誘導することで、混雑を緩和するような使い方ができたりします。
まとめ

今日、これから家に帰る間にも、照明がどれぐらい使われているか意識してみてください。途方もなくたくさんの照明が私達の周りに存在していることに気づくとおもいます。
その照明を1個づつ思った通りにコントロールすることで、人の意識や視線をコントロールしてマーケティングに利用したり、状態や位置・方向を伝えることで、人々の行動を最適化するようなことができます。
さらに、IoTやビッグデータなどを元にAIが判断し、不特定多数の人に働きかける手段として、世の中はもっともっと最適化され、無駄の無い効率的な世の中を実現できたりします。
照明とNode-REDがつながることで、いろんな可能性があり、さらにそれが実現可能な環境になってきました。IoTはとても話題になっているキーワードですが、ぜひ、設備である照明とソフトウェアがつながることによってできることを、みなさんもビジネスとして考えてみてください。