エアコンをネットから操作するデバイスを作ってみた
冷房が効いた部屋に入るときの涼しさのために、エアコンをネットから操作するデバイスを作ってみた。まあもう気付いたら秋になってしまったのですが。とりあえず完成したので、公開してみます。
動画はこちら
参考サイトやプログラム
- AVR-Ethernet - スイッチサイエンス
- tuxgraphics.org: Introduction to the tuxgraphics TCP/IP stack, 3rd generation
- RemoteIR
- ELM - 赤外線リモコンの通信フォーマット概要
- PSP IR wave viewer
AVR-Ethernetのページにのっている回路を参考に赤外線LEDを追加したものです
コードはtuxgraphics.orgのeth_tcp_client_server-4.3をベースにRemoteIRを追加したような感じになっています。
webから操作
iPhoneなどから操作出来るようになっています。これで外出先からでもエアコンのon/offが可能。
ダイキンのエアコンに対応させる
自室で使っているエアコンはダイキン製で当然RemoteIRは対応していません
テレビのリモコンのフォーマットはすでにいろんなサイトで情報が載っていますが、エアコンのリモコンはテレビとは違うもフォーマットなので、いくら調べても情報が出てきません。
そこでまずリモコンから出ている信号の解析から始めました。ロジックアナライザがあれば簡単に解析できそうですがロジックアナライザは持ってないので、他に解析する方法はないか調べたらPSP-1000で動作するPSP IR wave viewerを発見。これを使ってリモコンの信号の解析をしました。
これをPCに取り込んで信号を解析してみると、テレビのリモコンのフォーマットに似ていた。フォーマットは似ていたのでRemoteIRをちょっと改造してリモコンがら出ているデータと同じ信号がでるようにしてやるとうまくエアコンが動いてくれました。これで赤外線系は完成。メーカーによってフォーマットが全然違うから他のエアコンに対応させるのはちょっと大変だ。
ソースコードはGithubにUPしてみました。
https://github.com/strobo/eth_air_controller
ちなみに開発環境はFedora15 avr-gccのバージョンは4.5.3
あとMake: Tokyo Meeting 07行きたい