既設エアコンをPICNICでインターネット対応させて携帯から操作

Last-modified: 2016-03-27 (日) 21:22:01

↓この下の方に掲載の内容は古い方のシステムです。
いまどきの環境にも適用し易い新しいシステムはこちら(2014-10-23追加)あるいはこちら(2011-8-17追加)です。最近のエアコンを携帯からオン・オフするシステムです。
↓下のシステムは有線リモコン式の古いエアコンを対象として構築した例なので最近の状況に合っていない面もあります。↓下のシステムの大部分を活かしたまま、最近のエアコン環境に適合させた構築例がこちらです。ただしこちらのページでは説明の一部を省略しているので、適宜本ページの方も参考にして下さい。(2014-10-23追記)さらに(Raspberry Piで)リニューアルしたシステムがこちら
あと、私は本ページ、このページとは別口で、市販キットを一切利用せず、全部品を自分で集めて作ったネットワーク接続遠隔スイッチのページを設けています。そこにはPICNICを外部からアクセスする場合にも役立つポイントも載せています。

 
 
 
 
 
 
 
 
 
 
 
 

(2010-12-30)4年余りぶりに更新

初出 2006-9-16
最終更新 2013-3-19
製作時期 2005秋
本ページはPICNICを応用した簡単な実用システム(工作)の構築例です。
記述することがらが多いので、各部の説明は簡略化しています。もっと詳しい説明が必要であれば要望を下さい。
 

(2010-12-30追記)本ページで紹介しているシステムで操作しているエアコンは相当に古いものです。最近のエアコンには標準で付いていると言っても過言ではないHA(Home Automation)端子(JEM-A端子とも呼ばれる)は付いていませんでした。なのでHA端子に相当する機能を自前で設けているわけです
自宅のエアコンを携帯からON・OFFしたい」と考えておられる方は、まず、「自宅のエアコンにHA端子が付いているか」を確認してみて下さい。HA端子があれば、自分で電子工作しなくても、いろいろな市販品を使って機器を遠隔からON・OFFできます。ただしHA端子は少し古い10~15年前頃のエアコンなんかだと上位機種にしか付いていないと思います。

システム構成図

remote-sys_1_s.png

  • ルータ兼FireWall兼WebサーバではPICNICの画面を携帯向けに変換するWebサーバ(PICNICのWebサーバのラッパー)を動作させています。
  • 実際にはFirewallはVPNゲートウェイにもなっていてOpenVPNを動作させています。
  • 構想時点ではここここへの対応が技術的に不確かでしたので、本格的にとりかかる前に検証を済ませておきました。
  • フォトトランジスタを余分に購入したので後でこれこれを作りました。

トグル式の電源スイッチを持つエアコンをリモートから操作する方法

(2016-3-15追記)この項は10年くらい前に書いた記事で、LEDの監視は単純にON・OFFのみです。色や点滅速度まで検出する例がこちらにあります。

 

トグル式(ボタンを押す度に交互にONOFFの状態が入れ替わる形式)の電源スイッチには"ON","OFF"のステータスがなく、スイッチやリレーの単純な開閉で電源のONOFFを管理できません。そのままではリモートから電源の状態を管理することは困難です。

 

赤外線インターフェースの有無に関わらず、インターネットに対応していないエアコンの電源スイッチはトグル式が殆どで、設置後の改造でリモートからONOFFする為には、電源ステータスLEDの状態を検出してフィードバック制御するしか方法はないと思います。(エアコン自体の大掛かりな改造を避けたいのであれば)

 
フィードバック制御のケース
人間がおこなう指令指令時のパワーLEDの状態処理
ONパワーLEDが消灯しているトグル処理をおこなう
ONパワーLEDが点灯している何もしない
OFFパワーLEDが消灯している何もしない
OFFパワーLEDが点灯しているトグル処理をおこなう
 

フィードバック制御はマイコンを使うのがやはり簡単でしょう。PICNICに加えてフィードバック制御をおこなう補助基板を使うことにしました。

 

PICNICはこれで改造し、補助基板にプッシュスイッチを取り付けて、機器をローカルで直接ONOFFするインターフェースも設けました。

各部の写真

コントローラとエアコン全2台のうちの1台

remote-sys_2_s.jpg
これを使っているので、コントローラに設けたスイッチで直接ONOFFすることもできます。

コントローラ

remote-sys_3_s.jpg
右下はPICNIC、左側は補助基板、右上はEthernetコンバータ

 

補助基板についてはこちら

エアコンの有線リモコン部の改造

remote-sys_4_s.jpg

  • 電源スイッチ部を"乗っ取っり"ました。
  • 半田づけして外部に伸ばした2本のリード線を短絡すれば電源がONOFF出来ます。(言い訳になりますが、立った姿勢で鉛フリー半田を使ったので思いっきりイモ半田になってます。)
  • リモコン自体の電源・タイマースイッチは操作できないようにカバーしています。(たとえ操作してもコントローラが強制的に変更するので役に立たないから)

エアコンの電源ステータスLEDの状態の検出

remote-sys_5_s.jpg
光センサ(フォトトランジスタTPS615)をエアコンの電源ステータスLEDに向けて取り付けました。(電源ステータスLED自体は覆われて見えません)

換気扇のONOFF

remote-sys_6_s.jpg
換気扇全2台のうちの一台

 

長い配線を伝ってやってきたTTLレベルの電流で秋月のSSRキットをONOFFします。

携帯画面(PICNICのWeb画面をラップしたもの)

remote-sys_7_s.jpg
左が携帯画面、右は同じ画面を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の状態を表すフォトトランジスタ出力の増幅現在の仕様では増幅の必要はありませんが、当時は将来改造することを考慮して組み込みました

補助基板の回路図

remote-sys_circt_s.png
(R11が15KΩなのに対し、R12が6KΩである理由)
エアコンBは補助基板から十数m離れており、PTR2とTR2の間には実質的には抵抗が存在する状態です。
その為にR12の値を小さくしないとエアコンの状態を検知することができませんでした。
また同じ理由でエアコンB側は検知能力自体が低く、エアコンの半透明の化粧カバーに穴を開けてLEDの出力光を直接光センサで受けないと検知することができませんでした。

 

BSch3V形式(zip圧縮)


補助基板のソース

MPASM用
fileremote-sys.asm

 

著作権は放棄します。ていうか、私にとって初めてのPICプログラムです。
著作権と言えるほどのレベルのものではありません。でも以外に可読性が良かったりします。

携帯用のWebインターフェース(PICNICのWeb画面のラッパー)

euc-jp、unix形式テキストファイルをzip圧縮

cgiという名前ですが、実際にはmod_perlで使用しています。

ルータ兼FireWall兼Webサーバの構築

既に他のサイトに豊富な情報があるので省略します。

 

自作のこれを使用しています。
(2013-3-19追記)このWebサーバ(正確には新システムのサーバ)は現在、「DD-WRT+optware」で構築しています。以前はCFリードオンリー運用のx86 Linuxでした。その前がこれでした。

 
 

ご要望、ご意見、質問を下のフォームにどうぞ
(でもここより、掲示板書き込みフォームのページに書いて頂いた方が気づき易いと思います。)