Raspberry Pi3で監視カメラサーバを立ててみた

/ RaspberryPi / Comment[0]

手のひらサイズコンピュータRasbperry Pi(ラズパイ)の現状最新版のPi3を買いました。
ケースとヒートシンクセットでお値段なんと5,980円!
ケーキ屋さんのラズベリーパイと比べると少々割高ではありますが、ものすごく美味しいんです。

Raspberry Pi3のスペック

vcgencmdコマンドにて取得
http://elinux.org/RPI_vcgencmd_usager

  • CPU 1200Mhz / Quad Core / 64bit
  • MEM 1GB
  • TDP 12.5W

Raspberry Pi3の電源周り

Raspberry Pi3は性能向上に伴い、消費電力が増え、最大2.5A供給できるUSBポートが求められています。
電源不足で落ちたら困るので使えそうなものを選びました。

コンセントで給電するならこれ

モバイルバッテリーならこの製品が2.5Aに対応しています。

ソーラーチャージャー。
「2ポートそれぞれ2.4Aまで、合計3.2Aまで出力」と十分な発電量を持ちます。モバイルバッテリーと併用したら面白そうです。

OSをインストール

デスクトップでもサーバーでもUbuntuを使っているので、ARMのUbuntuをインストールしようとしたんですが、Pi3にはまだ対応していないとのことなので、同じくDebian系のRaspbianをインストールすることにしました。

Raspbianのイメージをダウンロード

公式サイトからダウンロードします。
フルデスクトップと軽量版がありますが、用途はサーバーなのでRaspbian Jessie Liteを選びます。
https://www.raspberrypi.org/downloads/raspbian/

イメージをmicroSDに書き込み

別のPCでイメージを展開し、microSDにddコマンドなどで焼きます。※コピーではありません。

展開したイメージがraspbian.imgという名前でmicroSDデバイスのデバイスファイル名が/dev/sdbの場合
対象のデバイスファイル名はfdisk -lコマンドで確認してください。

# dd if=raspbian.img of=/dev/sdb bs=1M

上記コマンドでデータがそっくりそのままSDカードに焼き付きます。
コマンドが終了したらSDカードをアンマウントして取り外します。自動マウントが働いてしまう場合、syncコマンドを実行すれば強制的に外してもほぼ問題ありません。

起動

HDMIケーブル、LANケーブル、イメージを焼いたmicroSD、キーボードを差し込んだあとに、
ミニUSBの電源ケーブルを差し、通電した瞬間にシステムが起動します。

初期ID、パスワードは以下

USER: pi
PW: raspberry

ネットワーク設定

最新のraspbianはデフォルトでDHCPで自動取得してくれるようです。しかしサーバー用途なので固定IPアドレスを設定します。
ネットワークの設定は/etc/network/interfacesを編集します。

#設定例
auto eth0
address 10.0.1.2
network 10.0.0.0
broadcast 10.0.255.255
netmask 255.255.0.0
dns-server 8.8.8.8

次のコマンドで反映させます。
# /etc/init.d/networking restart

motionをインストール

いよいよ監視カメラサーバの構築です。
シンプルなmotionを使います。インストールはaptで行います。

# apt-get install motion

正常にインストールが完了したら設定を行います。
/etc/default/motionの「start_motion_daemon=no」を「start_motion_daemon=yes」と書き換えます。

以下のコマンドでスタートアップを有効にします。
# update-rc.d motion enable

motionの詳細設定

/etc/motion/motion.confを編集します。

まあ殆ど見れば解ると思いますが、ポイントをいくつか挙げます。

  • daemonをonに
  • stream_localhostをoffに
  • ストリームを公開するポートを指定 stream_port 8081
  • ただアクセスすれば見えてしまうのではセキュリティ的に問題があるのでbasicかdigest認証をかけましょう
    # 0 = disabled
    # 1 = Basic authentication
    # 2 = MD5 digest (the safer authentication)
    stream_auth_method 1
    stream_authentication username:password
  • ウェブ上で遠隔でコントロールしたい場合はポート番号(0にすると無効)、ローカルのみか否か、アカウント情報を指定。
    webcontrol_port 8080
    webcontrol_localhost off
    webcontrol_authentication username:password

以下のコマンドでデーモンを再起動することで適用されます。
# service motion restart

複数のカメラで同時に監視

motion.confの末尾のthread1.conf~のコメントアウトを削除し、ファイルを作成します。
そして以下のようにカメラごとの設定を記述すれば複数のカメラで監視できます。thread*.confに書くカメラ毎の設定項目は、本体設定ファイルであるmotion.confから削除しておきます。

thread1.conf

videodevice /dev/video0
target_dir /var/motion/cam1
stream_port 8081

thread2.conf

videodevice /dev/video1
target_dir /var/motion/cam2
stream_port 8082

関連記事

コメント

:
:
:
:
:
管理人のみ表示を許可