Node-REDを使ってECHONET Lite機器を制御する2
本記事ではWindows PCにNode-REDを走らせ、ECHONET Lite機器を制御する方法を説明します。
ECHONET Lite機器もしくはエミュレータの準備
ECHONET Lite機器はない場合は、下記のエミュレータを準備する。
・MoekadenRoom
Windowsなどで利用可能なエアコン・照明・ブラインド・電子錠・温度計のエミュレータ
http://kadecot.net/blog/1479/
*Node-REDと同じPCでは起動しないこと。
ECHONET Liteパケットの受信
「input」カテゴリの「udp」ノードでECHONET Liteパケットを受信する。
「output」カテゴリの「debug」ノードで受信したパケットをデバッグ窓に表示する。
★「Deploy」し、パケット受信するか確認する。
同じネットワークに接続されたECHONET Lite機器の動作状態を変更するなどして、INFパケットを出す操作を行い、そのパケットを受信できることを確認する。
送信相手のIPアドレスを表示
「output」カテゴリの「debug」ノードで受信したパケットの送信元IPアドレスをデバッグ窓に表示する。
★「Deploy」し、パケット受信した際、IPアドレスが表示されるか確認する。
機器検索
マルチキャストアドレス(224.0.23.0)に対し、EPC=0xD6(自ノードインスタンスリストS)をGetする。
「function」カテゴリの「function」ノードに上記機能を実装する。
「output」カテゴリの「debug」ノードで、デバッグ窓に「function」ノードで指定した文字「Search」を表示する。
*function「Search」が実行された時に表示する。
「input」カテゴリの「inject」ノードで、 function「Search」を実行するトリガを作成する。
★「Deploy」し、機器検索するか確認する。
「Start」ノードの左をクリックで機器検索する。
同じネットワーク内にECHONET Lite機器があれば、EPC=0xD6(自ノードインスタンスリストS)をGet_RESしてくる。
受信したELパケットをParse
「function」カテゴリの「function」ノードに上記機能を実装する。
Parseした結果をデバッグ窓に表示する。
★「Deploy」し、デバッグ窓に表示される結果を確認する。
照明を制御
マルチキャスト向けに、一般照明クラス(0x0290)の動作状態(0x80)をON(0x30)にSet(0x61)する。
★「Deploy」し、照明がONするか確認する。
照明をOFFするものも作る。
「Light_ON」ノードをコピーし、「Light_OFF」ノードを作成する。
edt = 0x31;
に変更する。
「function」カテゴリの「delay」ノードと、「input」カテゴリの「inject」ノードを使って、照明のON/OFFを繰り返し制御する。
エアコンを制御
ユニキャスト向けに、家庭用エアコンクラス(0x0130)の動作状態(0x80)をON(0x30)にSet(0x61)する。
まずはIP指定。 *IPアドレスはそれぞれの環境にあわせて設定すること。
エアコンONのパラメータ設定
ECHONET Liteパケット送信
デバッグ窓へ表示
★「Deploy」し、エアコンがONするか確認する。
鍵の状態に応じてエアコン制御
電気錠クラス(0x026F)は施錠設定(0xE0)が変化するとINFがでることを利用する。
「function」カテゴリの「switch」ノードで施錠設定(0xE0)の値に応じて、条件分岐を行う。
「output」カテゴリの「link」ノードを使う。
「input」カテゴリの「link」ノードを使う。
追加したノードに線をつなげます。
★「Deploy」し、鍵の状態に応じてエアコンが制御されるか確認する。
以上。