树莓派USB摄像头使用教程
一.将摄像头连接到我们树莓派
二.升级系统
要使用摄像头模块,你必须使用一个较新的操作系统,它能识别出摄像头模块已连接上。最简单的方法就是直接从树莓派官网去下载一个Raspbian的系统镜像然后安装到一个全新的SD卡上。
不管你用的Raspbian系统版本是什么,都强烈推荐你用如下的命令来更新一下系统:
sudo apt-get update
sudo apt-get upgrade
三.在raspi-config中使能SSH和摄像头服务
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