【作】冷蔵庫の中を自動撮影・LINE通知システム(raspberry pi 使用)
食材を買いに行った時、『冷蔵庫に〇〇残ってなかったかな?』とか思う時ってありませんか?
そんな悩みを少しでも解決するのが、久々の今回の【作】投稿です。冷蔵庫の中を自動で撮影し、LINEで通知するシステムになります。
[土塔えんじ:ご覧の提供でお送りします]
システムの外観
冷蔵庫に設置
こんな感じです。
設置方法が養生テープという雑さ(笑)黒く長細いモノはモバイルバッテリーで、ラズベリーパイの電源です。ラズベリーパイにはカメラモジュールを設置してます。また、冷蔵庫の扉の左側に、ドアスイッチを付けているような感じです。諸々、詳細は後述しますね。
さて、動かしてみますか!・・・・と、ここで嫁のヨコヤリ。
嫁『まさか、冷蔵庫の中身をネットで晒す気???』
いやぁ、、、はい、、、、その・・・すみません。。。辞めときます(苦笑)そんな感じで、方針転換。子供のおもちゃ箱を冷蔵庫に見立てて設置してみました(笑)
おもちゃ箱(仮想:冷蔵庫)に設置。
改めて、こんな感じです。
こんな感じです。
- おもちゃ箱の上段にラズベリーパイ+カメラモジュール設置。
- おもちゃ箱の下段(冷蔵庫の野菜室を想定w)にドアスイッチを設置。
まあ、何となく形には見立て通りにはなりました(笑)ちなみに、下段には、子供のおもちゃの『シンカリオンE6こまち』が入っています(笑)
野菜室想定なら、ママゴトのおもちゃ野菜を入れておけば良かった・・・w まあそれは置いておいて、動かしてみましょう!!
冷蔵庫の中を自動撮影・LINE通知システム
こんな挙動です。
動画です。
野菜室を想定した下段には、シンカリオンE6 のおもちゃが入っていて、その写真を撮ってLINE通知されたのが分かるかと思います。
動作フロー
システムの簡単なフローはこんな感じのモノです。
- 扉を開けた時に、ドアスイッチが作動する。
- ドアスイッチの作動をトリガーに、カメラモジュールで撮影する。
- LINEで、撮影した画像を送る。
言ってみれば、これだけなのですが(苦笑)raspberry pi を使って久々に何か作ろうと思ったのがきっかけではあるのですが、カメラモジュールを購入したのでこんな形のモノを作ってみました。
そんな感じで、ポイントを1つ1つ見ていきましょうか。
ポイント
こう言ったシステムを語るのに、ポイントは3つあります。それは、入力部と演算部と出力部。制御系に詳しい方では、お馴染みかも知れません。今回、以下のような分類になります。
- 入力部: ドアスイッチ
- 演算部: ラズベリーパイ
- 出力部: カメラ + Line notify
1つ1つ見ていきましょう。
入力部: ドアスイッチ
僕の本業では結構、お馴染みなモノなのですが、ドアスイッチ。
ドアリミットスイッチ、マグネットスイッチなんぞ言ったりもします。今回は、以下のようなシステムの構成になります。
ドアスイッチA/Bとあり、ドアスイッチAにはラズベリーパイのGPIO14とGNDに接続しています。で、ドアスイッチが名前の通り、『スイッチ』の役割をするのですね。
ドアスイッチの仕組みは、マグネット+バネの組み合わせで動作するような形です。以下のような動作します。
- スイッチA/Bが離れる: スイッチOFF
- スイッチA/Bが近づく: スイッチON
具体的には、以下のような図解になります。
※あくまで参考図です。
※ドアスイッチの種類によっては、反対に、離れる:ON/近づく:OFFのモノもありますし、結線の仕方でどちらでも取れるようなモノもあります。
まずは、スイッチA/Bが離れる場合: スイッチOFF
次に、スイッチA/Bが近づく場合: スイッチON
動作的には、こんな感じの動きです。要するに、
ドアスイッチ = ドアの開閉を検知させる
ことが出来るのですね。これを利用して、冷蔵庫の扉の開閉を検知し、それをトリガーとしました。
[土塔えんじ:いったん、CMです]
演算部:ラズベリーパイ
コントローラは、お馴染みラズベリーパイ。
いやぁ、この価格で本当に色々できますよね。 作り手として本当に便利だし、面白い商品だなと思います。
今回、プログラムは、Python で書いてます。トリガーを検知すると、カメラモジュールで写真を撮り、LINE通知(Line notify)を行うシェルスクリプトを実行するだけのモノですね。20行程度の簡単なモノです。
これが、今回のコントローラになりますね。
出力部 その1: カメラモジュール
出力部と言えるかは分からないですが、ラズパイ用カメラモジュール。
まあ、ラズパイで専用のカメラモジュールですので、簡単に接続・設定できます。
出力部 その2: LINE notify
LINE notify は、スマホ端末以外からのメッセージ送信を受信して、LINE通知するモノ。LINE ID 各々で設定する必要があります。今回は、Python プログラムから送信して、LINE受信する・・という流れになりますね。
設定方法等は、割愛します。LINE notify 等でググれば、設定方法は詳細に出てきますので、興味がありましたらググって見てください。IFTTT とかにも使えるので、楽しいですよ。
別の用途にも
実際問題、冷蔵庫に対してリアルで稼働させるには、カメラ固定方法とか電源の問題とか色々あって、 かなりハードルが高いです。 ただ、以下のような用途には使用可能かな?と思っています。
防犯カメラ
留守中に玄関の扉が開いたらLINEで写真が通知される・・・そんな感じでの使用、むしろ今回の冷蔵庫より一般的な使い方かも知れない使い方ですかね。
実は・・・
最後に、少しだけ謝罪および宣伝をw
今回の作品は、ほぼ以前に作ったモノと同じだったりします(苦笑)
まあ、カメラで撮影して写真を送る・・・と言う部分は新しいですし、ドアスイッチについて詳細を書きましたけど(笑)
こちらのリメイク版の記事として、今回書いてみました。また、上記URLの記事もご参考宜しくお願いします。