Ras pi + 磁気スイッチ + WEBカメラで玄関の出入りを監視する。
こんにちは。
【冬休みの工作】Ras pi+Slackで室温・湿度・気圧を呟かせてみる。
https://king.mineo.jp/my/denjin/reports/45098
Ras pi+IFTTT+Googleスプレッドシートで室温・湿度を記録する。
https://king.mineo.jp/my/denjin/reports/45668
これらは軽い「前置き」でラズパイやSlackの動作確認みたいなもんでした。本来やりたかったことは磁気スイッチ(マグネットスイッチ)によるドアオープン検出です。
磁気スイッチをようやく入手したので早速工作に取り掛かります。磁気スイッチとは2つに分かれたスイッチで磁石が仕込んであってお互いを近づけるとON、離すとOFFになるものです(またはその逆のものもある)。これをドアフレームとドア扉に付けておくと、ドアが閉まったらON、ドアが開いたらOFFになるわけですな。
この状態をラズパイのGPIOに監視させます。GPIO端子にスイッチをつないで、エッジ検出コールバック関数を使ったプログラムを作り、スイッチがOFFになったら何かを実行する、という状態でデバッグを行います。
平行して、WEBカメラをUSBに接続します。ロジクールのC270が安価で安定しているということで、これを使います。ラズパイゼロWとカメラは100均で買ったケースに入れて適当に設置しておきます。fswebcamというパッケージを使えばWEBカメラで撮影ができます。ラズパイ公式のカメラモジュールより設置の点では自由度が高いのでUSBカメラの方がいいですね。
次に、最初に作った「スイッチがOFFになったら何かを実行する」のソフトとfswebcamを組み合わせて「スイッチがOFFにになったら(=ドアが開いたら)撮影する」というソフトを作り上げて、さらにSlackに連動させます。これで「玄関ドアが開いたらその時の玄関を撮影してSlackに画像をUPする」という玄関出入り監視システムが出来上がります。
私が会社にいても息子が学校から帰ってきたのが手元のiPhoneに画像通知が来ることでわかるようになりました。もちろん泥棒さんが侵入してもわかるはずです(笑)全てのドアや窓にこのスイッチを接続すると相当な防犯システムになりますが、配線の処理が大変ですね。ま、今回はこの程度にしておきましょうか。
スポットライト照明との連動とかで
玄関出入り監視システムの拡大を・・!!。
IFTTTとLINE Notifyで通知がLINEに行くようにしてもいいですし、twitterでもいい、そこは個々の環境に応じてカスタマイズしたらいいですね。
VOLT さん
スイッチ自体は保護する必要はありませんが、ラズパイのGPIOは保護したいので抵抗は入れてます。プルアップ設定だけでもいいとは思うんですけどね。
n98san-as さん
玄関照明は人感センサーでONするものがついているので、人が来ると電気は点きます。だからそっちはそっちに任せてます(そこまでラズパイにやらせることもないので)。
こんな感じに撮れてますね。息子が帰ってきたのがわかりました。
ランドセル放り出してる・・・(笑)
(この日は猛吹雪だったので彼も完全装備です)