低コストのHD監視カメラとしてのRaspberry Pi

この説明は、監視対象エリアで何かが動いたときにHDビデオを記録するRaspberry Piマイクロコンピューターに基づいて監視カムを構築する方法を説明しています。 ライブ画像は、外出中にモバイルからでも、任意のWebブラウザーから表示できます。

あなたが得るもの:

  • どこからでもウェブブラウザでライブストリームを見る
  • モーションをビデオファイルに記録する
通常、このようなカムには約1.00ドルかかりますが、この指導可能な結果から、このようなカムは約120ドルで手に入ります。

ステップ1:背景

Raspberry Piのことを聞いたことがありますか? Linuxを実行できる低コストのマイクロコンピューターであり、拡張の可能性は無限です。 費用はわずか約35米ドルで、これを使って構築できるものの無限の可能性を開きます。 公式ウェブサイトは//www.raspberrypi.org/にあります

ステップ2:ハードウェアコンポーネント

このプロジェクトにはいくつかのハードウェアが必要です。 これは私たちが必要とする主なもののリストです:

  • Raspberry PiモデルB:これは、700MHzおよび512MBのRamを搭載したRaspberryコンピューターシステムのより大きなモデルです。 HDビデオをサポートしています。 ここから簡単に注文できます。 費用:約40米ドル 。 また、Raspberry Pi Model Aを使用することもできます。これは、わずかに安く、消費電力が少ないです。 Stefan Knightは、このプロジェクト全体をモデルAで実行する方法に関する優れた記事を書いています。
  • Raspberry Piカメラモジュール:このモジュールは、Raspberryマイクロコンピューター用に特別にビルドされました。 Raspberryボードに直接接続するコネクタがあり、最大1080pのHDビデオをサポートします。 ウェブサイト//www.rs-components.com/raspberrypiには、あなたの国で注文できる場所が表示されます。 つまり、//www.alliedelec.com/lp/130513rasocameramodule/は、このカメラを米国に29ドルで出荷しています。
    Raspberry Pi用の赤外線カメラモジュール(//www.raspberrypi.org/archives/5089)が間もなくリリースされます。 まだテストする機会はありませんが、この監視カメラでも同様に機能するはずです。
  • カメラのハウジング:Raspberryに高価なハウジングを購入する必要はありません。 ここに私たちのニーズに完全に合った非常に安価な偽のセキュリティカメラがたくさんあります。 「監視カメラダミー」をWebで検索すると、わずか数ドルで新しいカメラのハウジングがたくさん見つかります。 つまり、これは//amzn.to/15XLaAjの仕事をUS $ 9で行います。 ドイツでは、すべてのコンポーネントに十分なスペースがあるこのカメラハウジングを約20ユーロで注文しました。://amzn.to/19CTEaN。 任意のカメラハウジングを使用できますが、Rasperryボードが収まるようにハウジングのサイズにのみ注意してください。 Raspberryボードの寸法は85.6 x 53.98 x 17 mm(約3.37 x 2.13 x 0.67インチ)です。
  • 電源:Raspberryコンピューターには電源が​​付属していません。自分で電源を入手する必要があります。 マイクロUSBプラグを備えた電源は、少なくとも1Aの電力を供給している限り、この仕事を実行できます。 すでに約10米ドルのマイクロUSBプラグを備えた電源を注文しました。
  • SDカード:Raspberry Piにはストレージが搭載されていないため、このデバイスのオペレーティングシステムをインストールして実行できるように、一部を追加する必要があります。 すべてのSDまたはmicroSDHCがジョブを実行しますが、クラス10のSDカードを使用することをお勧めします。 たったの7米ドルです
  • このカムをネットワークに接続するには、何らかのネットワーク接続も必要です。 1つの可能性はLAN接続を使用することですが、カメラをマウントする場所にLANケーブルを接続する必要があります。 より良い代替手段は、たった約10米ドルの WiFi USBアダプターです
それだけです。約120米ドルで 、このHD監視カメラを構築するために必要なすべてのハードウェアが揃っています。

ステップ3:Raspbianをインストールする

最初に、OSとソフトウェアをRaspberry Piにインストールしてから、一緒にマウントする必要があります。 OSは、Raspberryハードウェアに何をすべきかを伝える基本的なオペレーティングシステムソフトウェアです。 Linuxはこれに最適です。 Raspbianを選択しました。これは、Raspberryの最も高度なOSの1つであり、インターネット上で多くのヘルプとチュートリアルを提供しています。
RaspberryでRaspbianを実行できるようにSDカードを準備する必要があります。Adafruitのこの優れたチュートリアルでは、必要な手順について説明します。
次に、Raspberry PiボードをLANケーブル、モニター(HDMI TVはそのまま使用できますが、このようなHDMI-DVIケーブルでも機能します)、および基本セットアップ用のUSBキーボードに一時的に接続します。
Raspbianインストーラーが準備されたSDカードを挿入し、電源を接続します。
Raspberryが起動し、このAdafruitチュートリアルで説明されているセットアッププロセスをガイドします。 この後、基本的なRaspbian OSを実行する必要があります。
モニターとキーボードが接続されていないときにもRaspberryデバイスを制御できるように、RaspbianでSSHを有効にしてください。 また、Raspbianセットアップメニューからカメラを有効にして、モーション検出に使用できるようにする必要があります。
RPIが最新であることを確認してください:

 sudo apt-get install rpi-update sudo rpi-update 

また、すべてのパッケージを更新します。

 sudo apt-get update sudo apt-get upgrade 

ステップ4:SSH経由で接続する

基本的なセットアップが完了したので、コンピューターからRaspberryデバイスに接続する必要があります。 ローカルネットワーク内の任意のコンピューターからLinuxコンソールに接続し、その前に直接座って自分のように制御できます。 これは非常に重要です。デスクトップから遠く離れてマウントしたら、壁から取り外して机に戻す必要なく、いつでもこのカメラの更新と構成の変更ができる必要があります。

このカムは単なるダンプカムデバイスではなく、Linux OSが実行されている非常に強力なコンピューターであることを忘れないでください。 現在、この記事で説明していることに限定されません。 ソフトウェアの開発を追跡するため、更新されたソフトウェアや他のモジュールをいつでもインストールできます。

まず、RaspberryのLinuxコンソールに接続するためのソフトウェアが必要です。 Windowsの場合、追加の(無料の)ソフトウェアPuTTYが必要です。 PuTTY Webサイトからダウンロードしてインストールし、Raspberry Piデバイスに接続します。

これ以降、Raspberryにモニターとキーボードを接続する必要はなくなりました。

ステップ5:WiFiを有効にする

WiFi USBドングルでこのカメラを実行したい場合(手順2で提案したように)、RaspberryでWiFiを動作させるためにいくつかの簡単な追加手順を実行する必要があります。
コンソール(PuTTYウィンドウ)から、Raspberryのネットワークプロパティを編集します。
 sudo nano / etc / network / interfaces 
次に、これらの行をファイルの最後に追加します(または既存の行をこれらに一致するように変更します)。
 allow-hotplug wlan0 iface wlan0 inet dhcp wpa-ssid "YOUR NETWORK SSID" wpa-psk "WIFI PASSWORD" 
(WiFiネットワークのSSIDとパスワードを入力します)
次のコマンドを使用してRaspberryを再起動し、WiFiネットワークに正しく接続されているかどうかを確認します。
 sudo reboot 

ステップ6:ハードウェアをまとめる

ここで、すべてのハードウェアコンポーネントを一緒にハウジングに組み立てます。 住宅にもよりますが、これはあまりにも複雑な仕事ではありません。 Raspberryボードは、ハウジング内で転倒しないように安全に取り付けてください。
ハウジングの前面に非常に大きなガラス窓があったため、穴の開いた黒い紙で閉じました。 これには、カメラの「技術」が見えなくなるという利点があります。 カメラの録画が表示されるようにしたい場合は、カバーしないでください。 カメラが動きを検出しているとき、または録画しているときはいつでも、LEDライトは非常に明るい赤で点灯します。
/boot/config.txtに次の行を追加して、カメラの赤色LEDをオフにすることもできます。

 disable_camera_led = 1 



ステップ7:動体検知ソフトウェアのインストール

多くの設定オプションを備えた非常に優れた(そして無料のオープンソースの)モーション検知/監視ソフトウェアはモーションです。
コマンドラインを使用してインストールする必要があります(ユーザー「pi」としてraspberryにログインします)。
 sudo apt-get install motion 
一部のパッケージは、インストールプロセスでインストールされます。 「y」と入力するだけでインストールが続行されます。
現在のバージョンのモーションは(まだ)Raspberryカメラモジュールをサポートしていないため、このカメラモジュールをサポートする特別なビルドをダウンロードしてインストールする必要があります。
 cd / tmp sudo apt-get install -y libjpeg62 libjpeg62-dev libavformat53 libavformat-dev libavcodec53 libavcodec-dev libavutil51 libavutil-dev libc6-dev zlib1g-dev libmysqlclient18 libmysqlclient-dev libpq5 libpq-dev wget //www.dropbox.com/s /xdfcxm5hu71s97d/motion-mmal.tar.gz 
次に、ダウンロードしたファイルを/ tmpディレクトリに展開する必要があります。
 tar zxvf motion-mmal.tar.gz 
この解凍後、ダウンロードしたビルドでインストール済みのモーションを更新する必要があります。
 sudo mv motion / usr / bin / motion sudo mv motion-mmalcam.conf /etc/motion.conf 
また、モーションが常に実行されるようにモーションデーモンを有効にする必要があります。
 sudo nano / etc / default / motion 
行を次のように変更します。
 start_motion_daemon = yes 
Motionの公式ビルドがまもなくRaspberryカメラモジュールもサポートするようになると確信しています。
モーション設定ファイルを編集するための非常に重要なコマンドは
 sudo nano /etc/motion.conf 
注:標準のモーションインストールでは、motion.confは/ etc / motion /にありますが、dropbox-urlからの特別なmotion-mmalビルド(上記を参照)は/ etc /にあります。 すべてのステップでこのチュートリアルに従う場合、これはまったく問題ありません。
ファイルのパーミッションが正しいことを確認してください。ユーザー「pi」としてログインしている間にssh経由でmotionをインストールする場合、再起動後にモーションをサービスとして実行する権限をユーザー「motion」に付与する必要があります。
 sudo chmod 664 /etc/motion.conf sudo chmod 755 / usr / bin / motion sudo touch /tmp/motion.log sudo chmod 775 /tmp/motion.log 
ニーズに合わせてmotion.confファイルにいくつかの変更を加えました。 現在のmotion.confファイルはここからダウンロードできます。 以下で説明する正確な設定オプションを使用する場合は、含まれているmotion.confをダウンロードして解凍し、/ etc / motion.confにコピーします。
主な変更点は次のとおりです。
モーションが常にバックグラウンドでデーモンとして実行されていることを確認してください。
 デーモンオン 

代わりに、ログファイルを/ tmpに保存します(そうしないと、自動起動ユーザーは/ home / pi /フォルダーにアクセスできなくなります)。

 ログファイル/tmp/motion.log 
高品質の監視ビデオを使用するため、解像度を1280x720に設定しました。
 幅1280高さ720 
リアルタイムビデオは必要ありません。1秒間に2枚の画像で十分です。
 フレームレート2 
これは、モーションソフトウェアの非常に便利な機能です。画像内のモーションが検出される前後にいくつかのフレーム(構成では2つ)を記録します。
 pre_capture 2 post_capture 2 
終わりのない映画は望まない。 代わりに、最大値が必要です。 モーションビデオの10分間のスライス。 この設定オプションは、max_movie_timeからmax_mpeg_timeに変更されました。 motion-mmalビルドを使用する場合、これは機能します。 「Unknown config option "max_mpeg_time"」というエラーが表示された場合は、これをmax_movie_timeに変更するか、上記のように実際にmotion-mmalビルドを使用してください。
 max_mpeg_time 600 
VLCのような一部のメディアプレーヤーは録画した映画を再生できないため、コーデックをmsmpeg4に変更しました。 次に、すべてのプレーヤーで映画が正しく再生されます。
 ffmpeg_video_codec msmpeg4 
どこからでもライブストリームにアクセスできるようにします。 そうでない場合、ローカルホスト(= Raspberryデバイス)のみがライブストリームへのアクセスを許可されます。
 stream_localhost off 
ユーザー名とパスワードでライブストリームを保護する場合は、これを有効にする必要があります。
 stream_auth_method 2 stream_authentication SOMEUSERNAME:SOMEPASSWORD 
すべての構成パラメーターは、モーション構成のドキュメントで詳細に説明されています。
motion.confを変更したら、Raspberryを再起動します。
 sudo reboot 
再起動後、カメラモジュールの赤色のライトが点灯します。これは、動きが現在カメラを使用して動きを検出していることを示しています。

ステップ8:Windows共有フォルダーにビデオを保存する

Raspberry PiのSDカードは非常に限られたリソースであるため、Raspberry camにWindowsサーバーの1つにビデオを保存させることにしました。 これは非常に簡単です。
まず、Windowsマシンのフォルダーを共有します。 Windowsマシンからフォルダーを共有したことがない場合は、インターネット上のいくつかのガイドに従ってください。
次に、PuTTYコンソールから、またはデバイスから直接、Raspberryでfstab設定を開きます。
 sudo nano / etc / fstab 
次に、Windowsネットワーク共有フォルダーの構成に追加の行を追加します。
 // YOURSERVERNAME / YOURSHAREDFOLDERNAME / mnt / camshare cifs username = YOURSHAREDFOLDERUSERNAME、password = YOURSHAREDFOLDERPASSWORD、iocharset = utf8、file_mode = 0777、dir_mode = 0777 0 0 
ユーザーがその共有フォルダにファイルを保存するための正しい権限を持っていることを確認してください。
再起動後、RaspberryにはWindows共有フォルダーにマウントされた追加フォルダー/ mnt / camshareが必要です。 motion.confで設定する必要があります。
 target_dir / mnt / camshare 
そのため、motionはすべてのムービーをWindowsマシンの共有フォルダーに保存します。


ステップ9:Motion Autostartを修正する

Raspberryの再起動時にモーションが自動的に開始されないという問題がありました。 これは、motionがアクセスしようとしたときにWindowsマシンのマウントされたフォルダーがまだ準備ができていなかったためであることがわかりました。
非常に迅速な修正で問題が解決しました。
モーションファイルを編集するだけです
 sudo nano /etc/init.d/motion 
そして、行を追加します
 寝る30 
開始シーケンスに。
変更された/etc/init.d/motionスクリプトは、ここからダウンロードできます。

ステップ10:カメラの取り付け

これらのすべてのステップの後、最終的に監視カメラを目的地に取り付けることができます。
役立つヒント:
  • 必ず電源を乾燥した安全な場所に置いてください
  • WiFi信号に注意してください:カメラをWiFiの範囲外にマウントすると、ライブビデオを送信したり、モーションビデオを保存したりできなくなります

ステップ11:ライブストリームにアクセスする

これで、URL // IPADDRESSOFRASPBERRY:8080を介して任意のブラウザーからカメラからライブストリームにアクセスできます。
8080は、motion.confファイルでストリーム用に構成したポートです。 ポートのmotion.confで独自の構成設定「stream_port」を参照してください。
基になるChromiumプロジェクトのバグが原因で、Google Chrome 30(iOSでさえも)がこのストリームを直接再生できないことがわかりました。
これを回避するには、カメラのストリームURLを含む1つの大きな画像を含む単純なhtmlファイルを作成します。 raspberry_surveillance_cam_scavix.zipのファイルcam.htmlを参照してください。 このようにして、Chromeはライブストリームも表示できます。 Chromeがブラウザのこの問題を修正することを期待しましょう。
しかし、FireFox、Safari、VLCメディアプレーヤーなどの他のブラウザは、カメラのライブストリームを表示できました。
Internet ExplorerはMotion JPEGをサポートしていないため、ライブストリームをInternet Explorerで動作させることはできませんでした。 Kenneth Lavrsen(モーションの作成者)は、ここでInternet Explorerのライブストリームの回避策について説明しています。

ステップ12:どこからでもライブストリームにアクセスする

ライブストリームにどこからでもアクセスできるようにするには、ローカルネットワークに対して何らかの動的ドメインサービスを有効にする必要があります。 これにより、ローカルIPアドレスが変更された場合でも、外部からローカルIPアドレスに常に接続できるようになります(ドイツでは、プライベートDSL IPアドレスはすべて24時間ごとに変更されます)。
このような(無料の)サービスにより、IPアドレスが変更された場合でも、どこからでもRaspberryにアクセスできます。 ここ数年間使用している非常に優れたサービスはdyn.comです。 これらにはいくつかの無料サービスがあり、多くのルーターに統合されています。
動的IP URLを設定したら、ブラウザのどこからでもカメラストリームにアクセスできます(例:// YOURDYNAMICDOMAIN:8080)。
また、これはモバイルデバイスのブラウザからも機能します。

ステップ13:次のステップ

現在、このような監視カメラの基本的な設定でできることは千通りあります。 動きが検出されたときにGrowl通知を送信するのはどうですか? このガイドでは、この機能を簡単に追加する方法について説明します。

または、カムに温度センサーを簡単に追加できます。 それはほんの数ドルであり、非常に簡単に統合することができます。
現在、ライブストリームをMediaPortalサーバーに統合する作業を行っているため、テレビチャンネルに切り替えて、オフィスのカムからのライブストリームを見ることができます。

さらなるセキュリティが必要な場合は、カメラにバッテリーパックを追加することもできます。 Raspberryに電力を供給しながら同時に充電できるものを必ず購入してください。 これにより、悪意のある人がカメラの電源タップを切断したかどうかを検出し、妨害者のビデオを含む警告メッセージ(SMSまたは電子メール)を送信できます。

何を追加しますか? 私たちに知らせて!

関連記事