読者です 読者をやめる 読者になる 読者になる

もみあげあしめ

組み込みとかIoTとか、いろいろ

【ネタ】自動おかえりシステムの改修

ネタ シェルスクリプト Philips Hue Python IoT Fitbit BLE Raspberry Pi

自動おかえりシステムに Philips Hue のランプ自動点灯・消灯システムを追加した。

f:id:shima_nigoro:20160430224712p:plain:w100f:id:shima_nigoro:20160605175905p:plain:w100f:id:shima_nigoro:20160529001941p:plain:w100

暗がりの中から「おかえり」と言われるより、電気が付いていたほうがいいはずです。
きっと、そうに決まってます。

たぶん…。

#先週のたわごとは消しました

続きを書きました。

ハードウェア構成

ソフトウェア構成

利用ライブラリ

pip が使えなかった方は下記コマンドでインストール
#ちゃっかりcurlもインストールしていますが

sudo apt-get install curl
sudo curl -kL https://bootstrap.pypa.io/get-pip.py | python

※環境によってはエラー出るかも知れませんが、その時は管理者権限で実行してください。

追加要求・仕様(赤字)

  • 出かけてから帰ったときに、「おかえり」と音声を流す
  • 家に帰って1分以内に「おかえり」と言う
    • 「おかえり」と言う時刻が17時~23時の場合のみ、Hueランプの電源を入れる。*1
  • 家を出て15分以上経過した場合は出かけたと判断する
    • 出かけたと判断した場合は Hue ランプの電源を切る。
  • 「いってらっしゃい」は言わない
  • 家にいる間は「おかえり」と言わない
  • エラー発生時の処理を修正する

スクリプト

下記 3 つのスクリプトを用意した。

  1. 検出+判定用スクリプト
  2. 音声読み上げ用スクリプト
  3. Philips Hue 操作用スクリプト

検出+判定用のスクリプト

HCI Tool ver 5.23以降、Advertise Packet を一度受け取ると、それ以降はAdvertise Packet を受けても
無視するような仕組みになったっぽい?#おかげで複数回検出で精度上げれなくなった。

使い方

・cron に設定する(『crontab -e』で追加)

* * * * * sh /home/pi/welcome_back.sh

効能

  • 部屋が少し明るくなります。
  • 電気の無駄遣いが減ります。

*1: 深夜の誤爆を防ぐため