Raspberry Pi 2で遊ぶ(Ver.2.0):motionEye

このページは「Raspberry Pi記事まとめ 」に集約しています。

※いつでも見られる静止画が欲しかったので、結局MJPG-Streamerにしました。MotionEyeはインストールはしてあるけどサービスは停めている状態です。

らずぱい motionEye (Web UIベースのカメラサーバ) – Qiita

motionEyeはWebベースのmotionフロントエンドです。Featuresを何となく訳すと・・・

  • Webベース。スマホ対応な見た目だよ!
  • USBカメラとRaspberry Piカメラモジュールで使えるよ!
  • ついでにネットワークカメラも対応してるよ!
  • 動体検知によるメール通知と定期監視するよ!
  • Jpeg撮影とAVI動画が保存できるよ!
  • タイムラプス動画も撮れるよ!
  • GoogleDriveまたはDropboxにアップロードできるよ!

ネットワークカメラに対応してるので、他の機器で動いてるmjpg-streamerの画像を持ってきたり、Ai-Ballの画像を持ってきたり、複数のカメラを統合して利用できるのはよさそう。
動体検知するならSDカードはせめて16Gくらいは欲しいですね。音声はまだ無理みたいですが。

■ 基本情報
Raspberry Pi 2 Model B + Class10 16GB microSDXC + WLI-UTX-AG300
IPアドレス体系は192.168.24.0、DHCP運用
ホスト名はgusion、Avahiではgusion.local
ユーザ名はpiからakitakaに置き換え

カメラモジュールのv4l2ドライバの有効化

USBカメラの場合は多分必要ありません。
motionでカメラモジュールを使うにはv4l2ドライバを追加する必要があります。カメラモジュールv2はもしかしたらbcm〜の型番が違うかもしれませんので確認してください。

$ sudo vi /etc/modules

【最下行に追加】
bcm2835-v4l2

カメラモジュールのLEDを消す

結構明るいLEDを点けないようにしておきます。
設定しても点いてることがあるのであまりアテにできませんが。

$ sudo vi /boot/config.txt

【最下行に追記】
disable_camera_led=1

ffmpeg

インストールドキュメントによると、ffmpegのバイナリは公式のレポジトリからなくなっていて、一応別の場所に存在していたバイナリは最近のRaspbianでは動作しないそうです。
なので(?)、motionEyeが用意しているffmpegのバイナリを使用します。

ソース格納ディレクトリ作成

$ mkdir src
$ cd src

ffmpegのダウンロード

$ wget https://github.com/ccrisan/motioneye/wiki/precompiled/ffmpeg_3.1.1-1_armhf.deb

ffmpegのインストール

$ sudo dpkg -i ffmpeg_3.1.1-1_armhf.deb

必要なライブラリ類をインストール

$ sudo apt-get install python-pip python-dev libssl-dev libcurl4-openssl-dev libjpeg-dev libx264-142

motionのインストール

公式リポジトリのmotionが古いらしいので、motionEyeが用意したパッケージを入れます。

motionのダウンロード

$ sudo wget https://github.com/ccrisan/motioneye/wiki/precompiled/motion-mrdave-raspbian -O /usr/local/bin/motion
$ sudo chmod +x /usr/local/bin/motion

motioneyeのインストール

$ sudo pip install motioneye

motion設定ファイルのコピー

$ sudo mkdir -p /etc/motioneye
$ sudo cp /usr/local/share/motioneye/extra/motioneye.conf.sample /etc/motioneye/motioneye.conf

メディアファイル格納場所を作成

$ sudo mkdir -p /var/lib/motioneye

initスクリプトの追加

$ sudo cp /usr/local/share/motioneye/extra/motioneye.systemd-unit-local /etc/systemd/system/motioneye.service

motionEyeサーバの起動

$ sudo systemctl daemon-reload
$ sudo systemctl enable motioneye
$ sudo systemctl start motioneye

motionEyeのアップデート

$ sudo pip install motioneye --upgrade
$ sudo systemctl restart motioneye

8760ポートを空ける

ufwが入っていた場合、管理画面のアクセスポートである8760が遮断してアクセスできないので、ポート空けしておきます。

$ sudo ufw allow 8760

内部だけアクセスなら、

$ sudo ufw allow from 192.168.24.0/24 to any port 8760 proto tcp

でいいでしょう。

motionEyeのアクセス

  • ブラウザから「http://gusion.local:8765」にアクセス。
  • username:admin、password:なしでログイン。
  • 「You have not configured any camera yet. Click here to add one…」をクリック
  • Camera Typeは「Local Camera」、Cameraは「mmal service 16.1」を選択しOK

うまく行けば早々に画面が表示されます。だいたい10秒ぐらいのラグがありますね。
Mjpg-streamerのCPU使用率が約36%に対し、motionEyeは6%程で済んでいます。

正しく動いてない場合、「cat /var/log/daemon.log | grep motion」をすればおかしい箇所があると思います。

motionEyeの基本設定

ほぼ全ての設定をWeb上で行うことができます。
動画静止画を見る程度であれば以下の設定で良いと思います。

  • General Settings
    • Advanced Settings:ON
    • Admin Username:admin
    • Admin Password:管理用パスワード
    • Surveillance Username:監視用ユーザ名
    • Surveillance Password:監視用パスワード
  • Video Device
    • Camera Name:gusion
    • Frame Rate:15
  • Video Streaming
    • Streaming Port:8080
    • Authentication Mode:Basic
  • Motion Detection:OFF

管理画面のアクセスは上記のアドレスですが、MotionJPEGの画像を見るだけなら以下のアドレスにアクセスすれば良いです。

  • Streaming URL:http://gusion.local:8080

Surveillance Usernameで設定したユーザ名とパスワードが要求されます。
固定画像(スナップショット)はアドレスが複雑なのでどうにかならないか模索中です。

結局使わないことにした

CPUそんなに食わないのは素晴らしいのですが、静止画の配信ができないのでインストールだけして停止しておくことにしました。

$ sudo systemctl disable motioneye

コメントを残す

以下に詳細を記入するか、アイコンをクリックしてログインしてください。

WordPress.com ロゴ

WordPress.com アカウントを使ってコメントしています。 ログアウト / 変更 )

Twitter 画像

Twitter アカウントを使ってコメントしています。 ログアウト / 変更 )

Facebook の写真

Facebook アカウントを使ってコメントしています。 ログアウト / 変更 )

Google+ フォト

Google+ アカウントを使ってコメントしています。 ログアウト / 変更 )

%s と連携中