身近なIotの事例でエアコンのリモコン制御があります。
IR制御用のモジュール(アレクサ連携)が発売されていますよね。
最初、これを購入したのですが、
「エアコン」をオンして
とか定義してやるのですが、認識しなかったりします。
最初は珍しさでやるのですが、リモコンのが早いやとなりました。
そのうち外部からの制御なので、サーバートラブル
などで動かなかったりして、家の情報が外からコントロール
されるのがいやになります。
そこでM5StackのGlobe端子用赤外線モジュールを買っておいたのですが
しばらく放置してました。
久しぶりに記事をあさっているとM5Stack+赤外線モジュールの
記事があるじゃないですか。
じっくり読んでみて、まずは学習からやりました。
ESP用のモジュールでしたがなかなかよくできています。
学習結果でどこのエアコンかを判断して受信データ出してくれました。
それで、フォーマットにしたがってやるのですが、うまくいかないなあ
と思っていると、距離が短いそうです。
通常のリモコンの距離でやると届いてないことが判明。
かなり近くないと駄目です。
それはおいておいて、エアコンの場合、コマンドが複合の場合が
多いそうで、確かに、室温、暖房、ファン角度など
与えるパラメータが多い訳です。
アンドキュメントらしいですが、各エアコンごとに
クラス化されているみたいなので、
うちのは「SHARP」なので探すとありました。
エアコンのオンはこんな感じです。
ac.setModel(sharp_ac_remote_model_t::A907);
ac.setTemp(20);
ac.setMode(kSharpAcHeat);
ac.setPower(true);
ac.setFan(3);
ac.setTurbo(false);
ac.setClean(false);
ac.setIon(false);
ac.on();
ac.send();
オフはこうです。
ac.setPower(false);
ac.off();
ac.send();
これを送信すると見事動きました。
これで、外部からMQTTなり、WebAPIなりで制御できます。
スマホでボタン作ろうと思います。
M5Matrixなんですが、小さいですし、そもそも
赤外線LEDあるらしいので
単体でもできると思っています。
夢が膨らみますね。
UIFlowでやろうと思ったのですが、素直に
なかなか便利です。
インフラはWifiでプロトコルはMQTTが
相性がいいです。
RasPi4,Arduino,M5Stack,MQTT,NodeRed,TMS WebCore
辺りの技術がでてきます。