何を作ったのか
Google Homeからエアコン操作できるようになった pic.twitter.com/mm9eYMQUeq
— 河原圭佑 / KeisukeKAWAHARA (@ktansai) February 6, 2018
注意)少し音が小さいです
使ったもの(ハードウェア)
- Raspberry Pi 約5000円 (http://amzn.to/2BozfQ4)
- Google Home mini 約3300円(セール価格) (http://amzn.to/2BowdeH)
- Google Home miniを壁掛けにするアダプタ 約1900円 (https://make.dmm.com/item/849407/)
- ESPr IR 約3000円 Switch Science製のESP-Wroom-02+赤外線モジュール等が内蔵されている開発ボード (http://amzn.to/2BopIsc)
- ラズパイ赤外線シールド(https://goo.gl/Lc4U2Q) 約700円
仕組み
作り方(参考にしたサイト等)
Firebase
以下のサイトを参考にしながら,Realtime Databaseとスマホから操作する用のwebページを作成
Firebaseの始め方 - Qiita
firebase-toolsのコマンドの使い方 - Qiita
LIRC
Ali Expressで買った700円程度のRaspberry Pi用赤外線リモコンシールドを接続して,以下のサイトを参考にしながらLIRCの環境構築
RaspberryPi3でlircを使ってリモコン化する時の注意事項まとめ - Qiita
他の家電はLIRCを使って制御できたのですが,エアコン(ダイキン製)のリモコンが特殊なパターンなのか,どの方法で試しても発光パターンの学習ができませんでした.
そこで家にちょうどあって使ってなかったスイッチサイエンス社製のESPr® IR 赤外線リモコンを使って発光パターンを学習しました.
ESPr-IR
スイッチサイエンス社の公式の手順(wiki)を見ながらこの手順通り学習させて,動作確認をしました.(※書込みにはUSBシリアル変換の書込み機が必要です)
/onと/offのwebページのリクエスト処理のところに,学習した赤外線のパターンを発光するコードを書きました.
これで同じLAN内から
curl esp_ir.local/on # エアコンをon
curl esp_ir.local/off # エアコンをoff
とするだけでエアコンのON/OFFが制御できるようになりました.
あとはRaspberry Pi上のnodejsでfirebaseのRealtime Databaseをsubscribeして,変更時にESPr IRにリクエストを送るスクリプトを書いて完成です.