エアコンと扇風機を完全自動でON/OFF 暑くて寝れない寝室とはおさらばだ!

ソフトウェア開発

猛暑の中いかがおすごしでしょうか?@HIROCASTERでございませう。

スポンサーリンク

寝室のエアコンつけ忘れ問題

夏になると寝室が暑くて寝れません。しかたないので、1時間前からエアコンをつけて寝室の温度を下げていました。
ですが、1時間前にエアコンを付けるのをついつい忘れてしまうことがありました。
寝る気まんまんで寝室にいっているのに、暑くて涼しくなるまで耐えなければならないのは非常に辛い。1時間前の自分を恨みます。
そんな問題を解決してみました。

タイマー付きエアコンリモコンでつけ忘れを対策

そこで、タイマー付きのエアコンリモコンを使って対策しました。


このリモコンは毎日指定した時間にON/OFFを繰り返すことができます。

  • 寝る1時間前にONを設定
  • 起きる時間にOFFを設定

そうすれば、寝室のエアコンを事前にONしにいく手間がなくなります。ついでに起床してエアコンのOFFし忘れたなんてことも防ぐことができます。毎日寝室の温度調整を完全に自動で管理してくれるようになるのです。

サーキュレーターもHack

今年はあまりに猛暑のためサーキュレーターの役割を兼ねて、縦横に首振りができる扇風機を購入しました。


横だけでなく縦にも空気をかき回してくれるので、非常に便利です。
どうせなら、エアコンが自動的にONになるのであれば、サーキュレーターもONにしたいところです。

IRKitで解決

エアコンとサーキュレーターを指定した時間にON/OFFする環境をIRKitで構築しました。


IRKitは学習リモコンのようにリモコンの赤外線信号を記録して、iPhoneやiPadからアプリを操作することによって、学習した信号を送信することができます。
こちらの動画を見るとIRKitが簡単にわかると思います。

IRKitの非常に便利な特徴的な機能として、販売元のサーバと連携して提供されているAPIを利用することにより、インターネットから学習した信号を送信することができるのです。iPhoneなどのアプリからは、このAPIを利用して自宅付近に近づいてきたらエアコンをONにする。なんてことが実現できています。
RubyGemsのirkitを利用することによって、CLIからRubyを利用して信号を学習、送信もできます。
IRKitは複数の機器の命令を学習することができるので、エアコンとサーキュレーターの信号を学習すれば、インターネットを経由して寝室のエアコンとサーキュレーターをON/OFFすることができるようになります。
最近流行りのLoTというやつになります。この機能を利用して環境を構築することができました。
指定した時間にJenkinsサーバにてgemのirkitが実行され、IRKitに対して、エアコンとサーキューレターの電源をON/OFFされます。
Jenkinsサーバがすでにあったので、我が家ではJenkinsでIRKitへのトリガーを処理を実施しましたがIFTTTとIRKitは連携するようなので、手軽なサーバがないひとはIFTTTを利用すれば同様の環境を作ることができると思います。

IRKitのLEDが眩しすぎる問題

かなり便利なIRKitですが、問題があります。LEDが眩しすぎるのです。家庭用のルーターなどと比較しても、すごく眩しい。
寝室に置いたら、このLEDが眩しくて寝られません。
こちらの動画をみると眩しいLEDが映るのでわかると思います。

IRKitのfirmwareを書き換える

IRKitはArduino互換機を利用されて制作されています。Arduinoのハードウェア設計はOSSで提供されておりArduinoのWebサイトで入手可能です。
IRKitはfirmwareが公開されているので、firmwareに手を入れることができます。
firmwareを書き換えることなどについては、すべて自己責任になります。
販売元などは保証してくれなくなるのを承知の上で、実施する人は実施してください。
firmwareのアップデート方法については公式で記述されているとおりです。
気をつけなければならないのはArduino IDEのバージョンは1.0.6をダウンロードしてくる)ことです。
1.5系、1.6系だとfirmwareをコンパイルすることができません。
IRKit待機時にLEDを光らないようにしているfirmwareはすでにforkされて公開されているものを利用します。
farmwareを書き換える手順は

  • Arduino IDE(ver 1.0.6)をインストール
  • irkitをマイクロUSBでMacとつなげる
  • Arduino IDEを起動
  • ツール -> マイコンボード -> “Arduino Leonardo”
  • Tools -> Serial Port -> “/dev/tty.usbmodemXXXX” (XXXXは環境によって違う)
  • Forkされたfarmware をダウンロード
  • device/firmware/src/IRKit/GSwifi.cpp 1096行目にあるXXXXXXXXXXの部分をWifiのアクセスポイントのパスワードに書き換え
  • 同ディレクトリのversion.templateをversion.cにリネーム
  • IRKit.inoを開き左上のボタンでVerif, Uploadでfirmwareが書き換わる

farmwareを書き換える時点でリスキーではありますがLEDが待機時は光らなくなったので、眩しい問題が解決しました。
これで快適な夏が過ごせることを期待します。以上、夏休みの自由研究でした。
IRKit便利なのでお勧めです。リビング用にもう1台購入することを検討しています。

タイトルとURLをコピーしました