Google homeで「エアコンつけて」をやってみる


何を作ったのか

注意)少し音が小さいです

使ったもの(ハードウェア)

仕組み

作り方(参考にしたサイト等)

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にリクエストを送るスクリプトを書いて完成です.

参考になった記事

node.jsを使ってWebからエアコンを遠隔操作できるようにしてみた - Qiita