2010年5月22日土曜日

Webカメラを繋げてみる

LS-GLのUSBポートにWebカメラを繋げてみようと思います。

前にコンパイルし直したカーネルには、Webカメラのドライバとかがなかったので作ります。
cocoro:~# cd /usr/src/linux-source-2.6.26
cocoro:/usr/src/linux-source-2.6.26# make menuconfig
[Device Drivers]->[Multimedia devices]にある
<M> Video For Linux
として
[*] Enable Video For Linux API 1 (DEPRECATED)
-*- Enable Video For Linux API 1 compatible Layer

[*] Vedeo capture adapters (NEW) --->
に入り、さらに
[*] V4L USB devies (NEW) --->
に入ります。
手持ちのカメラはUVCカメラなので

<M> USB Video Class (UVC)
だけで良さそうですが、すべての項目を有効(M/*)にしてみました。
設定を保存したらコンパイルです。
cocoro:/usr/src/linux-source-2.6.26# make zImage; make modules; make modules_install
cocoro:/usr/src/linux-source-2.6.26# cat foo arch/arm/boot/zImage > zImage
/boot がマウントされてなければマウントする
cocoro:/usr/src/linux-source-2.6.26# mount -t ext2 /dev/sda1 /boot
今のuImageをバックアップ
cocoro:/usr/src/linux-source-2.6.26# mv /boot/uImage-2.6.26-cocoro-ppp /boot/uImage-2.6.26-cocoro-ppp.1
cocoro:/usr/src/linux-source-2.6.26# mkimage -A arm -O linux -T kernel -C none -a 0x00008000 -e 0x00008000 -n 'Linux-2.6.26-cocoro-ppp' -d zImage /boot/uImage-2.6.26-cocoro-ppp
終わったら再起動して、Webカメラをつないでみます。
cocoro:~# lsmod
uvcvideo 53544 0
compat_ioctl32 1024 1 uvcvideo
videodev 27232 1 uvcvideo
v4l1_compat 15012 2 uvcvideo,videodev
となったので良さそうに見えます。

画像を見るのにmotionを使ってみます。
まずはパッケージのインストール。
cocoro:~# aptitude install motion
そして、設定ファイル /etc/motion/motion.conf の設定。
cocoro:~# vi /etc/motion/motion.conf
webcam_localhost on
 ↓ に変更
webcam_localhost off

control_localhost on
 ↓ に変更
webcam_localhost off
他の項目は必要に応じて~
保存したら、サービスの再起動。
cocoro:~# /etc/init.d/motion restart
ブラウザから、http://(LS-GLのアドレス):8081/ にアクセスしたら画像が見えるはず。
うちはhttp://192.168.0.3:8081/

0 件のコメント:

コメントを投稿