既設エアコンをPICNICでインターネット対応させて携帯から操作 - Disklessfun’s Wiki*
Last-modified: 2012-01-08 (日) 22:45:38
↓この下の方に掲載の内容は古い方のシステムです。
いまどきの環境にも適用し易い新しいシステムはこちら(2011-8-17追加)です。最新のエアコンを携帯からオン・オフするシステムです。
↓下のシステムは有線リモコン式の古いエアコンを対象として構築した例なので最近の状況に合っていない面もあります。↓下のシステムの大部分を活かしたまま、最近のエアコン環境に適合させた構築例がこちらです。ただしこちらのページでは説明の一部を省略しているので、適宜本ページの方も参考にして下さい。
(2010-12-30)4年余りぶりに更新
初出 2006-9-16
最終更新 2011-1-30
製作時期 2005秋
記述することがらが多いので、各部の説明は簡略化しています。もっと詳しい説明が必要であれば要望を下さい。
(2010-12-30追記)本ページで紹介しているシステムで操作しているエアコンは相当に古いものです。最近のエアコンには標準で付いていると言っても過言ではないHA(Home Automation)端子(JEM-A端子とも呼ばれる)は付いていませんでした。なのでHA端子に相当する機能を自前で設けているわけです。
「自宅のエアコンを携帯からON・OFFしたい」と考えておられる方は、まず、「自宅のエアコンにHA端子が付いているか」を確認してみて下さい。HA端子があれば、自分で電子工作しなくても、いろいろな市販品を使って機器を遠隔からON・OFFできます。ただしHA端子は少し古い10〜15年前頃のエアコンなんかだと上位機種にしか付いていないと思います。
システム構成図
何が鉄で使用するペイント
- ルータ兼FireWall兼WebサーバではPICNICの画面を携帯向けに変換するWebサーバ(PICNICのWebサーバのラッパー)を動作させています。
- 実際にはFirewallはVPNゲートウェイにもなっていてOpenVPNを動作させています。
- 構想時点ではこことここへの対応が技術的に不確かでしたので、本格的にとりかかる前に検証を済ませておきました。
- フォトトランジスタを余分に購入したので後でこれとこれを作りました。
トグル式の電源スイッチを持つエアコンをリモートから操作する方法
トグル式(ボタンを押す度に交互にONOFFの状態が入れ替わる形式)の電源スイッチには"ON","OFF"のステータスがなく、スイッチやリレーの単純な開閉で電源のONOFFを管理できません。そのままではリモートから電源の状態を管理することは困難です。
赤外線インターフェースの有無に関わらず、インターネットに対応していないエアコンの電源スイッチはトグル式が殆どで、設置後の改造でリモートからONOFFする為には、電源ステータスLEDの状態を検出してフィードバック制御するしか方法はないと思います。(エアコン自体の大掛かりな改造を避けたいのであれば)
フィードバック制御のケース |
人間がおこなう指令 | 指令時のパワーLEDの状態 | 処理 |
ON | パワーLEDが消灯している | トグル処理をおこなう |
ON | パワーLEDが点灯している | 何もしない |
OFF | パワーLEDが消灯している | 何もしない |
OFF | パワーLEDが点灯している | トグル処理をおこなう |
フィードバック制御はマイコンを使うのがやはり簡単でしょう。PICNICに加えてフィードバック制御をおこなう補助基板を使うことにしました。
PICNICはこれで改造し、補助基板にプッシュスイッチを取り付けて、機器をローカルで直接ONOFFするインターフェースも設けました。
連動疲労マット
各部の写真
コントローラとエアコン全2台のうちの1台
これを使っているので、コントローラに設けたスイッチで直接ONOFFすることもできます。
コントローラ
右下はPICNIC、左側は補助基板、右上はEthernetコンバータ
補助基板についてはこちら
エアコンの有線リモコン部の改造
- 電源スイッチ部を"乗っ取っり"ました。
- 半田づけして外部に伸ばした2本のリード線を短絡すれば電源がONOFF出来ます。(言い訳になりますが、立った姿勢で鉛フリー半田を使ったので思いっきりイモ半田になってます。)
- リモコン自体の電源・タイマースイッチは操作できないようにカバーしています。(たとえ操作してもコントローラが強制的に変更するので役に立たないから)
エアコンの電源ステータスLEDの状態の検出
光センサ(フォトトランジスタTPS615)をエアコンの電源ステータスLEDに向けて取り付けました。(電源ステータスLED自体は覆われて見えません)
換気扇のONOFF
換気扇全2台のうちの一台
長い配線を伝ってやってきたTTLレベルの電流で秋月のSSRキットをONOFFします。
携帯画面(PICNICのWeb画面をラップしたもの)
左が携帯画面、右は同じ画面をPCからアクセスした結果
電気スイッチをインストールする方法
PICNICの改造
PICNICが手元で操作できない問題に関しては構想時から、PICNICでAC電源をON/OFFに掲載されているPICNICをネットワークを介さずに手元でも操作できるようにするパッチを使おうと思っていました。
エアコンを少々まわりくどいロジックでONOFFするので、構想時には、もしエラー(定めた回数、エアコンのONOFFをリトライしても全て失敗した状態)が発生した場合の処理も気になりました。
本当はPICNICにエラー処理機能を追加したかったのですが、当時のPIC初心者の私ではそれは敷居が高く断念しました。
従って現在、エラー処理は補助基板内でのみおこなっており、リモート環境(携帯)側ではエラーの有無を知ることができません。ただ一年が過ぎようとする今までのところエラーは一度も発生していませんのでまず問題ないと思っています。
(2010-12-30追記)今振り返ってみるとPIC16F84AのRA2とPICNICのRB0、および前者RA3と後者RB1を直結しておき、エアコンON・OFFトグル処理のエラーを取得できるようにしておくべきだったと思います。実際には必要性がなかったにしても、システムとしての見地からするとこれをやらなかったのは不十分だったと思います。(簡単にできることなのに…)(2011-1-30追記)↑これは間違いです。手元で操作できるボタンを追加しているのでPICNICのデジタル入出力ポートは全部使いきっています。お粗末なことですがこのことを忘れていました。エラー処理をおこなうなら普通はアナログ入力ポートをデジタル入力に変更する等の種々の変更をおこなう必要があります。だから当時、エラー処理の組み込みを諦めたのでした(アナログ入力のままで� �ラー処理をするという選択肢もありますが)。まあ、もし自宅に設置していれば徐々に改造して何らかのエラー処理を組み込んでいただろうと思います。
(2010-12-30追記)手元にPIC16F877Aとピン互換のPIC18F4520を持っているので、「誰か、(エラー発生時の)メール送信機能(※)を実現(追加)したPIC18F4520用のPICNIC後方互換のファームウェアを公開してくれないかなあ」と思っています。メール送信機能はこれからの組み込み機器の存在理由になると思います。
※もちろんSMTP認証対応
補助基板の役割
エアコン電源スタータスLEDのフィードバック処理 | PIC16F84Aで処理します |
直接操作用インターフェースの提供 | PICNICをネットワークを介さずに手元でも操作できるようにするパッチを使いました |
リレー駆動 | リレーはPICで直接駆動できませんのでトランジスタで増幅してから駆動します |
電源ステータスLEDの状態を表すフォトトランジスタ出力の増幅 | 現在の仕様では増幅の必要はありませんが、当時は将来改造することを考慮して組み込みました |
補助基板の回路図
(R11が15KΩなのに対し、R12が6KΩである理由)
エアコンBは補助基板から十数m離れており、PTR2とTR2の間には実質的には抵抗が存在する状態です。
その為にR12の値を小さくしないとエアコンの状態を検知することができませんでした。
また同じ理由でエアコンB側は検知能力自体が低く、エアコンの半透明の化粧カバーに穴を開けてLEDの出力光を直接光センサで受けないと検知することができませんでした。
BSch3V形式(zip圧縮)
補助基板のソース
MPASM用
remote-sys.asm
著作権は放棄します。ていうか、私にとって初めてのPICプログラムです。
著作権と言えるほどのレベルのものではありません。でも以外に可読性が良かったりします。
携帯用のWebインターフェース(PICNICのWeb画面のラッパー)
euc-jp、unix形式テキストファイルをzip圧縮
cgiという名前ですが、実際にはmod_perlで使用しています。
ルータ兼FireWall兼Webサーバの構築
既に他のサイトに豊富な情報があるので省略します。
自作のこれを使用しています。
0 コメント:
コメントを投稿