MotioneyeOSをラズパイにインストールして、監視カメラにします

当サイトの「Webカメラシステム」や「テレワークシステム」で、ネットワークを使った監視カメラシステムを扱っています。

その監視カメラシステムは motionプログラムの機能を使って実現しています。

Linuxをインストールすればすぐにカメラシステムが使えるように用意されているmotionですが、motionプログラムをそのまま使う場合には、motion.conf という設定ファイルにライブ監視をONにするかどうかや画像、映像を蓄積するかどうかなどを事前に設定した上で動かす運用です。

運用方法を変える必要がでてきたら、motion.conf を v iで変更して、プロセスの再起動が必要になります。

そんなに大変な作業をしなければならないわけではありませんが、技術者であっても手間がかかると思うでしょうし、技術者以外ではやろうとは思わないと思います。

そんな時に、Webブラウザに管理画面を持ち、設定を柔軟に変更できて、すぐにその結果を確認できるラズパイ専用のディストリビューションがあります。 Motioneyeos で以下からダウンロードできます。

https://github.com/ccrisan/motioneyeos/wiki/Supported-Devices

ラズパイZERO用、ラズパイ2用、ラズパイ3用、ラズパイ4用のOSイメージが配布されています。以下が管理画面イメージです。

※ Raspberry PI ZERO にPI3用のImgを書き込んでも起動しないので注意!!
  (案外気がつかない!)

※ Raspberry PI 3にZERO 用のImgを書き込んでも起動しないので注意!!
  (案外気がつかない!)

MOTIONEYEOS:設定画面

MOTIONEYEOS:設定画面

MOTIONEYEOS:設定画面

ブラウザでアクセスする場合:
URL: http://IPアドレスまたはホスト名.local/
ユーザ名:admin(管理用)、user(閲覧用) パスワード:なし(初期時)

管理画面で以下のような設定ができます。


 ※ 管理画面の上のほうからできることを並べます。

  • 左上のカメラ名のドロップダウンから add Camera をクリックして、USBカメラやIP カメラを追加できる。
  • Layout Columsでカメラ画面の並べ方を調整できる。
    (上記イメージの右にある部屋のライブ映像を、カメラが複数あるときにどう並べるか)
  • 管理ユーザ、一般ユーザのパスワードを設定できる。
  • 無線LANを使用する場合は、Wireless Network:ON でIPアドレスなど調整できる。
  • FTP設定、Samba設定、書き込み許可設定、SSH有効化ができます。

    ※ マルチキャストDNSで、ホスト名(meye-<数字>).localで名前解決
      されるようにできています 。

    ただし、マルチキャストDNSは複雑なアップデート歴があるので、
    うまく動かないことが多いので、その時はIPアドレスでアクセスします。

[Video Device]

  • 自動明るさ調整:Automatic Brightness
     ← ただし、変更したあとに映らなくなることがあった
  • 解像度設定:Video Resolution
    ← 「640x480」や「1024x768」
    に変更できる。
    (でっかい画面にできます)
  • フレームレートを調整できる。
    (1秒間にどれだけ映像情報(コマ)を詰め込むか。
    ネットワークが貧弱だと、つまったような動きになるかも
     映像の滑らかさとブラウザでの負荷のかかりぐあいで調整
     するといいでしょう)
  • カメラの回転ができる。

[File Storage]

  • 画像、動画の保存先は、標準ではOSが入っているMicroSDカード内です。画像、動画を別マシンから参照するためには、FTP、Sambaなどのファイル共有機能を有効にします。USBメモリに書き出す場合は、Storage DeviceでCustom Pathを選択し、[Root Directory]に/home/ftp/storage/sda1を指定します。
    /home/ftp/storage/sda1は差し込んであるUSBメモリのパスで、OSにログインし、「df」で確認できます。
    ※ コンソールやSSHでログインする場合 :
    OS起動時にディスプレイにIPアドレスがでるので、
    ユーザ名: admin または root パスワード:password
    でログイン(ベースのみOSなので使いずらくて、あまりいじくれませんが)
  • [Upload Media Files]:「ON」画像、動画を保存するメディアを指定できる
    (FTP,SFTP Server,Google Drive,Dropbox)

[Video Streaming]

Streaming Image Resizing:「ON」

ストリーミングON 、ブラウザから、Http://ドメイン:8081  で
ライブ映像を見られるようにできる
(監視画面のように設定項目がなくて、ライブ映像だけ見られるイメージ)

8081でWebブラウザから監視できるが、パスワード認証もここで設定できる。
(パスワード入れないとアクセスできないようにできる)

初期のポート番号8081も変更できる。

[Still Images]

[Capture Mode] を [Motion Triggered] にすれば、動体検知をしたときのみ画像を保存できる。

一定時間ごとに画像を保存したかったりすると、Capture Mode で Interval Snapshots を選べばいい。

Preserve Picturesは撮影期間で、永遠に撮影するならForeverを指定します。
(日毎 [For One Day]、週毎 [For One Week]、月毎 [For One Month]、年毎 [For One Month] 、制限なし [Forever]、保存日数指定 [Custom→日数入力]が指定可能)

※ 動態検知は動画で保存するよりも、画像で保存した方がすぐにいっぱいになる。
  また、画像はたくさん一覧に並びすぎて見にくい。動画の方がおススメ!!

動かして若干動いても画像で埋まらないようにするのに、下記 [Motion Detection] の [Frame Change Threshold]を確か17%ぐらいにしたと思うが、環境によって違うので、この辺は実測で調整でしょう。

[Motion Detection]

ONにすると動体検知できる。(動きがあるときに録画を行う)

※ 動態検知は動画で保存するよりも、画像で保存した方がすぐにいっぱいになる。
  また、画像はたくさん一覧に並びすぎて見にくい。動画の方がおススメ!!

[Frame Change Threshold]

しきい値でどのくらい前の画像と違っていたら動いたとみなすかになります。

値を小さくすると、少しの動きでも動体検知されてしまいます。
ここら辺は、試しながら調整になる。
動体検知時、カメラ映像枠が赤くなる。

  • ちなみに実家の母親の様子を動画で動態検知だけしたが(体調問題ないか確認)MicroSDが32Gの時に1か月はもった。
  • 週毎 [For One Week]でMicroSD32Gあれば、週で消えるので、いっぱいになることはありませんでした
  • Frame Change Thresholdは初期で3%ぐらいになっている。この設定でオフィスで動かしてみたが、夜間に作業する方が何時に始めたか、この3%で動画が溜まっていて毎日確認できた。

[Motion Notification]

動体検知時の通知設定(Email,Web Hook,Command,Run an End Command)

導体検知時にメール通知をONにする
こちらは試していませんが、GoogleDriveに動態検知したら自動的に蓄積する方法がHPに載っていて、これは出来ました。

Detect Motion:監視スケジュールを決められます。

  • ここまでの説明は、インターネット上の情報を参考に、自分でセットアップした内容をまとめていますが、その中でも motionプログラムの公式Webサイトの情報を参考にしました。その情報を自分でまとめた資料が手元にありました。
    motionとmotioneyeOSのコンフィグは似ているが、違ってもいるので参考程度で。
  • 【補足】motionプログラムの公式ウェブサイトにある参考情報
監視カメラシステムのプログラムで、どんなことができるか説明 ( Webカメラシステムから転記 

・・と、このように、Linuxのフリーソフトだけで、監視カメラシステムとして、ライブ映像の確認、防犯システムとして動態検知を利用するといった使い方ができます。

最後に使ってみての感想なのですが、色々な使い方に応用できて(ドライブレコーダーとかも)面白いのですが、これを構築したきっかけが、私の母親の体調にありました。

1年前に脳梗塞を発症して、幸いなことに大事には至らず、実家で元気に暮らしていますが、今、私と妹は別居しているので一人暮らしです。
いつまた倒れるかとの心配もあり、医者からはできれば同居が良いとも言われたので、色々考えました。

私の自宅はさいたま市内で、母の実家も同じさいたま市内なのですが、車で向かうと混んでいれば30分かかったりします。
そうすると、なにかあって、連絡を受けても、結構時間がかかったりすることが予想され、案外30分というのは微妙な気がします。
あと、さいたま市でやっている見回りサービスなどもどんな感じか聞きに行きましたが、月に1回訪問するぐらいで、とっても安心できるものではありませんでした。

そこでSoftEtherを使ったネットワークで、パソコンからもスマホからも、好きな時に様子を確認できて、かなり安心できるようになりました。

1階の茶の間に仕掛けたので、夕方、ちゃんとテレビを見ている姿を確認して、夜は10時を過ぎると消灯して真っ暗になります。
そうすると、2階の部屋で今度はちっちゃなテレビを小一時間見て、寝るようです。

10時前の様子と、10時過ぎてからの就寝した真っ暗な状態がわかれば、まず安心します。

それと、稼働させてみて気がついたのは一人で暮らしている様子がわかって、案外テレビばかり見ているんだなとかもありますが、1人で暮らしているのも大変そうだなとわかるところです。

離れて暮らしているのですが、それでも車ならば近いので、頻繁に寄っている意識があるのですが、さらに様子を見られる環境にしてみると、暇そうだけども、やっぱり一人の辛さもあるんじゃないかなという関心が湧いてきます。

そん感じで無関心が一番、愛が足りないとの話を聞いたことがありますが、関心を寄せていくのにも良いのではないかと思います。

まとめ

とここまで、ラズパイ用のデストリビューションMotioneysOSの紹介をしました。 冒頭に書いたように、ラズパイを標準OS上で初めから、motionプログラムをインストールして、vi で motion.conf を設定して動かすよりも、MotioneyeOSを使った方が、普通のWebブラウザで設定変更もできて、Webカメラによる監視システムだけで使うのであれば、ベストな選択かもしれない。

ですが、この方法だとラズパイ1台が、Webカメラ監視システムの用途だけでつぶれてしまう。
(SSH接続して、コマンド操作も可能ではあるが、OS自体は簡易で便利とはいえない)

実は、それ以外のWebカメラ監視システム実装の方法として、motioeyeプログラムというものを、Rasbian(最近、Rasberry Pi デスクトップに、名前が変わったが)にインストールすると、Rasbianの機能はそのまま使える上に、Webブラウザを使った監視画面機能をそのまま使う方法があることをそのあとに知りました。

また、ラズパイネタはこちらにあります!!