オルタナティブ・ブログ > 成迫剛志の『ICT幸福論』 >

”情報通信テクノロジは人々を幸せにする”を信条に、IT業界やアジア・中国を見つめていきます。

Raspberry Pi と余っているUSBカメラでインターネット監視カメラをつくる

»

(続編として自動撮影・自動Facebook投稿した記録はこちら

1か月前に2014年入社の新入社員に 『遊び』 用に Raspberry Pi を永久貸与した。 Raspberry Pi はわずか4000円で買うことのできる Linuxサーバーである。

Linuxサーバーなので買ってきただけでは動かない。動かすためにはいくつものハードルがある(はず)。そんな 『遊び』 を楽しんで欲しい。 そんな経験をすることが、これから IT 業界で生きていく上で役に立つはず、という思いである。

Raspberrypi_1

経緯はココ => IT系、理系、文系卒の3人の新入社員に Raspberry Pi を渡すと何かが起こるのか?

こんな迷惑なことをされてしまった新入社員3名のプロフィールは以下。

  • O さん: 学校で IT インフラ関連を学ぶ。 配属先はサービスデスク。
  • M さん: 文系卒。IT とは縁がなかった。 配属先は営業部。
  • S さん: 理系卒。といっても IT ではない。 配属先はソリューション部。

8月上旬に手渡してから1か月。 音沙汰なし。 配属されたばかりで忙しく、またプライベートでも社会人1年生の夏。忙しいはずである。 限られたプライベートな時間に部屋に籠って Raspberry Pi いじっているというのは、それはそれでよろしくない。 

これでいいのだ。 そんなふうに思いつつも、何か起こるはずと思っていて何も起こらないというのも少し悲しいので、自分でも触ってみることにした。

(いえ、決してプレッシャーを与えているわけではありません。)

Raspberry Pi については、ネットで検索すると数多くの記事やブログがでてくるので、セットアップは初心者にも難しくはなさそうである。 

ただ、新入社員の自宅に USBキーボードやHDMI接続のディスプレイまたはTVがあるとは限らないので、それらを使わずにセットアップしてみることにした。

(単に押し入れの奥からUSBキーボードを引っ張り出すのが面倒だったということでもある。)

さてさて、まずは Raspberry Pi 用の OS である rasbian のイメージをダウンロードした。

それを家に余っていたSDカードに書きこむ必要があるのだが、書き込みにはいくつかのやり方があるようだ。 僕は Win32 Disk Imager というフリーソフトを使ってみた。

20140915_10650_3

ダウンロードした Image File と書きこみ先のドライブを指定して Write ボタンを押すだけだ。

20140915_10859_2

上書きの確認がでるので、再確認した上で Yes 。

20140915_11151_2

イメージファイルは4GB程度の大きさなのでそれなりに時間がかかるが、心配して余計なことをしないでひたすら待つ。

20140915_11612

無事書き込み終了のメッセージがでるはずだ。

これで、Raspberry Pi にセットするSDカードが完成した。 この後、正攻法でいくならば Raspberry Pi にUSBキーボードとHDMIケーブル経由でDisplay(TVでもOK)につないでSDカードをセットして電源ONするのだが、冒頭で書いたように Display と Keyboard 無しでセットアップを進めていくことにする。

SDカードをセットし、ブロードバンドルーターにLANケーブルで接続し、電源ON。Raspberry Pi には液晶などはなく小さなLEDがいくつかあるだけ。LEDの点滅が落ち着いたので、無事に立ちあがってきているハズ。 といっても DHCPで動的に割り振られているIPアドレスがわからないと、ログインもできない。

そこで、ブロードバンドルーターの管理画面にログインし、IPアドレスの払い出し状況を確認。それっぽいアドレスを見つけ出す。

(管理画面: 編集中)


たぶん、192.168.1.9 だろう。(確証は何もない。直感。)

20140915_12523

Tera Term でログイン。Tera Termを使うのは何年ぶりだろう。(たぶん10年以上触っていない。)

20140915_12539

セキュリティ警告をよく読んで続行。

20140915_12619

IPアドレスは当っていたようだ。初期設定では、ユーザー名は pi 、パスワードは raspberry 。

20140915_14407

無事にログインできた。 こんなにあっさりとできるなんて昔に比べると便利になったものだ。

表示されるテキストに従って初期設定画面を呼び出す。

sudo raspi-config

20140915_12852

初期設定の詳細は省略するが、ロケール、タイムゾーン、キーボードの設定を行う。忘れてはいけないのが memory_split。 GPUへのメモリ配分を指定するのだが、GUIを使わないのでCPUのメモリを最大に設定しておく。 サーバーとして使うので、GUIよりもサーバーとしての起動や動作が遅くならないためにだ。 

設定が終わったら、念のために最新へのアップデートを行う。

sudo apt-get update

20140915_21104

さて、これで一通りの設定が完了した。 といっても、何か動くものがないとつまらない。

何か目に見えて面白いアプリケーションはないものかとネットで検索してみると Raspberry Piに普通のUSBカメラが繋がるらしいことがわかった。

我が家の押し入れの奥にあるジャンク箱に古い USB Camera がいくつか眠っているはずなので、それを使ってネットワークカメラ(インターネット監視カメラ)をつくってみることにする。

ジャンク箱から発掘された古い USBカメラはこの3種類。

Img_2150

当時は割高だった Logitech Qcam Pro 4000  CCD 130万画素

Img_2149

BUFFALO 製 BSW13K05H CMOS 130万画素

Img_2148

BUFFALO 製 BASW3KH CMOS 30万画素

ソフトウェアは、MOTION というのがよさそうである。

早速入れてみる。

sudo apt-get install motion

20140915_21342

難なくインストーレーションが完了した。

Img_2152

ここで、Raspberry Pi に USBカメラをつないでみる。

20140915_82212

カメラが認識されているかどうかは、lsusb というコマンドで確認する。それっぽいデバイスが表示されている。

次に MOTION の設定をする。 ネットでみるといろいろな情報があるが、最低限の作業で進めてみる。

20140915_83254

/etc/motion にある motion.conf をエディタで直接変更する。と、その前にバックアップをとってから。

エディタは nano というのを使った。

20140915_83730

変更したのは以下の2か所のみ。on を off に変更する

webcam_localhost off

control_localhost off

この2つを行わないと、リモートからWeb経由でMotionに入れない。 MotionにはWeb設定画面があるので、その他の設定は使いにくいエディタで行う必要は無い。

CTL-X で保存終了した後に、いよいよ MOTION を起動する。 いきなりバックグランドで実行するのではなくターミナルから起動したほうが、直接メッセージを確認できるので僕はそうしている。 (なので、daemon on の設定はしなかった。)

20140915_84128

20140915_84159

いくつか気になるメッセージはあるものの立ちあがったようだ。

そこで、早速見てみる。 が、IE や Chrome では上手く見られず、Safari のみでUSBカメラのリアルタイム映像を見ることができた。

http:// (IPアドレス) :8081/

20140915_90511

MOTION という名前のソフトウェアだけあって、動体検知をして自動的に画像をSDカードに保存してくれる。

20140915_90616

場所は、/tmp/motion だ。

管理画面にも入ってみる。

http:// (IPアドレス) : 8080

20140915_92212

20140915_92250

全ての設定がここでできる。 変更した後は Writeを行えば、先ほどnanoで編集したmotion.conf が更新される。

20140915_92441

定点観測の静止画を保存したかったので、300秒毎の設定にしてみた。

この定期保存される静止画もディフォルトでは、/tmp/motion に保存される。

複数のカメラ対応もしているので、USB Camera 2台をつないでみる。

そのためには、/etc/motion の thread1.conf thread2.conf を設定する必要がある。

そして起動。

20140915_103529

thread1, thread2 が動いている。

それぞれ、8081, 8082 ポートで設定したので両方表示させてみると、

20140915_103643

両方とも動作している。 それにしてもUSBカメラによって画質が大きく違うものだ。。

20140915_103823

管理画面も、Thread1, Thread2 を認識していてここから設定変更できる。


というわけで、思っていたよりも簡単に Raspberry Pi でネットカメラをつくることができた。 いやー、ラズパイ、面白いです。 せっかくなので、自動的にソーシャルメディアにアップすることにトライしたいなどと次の計画を考えてしまっていたりします。

Comment(1)