歡迎您光臨本站 登入註冊首頁

概述

要用到的軟體包攝像頭驅動:http://mxhaard.free.fr/spca50x/embedded/KernelPatch/usb-2.4.31LE06.patch.tar.gz伺服器視頻採集:……

要用到的軟體包

攝像頭驅動: http://mxhaard.free.fr/spca50x/embedded/KernelPatch/usb-2.4.31LE06.patch.tar.gz
伺服器視頻採集: http://mxhaard.free.fr/spca50x/embedded/Servfox/servfox-R1_0_0.tar.gz
客戶端播放視頻: ftp://ftp5.linuxeden.com/hardware/spcaview-20061208.tar.gz
瀏覽器java plugs: http://software.lupaworld.com/data/upload/jre-1_5_0_06-linux-i586-rpm.bin

一、硬體平台
    2410開發板
    攝像頭:zc301p

二、軟體平台
    armLinux

三、驅動程序
編譯 zc301驅動
主要的思路是重新編譯內核,將對應的攝像頭支持模塊選上.
但是LINUX內核中系統中沒有ZC301P攝像頭驅動,要下載對應的內核補丁,其補丁和驅動在http://mxhaard.free.fr/中有對應的驅動下載,此處用到的是:http://mxhaard.free.fr/spca50x/embedded/KernelPatch/usb-2.4.31LE06.patch.tar.gz,此patch是為令重編內核時,有spcaxx系列攝像頭的支持。

(1)把它複製到/armlinux/kernel/driver/usb下,解壓,打補丁.
   tar -xvzf usb-2.4.31.patch.gz
   patch -p1 < usb-2.4.31.patch
此時就會在此目錄下看到spca5xx文件夾了.不知是何原因,估計是KERNEL版本的原因,在/armlinux/kernel/driver/usb 的目錄中的Makefile 和config.in中找不到對應的關鍵字,此時會有一些錯誤,並將錯誤放在Makefile.rej 和config.in.rej 兩文件中,打開兩個文件,分別將其中前面有+的文字加到 Makefile和config.in中
對應的分類中即可.

(2)編譯內核,進入/armlinux/kernel,
make menuconfig.

在arm linux的kernel目錄下make menuconfig,
首先<*>選擇Multimedia device->下的Video for linux,
然後 USB support  ---> USB Multimedia devices   選項下應該有
  <M>   USB SPCA5XX Sunplus Vimicro Sonix Cameras,要把它配置成module。

(3)make dep;make zImage;make modules.就會在/armlinux/kernel/arch/arm/boot下生成zImage,這就是我們生成最新的內核,將此內核通過終端下載到開發板中,/armlinux/kernel/driver/usb/spca5xx中生成spca5xx.o,spcadecoder.o,spca_core.o.這就是我們要的驅動.

(4)用新內核啟動,insmod這三個.o文件(可以不用載入spcadecoder.o),攝像
頭就載入成功,也可用modprobe spca5xx.o 命令,此命令會自動去載入其要支持的.o文件.

如果一切順利的話,此時將在看到類似下面的信息,
Using /mydev/spca5xx.o
usb.c: registered new driver spca5xx
spca_core.c: USB SPCA5XX camera found. Type Vimicro Zc301P 0x301b
spca_core.c: spca5xx driver 00.57.06LE registered

此時會在/dev/成生成 v4l/video0表明攝像頭成功安裝。

四、應用程序
1、移植視頻採集程序servfox
移植此程序是最簡單的,從http://mxhaard.free.fr/spca50x/embedded/Servfox/servfox-R1_0_0.tar.gz下載后,解壓后,會發現在其目錄中會有一個Makefile.arm文件,將此文件修改成Makefile,再make就可生成我們要用到的serfox程序了,將 此程序上傳到我們的板中,運行就行了。
另外在運行servfox前,一定要運行"mknod /dev/video0 c 81 0"這步,
不寫"mknod /dev/video0 c 81 0"這步,出現 ERROR opening V4L interface錯誤。
# servfox -d /dev/video0 -s 320x240 -w 7070
在伺服器端運行servfox,圖像大小為320x240,埠號為 7070

2、客戶端spcaview
到ftp://ftp5.linuxeden.com/hardware/spcaview-20061208.tar.gz下載spcaviev ,make生成目標文件,
在PC上,spcaview –w 192.168.1.186:7070就可以看到攝像頭採集來的圖片了。Servfox和spcaview還有很多選項,可以通過spcaview –h 和servfox –h查閱,其中.

解壓后,還會產生<http-java-applet>,此是WEB客戶端,將此客戶端上傳到開發板上的WEB文件夾中,則在瀏覽器輸入 http://192.168.1.186/index-sample.html則可看到攝像頭採集來的圖片了。
web SERVER是移植 boa,移植方法略

3、web瀏覽器安裝jre
1、去這裡:http://software.lupaworld.com/data/upload/jre-1_5_0_06-linux-i586-rpm.bin 下載最新自解壓安裝包,其自解壓出來的rpm包是不能夠直接使用的,要不就直接提供rpm包安裝了;
2、使用命令如下:
chmod +x ./jre-1_5_0_09-linux-i586-rpm.bin
./jre-1_5_0_09-linux-i586-rpm.bin

按空格查看下面的條款,然後輸入yes安裝完畢后,進行下一步;
3、 到firefox/lugins目錄(在我的NeoShine-Linux下是 /usr/local/firefox/plugins)或者~/.mozilla/plugins下執行:
ln -s $JAVA_HOME/jre/plugin/i386/ns7/libjavaplugin_oji.so ./
如果是安裝的jre,可能命令語句如下:
ln -s $JAVA_HOME/plugin/i386/ns7/libjavaplugin_oji.so
如果是安裝的jre就是jre文件夾地址。
這樣就安裝完成了。可以在firefox地址欄里輸入about:plugins查看是否安裝成功。
將連接創建在~/.mozilla/plugins下是放在當前用戶下,不需要root許可權,不影響其他用戶。

從視頻的效果來看,是很流暢和清楚,比想象中要好。


[admin via 研發互助社區 ] S3C2410中利用serfox 和spcavie 使用攝像頭已經有2718次圍觀

http://cocdig.com/docs/show-post-42195.html