どんなもの?
このプログラムはM5StackをECHONET Liteブザーにします。
ここでは簡単に使い方を紹介します。
ソースコードはGitHubにおいてあります。
環境・準備
必要に応じてWiFiルータやコントローラ用のPCなども必要です。
- M5Stack
- WiFiルータ(SSIDとパスワードが分かるもの)
- 開発用Arduino IDEの動作するPC
- M5Stackを開発できるようにしてあること
- コントローラ(テスト時に利用,Windowsが楽,開発用PCと同じでよい)
- ライブラリのセットアップ
- ECHONET Liteモジュールをインストール(参照:https://qiita.com/Sugimura-Laboratory/items/6dfe1cb9f75a67a80b40)
- サウンドモジュールをインストール
- ESP8266Audio: https://github.com/earlephilhower/ESP8266Audio
- ESP8266_Spiram: https://github.com/Gianbacchio/ESP8266_Spiram
サンプルの実行手順
簡単ステップで実行できます。
-
下記のURL(Github)からソースをZIPでダウンロードします。
-
mp3ファイルをmicroSDに書き込みます。フォルダは作らずにそのままコピーしてください。
-
15,16行目の定義を自分の環境に書き換えます。
15 | #define WIFI_SSID "testwifi2G" // !!! change to yor wifi SSID
16 | #define WIFI_PASS "0001223344" // !!! change to yor wifi password
-
コンパイルし,M5Stackに書き込みます。
-
下記のような感じでArduinoIDEのシリアルモニタにIPアドレスなどのログが表示されればOK!
ここら辺のEPCだのはECHONET Liteデバイスとして尤もらしく動くようにダミーを設定しているものです。一般用途では気にしないでください。商業用途ではまじめにやりましょう!
- 鳴らしてみる(単体でのサウンドテスト)
8音入ってますので色々テストできます。音が鳴っている最中は操作できません。よって,長い音は向いてないかもしれません。
鳴らしてみる(ECHONET Liteプロトコル)
ではWiFi経由で音を鳴らしてみます。実験にはWindowsにSSNGをインストールして利用するのが一番楽だと思います。
- SSNG(Win, iPhone, Node.jsなど)
- http://sh-center.org/sdk
使用したECHONET Liteモジュールはサーチに対応しているので,下記手順で機器を検索できます。
発見出来たらIPを指定して鳴らします。
対応しているEPCリスト
管理しているプロパティをechonet lite コンバータで表示すると下記の様な感じになります。そこそこまじめに実装したと思います!
echonet lite コンバータ: https://www.npmjs.com/package/echonet-lite-conv
{ EOJs: [ 'ノードプロファイル01(0ef001)', 'ブザー01(02a001)' ],
'ノードプロファイル01(0ef001)':
{ EPCs:
[ '設置場所(81)',
'自ノードインスタンスリストS(D6)',
'状変アナウンスプロパティマップ(9D)',
'Setプロパティマップ(9E)',
'Getプロパティマップ(9F)' ],
'設置場所(81)': '未設定(00)',
'自ノードインスタンスリストS(D6)': 'ブザー01(0102A001)',
'状変アナウンスプロパティマップ(9D)': '01[80](0180)',
'Setプロパティマップ(9E)': '01[80](0180)',
'Getプロパティマップ(9F)': '0e[80, 81, 82, 83, 88, 8a, 9d, 9e, 9f, d3, d4, d5, d6, d7](0E80818283888A9D9E9FD3D4D5D6D7)' },
'ブザー01(02a001)':
{ EPCs:
[ '動作状態(80)',
'設置場所(81)',
'規格Version情報(82)',
'識別番号(83)',
'状変アナウンスプロパティマップ(9D)',
'Setプロパティマップ(9E)',
'Getプロパティマップ(9F)' ],
'動作状態(80)': 'ON(30)',
'設置場所(81)': '未設定(00)',
'規格Version情報(82)': 'Ver. K(00004B00)',
'識別番号(83)': 'referSpec(FE0000000000000000000000000000000000)',
'状変アナウンスプロパティマップ(9D)': '02[80, d6](0280D6)',
'Setプロパティマップ(9E)': '01[e0](01E0)',
'Getプロパティマップ(9F)': '09[80, 81, 82, 83, 88, 8a, 9d, 9e, 9f](0980818283888A9D9E9F)' } },
おわり
鳴りましたか?
使用したフリー音源
効果音は下記のフリー音源を利用しています。