網頁

2015年6月9日 星期二

[RPi] 使用 USB Camera


除了官方版的 camera module, Raspberry Pi 也可以使用 USB Camera (或者叫 Web Cam)
以下使用 UV4L 及 v4l2-utils 來控制 USB amera.

安裝 UV4L

 

命令有點長, 附上文字部份.

下載 UV4L

$ curl http://www.linux-projects.org/listing/uv4l_repo/lrkey.asc | sudo apt-key add -
image

打開 /etc/apt/sources.list
$ sudo nano /etc/apt/sources.list


在 /etc/apt/sources.list 這個檔案中, 加入以下文字
deb http://www.linux-projects.org/listing/uv4l_repo/raspbian/ wheezy main image

然後更新及安裝
$ sudo apt-get update
$ sudo apt-get install uv4l uv4l-raspicam

如果要開機就載入, 要安裝額外的套件
$ sudo apt-get install uv4l-raspicam-extras

套件中已經包含了啟動的 script
$ sudo service uv4l_raspicam restart
 image
系統中有兩個 camera. 一個是連接到板子上的 CSI 介面的 camera, 一個是 USB camera
由於 driver 是新加入的, 也許會有一些問題. 更新一下, 也許是個好主意.
$ sudo rpi-update

安裝 v4l2-utils

注意, v4l2 是 video for Linux version 2 的縮寫. 所以第 3 個字母是 L 的小寫, 而不是數字的 1.
在新版的 raspbian 的 image 檔中, 已經加入了 v4l2-utils 這些工具. 可以試試看下以下的命令, 看看系統的回應. 如果是沒有安裝, 會出現 command not found 的錯誤訊息.
如果是 command not found, 可以用以下命令安裝
$ sudo apt-get install v4l-utils
注意, 這邊是 v4l-utils, 不是 v4l2-utils
插上 usb camera  後, 重新開機, 下 v4l2-ctl 命令, 可以找到現在連接的 camera, 有兩個. CSI 介面 以及 USB 介面.
 image

安裝 fswebcam

由於 raspivid, raspistill 只能用在官方的 camera module 上. 我們需要其他的軟體來使用 USB camera. 這裡先使用 fswebcam.

先安裝

$ sudo apt-get install fswebcam

image

直接拍照

$ fswebcam image.jpg

image

拍出來的照片有時候會壞掉. 官方網站上說是有些 web camera 不穩定. 不過我不能接受這種說法. 這應該是程式的問題.

image

以下說明建立 script 來拍攝照片.

首先建立 webcam 目錄

$ cd /home/pi

$ mkdir web

$ nano webcam.sh

在 webcam.sh 中, 加入以下命令

#!/bin/bash

DATE=$(date +"%Y-%m-%d_%H%M")

fswebcam --no-banner /home/pi/webcam/$DATE.jpg

image

存檔 ( 按 control + X 跳出後, 在提示儲存的地方按 Y)

把它加上可以執行的屬性

$ chmod +x webcam.sh

執行看看

$ ./webcam.sh

把它加上可以執行的屬性

./webcam.sh

image 

可以看到拍攝了一張照片, 存在 2015-06-11_2345.jpg

沒有留言:

張貼留言

請提供您寶貴的意見