こんにちは! けい(Twitter)です。
今回は、Raspberry Pi を使って、「監視カメラ」を作っていきたいと思います。
- 監視カメラを導入したいけど、コストを抑えたい
- ネットワークからリアルタイムで監視したい
- カメラに人が映った時だけ録画したい
- ITの知識はないけど簡単に作りたい
ラズパイに「motioneyeos」というOSをインストールするだけで作れるので、
プログラム不要で誰でも簡単に作ることができます。
目次
必要な物
ラズパイ
今回はコストを抑えたいので、Raspberry Pi 3B+を使用します。
ラズパイ4でもいいのですが、監視カメラ用途ではラズパイ3でも十分な性能です。
カメラ
ラズパイのカメラモジュール、もしくはwebカメラでも動作します。
「motioneyeos」をSDカードにインストール
OSをgithubからダウンロード
githubからイメージファイルをダウンロードします。
こちらのリンクをクリックし、Raspberry Pi 3用の最新版のイメージファイルをダウンロードします。
記事執筆時(2021/11/13)は、「20200606」が最新版でした。
「Raspberry Pi Imager」のインストール
SDカードにOSを書き込むツールとして、「Raspberry Pi Imager」を使用します。
ラズベリーパイ公式サイトにアクセスします。
お使いのPCがWindowsだったら「Downloads for Windows」のボタン
お使いのPCがMacOSだったら「Downloads for MacOS」のボタン
をクリックしてダウンロードします。
ダウンロードが完了したら、Windowsの場合は「imager_○○.exe」というファイルがダウンロードされているはずなので、そちらをダブルクリックして、インストーラーを起動します。
上の画像のようにセットアップウィザードが起動するので、「Install」をクリックしてインストールします。
SDカードにOSを書き込む
お使いのPCにSDカードを挿入します。
次に、先ほどインストールした「Raspberry Pi Imager」を起動します。
「CHOOSE OS」→「Use custom」から、ダウンロードしたイメージファイルを選択します。
「CHOOSE STRAGE」からSDカードを選択します。
「WRITE」をクリックすると、書き込みが開始します。
書き込みが終了すると、右上のような画面が表示されます。
これでSDカードへのOSの書き込みが終了しました。
「motioneyeos」で監視カメラを見る
ラズパイを起動
それではSDカードをラズパイに挿入し、ラズパイを起動させていきます。
おっと、カメラもお忘れなく
起動時にディスプレイを繋げます。
このとき、LANケーブルもラズパイに挿すのを忘れないようにしてください。
LANケーブルを挿さないと再起動を繰り返します。
OSが起動し、インターネットに接続されるとこのような画面になります。
赤枠の部分がラズパイの「IPアドレス」です。
このIPアドレスをWEBブラウザで入力すれば、motioneyeosのサーバに接続することができます。
こんな感じで「Chrome」からラズパイのカメラで取得した映像がリアルタイムで表示されます。
左上の「人型マーク」をクリックして、ユーザーログイン画面で、
Username→「admin」
Password→ 空白
でEnterでOKです。
ログインを完了すると、設定を変更することができます。
「motioneyeos」の設定
「motioneyeos」には様々な設定項目があります。
今回はその中でも主要な設定項目だけを抜粋して紹介していきます。
- General Settings
- Network
- Video Device
- Motion Detection
- Movies
これらの設定項目について順に説明していきます。
① General Settings
✅タイムゾーンの設定を行います。
監視カメラなので時間も同時に記録されます。
時間をお住いの場所に合わせることが必要になります。
左上の3本線のマークをクリックすると設定画面を開くことができます。
「Time Zone」を「Asia/Tokyo」に設定します。
他にもここでは、Adminのパスワードの変更なども可能です。
② Network
✅ネットワークの設定を行います。
現在は有線LANで接続していますが、「Wi-Fi」で接続できるようにします。
設定画面から、「Network」タブで次のように設定します。
「Wireless Network Name」にWi-Fiルータの「SSID」を入力し、その下にパスワードを入力します。
「IP Configuration」を「Manual(Static IP)」とすることで、IPアドレスの固定ができます。
好きなIPアドレスを入力してください。
入力が完了したら、「Apply」をクリックし再起動します。
LANケーブルを抜いて、設定したIPアドレスをブラウザで入力すると、Wi-Fi接続でmotioneyeosを使えるようになっています。
③ Video Device
✅カメラの設定を行います。
具体的には、
- 解像度
- 回転角度
- フレームレート
などを設定することができます。
「Video Resolution」がカメラの解像度で「縦×横」のサイズを示しています。
「Video Rotation」でカメラの回転角度を調整することができます。
例として、180°にすると、逆さま画像が取得できます。
「Frame Rate」でカメラのフレームレートを設定できます。
数値を高くすると、ヌルヌルの動画を取得できます。
④ Motion Detection
✅動体検知の条件設定を行います。
「Frame Change Threshold」で「どれくらいの動きで動いたと見なすのか」の設定を行います。
具体的には、全フレームの何%の変化があれば、動いたと見なすのかという数値です。
この数値が重要で、丁度よい数値に調整する必要があります。
✅数値が低すぎる→雲の動きや遠くの車の移動を誤検知
✅数値が高すぎる→人の移動も検知できない
使用状況によって変わるので、実際の用途で反応するような数値に設定してください。
⑤ Movies
✅動画の保存の設定を行います。
ここで、「動体検知の際に録画する」という設定を行えます。
「Recording Mode」で「Motion Triggered」を選択します。
これで、動体検知の際に録画されるようになります。
「Preserve Movies」で「For One Month」を選択すると、1か月間録画を保存し、古いものから順に消去されていきます。
ここで、動画の保存期間を設定できます。
最後に「Apply」するのをお忘れなく。
監視カメラの情報をローカルPCで表示する
それでは、設定を完了し動作確認を行います。
リアルタイムで表示されている映像をクリックすると、下のようにfpsなどの情報が表示されます。
ここで「再生マーク」をクリックすると、保存された動画の一覧画面が表示されます。
この中で一つ動画を選択します。
「再生ボタン」をクリックすると、ブラウザ上で動画を再生することができます。
「Download」をクリックすると、ローカルPCに動画をダウンロードできます。
監視カメラの映像をGoogle Driveに自動アップロード
ローカルPCで確認しても良いのですが、「Google Drive」のようなクラウド上にも映像をアップロードすることができます。
「File Storage」の設定項目から、「Upload Media Files」をONにします。
そうすると、沢山の設定項目が出てくるので、赤線の部分を変更します。
「Upload Service」を「Google Drive」にします。
「Location」はGoogle Drive上でのフォルダのパスです。
私は、Google Drive上で「motion」という空のフォルダを作成したので、その中に保存されるように指定します。
「Obtain Key」をクリックして、Google Driveの情報にアクセスする許可を承認します。
保存したいGoogle Driveのgoogleアカウントを入力します。
下のように、許可するとコードを取得できます。
コードを「Authorization Key」にコピペし、「Apply」します。
「Test Service」ボタンをクリックして、エラーが出なければGoogle Driveとの紐づけが完了しています。
最後に
今回は、プログラム不要の監視カメラシステムを紹介しました。
ブラウザ上から監視できるのはとても便利ですよね。
今回は、カメラを一つでの接続しか紹介していませんが、複数個の接続も可能です。
また、ネットワークカメラも同様に取得できるので、様々な場所に配置されたカメラ情報を統合するシステムも作れそうです。
それでは良きラズパイライフを!