
Amazon Echo と ESP8266 で スマートホーム ―電気スタンド制御―
Amazon Echoを購入してから、いろいろ活用しているこの頃の我が家。Amazon Music で音楽を楽しんだり、料理時のタイマーや起床時のアラーム、ジョイサウンドのスキルでお家カラオケごっこなど大活躍です。長女ちゃんは算数の宿題(習いたての割り算)の答えを聞いたり。。。
以前、ESP8266と赤外線LEDを使ってテレビをEchoでコントロールできるようにしました。
今回は電気スタンドを制御できるようにしました。就寝前とか一々立ち上がって消すの面倒だし。。。。
かといってスマート電球は高いし。。。うん!作るしかない!
目次
構成
部品
組み立て
スイッチをとってリレーを挿入!
筐体を戻してESP8266とリレーを接続して完成。
ESP8266はUSB電源アダプタで電源供給して、電気スタンドの電源コードは改造して作ったスマートホーム電源につなげます。
Arduinoコード
テレビ制御の時と同様に以下のESP8266-Alexa連携ライブラリをありがたく使用させていただきESP8266をスマートホームデバイスにしてAmazon Echoと繋ぎます。
https://github.com/witnessmenow/esp8266-alexa-wemo-emulator
ZipをダウンロードしてArduinoのメニュー[スケッチ]→[ライブラリのインクルード]→[.zip形式ライブラリをインストール…]でダウンロードしたファイルを指定してインストールします。
インストールしたライブラリの以下のexampleコードを参考にプログラミングしました。
Arduinoメニュー[ファイル]→[スケッチ例]→[Esp8266AlexaWemoEmulator]→SingleSwitch.ino
“電気”というスイッチをつくってオンコールバックとオフコールバックでIO2ピンのHigh/Lowでリレーを制御します。
Amazon Echo連携
ESP8266で生成したスイッチデバイスをEchoに連携します。連携にはスマホアプリAmazon Alexaを使用します。
アプリのスマートホームをクリックします。
ESP8266を起動した状態で”デバイスを追加”をクリックすると数十秒でESP8266で生成した電気スイッチが検出されます。
この状態で
「アレクサ、電気つけて」、「アレクサ、電気オン」
「アレクサ、電気消して」、「アレクサ、電気オフ」
でそれぞれONコールバックとOFFコールバックが実行されリレーがON/OFFされて電気スタンドを制御できます。
動作
よっしゃ!これで寝ながらにして照明消せるぜ!
こうなってくると蛍光灯とかも制御したくなるなぁ。。。。
追記
2019/9/10
alexa-wemo-emulator が動かなくなってしまったので fauxmoESP に変更しました。