この記事は Raspberry Pi Advent Calendar 2016 20日目の記事です
1年前に RaspberryPi2 で室内の温度を取ってましたが、年内で単身引っ越すことになったため、家族を見守るカメラとして生まれ変わることにしました。
システム構成
- Raspberry Pi 2
- motion(動体検知目的)
- Slack
- LINE
- GrowthForecast(グラフ作成、デバッグ目的)
おおまかな流れ
- Webカメラを接続したRaspberryPiを、毎日人がいるところが写るように設置
- motion で動体検知する
- motion が検知して撮影した写真ファイルをチェックして最終更新日時を保存
- 7,19時に「最終更新日時」をチェックして、直近1時間以内に反応があるかどうかを Slack or LINE に流す
つまり、「普段そこにいるはずの家族がいないのはおかしいんじゃない?」と投げるだけのシステムです
万が一倒れてしまったりすると動体検知しないため「いない」と判別されます
使ったWebカメラはこちら
LOGICOOL ウェブカム HD画質 120万画素 C270
- 出版社/メーカー: ロジクール
- 発売日: 2010/08/20
- メディア: Personal Computers
- 購入: 21人 クリック: 267回
- この商品を含むブログ (20件) を見る
参考
はじめてのRaspberry PIで監視カメラを作ってみた。 - Qiita
感想
セキュリティとプライバシー
- カメラによる画像はプライバシーの塊なので、ssh などで入らない限りはファイルが見えないし、定期的にファイルは削除している
- (まだやってないけど)画像を要求するときは Slack や LINE からBotに反応させるようにするとセキュリティ問題をプラットフォームに丸投げできてよさそう
テストの問題
- motion の動体検知のしきい値(threshold)をどの程度にすべきかがカメラの位置、被写体に依存するのがつらい
- 基本的に外出してなければ「いる」のが普通なのでリアルな環境だとテストしづらい
- GrowthForecast に「いる」or「いない」を吐き出して後で追えるようにしたところ捗った
- 多少は「いない」と誤報が出るくらいでもよさそう
見守りシステム、機械的にやっても生活リズムの変化に対処仕切れないので、関係者のLINEグループに投稿して、あとは人同士のコミュニケーションに促すほうがシステム上もコミュニケーション上もいいんじゃないかと思った
— 東京都民 (@kheiakiyama) 2016年11月20日
微妙なバグ
見守りシステムで微妙なバグが見つかった。
— 東京都民 (@kheiakiyama) 2016年12月6日
5分ごとに生活反応あればその時間をファイルに記録するジョブと、12時間ごとにファイルをチェックして直近1時間以内に反応なければSlackに投げるジョブ。おそらく前者と後者がほぼ同時に実行され、ファイルを削除、記録の間に後者のジョブが走って、ファイルがない瞬間の挙動をした。
— 東京都民 (@kheiakiyama) 2016年12月6日
バッチ職人への道は険しい
あとがき
年末年始の休みでちょっとしたことをするには RaspberryPi は手頃でよいです
Raspberry Pi3 Model B ボード&ケースセット (Element14版, Clear)-Physical Computing Lab
- 出版社/メーカー: TechShare
- メディア: エレクトロニクス
- この商品を含むブログ (3件) を見る