ECHONET Lite Emulatorのダウンロードの仕方から簡単な使い方(セットアップからパケット送信まで)を軽く説明します。
ダウンロード・初期設定・起動
①Node.jsダウンロード(既にダウンロード済みなら②に進む)
- LTS版(長期サポート版)推奨
- 何もチェックは付けずに全部nextで良いはず
②EL Emulatorのパッケージをダウンロード
GitHub - KAIT-HEMS/elemu: ECHONET Lite機器エミュレータは30種類以上の機器エミュレーターです。
②-1 下記の場所をクリック
②-2 下記の場所をクリックし、ZIPファイルをダウンロード
②-3 ダウンロードしたZIPを展開し、適当なディレクトリに配置(私はDocuments直下に配置した)
- elemu-mainというフォルダ名になる
③EL Emulatorを起動できるように初期設定する
③-1 ファイルエクスプローラーでelemu-mainフォルダに移動する
③-2 下記の欄に”cmd”を入力、エンターを押してカレントディレクトリ*が”elemu-main”になっているコマンドプロンプトを起動する
※カレントディレクトリ…現在いるディレクトリのこと
下記の画像の場合はカレントディレクトリは”Documents”となる
③-3 コマンドプロンプトにnpm install
を入力し、エンターを押す
- エラーが出なければ起動準備完了
④EL Emulatorを起動
④-1 ③の1~2で行ったのと同じことを再び行い、コマンドプロンプトで”elemu-main”がカレントディレクトリになっている状態にする
④-2 コマンドプロンプトでnpm start
を入力し、エンターを押す
- 上記の画像のように4つ”OK”が表示されたら起動成功
- 上記画像の例ではlocalhost(自身のPC)の8880番ポートで開始している
- 初回以降起動したい場合は④以降の処理を毎回行えばよい
⑤EL Emulatorにアクセス
ブラウザを立ち上げ、アドレスバーに下記のURLを記述してエンターを押す
下記のような画面が表示されたらアクセス成功
パケット送信使い方
各欄の説明
宛先IPアドレス
- パケットを送信する相手のIPアドレスを記述する欄。
- マルチキャスト(同じLANにつながっているEL機器全部に送りたい場合)は
224.0.23.0
を指定する。
TID(Transaction ID)
- ECHONET Lite 通信において、要求送信側が応答受信時に、自己が送信した要求と受信した応答をひも付けするためのパラメータ
- 例えば送信パケットのTIDを
0x11
で指定したら、応答パケットのTIDは同じ値の0x11
になる。
- 例えば送信パケットのTIDを
- 基本は指定しなくてよい(EL Emulator側が自動で決めてくれるため)
SEOJ(Source ECHONET オブジェクト)
-
パケット送信元のEOJ(ECHONET Object)を指定する欄。
-
ドロップダウンリストで指定する。
- 基本は
0x05FF:コントローラー
でよい。
DEOJ(Decision ECHONET オブジェクト)
- パケット送信先のEOJを指定する欄。
- SEOJと同じようにドロップダウンリストで指定する。
インスタンス番号
- 基本は変更しなくてよい。
- まれにDEOJのインスタンス番号を
0x00
に指定する必要がある。
ESV(ECHONET Lite サービス)
- ドロップダウンリストで指定する。
- 基本は
0x61:SetC
か0x62:Get
を使用する。-
0x61:SetC
を使用する場合- EL機器を制御する場合に使用する。
- 送信した機器から応答が返ってくる。
-
0x62:Get
を使用する場合- EL機器の情報を取得する場合に使用する。
- 送信した機器から応答が返ってくる。
-
OPC(処理対象プロパティカウンタ)
- ドロップダウンリストで指定する。
- ECHONET Liteでは同時に複数の命令(プロパティ)を送信することができる。その命令の数を指定するのがOPCである。
※ESVが異なる命令は一度に送信できない。 - EL Emulatorでは0x01(1個)~0x0A(10個)の命令を一度に送信することができる。
EPC(ECHONET プロパティコード)
- 命令の種類を指定する欄。
- ドロップダウンリストで指定する。
- DEOJの値によって選択肢が変化する。(オブジェクトによって使える命令が違うため。)
- ESVがSetに指定した場合とGetで指定した場合で使えるEPCが異なる。
- 選択ができても機器側が対応していない命令もあるため、確認の必要がある。
- 下記にすべてのEL機器で使えるEPCで覚えておいたほうが良いものを示す。
プロパティ名称 | EPC | 説明 |
---|---|---|
動作状態 | 0x80 | Set時 ⇒ ON/OFFを制御する, Get時 ⇒ ON/OFFの状態が返ってくる。 |
識別番号 | 0x83 | ・Get時のみ使用可 ・オブジェクトを固有に識別する番号が返ってくる。 ・ノードプロファイル(0x0EF001)のみにある(使用できる) |
メーカーコード | 0x8A | ・Get時のみ使用可 ・メーカー固有の番号(ECHONETコンソーシアムで規定した番号)が返ってくる。 ・メーカーを識別できる。 |
Setプロパティマップ | 0x9E | ・Get時のみ使用可 ・Set時に使える命令(EPC)が返ってくる。 |
Getプロパティマップ | 0x9F | ・Get時のみ使用可 ・Get時に使える命令(EPC)が返ってくる。 |
- 機器ごとのEPCを確認したい場合はAppendixを参照
EDT(ECHONET プロパティ値データ)
- 命令の詳細を指定する欄。
- ESVをSetにした場合のみ使用する。
- EPCによって入力する値は異なる。
- ドロップダウンリストで指定できないため、Appendixを参照する必要がある。
-
例:家庭用エアコンの設定温度を27℃にしたい場合
①Appendixで「家庭用エアコンクラス規定」の項まで移動
②「プロパティ名称:温度設定値」の行を見つける。
③下記の画像から温度設定をする場合はEDTを
0x00~0x32
に指定すればよいことがわかる。
④27は16進数で0x1Bなので、EDTに0x1B
を入力する。
-
-
0x
を除いた16進数で入力する。- 上記の例だとEDTの欄に
1B
を入力する。
- 上記の例だとEDTの欄に