外出先からの操作

外出先から操作する方法として、以下の 2 つが考えられます。

  1. 自宅用に固定 IP を取得し、外部から自宅内 LAN にアクセスできるようにする。
  2. 中継用の外部 Web サーバを利用する

1 の方法は自宅内に外部からの侵入を許すので、セキュリティ上の リスクがあり、固定 IP を取得するのに費用がかかります。

ここでは、2. の方法を紹介します。 サンプルプログラムへリンクしておきますので、 自分用に改造してお使い下さい。

  1. 操作用ページ を作る。ただしこのページの url は他に知らせない秘密の url とする。
  2. そのページで on/off などのボタンを押したら、 CGI プログラムを起動し、 サーバー内のファイルに「命令と時刻」を記録する。
  3. そのファイルの url に自宅のラズパイからアクセスする。cron を使って アクセス用プログラム を 1 分に 1 回起動する。そのプログラムは指示に従ってエアコンを操作する。

remote.py はデバッグ用に print で情報を書き出します。 cron によっては cron から実行したファイルが標準出力に 文字を書き出した場合、それをメールします。その場合、 1 分おきにメールが発信されることになってしまいます。 そのような cron の場合は print 文をコメントアウトしてください。

上記の方法では、秘密の url を知られてしまったら、 だれでもエアコンの操作ができてしまいます。 それを防ぐには、以下のようにすればよろしい。

上記のサンプルプログラムは (1) 操作用ページ (html)  (2) CGI プログラム (3) 命令記録用ファイル  を同一のディレクトリに入れる前提で書いています。 以下のようにします。

  1. (1) を /~pi/dir1 (3) を /~pi/dir2 のように 別のディレクトリに入れる。(2) はどちらに入れてもよい。
  2. /~pi/dir1 はパスワード認証つきのページにする。 ディレクトリにパスワードを設定したら、それ以下の全ての ディレクトリに適用されるので、dir2 は dir1 の下に来ないように する。/~pi/dir1/dir2 としてはいけない。

トップにもどる