通过Web浏览并控制Tiny6410上的摄像头

通过Web浏览并控制Tiny6410上的摄像头

1.准备工作

(1)准备好tiny6410开发板,中星微usb摄像头 ,网线,usb转串口线
这里写图片描述
(2)首先烧录系统,这里不再多说,用的是友善之臂提供的内核,里面也已经包含了中星微摄像头的驱动。
(3)摄像头调试,插入摄像头之后,会显示:

usb 1-1.4: new full speed USB device using s3c2410-ohci and address 4
usb 1-1.4: New USB device found, idVendor=0ac8, idProduct=301b
usb 1-1.4: New USB device strings: Mfr=1, Product=2, SerialNumber=0
usb 1-1.4: Product: PC Camera
usb 1-1.4: Manufacturer: Vimicro Corp.
gspca: probing 0ac8:301b
zc3xx: probe 2wr ov vga 0x0000
zc3xx: probe sensor -> 0011
zc3xx: Find Sensor HV7131R
input: zc3xx as /devices/platform/s3c2410-ohci/usb1/1-1/1-1.4/input/input2
gspca: video0 created

则表示驱动能正常工作。注意这里友善之臂挂载的设备名为video0,在mjpg-streamer源码中用vi修改 ./start_uvc.sh 的时候,需要把代码中video2改为自己实际所挂载的设备号,我这里是video0。

2. 源代码修改

(1)将文件复制到开发板文件系统中解压,其中start_uvc.sh和start_uvc_yun.sh是可执行文件(输出格式为:YUYV, 那么可以直接运行 ./start_uvc_yuv.sh)。
(2)如果直接运行Mini6410光盘A中的“开发文档和教程\专题04 通过Web远程浏览并控制Mini6410上的摄像头\Bin”目录下找到的编译好的可执行文件,则会出现

[root@FriendlyARM /mjpg-streamr]# ./start_uvc.sh
MJPG Streamer Version.: 2.0
 i: Using V4L2 device.: /dev/video2
 i: Desired Resolution: 320 x 240
 i: Frames Per Second.: 10
 i: Format............: MJPG
 requested MJPG but got JPEG format instead
 o: www-folder-path...: ./www/
 o: HTTP TCP port.....: 8080
 o: username:password.: disabled
 o: commands..........: enabled
zc3xx: probe 2wr ov vga 0x0000

上面显示的问题:requested MJPG but got JPEG format instead.这就需要将源代码中的这段代码注释:

if(vd->fmt.fmt.pix.pixelformat!=vd->formatIn)
{
char fourcc1[5]={0,0,0,0,0};
char fourcc2[5]={0,0,0,0,0};
memmove(fourcc1,(char*)&vd->formatIn,4);
memmove(fourcc2,(char*)&vd->fmt.fmt.pix.pixelformat,4);
fprintf(stderr, " requested %s but got %s format instead\n",fourcc1,fourcc2);
    vd->formatIn = vd->fmt.fmt.pix.pixelformat;
}

然后重新编译源码,用make package在本文件中将代码打包:

# export CC=arm-linux-gcc
# make
# make package

这里要说一下的是make package打包后,打包文件是在本文件目录里面的,我之前以为是生成的打包文件是在上一级目录的,结果把之前没改的打包文件又重新移植到6410上,自己也没找出什么原因,第二天重新又修改、移植了一遍的时候才发现这个问题,大家要仔细。

3. 运行可执行文件

解压上一步得到的文件,执行# ./start_uvc_yuv.sh

[root@FriendlyARM mjpg_cam]# ./start_uvc.sh 
MJPG Streamer Version.: 2.0
 i: Using V4L2 device.: /dev/video0
 i: Desired Resolution: 320 x 240
 i: Frames Per Second.: 10
 i: Format............: MJPG
 o: www-folder-path...: ./www/
 o: HTTP TCP port.....: 8080
 o: username:password.: disabled
 o: commands..........: enabled
zc3xx: probe 2wr ov vga 0x0000
eth0: link down
eth0: link up, 100Mbps, full-duplex, lpa 0xCDE1
eth0: link down
eth0: link up, 100Mbps, full-duplex, lpa 0xCDE1
eth0: link down
eth0: link up, 100Mbps, full-duplex, lpa 0xCDE1
eth0: link down
eth0: link up, 100Mbps, full-duplex, lpa 0xCDE1
eth0: link down
eth0: link up, 100Mbps, full-duplex, lpa 0xCDE1

在其他浏览器上显示需要JavaScript,而火狐浏览器内核比较特殊,在火狐浏览器上输入http://192.168.1.230:8080/stream_simple.html 就可以直接显示了。
这里写图片描述
注意:连接网线后,电脑的IP需要和6410的IP在同一个局域网内,6410默认IP为192.168.1.230,也可用命令ifconfig查看。通过以下步骤将电脑的IP设置为192.168.1.1。
修改自己电脑内网IP方法:
1、 点击右下角电脑图标,打开网络和共享中心。
2、选择左边的“更改适配器设置”,如果是有线联网选择“本地连接”鼠标右键属性,如果是无线网卡联网选择“无线网络连接”鼠标右键属性。
3、选中(tcp/ipv4)协议点击属性,选择“使用下面的IP地址”就可以手动设置IP地址,设置完IP地址后点击确定即可。
修改完成之后用,用ping来测试是否和6410在同一局域网:
这里写图片描述

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值