ラズパイを使って監視カメラを作ろう!って、やろうと思ったのが去年の11月くらいで…ほかの作業もあってようやくできた。
※画像の変なつぶつぶは勝手な画像デコレーションです。ゴミではない。
ということでここに整理しておこう。
ド素人がやると時間かかるねぇ~。
==================================
▼まずはおおまかな情報収集
==================================
■参考にした動画
https://www.youtube.com/watch?v=6NFL8e4Z1YQ
==================================
▼必要な機材など
==================================
■必要なもの
・ラズパイ4モデルB
・ラズパイ向けカメラ
・マイクロSDカード(32GB)
・LANケーブル
・キーボード(無線)
・マウス(有線)
・ディスプレイ
==================================
▼接続のイメージ
==================================
■ラズパイの接続状態
ラズパイ
→カメラ(基板上の専用スロット)
→電源(USB-C----AC100V電源)
→ディスプレイ(miniHDMI---HDMI)
→LAN(eth0) →有線マウス(USB)
→無線キーボード(USB)
↑実際の接続の様子
※汚らしいので画像にラメを入れてみた
■通信環境の接続
ラズパイ---(LAN)----ノートパソコン----Wifi-----ルーター
■ラズパイにインターネット接続できるようにしておく
※ここではルーターへのLAN接続ではない。
[Laptop]Windows10
設定/ネットワークの状態
→アダプタのオプションを変更する
[Wifi]のアイコンが出てくるので、右クリックでプロパティへ。
→共有タブ内のチェックボックスにチェックを入れる
□[ネットワークのほかのユーザーに、このコンピューターのインターネット接続をとおして接続を許可する]
□[ネットワークのほかのユーザーに、共有インターネット接続の制御や無効化を許可する]
==================================
▼ラズパイ起動前の準備
==================================
■ラズパイOSをダウンロード
[Laptop]Windows10
Raspberry Pi OS with desktop and recommended software
https://www.raspberrypi.org/software/operating-systems/#raspberry-pi-os-32-bit
備考;2.9Gもあるのでヒマのある時にダウンロードしておくといい。
■ラズパイOSを書き込むソフトをダウンロード、インストール
[Laptop]Windows10
Raspberry Pi Imager
https://www.raspberrypi.org/software/
備考;ラズパイ用SDカードを作るためのアプリケーション。(ラズパイはSDカードを読み込んで起動するので)
■ラズパイOSを作成
[Laptop]Windows10
Raspberry Pi ImagerでOSを書き込む
Choose OS:事前にダウンロードしたOSファイル
Choose SD:パソコンに接続したSDカード
→Writeで書き込み実行
■ラズパイ起動
さきほど作成したSDカードをラズパイに差し込んで電源ON!
==================================
▼ラズパイ起動後の設定
==================================
■ラズパイの初期セッティング
画面に夕日?の画像が出てきたらラズパイOSが起動した証拠。
ここから初期設定をする
>>インターネット接続のチェック
画面左上の球体マークをクリックし、ブラウザ起動
備考;試しにgoogleと打ち込んで読み込みできるかチェックしてみる。できない場合はネット環境ができていない。
>>初期設定
画面左上のラズベリーマークからPreferences/RaspberryConfigurationをクリック
・Interfaces:camera、sshをenabledにする
・System:Change Passwordをクリックしてパスワードを新しく。任意の文字を。
・Localization:
Set Locale:Japan、と、文字セットを「UTF-8」にしておく(文字化け防止)
Set Timezone:Asia,Tokyoにする Set Wireless LAN Country:JPにする
==================================
▼ラズパイのIPアドレスを確認
==================================
■Advanced IP Scannerをダウンロード、インストール
[Laptop]Windows10
Advanced IP Scanner
https://www.advanced-ip-scanner.com/jp/
■Advanced IP Scannerを実行
[Laptop]Windows10
ウィンドウ内に出てくる情報に「raspberry.mshome,net IP:192.168.xxx.xxx」と表示されるので、これがラズパイのIPアドレス。メモっておく。
※追記:
ラズパイ側のLxターミナルで
$ ifconfig
これでも一応ラズパイのIPアドレスを確認できる
==================================
▼ラズパイへSSH接続して情報を更新する
==================================
■ラズパイへSSH接続
[Laptop]Windows10
コマンドプロンプト起動、以下を入力
ssh pi@192.168.xxx.xxx ←ラズパイのIPアドレス
この後になんだかんだ言ってくるが気にしなくていい。
pi@192.168.xxx.xxx's password:と表示されたら、
先ほどラズパイ初期設定で変更したパスワードを入力してリターン
※入力しても画面に何も表示されないけど大丈夫。
内部でちゃんと入力認識されている。
■ラズパイOSを最新にする
[Laptop]Windows10→[Raspberry Pi]
$ sudo apt update
$ sudo apt full-upgrade
備考;作業中にsshがリセットされてwindowsのコマンドプロンプトになってしまうことがあるけど、都度接続をする。
備考;インストール中に接続切れて、SSH再接続できない「E:ロック…」になる時がある。 →電源入れなおしたら直った…。
■motioneyeOSのインストール
[Laptop]Windows10→[Raspberry Pi]
参照URL:https://github.com/ccrisan/motioneye/wiki/Install-On-Raspbian
1.Install ffmpeg and other motion dependencies:
$ sudo apt-get install ffmpeg libmariadb3 libpq5 libmicrohttpd12
2.Install motion:
$ sudo wget https://github.com/Motion-Project/motion/releases/download/release-4.2.2/pi_buster_motion_4.2.2-1_armhf.deb$ sudo dpkg -i pi_buster_motion_4.2.2-1_armhf.deb
3.Install the dependencies from the repositories:
$ sudo apt-get install python-pip python-dev libssl-dev libcurl4-openssl-dev libjpeg-dev libz-dev
4.Install motioneye, which will automatically pull Python dependencies(tornado, jinja2, pillow and pycurl):
$ sudo pip install motioneye
5.Prepare the configuration directory:
$ sudo mkdir -p /etc/motioneye
$ sudo cp /usr/local/share/motioneye/extra/motioneye.conf.sample /etc/motioneye/motioneye.conf
6.Prepare the media directory:
$ sudo mkdir -p /var/lib/motioneye
7.Add an init script, configure it to run at startup and start the motionEye server:
$ sudo cp /usr/local/share/motioneye/extra/motioneye.systemd-unit-local /etc/systemd/system/motioneye.service
$ sudo systemctl daemon-reload
$ sudo systemctl enable motioneye
$ sudo systemctl start motioneye
8.To upgrade to the newest version of motionEye, just issue:
$ sudo pip install motioneye --upgrade
$ sudo systemctl restart motioneye
==================================
▼ブラウザで映像確認、設定変更
==================================
■motioneyeをブラウザで確認する
[Laptop]Windows10
インターネットのブラウザに以下入力
http://192.168.xxx.xxx:8765 ※192.168.xxx.xxxはラズパイのIPアドレス
>>GUI画面が表示される、以下入力で入る
Username:admin
password:
RememberMe:
>>初回は何も表示されず画面上部の
「You have not configured any camera yet, click here to add one...」をクリック
>>カメラの選択をする
Add camera
camera type:Local MMAL camera
camera:Video Core camera
備考;ここで選択を間違えると映像が出なかったりする。
Local MMAL cameras are devices that are connected directly to your motionEye system.These are usually board-specific cameras.と書いてあり、今回はカメラをラズパイ基板上にぶっ刺しているのでコレでしょう。
>>設定画面と、カメラの映像が映し出される。
↑きたー!キラキラ〜!
※実際はこんなラブリーなデザインじゃない…心の叫びをデコってみた。
>>カメラの録画設定などをする
Video Device:framerateは値が小さいと動画がカクカク、大きいと滑らかになる
Still images:静止画像を撮らないならOFF
Movies:RecordingModeはTriggeredで動作検知により録画開始
Movies:Maximun movie lengthは動画の尺。10秒くらいにしておく。
MotionDetection:FrameChangeThresholdは5%くらい?
MotionDetection:MaximumChangeThresholdは10pixelsくらい?
MotionDetection:Auto Noise DetectionはON
備考;motionDetectionのセッティングによっては録画開始されないとかある。動体検知のレベル設定は実験しながらかなぁ。
>>録画した動画を見る
ブラウザをクリックすると、画面右上のアイコンが出てくる。三角マークが動画保管場所。クリックで動画ファイル情報へアクセスでき、クリックで再生/閲覧できる。
備考: 最初は三角マークが見当たらなくて焦ったが、画面をクリックするとアイコンが出てくる。なんだかな〜、最初から出しておいてよ〜。
==================================
出来上がった感想
==================================
いや~大変だったの一言。
まずはルーターが近くに無いのでLANを直接繋げることができなくて…
motionEyeosをSDカードに入れて立ち上げればまったく簡単だ!ったはずなのに、、、、仕方なくラズパイOSを入れてからmotionEyeosを入れる流れに。
そしたらラズパイのwifi受信がちょ~不安定でupdateやupgradeができない。
計測してみたら下りで2~3Mで…大丈夫なようなそうでないような感じ。
いっぽうノートパソコンはなぜかwifi受信がまぁ良い。。。なんでだろ
ということで、ノートパソコンでwifi受信して、ノートパソコンとラズパイをSSH接続する…なんて初めてやったからここも苦労した。
ほかには、ラズパイのIPアドレスがcmdからipconfigではわからなかったのが残念。
Advanced IP scannerの情報はかなり助かったね。
そしてブラウザでカメラ映像を確認するところでも、Addカメラで名称が出てこなかったり(おそらくインストール手違い)、映像が出ないで灰色だったり(選択するカメラを間違えていた)など、わかってみればたいしたことではなかったけど、ハマっている最中は何が何だかで、情報検索してはそれを試してみて…の繰り返し。まぁそのおかげでconfigファイルの中身とか見たり、Linuxターミナルの用語を覚えたり、何を利用しているアプリケーションなのかなど、いろいろと勉強になった。
次はもうちょっと突っ込んだ設定や、実際に使用する場合も考えたい。
というか、ラズパイ4は高いからZeroでできないのかなぁ。そしたら庭の監視カメラとして本格的な運用ができそうだけど。
あと、ラズパイを電池で動かしたいなぁ。