前回までの記事で激安のarduinoの親戚を買いarduinoIDEで操作できるようにまでしました。
激安ESP8266でアレクサ経由で家電を音声コントーロル 完結編はこちらから
アマゾンでは2個で1300円程度で売られてます。
このHiLetgo社性のESP8266はwifiモジュールがついていて例えば赤外線LEDをつけてTVやエアコンを操作する事が可能です。
さらにESP8266は有志により様々なライブラリが用意されており、今話題のAIアシスタントと連携する事も可能です。
今回はHiLetgoの激安ESP8266を使ってアレクサと連携してTVや照明を赤外線リモートする次世代の装置を自作していきます。
アレクサはPCでもインストールできますが、PCでは面白みが無いためEcho Dot 第3世代 – スマートスピーカー with Alexaを買っちゃいました。
アマゾンセールでなんと2900円でゲット。
ESP8266で家電をリモートするには?
まずどのような手順で家電をリモートするのか?ですが、指令のすべてをアマゾンエコーにて行います。
使用するのは第三世代のEchoDogでセールで2900円程度でゲットしました。
アマゾンエコーのアレクサにwifiモジュールのあるESP8266を登録しておき、音声にてTVや照明をつけたり消したり、場合によっては音声を上げたり下げたり、チャンネルを変えたりします。
リモートする本体はEchoDogのアレクサに任せます。
⬇︎こんな感じ
alexaは他のAIよりも2019年現在最も優秀です。
このalexaを使って”アレクサ TVつけて”と言うとEchoDogが音声を認識してESP8266が赤外線信号を出して実際にTVを付ける、また”アレクサ 電気つけて”と言えばEchoDogが音声認識してESP8266が赤外線信号を出して電気を付けたり消したりするといった具合に家電をリモート操作する予定です。
赤外線リモートする機器の赤外線解析から
ESP8266で家電をリモートするにあたって、リモートする赤外線の解析を行わなければなりません。
TVでもメーカーの違いにより赤外線の信号に違いがあるからです。
今回は赤外線リモコンに対応している照明とTVをリモートする予定で赤外線解析を行います。
赤外線解析の実際
赤外線を解析するのもESP8266で可能です。
赤外線受信のライブラリーをarduinoにインストールするのと赤外線受信素子だけがあれば解析が可能になります。
受信素子について
赤外線受信素子ですが、今回は下記のものを買いました。
Amazonで売っていためっちゃ安い素子です。
5個入りで300円でした。prime会員なんで送料無料でゲット!
無茶苦茶安いです。
型番にはHX1838とAmazonでは説明されていますが、素子の背面にVS 1838Bと刻印されているので、それを検索するとデータシートなどが見つかりました。
中国のデータシートが見つかりました。
秋月で110円で売られている赤外線モジュールと大して変わらない事が判明。
かけられる電圧はMAXでも5.5Vなので、3.3VのESP8266でも余裕で使えます。
足のピンアサインは向って右から電源、真ん中がGND、一番左が信号ということがわかりました。
これで赤外線が解析できます。
赤外線解析の実際
赤外線リモコンの解析にもESP8266を今回は使いました。
arduinoではIRremoteというライブラリが存在します。
今回はこれをESP8266で使用したいので、ESP8266用に書き換えたライブラリを使用しました。
世の中には便利なライブラリを作るかたがおられるんですね。
その名もIRremoteESP8266です。
IRremoteESP8266ライブラリのインストール
①まずは上記リンクからIRremoteESP8266をdownroadします
2019年7月現在の最新バージョンは2.6.4になってます。
②downroadしたらzipファイルをarduinoのライブラリとして読み込ませます。
今回はmacで作業しましたが、windows版のarduinoIDEでも同様の操作です。
zipファイルは解凍せずにそのまま使います。
スケッチのライブラリをインクルード→.ZIP形式のライブラリをインストールを選んで、ダウンロードしたzipファイルを選ぶだけです。
ESP8266と赤外線受信モジュールの結線
アマゾンで買った激安ESP8266の回路図は↓です。
IRremoteESP8266のライブラリでは赤外線受信モジュールからのoutoput(SIGNAL)を上記ESP8266のD5ポートに接続すればうまくライブラリが動きます。
vccは3.3Vと書かれているところへ
GNDも同様にGNDへ繋ぎます。
signalはライブラリ上では14番ポートへと決められています。↓
NodeMCUボードではD5がそれだと書かれているのでその通りにD5に接続する事にします。
回路図はこちら↓
信号の受信と解析について
回路も組めたらあとは、コントロールしたい赤外線リモコンの任意のボタンの赤外線コードを読み込むだけです。
arduinoIDEを起動してスケッチ例からIRrecvDumpV2というのを選びます。↓
これだけです。
これでESP8266に上記ライブラリを変更する事なく書き込みます。
うまくいったら、そのままarduinoIDEのツール→シリアルモニタを起動します。
シリアルモニタを起動したら、赤外線モジュールに向けてコントロールしたい機器のリモコンボタンを押すだけです。
今回はTVの電源ボタン、チャンネル切り替えボタン、音量ボタン、1ch〜11chの各チャンネルボタンを解析しました。
arduinoIDEは入力待ち状態なので、リモコンボタンを押せば(赤外線を受信すれば)すぐに反応し、赤外線の情報がコードとして解析されます。
下図のCodeと書かれている部分が赤外線のデータになります。
このCodeに書かれているデータとEncodingに書かれている情報が重要になります。
リモコンで操作する家電をコントロールする場合に使用するので、Encodingの文字列とCodeをメモ帳などにボタンの種類ごとにわかるように記載しておきます。
これで激安ESP8266(alexa経由で)で家電を音声操作してみる ~赤外線解析編~は終了でーす。
次回は実際にESP8266のwifiモジュールを使用し今回解析した赤外線送信パーターンを利用した家電の音声コントールを構築していこうと思います。
なんせ素人の私ができる事なので簡単です。
全て、ライブラリが存在するので何一つ難しい事はありません。