S3C2410中利用serfox 和spcavie 使用攝像頭
攝像頭驅(qū)動: 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開發(fā)板
攝像頭:zc301p
二、軟件平臺:
armLinux
三、驅(qū)動程序:
編譯 zc301驅(qū)動
主要的思路是重新編譯內(nèi)核,將對應的攝像頭支持模塊選上.
但是LINUX內(nèi)核中系統(tǒng)中沒有ZC301P攝像頭驅(qū)動,要下載對應的內(nèi)核補丁,其補丁和驅(qū)動在http://mxhaard.free.fr/中有對應 的驅(qū)動下載,此處用到的是:http://mxhaard.free.fr/spca50x/embedded/KernelPatch/usb- 2.4.31LE06.patch.tar.gz,此patch是為令重編內(nèi)核時,有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)編譯內(nèi)核,進入/armlinux/kernel,
make menuconfig.
在arm linux的kernel目錄下make menuconfig,
首先<*>選擇Multimedia device->下的Video for linux,
然后 USB support ---> USB Multimedia devices 選項下應該有
(3)make dep;make zImage;make modules.就會在/armlinux/kernel/arch/arm/boot下生成zImage,這就是我們生成最新的內(nèi)核,將此內(nèi)核通過終端 下載到開發(fā)板中,/armlinux/kernel/driver/usb/spca5xx中生成 spca5xx.o,spcadecoder.o,spca_core.o.這就是我們要的驅(qū)動.
(4)用新內(nèi)核啟動,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下載后,解壓后,會發(fā)現(xiàn)在其目錄中會有一個Makefile.arm文件,將此文件修改成Makefile,再make就可生 成我們要用到的serfox程序了,將 此程序上傳到我們的板中,運行就行了。
另外在運行servfox前,一定要運行"mknod /dev/video0 c 81 0"這步,
不寫"mknod /dev/video0 c 81 0"這步,出現(xiàn) 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查閱,其中.
解壓后,還會產(chǎn)生
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下執(zhí)行:
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查看是否安裝成功。
將連接創(chuàng)建在~/.mozilla/plugins下是放在當前用戶下,不需要root權(quán)限,不影響其他用戶。
評論