M5stack(ArduinoIDE)用のECHONET Liteライブラリを作って見ました。
下記にサンプルとともにおいてあります。
この記事はその細かい使い方事例を説明しています。
前記事
前に紹介した下記の記事はVer. 0.10のときの古いやつです。今回の記事はVer. 1.1.0です。
7. ArduinoでECHONET Liteデバイスを作る
https://qiita.com/Sugimura-Laboratory/items/6dfe1cb9f75a67a80b40
どんなもの?
このライブラリで作成したプログラムはECHONET Liteプロトコルに対応したデバイスになることを想定しています。
サンプルは一般照明オブジェクトになっていて,M5stackについているLCDディスプレイをON,OFFできます。
ここでは簡単に使い方を紹介します。
環境・準備
必要に応じてWiFiルータやコントローラ用のPCなども必要です。
-
M5Stack
-
開発用ArduinoIDEの動作するPC
-
M5stackを開発できるようにしてあること
-
M5Stackの準備(ボードマネージャ,2018.11.08)
https://github.com/espressif/arduino-esp32/blob/master/docs/arduino-ide/boards_manager.md -
M5Stackライブラリをインストールする
-
「スケッチ > ライブラリをインクルード > ライブラリを管理」
-
m5stackで検索する。
-
m5stack by m5stack というのをインストールする。
-
Macの場合はUSBドライバもインストールしておきましょう。(つないで認識しなければこれかな)
https://www.silabs.com/products/development-tools/software/usb-to-uart-bridge-vcp-drivers
サンプルの実行手順
簡単ステップで実行できます。
方法1 Githubから手動でインストールする
-
上記のURL(Github)からソースをZIPでダウンロードします。
-
ZIPの中身をEL_dev_arduinoフォルダを下記に配置します。
- (Win) $(USERHOME)\Documents\Arduino\libraries
- (Mac) ~/Documents/Arduino/libraries
-
ArduinoIDEを起動して「ファイル > スケッチ例 > EL_dev_arduino > GeneralLighting」を選びます。
-
GeneralLighting.ino(5行目あたり)を編集してWiFiのSSIDとパスワードを自分のルーターに合わせます。
-
実行します。
-
ArduinoIDEのシリアルモニタにIPアドレスなどのログが表示されればOK!
-
ECHONET Liteプロトコルは電源のON,OFFのみ対応しています。
方法2 Arduino IDEからインストールする(簡単!2018.11.08追記)
-
ライブラリマネージャを起動する
「スケッチ > ライブラリをインクルード > ライブラリを管理」 -
ECHONETで検索する。
-
該当ライブラリを選択してインストールしてください。
-
ArduinoIDEを起動して「ファイル > スケッチ例 > EL_dev_arduino > GeneralLighting」を選びます。
-
GeneralLighting.ino(5行目あたり)を編集してWiFiのSSIDとパスワードを自分のルーターに合わせます。
#define WIFI_SSID "ssid" // !!!! change
#define WIFI_PASS "wifipassword" // !!!! change
6 実行します。
7. ArduinoIDEのシリアルモニタにIPアドレスなどのログが表示されればOK!
8. ECHONET Liteプロトコルは電源のON,OFFのみ対応しています。
動作テストの方法
ECHONET Liteコントローラのアプリケーションで制御できます。iOSなら下記のEL Lightingがおすすめです。
このアプリなら同一LAN上で,ONとOFFができます。
他,各環境のおすすめを下記に記します。
-
Windows なら下記URLにある「Super Speed Node Generator for ECHONET Lite Ver.3.0.1」が良いでしょう。
-
iOS なら下記URLのSSNG for iPhoneか,EL Lightingがよいでしょう。
-
SSNG for iPhone: https://itunes.apple.com/jp/app/ssng-for-iphone/id1076467789?mt=8
ZIPの内容
下記の4モジュールでできています。
- examples/GeneralLighting/GeneralLighting.ino: サンプル
- EL.h, EL.cpp: ECHONET Lite プロトコルのクラス
- ELOBJ.h, ELOBJ.cpp: ECHONET Lite デバイス状態を保存しておいてあげるクラス
自分で新しいデバイスを作りたい場合はサンプルを書き換えていけば大丈夫です。
参考文献
- エコーネットコンソーシアム: https://echonet.jp
- ECHONET Lite入門 スマートハウスの通信技術を学ぼう!: http://amzn.asia/fIyglVQ