先日の防犯システムをパワーアップさせました!
今までは音と光でビビらせるだけのハリボテだったのですが、通知機能を追加しました。
防犯システムver.1の詳細はちら
上記のものをベースに、いくつか出力を追加した感じになっています。
<動作環境>
- RaspberryPi 2B + Node-RED
<入力>
- PIRセンサ [HC-SR501] (RaspberryPi GPIO 18ピン)
- RaspberryPi用カメラモジュール [OV5647] 追加
<出力>
- LEDモジュール (RaspberryPi GPIO 7ピン)
- スマートスピーカー [Google Nest Mini]
- LINE Notify (メッセージのみ) 追加
- Gmail (画像添付) 追加
今回は新たに『node-red-node-email』というノードを追加しました。
このノードを使って画像付きのメールを送っています。
emailノードの使い方は、下記の記事を参考にさせて頂きました。
(参考)enebular blog メール・ノードを使おう
Gmailを使う場合は、ノードの設定だけでなく事前にGoogleアカウントの設定も必要です。
設定の流れは下記のような感じです。
- Googleアカウント → セキュリティ → 2段階認証プロセスをON
- Googleアカウント → セキュリティ → アプリパスワード → 「メール」「その他」で生成 → パスワードが表示(これをemailノードに入力する)
LINE Notigy、スマートスピーカー、カメラの使い方などは基本的に過去の記事を踏襲していますのでご確認ください。
ハードの様子はこんな感じ。
Node-REDのフローはこのようになりました。
カメラを撮影した後に、LINEとGmailへ送るようにしています。
カメラ撮影のノードは、Buffered Modeにすることで簡単にGmailに画像を添付することができます。
emailノードの中は、こんな感じです。
宛先とユーザーIDは、送りたいメールアドレスなのですが、パスワードはGmailのパスワードではなくGoogleアカウントの設定で表示されるパスワードを入力します。
特に画像を添付する設定は無いのですが、Buffered Modeにしていれば勝手に画像が添付されました。
それでは、どのような感じで動くのかご覧ください!
スマートスピーカーの反応が相変わらずいまいちなのですが、それ以外はエラー無く動いてくれました。
あと、メールの送信者が「pi/18」になっているのですが、恐らく「RaspberryPiの18ピン」がフローの先頭になっているからだと思います。
本当はLINEに画像を送りたかったのですが、Node-REDでうまいやり方が見つからず、メールに画像を添付するという手段で妥協しました。
おかげでemailノードの使い方が分かったのでよし!
コードを書いて実現している記事は見つけたんですけどね。
ラズパイの防犯システムを作っている人はたくさんいるので、Node-REDを使わないバージョンもそのうち挑戦してみようと思います。
<おまけ>
動作確認をしているときにバンバン反応してうるさいときは、部分的に停止させることもできます。
停止させたノードは点線で繋がるようになります。
こんな感じ。
設定方法は、各ノード設定の左下のほうに「有効 / 無効」の切り替えボタンがあるので、それを押すだけ。
これに気づくまではノード間の線を手動で消してデプロイしてましたが、圧倒的にこちらのほうがラクですね。