カウンター
  • 1042今日の閲覧数:
  • 1211昨日の閲覧数:
  • 782今日の訪問者数:
  • 884昨日の訪問者数:
アーカイブ
カテゴリー
2013年5月30日 木曜日

ライブカメラ用にUSB延長リピーターケーブルを購入

私の家の外部には、夜間や外出時に家の周囲をチェックするためのライブカメラが設置してあります。

防犯カメラといっても専用のガード用のものではなく、Linuxで動かしている自宅サーバー機にUSB接続のWEBカメラを接続してプライベート的に配信および定時的に画像を保存しています。

先日、家のエクステリアのメンテナンス工事を依頼していた際にも、職人さんたちの出入りや、開放されていた駐車場への出入りなどをチェックしていたのですが、途中で記録されていない事がありました。

屋外にカメラやケーブルを配置して運用していたのでそれが原因かと思いましたが、いろいろ調べていくうちに根本的なところに原因があるのがわかりました。

最初に書いたように、屋外のWEBカメラは有線式のUSB接続なので設置場所からサーバー機までUSBケーブルを延長してつないでいます。

USBケーブルは、電送されるデータの減衰の問題もあり5mまでの使用が原則になっています。

もちろん設置当初からそれは知っていましたが、今までは5mだけでなくさらに2mケーブルを2本、それにカメラ本体のケーブルを含めて10m以上伸ばしてもう何年も問題なく使えていました。

しかしケーブルや接続部の経年劣化のせいで急に写らなくなってしまいました。

そこでUSBの5mケーブルの壁を越えて使える「USB延長リピーターケーブル」を購入しました。

USB延長リピーターケーブル

リピーターケーブルは、内部で信号を増幅させて5mの規格よりも遠くへ信号を送れるようにしているものです。

このケーブルはつないでいけば20mまで延長する事が出来ます。

メス側の接続部がかなり太くなっているのが、通常の延長ケーブルと異なります。

設置してあるケーブルを外してこのリピーターケーブルにつなぎ直したところ、問題なく映像が送れました。

20mとか延長出来るのなら、屋根の上に設置して「今日の富士山」なんかの中継もおもしろいかもしれませんね。

 

【関連記事】
 この延長ケーブルの実力を、電圧と電流計で計ってチェックしてみました。

 その結果、なんと驚きの結果が。。。!!!

 その記事は、コチラ「USB電圧・電流チェッカーでいろいろ測ってみた」 です。

 


ブログランキングに参加中です
気に入ったらポチお願いします
にほんブログ村 バイクブログ ハーレーダビッドソンへ
にほんブログ村




2011年12月26日 月曜日

Linux(CentOS)の自宅サーバでライブカメラを構築する ~motionによる動態検知編

せっっかく構築したライブカメラですが、fswebcamだと静止画しか記録出来ません。

常時監視する為には、定期的に静止画を保存する必要があります。

1分毎に保存した場合、1日分で 60枚/時×24時間=1,440枚にもなります。

1枚の静止画のサイズが15KBとして1日で22MB、1年で8GBになります。

これだけの枚数、容量だとチェックも保存するディスクにも負担となります。

どうせなら、画面の中に動きのあった時だけ記録して、しかもそれが連続した動画として見られれば最高です。

こういった事を実現してくれるソフトが、フリーソフトでもあります。

「motion」というのがそれです。

ところが、私の環境ではmotionのインストールで行き詰まっています。

今までやった事です。

こちらのサイトで最新バージョンを確認します。
http://www.lavrsen.dk/foswiki/bin/view/Motion/ConfigFileOptions

「Downloads」で落とします。
http://www.lavrsen.dk/foswiki/bin/view/Motion/DownloadFiles

事前準備「Preparation For Install」
http://www.lavrsen.dk/foswiki/bin/view/Motion/PrepareInstall

Library RPM Packages Debian Packages
libm, libresolv, libdl, libpthread, libc, ld-linux, libcrypt, and libnsl glibc and glibc-devel libc6 , libc6-dev ,libglib1.2
libjpeg libjpeg and libjpeg-devel libjpeg62 and libjpeg62-dev ( optional libjpeg-mmx-dev )
libz zlib and zlib-devel zlib1g and zlib1g-dev

libavcodec, libavformat ffmpeg and ffmpeg-devel or install from source libavcodec-dev libavcodec0d libavformat-dev libavformat0d (*)

# yum install motion

# rpm -ivh motion-3.2.11-1.i386.rpm

# tar zxvf motion-3.2.12.tar.gz
./configure
make

インストールに失敗します。

エラー: 依存性の欠如:
libavcodec.so.51 は motion-3.2.11-1.i386 に必要とされています
libavformat.so.51 は motion-3.2.11-1.i386 に必要とされています
libavutil.so.49 は motion-3.2.11-1.i386 に必要とされています
libpq.so.5 は motion-3.2.11-1.i386 に必要とされています

が無いと言われます。

RPM Fusionのレポジトリをインストールしていない場合はインストールを済ませます。
rpmfusion リポジトリを追加します

# rpm -ivh http://download1.rpmfusion.org/free/fedora/rpmfusion-free-release-stable.noarch.rpm http://download1.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree-release-stable.noarch.rpm
その後、
# yum install motion

rpmfusion-free-release-5-0.1.noarch.rpm

rpmfusion-nonfree-release-5-0.1.noarch.rpm

をいれようとしますが、こちらもうまくいきません。

動態検知によるライブカメラ構築は、以前からやってみたかった事なので、ぜひ実行したいのですが。。。今のところ、解決策が見あたりません。

もうしばらく、 楽しんで 苦労してみます。 苦笑;

  


ブログランキングに参加中です
気に入ったらポチお願いします
にほんブログ村 バイクブログ ハーレーダビッドソンへ
にほんブログ村




2011年12月15日 木曜日

Linux(CentOS)の自宅サーバでライブカメラを構築する ~fswebcam編

最近、Linuxネタの記事を書いていなかったのですが、その間もちょこちょこ自宅サーバをいじってました。

もともとパソコンおたく(のオジサン)だった訳ですし、このブログの記事も、ツーリングの記事などはその日の内に書きますが、それ以外は夜(~深夜)と休日にまとめて書いているものがほとんどです。
(だから毎日睡眠時間は4、5時間なんです)

ひさしぶりにLinuxの関連する記事を書いてみます (誰も期待してないかな?)

今までも、自宅サーバから自宅の様子を映し出すライブカメラを運営してきました。

留守宅の室内や庭の様子やバイクを停めてある場所の様子を映すのが目的なので、アドレスとかは公開せず、自分の携帯電話やスマホにのみの公開限定としてあります。

 (※ 先日公開した「皆既月食」の連続動画は、すでに構築したこの新しいライブカメラで1分毎に撮影したデータを、FLASH形式の動画に変換したものです。 )

今までやっていたライブカメラの構成ですが、Linux(以前はFedora、今はCentOS)でのUSB接続のカメラのドライバの導入がうまくいかなかったのと、定期的な運用や、動画を配信するソフトなどが、Windows版の方がやりやすかったので、カメラ自体はCentOsの自宅サーバ機には接続していませんでした。

方法としては、Windowsを入れた中古のノートパソコンを用意してここに複数台のUSBカメラを接続して、ライブカメラソフトで取り込んだ画像をFTPでLinuxベースの自宅サーバ機のフォルダーに転送し、それをhtmlに埋め込んで公開していました。

当然ですが、この方法だと自宅サーバ機以外に別のマシンを動かす事になり、節電がさけばれていた今年の春以降、旅行等で監視が必要な長時間、家を空ける時以外は停止していました。

■ WEBカメラを導入する

今回、いろいろ調べていくウチに、今のUSBカメラのLinux用ドライバは、機器ごとに用意しなくても「UVC」という規格に準じたものであればどのカメラでも汎用性があり、Linuxでの導入がすごく楽になるというのがわかってきました。

「UVC」とは、ユニバーサル・ビデオ・クラスの略で、USB2.0の規格に準じてライブカメラなどのWebカメラ機器をUSBでパソコンに接続するための統一規格の事です。

これなら自宅サーバ機に直接カメラを接続して、Linuxのサーバマシン一台だけで24時間のライブカメラ運用が可能になりそうです。

自宅に今までに購入したUSB接続のカメラが10台近くありますが、今回新たにUVC規格のWEBカメラを買い足しました。

大型量販電気店で安く売られていた「ELECOMのUCAM-DLK130TRD」です。

dlk130.jpg

(ガレージ撮影用なので、愛車のジュークと同じようなメタリックレッドにしました)

くっきりとキレイな画像を映し出すガラスレンズ、130万画素1/4インチCMOSセンサを搭載したWebカメラです。

■ 自宅サーバ環境

あとはすべてフリーソフトで構築出来ます。

ネットで関連する情報をいろいろ調べてやってみたのですが、同じLinuxでもディストリービュータやバージョン、カメラのハードの違いなどから私の環境ではそのままでは適用出来ない事が多くありました。

いろんな試行錯誤の末、なんとか私の家(自宅サーバ機は、CentoS5.7、カメラは上記)の場合での構築方法が見つかりました、自分のための備忘録として記録しておきます。

■ それでは具体的な構築内容です。

まずは、自宅サーバ機のLinux kernelのバージョンを調べます。

# uname -r

と入力すると、CentOS5.7では、

2.6.18-274.7.1.el5

と表示されます。

■ 画像キャプチャソフト、fswebcamを導入する

次にfswebcamをインストールします。

# rpm -ivh fswebcam-20070108-1.i386.rpm

後は

# fswebcam cam.jpg

と打ち込んでやればカメラからの画像が表示されました。

output.jpg

実際には、

# fswebcam -p YUYV –bottom-banner –line-colour ‘#FF000000’ -S 5 -r 352*288 –font “/usr/share/fonts/ja/TrueType/kochi-gothic-subst.ttf:14” –rotate=180 /livecamera/`date %Y-%m-%d_%H%M.jpg`

と設定しました。

オプションの設定は、

-p YUYV

–bottom-banner  : bannerを下部に設置します

–line-colour ‘#FF000000’ : バナーの上に表示される赤い線

-S 5 : 5フレーム経過後に実行します

-r 352×288 : 画像の解像度を設定します

–font “/usr/share/fonts/ja/TrueType/kochi-gothic-subst.ttf:16″ : タイムスタンプで表示される文字のフォントとサイズを設定します

–rotate=180 : 画像を180度回転させます

/livecamera/ : 画像ファイルの出力先フォルダーを設定します

`date %Y-%m-%d_%H%M.jpg` : 画像ファイル名を設定します
               固定した名前にする時は「photo.jpg」とかにします

■ 自宅サーバでweb公開する

この画像を埋め込んだサイトを作って、自宅サーバで公開すれば、外出先のPCやスマホ・携帯から見る事が出来ます。

screenshot_2011-12-04_0941.png

■ 連続キャプチャをcronで実行する

さらに、一定時間毎に画像を更新します。

このままでは、一度撮影した画像のままなので、定期的に画像を取得するようにcrontabで運用します。

一番簡単なcronの設定の仕方です。

/etc/crontab をエディターで編集します。

私はviに不慣れなので、サーバ機に直接アクセスして、geditで編集しています。

# gedit /etc/crontab

と入力すると

SHELL=/bin/bash
PATH=/sbin:/bin:/usr/sbin:/usr/bin
MAILTO=root
HOME=/

# run-parts
01 * * * * root run-parts /etc/cron.hourly
02 4 * * * root run-parts /etc/cron.daily
22 4 * * 0 root run-parts /etc/cron.weekly
42 4 1 * * root run-parts /etc/cron.monthly

と表示されます。

このリストの最後に追加して記述します。

書いた内容は、

0-59 * * * * blog fswebcam -p YUYV –bottom-banner –line-colour ‘#FF000000’ -S 5 -r 352*288 –font “/usr/share/fonts/ja/TrueType/kochi-gothic-subst.ttf:14” –rotate=180 /livecamera/photo.jpg

前半部分の、

0-59 * * * * : 毎時0分から59分まで、1分毎に実行します

blog : cronを実行するユーザ名を設定します

これが設定してあれば、1分毎に画像をキャプチャーして「livecamera」フォルダーに「photo.jpg」の画像が更新され、ライブカメラサイトに常に最新の画像が表示されるようになります。

さらにこの crontab を使って、メインのスマホや携帯で外出先で見るサイト用には「photo.jpg」の固定ファイル名で順次更新し、それとは別に時系列で別フォルダー「images」で保存するために日付と時刻名のファイル名で画像を取得させます。

二つのコマンドを時間差で動作させるために「& sleep 30;」を間に挟みます。

大量の画像ファイルを保存しますので画質を落としておきます。

–jpeg 30

この時、単純に「`date %Y-%m-%d_%H%M.jpg`」をファイル名で指定してやってもうまく動きません。

「%」がネックとなるようで、これを回避するために前に「(バックラッシュ)」をいれてやります。

最終的に書いた内容は、

0-59 * * * * blog fswebcam –bottom-banner –line-colour ‘#FF000000’ -S 3 –font “/usr/share/fonts/ja/TrueType/kochi-gothic-subst.ttf:14” –rotate=180 /livecamera/photo.jpg & sleep 30; fswebcam –bottom-banner –line-colour ‘#FF000000’ –jpeg 30 -S 3 –font “/usr/share/fonts/ja/TrueType/kochi-gothic-subst.ttf:14” –rotate=180 /livecamera/images/`date +%Y-%m-%d_%H:%M.jpg`

こうしてやれば、指定したフォルダーに1分毎に更新した画像ファイルが、年月日時分のファイル名で保存されます。

201112livecamera32.jpg

■ 今後の課題
 
出来てしまえばとっても簡単でした。

次の段階としては、cronで1分毎に画像を更新・蓄積していますが、無駄な画像(同じ絵)が多いので、motionソフトを使って動態認識した時だけ画像を保存するようにしたいですね(今のところ、motionのインストールの段階でつまづいています)

それと、屋外、屋内と複数のライブカメラを立ち上げたいですね。

実際のカメラは、駐車場の天井から吊り下げて、ハーレーやクルマが映るようにしています。

 

【2013年12月 追記】

この記事を書いてからだいぶ立ちました。

OSも今ではCentOS6.4を使っています。

このバージョンで今現在(2013年12月)でfawebcamを導入する方法が以前とは少し変わっていたので、覚え書きを別にかいておきます。

その記事は、 コチラ です。

  


ブログランキングに参加中です
気に入ったらポチお願いします
にほんブログ村 バイクブログ ハーレーダビッドソンへ
にほんブログ村




プロフィール


メカ好きおじさん写真
メカ好きおじさん

・41年前原付、中型二輪取得
・CB50で東北野宿一周
・250cc四国・九州3週間5万円野宿
・38都道府県制覇
・XL250オフ後、再度オンロード
・KAWASKI2スト最後に降りる
・16年ブランク後リターン
・50歳で大型二輪免許取得
・ハーレーFLSTCにペアライド中


ブログランキングに参加中です
気に入ったらポチお願いします。
にほんブログ村 バイクブログ ハーレーダビッドソンへ
にほんブログ村

twitterlogoツイッター、やってます!
twitterlogoインスタグラム、やってます!