前面的文章有提到过树莓派,作为卡片电脑,树莓派可以连接许多外设,今天就来看看如何使用树莓派连接USB摄像头。
现在市面上的USB摄像头基本上都是免驱的,不过要注意,我们要确认摄像头在Linux下也是免驱的。说明一下自己使用的摄像头,注意不是做广告XD,五一期间京东买的奥尼狼魔,仅售49元,买回来接在树莓派上玩玩。
准备工作
在开始下面两项工作前,树莓派应该已经设置了静态IP,或者路由绑定了IP,否则每次树莓派IP会变,不方便操作。
1. 开启SSH
树莓派开启SSH很简单,只要在树莓派的/boot目录下创建一个空的,名称为ssh的文件即可。有了SSH,我们可以和树莓派通过终端进行交互。
2. 开启VNC
树莓派开启VNC需要在树莓派安装tightvncserver,在终端执行以下命令:
$ sudo apt-get update
$ sudo apt-get install tightvncserver
安装完成后,输入命令,运行服务器:
$ vncserver :1
登录时VNC服务器地址为:树莓派IP地址:1
如果需要树莓派开机自动起vnc服务,可以在~/.config/autostart/目录下创建tightvnc.desktop文件
$ cd ~/.config/autostart/
$ vim tightvnc.desktop
然后输入以下内容:
[Desktop Entry]
Type=Application
Name=TightVNC
Exec=vncserver :1
StartupNotify=false
连接并测试USB摄像头
树莓派接USB摄像头十分简单,毕竟树莓派是Linux系统的卡片电脑,将买来的USB摄像头直接连在树莓派的USB口上,然后我们看看摄像头是否被识别,有两种方法:
1. 使用lsusb命令
$ lsusb
SSH终端会显示树莓派当前接入的USB设备列表,我们可以先不插摄像头,lsusb,然后插上摄像头lsusb,就可以看到USB摄像头对应的是哪个设备了。下图是我的摄像头。
2. 查看设备文件
也可以查看设备文件,输入命令:
$ ls /dev/video*
严格的,也应该插拔摄像头各执行一次,看看是否有新的摄像头设备被识别。我的设备文件是/dev/video0.实际上,这种方法更直接,我们稍后会使用设备文件。
查找到摄像头,我们可以使用fswebcam命令测试抓图:
$ sudo apt-get install fswebcam
$ fswebcam /dev/video0 ~/image.jpg
fswebcam最简单的用法,第一个参数是摄像头对应的设备文件路径,第二个参数是保存截图的路径。
如果不满足于抓图,我们还可以看看摄像头的效果。只需要登录VNC,启动树莓派上的终端,使用luvcview即可:
$ sudo apt-get install luvcview
$ luvcview -s 1080x720
1080x720是展示的视频分辨率,不过使用VNC界面会有些卡顿,但是可以验证摄像头是否正常工作。摄像头接起,大家可以玩玩自己想玩的应用。