12. M5StackでECHONET Liteブザー


どんなもの?

このプログラムはM5StackをECHONET Liteブザーにします。
ここでは簡単に使い方を紹介します。

ソースコードはGitHubにおいてあります。
- https://github.com/Hiroshi-Sugimura/M5_EL_Buzzer

環境・準備

必要に応じてWiFiルータやコントローラ用のPCなども必要です。

サンプルの実行手順

簡単ステップで実行できます。

  • 下記のURL(Github)からソースをZIPでダウンロードします。

  • mp3ファイルをmicroSDに書き込みます。フォルダは作らずにそのままコピーしてください。

  • 15,16行目の定義を自分の環境に書き換えます。

M5_EL_Buzzer.ino
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をインストールして利用するのが一番楽だと思います。

使用したECHONET Liteモジュールはサーチに対応しているので,下記手順で機器を検索できます。

発見出来たらIPを指定して鳴らします。

対応しているEPCリスト

管理しているプロパティをechonet lite コンバータで表示すると下記の様な感じになります。そこそこまじめに実装したと思います!

echonet lite コンバータ: https://www.npmjs.com/package/echonet-lite-conv

echonet-lite-conf出力結果
   { 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)' } },

おわり

鳴りましたか?

使用したフリー音源

効果音は下記のフリー音源を利用しています。
- http://taira-komori.jpn.org/freesound.html