コンピューター好きのブログ

主にコンピューター・ラズパイと電子工作・オーディオ関連の記事を書いています。

Rapberry Piを使って照明の自動ON/OFFをしてみました

今日、カミさんが突然、リビングの照明を決まった時間に点けたり消したりできないか?と言い出しました。

どうやら旅行などで家を空けている間、留守であることを周囲に悟られたくないようです。

最近の照明器具はそのような機能が付いたものもあるようですが、我が家のリビング照明は15年以上前のもので、そんなハイテク機能はありません。

 

ちょっと面倒だなと思いましたが、「できなければいいんだけど~」と言われると意地でも実現したくなるのが負けず嫌いの性。やってみようと思い立ちました。

 

幸い我が家のリビング照明は赤外線リモコンに対応していますので、下記記事に書いた仕組みを応用し、Raspberry Piから赤外線信号を飛ばすことで照明のON/OFFができると考えました。

www.toomath.net

 

それでは、やってみましたのでご紹介したいと思います。

 

 

Raspberry Piで照明の赤外線リモコン信号を記憶する

今回、すでに照明の赤外線リモコン信号は記憶済みでしたので省略しますが、普通は下のURLに記載していただいているようにirrecordというコマンドで行えます。

https://qiita.com/nomunomu0504/items/8f47d97766c69a6bd6b1

ただ、我が家の照明用リモコン(DAIKO製)はirrecordで赤外線リモコン信号を認識してくれなかったので、下のURLに記載していただいている方法で記憶しました。

https://qiita.com/_kazuya/items/62a9a13a4ac140374ce8

 

Raspberry Piから照明に赤外線リモコン信号を送信してみる

照明のリモコンを light、そのON/OFFボタンを onoff で記憶してありましたので、以下のコマンドで赤外線リモコン信号を飛ばしてみると。。無事照明の制御ができました!

irsend SEND_ONCE light onoff

 

決まった時刻になったらRaspberry Piから照明をON/OFFするように設定する

カミさんからは、19:00になったら照明を点け、22:00になったら消すようにして欲しいという要望だったので、cronを使って先のコマンドを実行することにしました。

まず、上記のコマンドを実行するシェルを /home/pi/remocon/light_onoff.sh として作成し、次に/etc/crontabを編集して下の2行を追加しました。

00 19 * * * root /home/pi/remocon/light_onoff.sh
00 22 * * * root /home/pi/remocon/light_onoff.sh

これだけでOKでした。

なお、cronが動いているか否かは下記コマンドで確認できます。

sudo systemctl status cron

「Active: active (running)」と出力されれば動いています。

動いていなければ、下記コマンドで起動する必要があります。

sudo systemctl start cron

さらに、Raspberry Pi起動時に自動で起動するようにするには、下記を実行します。

sudo systemctl enable cron

 

赤外線LEDの向きを調整する

最後に、赤外線リモコン信号を送信する赤外線LEDを照明に向けるため、手近にあった空きペットボトルを活用し、以下のような感じになりました。これで完成です!

見た目かなりしょぼいですがちゃんと動いていますよ~。

赤外線LEDの向きをペットボトルで調整したところ

赤外線LEDの向きをペットボトルで調整したところ