外出先からスマホで自宅エアコンをON/OFF – ejectコマンドでCDトレイを開閉してエアコンのリモコンの電源を押す – その1

夏に向けてサーバーの熱対策としてスマホで外出先からでもエアコンを ON/OFF できるようにします。最終的には「iRemocon」「Pluto ステーション」「Arduino」や「JEM-A(HA端子)」の導入を考えていますが低価格で遊び心のある設置法があることを知ったので暫定的に導入します。
参考サイト:Ejectコマンドユーザー会

注意したいことはブラウザからの操作になるので公開サーバーに導入する場合(外出先から操作する場合は必須)、操作するサイトのページに「BASIC認証」「Digest認証」や「cgiパスワード認証」を施してセキュリティー確保をしなければなりません。でなければ誰でも自宅のエアコンを ON/OFF できるようになってしまいます。わが家では「BASIC認証」を施しました(一番セキュリティーが低い、改めて Digest認証なり、BASIC認証+SSL に変更していきたいと思います)。

【BASIC認証 および 操作画面の表示の設定】
※当サイトでのコードコピーは「”」が全角に変換されてしまうので半角に要編集※
1.任意の場所に任意の名前でディレクトリを作成。
2.作成したディレクトリ内にログイン許可するユーザー情報ファイル 「dat」 ファイルを任意の名前で作成。ファイルの作成方法は htpasswd コマンドで作成するかコマンドがない場合は、作成サイトがあるのでそちらを利用します。わが家(Vine Linux)は htpasswd コマンドがなかったので作成サイトを利用しました(「htpasswd 作成」で検索)。パスワードは暗号化されるので入力したものと違うものになります。
$> vi passwd.dat
****:********   ←サイトで作成された文字列をコピペ
   ←改行を必ずいれる
3.作成したディレクトリ内に「.htaccess」ファイルを作成。
$> vi .htaccess
<Files ~ “^\.ht”>   ←以下3行は外部からファイルをみれないようにする処理
deny from all
</Files>
AuthType Basic   ←BASIC認証を宣言
AuthName “Input your ID and Password.”   ←ログイン画面に表示させる文字列
AuthUserFile /***/***/passwd.dat   ←ユーザー情報ファイル .dat ファイルがある階層 URL でなくローカルパスで
require valid-user   ←dat ファイルに記載されたユーザーのみログイン許可
   ←改行を必ずいれる
4.ディレクトリ配下に cdtray.php ファイルを作成(任意名でも可)してコードをコピペ。コードはこちら。このサイトの画像ファイル等も同ディレクトリに配置してください。php ファイルを任意名にした場合、php ファイル内の編集が必要です。以下8行目を任意ファイル名に編集
$> vi ***.php
$redirectTo = ‘***.php’;

では URL から cdtray.php へアクセスしてみます。右はログイン後の画面。室温は UBS温度計が未導入なので取得できていません(後日導入予定 → 2013/03/10導入しました。リンク先は最後で)。CPU温度、HDD温度は「lm-sensors」「smartmontools」から取得してカスタマイズ表示させています。
この段階ではCDトレイの遠隔操作はできません。もちろんタイマー操作もできません。

【遠隔操作できるように設定】
/etc/group ファイルを編集します。
$> vi /etc/group
apache:x:48:cdrom,apache   ←追記
cdrom:x:11:cdrom,apache   ←追記
設定を反映するためサーバーを再起動。遠隔操作ができるようになりました(タイマー操作はできません。別途 at コマンドが使用できるようサーバー側の設定が必要のようですが、暫定導入なのでタイマー操作は導入しません)。以下は遠隔操作により電源ONした画面。電源状況もカスタマイズ表示させています。当サイトの左上にも表示させました(以下右画像)。
あとは検索エンジンにページを拾われないように ページURL を robots.txt に書いてもいいかもしれません(気休め程度ですが。。)。

次にリモコン側の環境を整えていきます。リモコン側の調整はこちら

2013/03/10追記:BASIC認証からDigest認証へ変更しました。こちら
2013/03/10追記:USB温度計導入で室温を測定。こちら

◆関連記事
外出先からスマホで自宅エアコンをON/OFF – ejectコマンドでCDトレイを開閉してエアコンのリモコンの電源を押す – その2

エアコン用学習リモコン K-1028E 購入

USB温度計 USB thermometer 購入 – 室温を測定する


カテゴリー: Vine Linux   パーマリンク

コメントを残す