树莓派USB摄像头使用教程

一.将摄像头连接到我们树莓派

二.升级系统

要使用摄像头模块,你必须使用一个较新的操作系统,它能识别出摄像头模块已连接上。最简单的方法就是直接从树莓派官网去下载一个Raspbian的系统镜像然后安装到一个全新的SD卡上。

不管你用的Raspbian系统版本是什么,都强烈推荐你用如下的命令来更新一下系统:

  sudo apt-get update

  sudo apt-get upgrade

三.在raspi-config中使能SSH和摄像头服务

树莓派python usb摄像头打不开 树莓派开启usb摄像头_树莓派python usb摄像头打不开

sudo raspi-config

选择第5个,按enter键进入配置

 

先选择第二个SSH:使能SSH服务(如果已开SSH请忽略此步骤)。

 

 

接下来选择第一个Camera:使能摄像头服务。

 

 

重启我们的树莓派。

sudo reboot

四.操作摄像头

将树莓派采集的视频传输到网页端

1、登录WinSCP软件把master.zip文件传到树莓派的pi目录下。

树莓派与win电脑传输文件的方法请参考:

https://www.yahboom.com/build.html?id=2631&cid=308

              

2、执行解压指令:

unzip master.zip

这时使用ls命令查看,可以看到如下解压后的文件夹

 

4、编译此工程需要用到cmake:执行如下安装下载。

(apt-get属于联网安装,所以需要树莓派确保成功连接上网络)

sudo apt-get install cmake 

中间提示:输入 Y即可。

完成后如下:

5、编译前,还需要安装支持库:

sudo apt-get install libjpeg8-dev  

完成后如下:       

6、开始编译

注:我们这里有两种格式的摄像头(JPEG和YUYV)

1)二自由度摄像头:YUYV,JPEG

如果我们想要设置为YUYV格式,则修改以下相关文件并编译。

进入/home/pi/mjpg-streamer-master/mjpg-streamer-experimental/plugins/input_uvc/文件夹并使用ls命令查看该文件夹中的文件

cd /home/pi/mjpg-streamer-master/mjpg-streamer-experimental/plugins/input_uvc/

 

打开input_uvc.c文件,只需要修改135行的format为V4L2_PIX_FMT_YUYV就可以(默认是format=V4L2_PIX_FMT_MJPEG)。nano 后接-c是显示行号,这样我们就可以更快找到135行的位置。

nano -c input_uvc.c

 

如果想更改USB摄像头的分辨率和帧速也可以在这里更改。

修改完成后按ctrl+X,按Y保存,再按回车键

然后返回mjpg-streamer-experimental文件夹编译

cd /home/pi/mjpg-streamer-master/mjpg-streamer-experimental

直接运行下面的命令编译

sudo make clean all

 

编译完成会出现以下界面

 

7、然后重启系统:

sudo reboot

8、重启完毕进入系统

命令行进入mjpg-streamer-experimental目录

cd /home/pi/mjpg-streamer-master/mjpg-streamer-experimental/

启动USB摄像头(二自由度摄像头)的指令是:

./mjpg_streamer -i "./input_uvc.so" -o "./output_http.so -w ./www"

如下提示就是成功了:

 

9.测试效果

在PC端打开浏览器,PC电脑必须和树莓派在同一个局域网内,输入下面网址可以看到静态截图:

http://树莓派IP:8080/?action=snapshot 

我这里是地址:http://192.168.1.179:8080/?action=snapshot 

 

     

也可以使用以下网址来获取动态图像:

http://树莓派IP:8080/javascript_simple.html 

这里的树莓派地址:http://192.168.1.179:8080/javascript_simple.html

 

 

注意:运行了摄像头Web服务后,会占用摄像头,导致其他摄像头命令运行失败,请先结束该进程后再运行其他摄像头命令。

查看摄像头进程号:

ps a

 

kill掉程序的PID进程号

sudo kill -9 1118