Wrote some code to monitor apartment door lock status and show on web and alert by email.
先日、ドアスコープカメラ + ドア錠監視システム(ハード編)と称して、玄関に監視カメラと施錠チェック用のリードスイッチを取り付けました。しばらく忙しくてソフトを書けなかったのですが、まずは施錠チェックのソフトから書いてみました。仕事とはあまり関係なくて、ま、日曜大工といったところです。
プログラムは、以下の 3つから構成されます。データベースには Elasticsearch を使います。あと、最近 Docker を勉強しているので、それも活用してみました。
- Raspberry Pi 上で動く監視プログラム
リアルタイムで施錠状態をモニタして、解錠や施錠のイベントをデータベースに書き込みます。Python で書いています。 - Docker コンテナで動く、ウェブサーバープログラム
Python + Flask で書いてます。Elasticsearch に問い合わせて、施錠状態、および最後に更新があった時刻を表示します。 - 別の Linux サーバー上の cron から起動される、メールによるアラート通知プログラム
これも Python で書いています。一定時間以上ドアが解錠されたままになっていると、メールで通知が来ます。
コードは割愛させて頂くとして(Elasticsearch と Flask が分かれば、半日かかりませんよね)、結果だけレポートさせて頂きます。在宅中も外出中も、ウェブブラウザで施錠状態を確認できます。じゃん。
これでもう、「あれ、鍵をちゃんとかけてきたかな?」と悩まずに済みますね! 今日はここまで。