高機能な防犯(監視)カメラを1万円で自作してみた(^^)v
どうも、ブログ主ゴブリンです。
今回は防犯(監視)カメラの自作に挑戦しました。
玄関の扉の上に直径3センチほどの通気口があったので、そこにカメラを設置。玄関先を監視できるようにしてみました。
カメラモジュールのサイズが通気口にフィットしてくれて良かった(;^ω^)
玄関の外の様子はパソコンから観ることができます。
小窓にしておけばパソコンで作業しながらでも外の様子がばっちり監視できるので防犯対策にもなりますよね♪
この防犯(監視)カメラは動きがあった時に、画像や動画を保存するようにしていて、設定しておけば上の画像のようにLINEで画像を送信することもできるので外出時も安心(*^^)v
暗くなって照明が点灯しても感知して画像を送信してきました(;^ω^)
こんな防犯(監視)カメラを作ってみたい人はぜひ挑戦してみてください。
- 防犯(監視)カメラに準備した物
- Raspberry Piを使える状態にする
- PCからラズベリーパイを遠隔操作
- カメラモジュールの取り付け
- カメラで静止画を撮ってみる
- 防犯カメラとして動画を保存
- motionをインストール
- motionの設定
- 防犯カメラで撮影した画像をLINEに送信
- 録画した画像や動画をUSBメモリーに保存
- 一定時間経つとWi-Fiが切れる時の対処法
- ラズパイ起動時にmotionを自動起動させる
- まとめ
防犯(監視)カメラに準備した物
防犯カメラの本体はRaspberry Pi(ラズベリーパイ)を使用しました。
防犯カメラという特性上24時間稼働させていたいので、消費電力の少ないRaspberry Pi zero WHを買いました。
zero wはWi-FiとBluetoothが標準装備されている優れもの♪
Raspberry Pi zero WH本体だけなら1900円くらいと超リーズナブル(*´▽`*)
- Raspberry Pi zero WH
- microSDカード(16G以上)
- Raspberry Pi用のケース
- USB電源アダプター(microUSBコネクタ)
- HDMI変換アダプター(mini HDMI -> HDMI)
- USB変換ケーブル(micro USB -> USB A)
- HDMI対応のモニター(テレビでも可)
- USBマウス
- USBキーボード
- USBハブ
- Raspberry Pi Camera V2
- zero専用カメラケーブル
今回は設置する通気口のサイズからラズパイ専用のカメラモジュールを選びました。
ラズパイ専用のカメラのほうが不具合とかも少ないでしょうからね。
USB接続できるWEBカメラのほうがリーズナブルかも。
Raspberry Pi zeroシリーズはzero専用のケーブルが必要です。
Raspberry Piを使える状態にする
まずはパソコンを使って作業していきます。
①パソコンを使ってmicroSDカードをフォーマットする
新品のmicroSDカードならフォーマットの必要はないと思います。
何かに使用していたmicroSDカードだとフォーマットが必要です。
SDメモリカードフォーマッター - SD Association←このサイトでWindows用のSDメモリカードフォーマッターをダウンロードしてフォーマットしてあげてください。
②OS(NOOBS)をダウンロード
パソコンから
Raspberry Pi Downloads - Software for the Raspberry Pi←アクセスして『NOOBS』をクリック。
『NOOBS』のダウンロードZIPをクリックしてダウンロードをしてください。
※環境によっては数時間かかることも(・_・;)
ダウンロードが完了したらZIPファイルを右クリックから展開します。
展開した中身を全部microSDカードにコピーするだけ。
③Raspberry Pi zero WHを起動
- Raspberry PiにmicroSDカード差し込みます。
- Raspberry PiにHDMI変換アダプターをさしてHDMIケーブルとモニターをつなぎます。
- Raspberry PiにUSB変換ケーブルさしてUSBハブをつなぎマウス・キーボードをつなぎます。
- 最後にUSB電源アダプターを差し込めばRaspberry Piが起動します。
OSのインストールとアップデート
Raspberry Piが起動すると最初はOSのインストール画面がでてきます。
①画像は切れていますが、言語設定を日本語に選択。
②最初にWi-Finetworksをクリックして無線LANの設定(パスワードの入力)をします。
③次に推奨してあるFull版にチェックを入れます。
④インストールをクリックする。
確認メッセージが出て『はい』を選択するとインストールが開始されます。
OSのインストールには30分くらいかかったと思います( ̄▽ ̄;)
OKをクリック
無線LANの設定ができているとIPアドレスが表示されます。
Nextをクリック
国と言語が日本になってるのを確認してNext
画像がないんだけど国と言語の確認の次にログインパスワードの変更画面が出てくると思うので、新しいパスワードを設定してください。
ちなみにデフォルトでは、
ユーザー名:pi
パスワード:raspberry
となっています。
もし画面が黒枠で囲まれて表示されていたらチェックを入れてNext
僕は黒枠は出てなかったのでチェックなしでNextしました。
無線LANのアクセスポイントをクリックしてNext
SSIDを選択して Next ボタンを押すと Password 入力画面になるので、Wi-Fiのパスワードを入力。
OSを最新の状態にするのでNext
ネット環境によると思うけどOSのアップデートに一時間半くらいかかりました(・_・;)
気長に待ってください。
システムが最新の状態にアップデートされたときに表示される画面。
Okクリック
初期設定完了('◇')ゞ
Restartをクリックして再起動してください。
無事にラズベリーパイが起動!
なんだか感動します(*´▽`*)
PCからラズベリーパイを遠隔操作
ラズベリーパイを防犯カメラとして設置するので、モニターやキーボード、マウスが邪魔!パソコンからラズベリーパイをリモートコントロール(遠隔操作)できるように設定します。
上記の画像のように設定からRaspberry Piの設定へと進みます。
カメラとVNCも使うことになるので有効にしておきます。
OKをクリック。
ラズベリーパイをReboot(再起動)します。
ラズベリーパイ側のリモートコントロールの設定はこれだけです。
再起動したらラズベリーパイのIPアドレスを確認しておきます。
画面左上のアイコンLXTerminalを開き、
ifconfigと入力してエンターを押します。
無線LAN接続の場合、Wlan0:の2行目に割り振られたIPアドレスを確認できます。
画面右上のWi-Fiマークにマウスを乗せればIPアドレス簡単に確認できるんですけどね(;^ω^)ラズベリーパイはコマンド入力を頻繁に使うので慣れておいたほうがいいかも。
IPアドレスはメモっておいてください('◇')ゞ
次にWindowsパソコンの左下の検索窓でリモートデスクトップ接続と入力。
Windows10にはリモートデスクトップ接続というアプリが入っているのでそれを起動します。
アプリを起動すると接続画面がでるので、コンピューター(C)の所にメモっておいたIPアドレスを入力して接続をクリック。
IDを識別できませんとかでてきますが、構わず『はい』をクリック。
するとユーザーネームとパスワードを求められるので、それぞれ入力します。
デフォルトのまま変更していなければ
ユーザー名:pi
パスワード:raspberry
でOKをクリックすると、Windows画面上にラズベリーパイの画面がでてきて操作することができるようになりました。
これで、パソコンからラズベリーパイを遠隔操作できるようになったので、電源以外のケーブルは全部取り外して大丈夫です(*^^)vスッキリ
カメラモジュールの取り付け
ラズベリーパイzeroシリーズにカメラモジュールを取り付ける場合、付属のケーブルから専用のケーブルに交換して取り付けます。
フラットケーブルの取り外しは、上記画像の矢印の黒い部分を引っ張ります。指で引っ張ると力加減が難しいのでピンセットを使うことをオススメします。
ロックが外れたら端子と端子が合うようにケーブルを差し込みます。
しっかり差し込んだら黒い部分を押し込んでロックします。
カメラ側も同じように取り付けてください。
カメラで静止画を撮ってみる
LXTerminalを開き、『raspistill -o test.jpg』と入力してエンター。
ラズベリーパイのホームディレクトリにtest.jpgというファイルができていればカメラは正常に動作しているということです。
まだ動作テストの段階だけど、撮影ができてた時は一人ガッツポーズでした(;^ω^)
自作防犯カメラに一歩前進って感じです!
撮影ができていなかったら、
- スペルが間違っていないか?
- インターフェイスでカメラが有効になっているか?
- カメラのケーブルがしっかりささっているか?
をチェックしてみてください。
防犯カメラとして動画を保存
静止画に成功したら次は動画です(; ・`д・´)
そこでmotionというソフトをインストールします。
このmotionというソフトは動きに変化があった時に、画像や動画を撮影、保存してくれる神ソフトなんです😍
ドライバの登録
デフォルトの状態では、motionを使うことができないので、motionをインストールする前にドライバを登録します。
- リモートコントロール接続でラズベリーパイを起動
- LXTerminalを開く
- sudo nano /etc/modulesと入力してエンター
- bcm2835-v4l2と追記する(イチではなくエルです)
- sudo rebootと入力エンターで再起動
nanoが起動すると上記のような画面になるので、bcm2835-v4l2と追記
Ctrl+xで書き込みますかと出るのでY(はい)N(いいえ)Yを入力してエンターを押せば保存してnanoを終了できます。
あとは再起動すればカメラモジュールを使えるようになる。
ドライバの登録はこれだけです(*^^)v
motionをインストール
- LXTerminalを開く
- sudo apt install -y motion エンター
sudo apt install -y motionと入力してエンターを押すだけでインストールがはじまります。
インストールが完了したらとりあえずmotionを起動してみます。
- sudo motion(motion起動)
- http://ラズパイのIPアドレス:8081
- sudo service motion stop(motion停止)
sudo motionと入力して上記画像のようになれば成功です。
パソコンのブラウザにhttp://ラズパイのIPアドレス:8081と入力すれば、リアルタイムでカメラがみている動画が表示されます。
motionの設定
sudo nano /etc/motion/motion.confと入力エンター
nanoでmotionの設定ファイルを表示させます。
motionの細かな設定はここをいじくっていきます。
設定ファイルはめちゃくちゃおおいので、
Ctrl+wで検索窓がでるので、それぞれwidthとかoutput_picturesと入力すればすぐに見つかると思います。
- width(1280・1024・800・640・320)
- height(960・768・600・480・240)
- target_dir(画像や動画を保存する場所を指定。デフォルトは、/var/lib/motionの場所に保存されています。
- output_pictures(on/off/first/best/centerと指定できる。動きの多い場所でonにしてると凄い勢いで保存されていく)
- ffmpeg_output_movies(on/offのみ指定できる。動画は容量が大きいのでいらない時はoffがいいかも)
- max_movie_time(デフォルトでは0で無限に録画し続けるので30と変更すれば30秒と制限できる)
- flamerate(0から100で指定。数が大きいほど画質が綺麗だけど容量も大きくなる)
- event_gap(動きを検知してから次のイベントまでの間隔?デフォルトは60だけど僕は5にしている。)
- rotate(撮影の角度を0/90/180/270度と調節できる)
- stream_localhost(ライブストリームへのアクセスをローカルホストからのみに制限デフォルトはonなのでoffにした。)
- daemon(ある程度設定が完了してonにするとよいと思う。)
この設定はカメラをどのような場所で使うかでかなり違ってくると思います。
カメラを設置してから細かな修正を重ねてみてください。
防犯カメラで撮影した画像をLINEに送信
motionで撮影した画像をLINEに送信。
これができると外出先でもかなり安心できると思いやってみました。
LINE Notifyでアクセストークンを取得する
LINE NotifyにアクセスしてLINEで登録した自分のメールアドレスとパスワードを入力してログインします。
ログインしたらマイページへ移動してトークンを発行するをクリック。
トークン名はLINEで受信したときに表示されます。
僕の場合だと防犯カメラにしました(;^ω^)
1:1でLINE Notifyから通知を受け取るを選択して発行するボタンをクリックします。
発行したアクセストークンが表示されるのは一度だけなのでしっかりメモっておいてください。
次にラズベリーパイのLXTerminalを開きます。
sudo nano /etc/motion/motion.confでmotion設定を開きます。
nanoが開いたらCtrl+wでon_picture_saveと入力検索。
on_picture_saveの valueの部分を curl -X POST -H 'Authorization: Bearer アクセストークン' -F 'message=誰かいるぞ' -F 'imageFile=@%f' https://notify-api.line.me/api/notifyと書き換えてあげます。
赤文字の部分は書き換えてください。
保存して再起動したら撮影した画像がLINEで送られてくるはずです。
録画した画像や動画をUSBメモリーに保存
ラズベリーパイのOSの入ったmicroSDカードに画像や動画を保存すると少ないストレージを圧迫するし、microSDカードが劣化すると嫌だなと思ってUSBメモリに保存することにしました。
調べてみると色々設定とか面倒そうだったけど、USBメモリを突き刺してみたらあっさりと認識されました(;^ω^)
motion設定target_dirで保存先も変更!
こちらもしっかり保存ができていました。
USBメモリーで保存ができるならmicroSDカードの容量も気にしなくて良いので、画質やフレームレートも高くして保存できますよね(*´▽`*)
一定時間経つとWi-Fiが切れる時の対処法
SSH接続してる間はWi-Fiが途切れることもなかったんだけど、ラズベリーパイだけ起動している状態だと一定時間経つとWi-Fiが切れて防犯カメラは停止、SSH接続もできない状況に陥りました(;´Д`)
色々調べて、今はWi-Fiも切れることなく24時間防犯(監視)カメラ起動してくれています。
対処法は色々あったけど僕は以下の事で改善しました。
- LXTerminalを開く
- iwconfigでPower Managementを確認
- sudo nano /etc/rc.localでnanoを開く
- exitの上にiwconfig wlan0 power off # wlan0 power managemennt offを追加
赤枠の部分がonだったのでoffに変更しました。
sudo nano /etc/rc.localでnanoを開いてexitの上にiwconfig wlan0 power off # wlan0 power managemennt offという一文を追加。
保存・再起動してPower Management:offに変更してからWi-Fiが切れることはなくなりました♪
ラズパイ起動時にmotionを自動起動させる
ラズパイを起動・再起動するたびに、motionを起動するのは面倒なのでmotionを自動起動するように設定ファイルを変更します。
- sudo nano /etc/default/motion
- start_motion_daemonの項目をyesに書き換え保存
- sudo chown -R motion:motion /var/run/motion /var/log/motionエンターで実行してログファイルなどの所有者を変更
- sudo systemctl enable motionエンターで自動起動が有効になります。
まとめ
思った以上に高機能な防犯カメラができた♪
カメラの設置にはケースの後ろにマグネットシートを貼って扉にくっつけました。
近くにコンセントがなく電源供給はモバイルバッテリーを使っています
消費電力の小さなラズパイzero W(H)は防犯カメラに持ってこいですね♪