DALIのGatewayとNode-REDを使った照明制御について

DALIは照明を制御することに特化したシンプルで仕様がオープンなプロトコルですが、お客様の要望に応じた制御の仕組みを作ろうとするとDALIとは別の仕組みが必要になります。

照明器具メーカーはDALIを補う為のシステムをもっていますが、IoTデバイス等、そのメーカー以外のものと照明のシステムを連携させようとすると、メーカー独自のシステムは仕様がオープンにされてない為、気軽に開発できないという問題がありました。

今回、私達は、照明制御のオープンなプロトコルであるDALIとnode.jsで動くオープンなツールのNode-REDを利用し、その間をDALI Gatewayを使うことによって、オープンなシステムを利用して照明を制御する実験を行い成功しました。

これにより、お客様の要望による細かい仕様はNode-RED側で設定し、DALIはNode-RED側から受けたDALIコマンドに従い該当する照明器具を制御するということができます。

この方法について紹介したいと思います。

言葉の説明

Node-REDとは?

下記は英語のNode-REDのWIKIの説明をGoogle翻訳と自分の解釈で修正しました。

Node-RED – Wikipedia

Node-REDは、ハードウェア・デバイス、API、およびオンライン・サービスをインターネットの一部として結ぶためにIBMによって開発されたソフトウェア・ツールです。

Node-REDにはブラウザベースのフローエディタが用意されており、このエディタを使用してJavaScript関数を作成できます。作成したフローはJSONでエクスポートすることができ、自分で再利用したり他の人へ提供することができます。

Node-REDはNode.jsが利用できる環境で動きます。

2016年に、IBMはNode-REDをオープンソースのJS Foundationプロジェクトとして寄贈しました。

Node-RED is a software tool developed by IBM for wiring together hardware devices, APIs and online services as part of the Internet of Things.

Node-RED provides a browser-based flow editor, which can be used to create JavaScript functions. Elements of applications can be saved or shared for re-use. The runtime is built on Node.js. The flows created in Node-RED are stored using JSON.

In 2016, IBM contributed Node-RED as an open source JS Foundation project.[3]

↓ Node-REDの画面。

node-red

DALIとは?

DALIとはDigital Addressable Lighting Interfaceの略で、そのまま訳すと「デジタルでアドレス設定可能な照明のインターフェース」ということになりますが、すごく簡単に説明すると照明に特化した仕様がオープンな制御のプロトコルのことです。

つまり、DALIに対応した照明を使えば、どんなコマンドを送れば点灯するのか消灯するのか、それとも調光させるのかなど、1台ごとにメーカーに依存することなくコントロールができます。

ただし、DALIは照明に特化したシンプルなプロトコルの為、細かい要望を満たすためにはDALIの照明をコントロールするためのシステムが必要になります。

DALI-Ethernet Gateway(ダリ・イーサーネット・ゲートウエイ)とは?

照明専用のプロトコルであるDALIとLAN(Local Area Netowrk)でデータを相互にやりとりするための製品です。

現在、iLumTech社のDeeBridgeという製品があり、TCP接続で命令することによって、DALIのネットワークにDALIコマンドを送ることができます。

Ethernet to DALI Bridge

Node-REDとDALI-Ethernet Gatewayをつなぐ仕組みについて

Node-REDからDALIの照明をコントロールするシステムは下記の様になります。

node-red-dali

Raspberry PIはNode-REDを動かすためのサーバーとして設置。WiFiルータにLANケーブルで接続します。(IP 192.168.0.3)

DALI-Ethernet GatewayもLANケーブルでWiFiルーターと接続し反対側からはDALIのネットワークに接続します。(IP 192.168.0.22)

DALI Power Supplyは、DALIのネットワークをアクティブにするためのDC18Vの電源で、出力側をDALIのネットワークに接続します。

DALI LuminareはDALIに対応した照明器具のこと。点灯するための電源は別途必要ですが、DALIネットワークとは信号線で接続されます。すると、DALIのネットワーク上で個別にアドレスを持つことができます。

iPadはWiFiでLANに接続し、ブラウザからRaspberryPIのIPアドレス(とポート番号)を打ち込むことで、Node-REDのエディターを表示することができます。

Node-REDからDALI-Ethernet gatewayにコマンドを送信する方法

TCP出力ノードの設定

Node-REDにはTCP接続で出力を行うための「TCP出力ノード」があります。

node-red-dali

「TCP出力ノード」フローに置き、Typeを”Connect to”、DALIゲートウエイであるDeeBridgeのポートは8421、IPアドレスは自分で設定したものを入力(今回は192.168.0.22)します。

Node RED

これが結果

Node RED

DALI-Ethernet gatewayへの設定はこれだけ。次は今回設定したゲートウェイにDALIコマンドを送る方法について説明します。

TCP出力ノードにDALIコマンドを送る方法

一番簡単な方法をご紹介。これが完成形です。

Node RED

やりたいことは、全器具に対して最大で点灯しなさいというDALIコマンドを送ること。

対象: Broadcast all
コマンド: Recall Max Level

では、Node-REDでの作り方です。


入力からinjectノードをフローに入れます。

Node RED

フローに置いたinjectノードをダブルクリックして下記の画面を表示。

Node RED

Payloadからstringを選択。

Node RED

今回はDALIのネットワーク全体(Broadcast All)に、全点灯(Recall Max Level)するコマンドを送るため、Payloadに#255,4と入力します。

Node RED

先程作成したTCPノードと並べるとこんな感じ。

Node RED

ノード同士を線でつないで完了。

Node RED

実際には、これだと点灯しっぱなしになるので、Injectノードをもう一個追加。

DALIコマンドはこうなり、Payloadには”#255,0″をいれます。

対象: Broadcast all
コマンド: off

Node RED

結果はこちら

Node RED

これで、”Broadcast all: Recall Max Level”のボタンをおすと全点灯、”Off”を押すと前消灯のコマンドがDALIのゲートウェイに送られ、DALIネットワークにある照明器具が点灯・消灯します。

Node-RED側でおこなえること

以上、Node-RED側で全点灯・消灯させるフローの作り方を紹介しました。

実際に現場で照明を導入する場合は、センサーの情報、時間、その他の条件などによって、どこの照明器具を点灯し、どんなシーンを呼び出すかということが変わってきます。

DALIはとてもシンプルなプロトコルであるがゆえ、複数の条件が重なった時の判断をするような機能はないので、これまでは各メーカーが開発しているDALIのひとつ上のシステムが必要でした。

しかし、細かい条件の設定や判断はNode-RED側で行い、DALI側は単純に指定した照明器具のアドレスに点灯・消灯・調光などを指示するということに特化すれば、仕様が公開されているDALIの上もオープンソースであるNode-REDという組み合わせができるので、特定のメーカーに依存することなく、柔軟かつ自由に現場に合わせて照明のシーン呼び出しをすることができます。

今後の可能性

照明はあくまでも設備のひとつであり、エネルギー消費量であれば空調、より多くの情報を伝えるのであれば映像など、空間を作る上で存在するものは様々です。

これまでは、メーカーが違う、設備が違うといった場合のシステム統合には、コストと時間の両方に大きな負担がありましたが、今後はNode-REDを利用することで、ゲートウェイやAPIが公開されているメーカーの設備は自由に開発できるようになります。

実際にNode-REDのノードで、DMX、Modbus、KNXなどが公開されており、海外では設備系の制御にNode−REDを使おうとしている人が多いようです。

DMXのノード

node-red-contrib-modbus

node-red-contrib-knx

ということで、当サイトでは引き続きNode-REDと照明だけでなく、設備系の制御について調査をしていきます。

この記事を書いた人

この記事を書いた人

中畑隆拓

KNXパートナー

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

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

講演予定・実績一覧

DALIだけでなくKNXやModbus、Lonworksなど、設備制御について意見交換を行う「オープン設備制御研究会」を立ち上げました。詳細はこちらから→URL

IoT,DALI,KNXを使ったビジネスについてのコンサルティングもしています。

私への問い合わせ・依頼はこちらからどうぞ:お問い合わせ

シェアする

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

フォローする