LoginSignup
24

More than 5 years have passed since last update.

posted at

updated at

ECHONET Liteの電文 作成方法

はじめに

ECHONET Liteの電文作成方法について記述します。

詳しくは以下の規格書で確認してください
ECHONET Lite規格書 

電文構成

フレーム

電文のフレームは下の図のようになっている。
決められた要素とバイト数で記述をしていく
電文フレーム.jpg

例えば

「空気清浄機 を on にする」  ⇨ 1081000005FF010135016101800130 
の電文の場合 対応する要素と数値は以下のようになる。
電文構成.jpg

EHD1 & EHD2

電文が ECHONET Liteであることを宣言する部分
基本的にこの部分に入る 文字は
     1081
以外は入らないので 電文の最初は1081のままでよい

TID

この部分は自由記述である。
なので、2バイト以内なら

1111 or  1234  or  1573  or  1899

どんな文字を記入してもよい。
 最初のうちはわかりにくいので、0000 を入れることをお勧めする。
※ TIDの便利な使用方法は下で紹介する。

SEOJ

送信元機器を明記する。
要するに、自分の機器名(ECHONET Liteオブジェクト)を記述する。
例えば、自分のパソコンが家電機器に命令を送信したい場合は
SEOJ ⇒ 05FF01
になる。 主に使用される機器名(ECHONET Liteオブジェクト)は以下である

オブジェクト.jpg
他の機器名(ECHONET Liteオブジェクト)の検索は
APPENDIX ECHONET機器オブジェクト詳細規定を参照

DEOJ

送信先の機器名(ECHONET Liteオブジェクト)を記述する
例えば、エアコンの制御をしたい場合
DEOJ ⇒ 013001
になる。主な送信先になるのは SEOJ と同じです

SEOJと同様に他の機器は
APPENDIX ECHONET機器オブジェクト詳細規定を参照

ESV

送信時に使用するESVは主に3種類である。

① SetI

ESV ⇒ 60
例) エアコンの動作をONにする

② SetC

ESV ⇒ 61
エアコンの動作をONにし、エアコンからONになったことの応答をしてもらう。
応答の時、ESVは 71 で返ってくる

③ Get

ESV ⇒ 62
例) エアコンの動作状態を確認する。
例) エアコンの設定温度を確認する。
状態の応答は ESV ⇒ 72 になっている
ESV.jpg

②と③ はどちらも機器から返事が返ってくるが、違いとして
②は機器を制御する
③は制御しないで状態の取得だけを行う。

OPC

処理プロパティ数を示す。制御内容が一つの場合は
      OPC ⇒ 01
で示す。

※ 基本的に01 でよい

EPC

ECHONET Liteプロパティの指定をする。
ECHONET Liteプロパティは全機器共通の 機器オブジェクトスーパークラス と
機器固有の 機器オブジェクト
の二種類がある。

スーパークラス

スーパークラスは、どの機器に対しても、プロパティ名とEPCの値同じである。
例)
エアコンの動作状態を確認したい場合  EPC ⇒ 80
空気清浄機の動作状態を確認したい時も EPC ⇒ 80

機器固有のオブジェクト

エアコンの場合         空気清浄機        照明レベル
節電動作設定 : 8F      風量設定   : A0   照明レベル: B0
運転モード  : B0      空気汚れ検出 : C0   点等モード: B6
温度自動設定 : B1                   光色設定 : B1
など

※詳しい説明は下のEDTと一緒に説明をする

PDC

EDTのバイト数を示す。制御内容が一つの場合は
      PDC ⇒ 01

※ 基本的に01 でよい

EDT

EPCで指定したプロパディ名によって、値を入れる

スーパークラスの場合

EPC ⇒ 80(動作状態) の時は
EDT ⇒ 30(ON)
    ⇒ 31(OFF)

機器固有のオブジェクト

エアコン

エアコンの場合、機器固有のオブジェクトは以下のようになる
例えば、 エアコンの風向きスイングを 上下に 変化させたい場合
   EPC ⇒ A3 , EDT ⇒ 41
Aircon.jpg

一般照明

一般照明の機器固有オブジェクトは以下のようになる
例えば、照明の 光色を 白色 に変化させたい場合
   EPC ⇒ B1  ,  EDT ⇒ 42
一般照明.jpg

※ アクセスルールとはESV の説明にあった Set と Get の使用が出来るかを示している。
もしも、アクセスルールに Get しかなかった場合、そのプロパティはGet の要求しか行えない。

まとめ

基本的に以下の ? の部分を変えればよい
何の機器を どうしたいのかは APPENDIX ECHONET機器オブジェクト詳細規定を参照
電文構成 送信.jpg

TID の使い方について

TIDは自由記述なので2バイトならば何を記述してもよい。
ECHONETの約束ごととしてGetや SetCで来たとき応答するときのパケットは送られて来たときの、TIDと同一の文字列を返すようになっている。
なんで、LAN内にECHONETLite電文が複数ある場合など、プログラム内で電文の処理をしやすくなる。

TID.jpg

参考文献

ECHONET Lite規格書
APPENDIX ECHONET機器オブジェクト詳細規定

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
What you can do with signing up
24