Step8
這個文章接續前一篇-「Raspberry Pi 3 + 攝影機模組 + Raspbian Jessie + SimpleCV 1.3.0 安裝」最後所碰到的問題,缺少/dev/video0攝影機的裝置,這個步驟帶領各位繼續前進,排除此問題的難點。
首先要知道為什麼有這個問題產生呢? 其原因是Raspberry Pi的攝影機模組接口比較特殊,是透過Pi上面的CSI介面所連接的,自然與一般的USB網路攝影機不一樣,因此只要解決這個驅動程式就可以啟用攝影機了。
一開始先確認自己的Pi裡面的攝影是否有啟動Camera選項,以及攝影機模組是否有連接正確。
Step 9
開啟Raspberry Pi的Camera功能。請先點選Preferences -> Raspberry Pi Configuration
跳出Raspberry Pi Configuration視窗之後切換到interfaces頁籤,並確定Camera有被Enable
Step10
確認camera功能有被啟用之後確認硬體上的CSI接口有被接上正確位置,記得要確定金手指接觸的位置都有完全安裝在插槽內。安裝攝影機模組的步驟如下:
Step11
確認camera的模組都連接正常之後,接下來回到Pi的SSH畫面,繼續來安裝UV4L驅動程式。打開SSH終端機在命令提示字符底下先下載UV4L的key
curl http://www.linux-projects.org/listing/uv4l_repo/lrkey.asc | sudo apt-key add -
下載好對應的key之後我們要更改一下sources.list檔
Step12
在終端機內輸入以下指令進入編輯sources.list檔
sudo vim /etc/apt/sources.list
用Vim開啟之後在此文件最後一行添加以下網址
deb http://www.linux-projects.org/listing/uv4l_repo/raspbian/ jessie main
添加好之後儲存離開vim (不知道怎麼用Vim的請看這一篇-「Vim快速入門使用教學」
Step13
添加好剛剛的sources.list檔之後我們再次更新Raspbian系統一下,輸入以下指令
sudo apt-get update
等大概一會兒時間更新好了整個套件系統的清單之後,接下來我們就可以來安裝UV4L的驅動程式了
Step14
安裝Uv4L驅動的套件只需兩個:uv4l與uv4l-raspicam,以下輸入指令
sudo apt-get install uv4l uv4l-raspicam
Step15
安裝完成的UV4l到此我們已經算是可以使用CSI介面的攝影機了,接下來需要重新開機一下Raspberry Pi,我們使用以下指令快速重新開機
sudo reboot
重新開機後接下來我們要再安裝幾個額外套件方便支援其他功能。
Step16
重新開機完成之後我們要先暫時砍掉uv4l的執行,方便我們安裝其他套件,以下輸入指令
sudo pkill uv4l
接著再次更新list
sudo apt-get update
Step17
然後依序安裝以下三個套件uv4l-uvc, uv4l-xscreen, uv4l-mjpegstream
sudo apt-get install uv4l-uvc
sudo apt-get install uv4l-xscreen
sudo apt-get install uv4l-mjpegstream
Step18
安裝完畢之後最後重新reboot讓安裝的套件生效
sudo reboot
Step19
重新開機之後,接下來要檢查一下是否有/dev/video0這個裝置,在指令列輸入
ls /dev/
看起來是還沒有video0這個攝影機裝置,接下來就是要新增一個video0
Step20
輸入以下啟動指令
sudo uv4l --auto-video_nr --driver raspicam
看起來是有了 /dev/video0這個裝置,再次輸入上面的指令查看一下是否在/dev/底下
ls /dev/
果然出現在/dev/底下有video0這個裝置,回到前面的simpleCV的範例啟動問題,看看是否可以顯示出攝影機畫面了呢?
Step21
輸入simplecv進入interactive shell模式
simplecv
在SimpleCV:1> 模式下輸入以下程式
cam = Camera() img = cam.getImage() img.show()
最後跳出攝影機的畫面了~! 成功!
完成這個驅動之後,我們接下來要設定每次重新開啟Raspberry Pi都能自動載入這個/dev/video0,甚至可以操控2個攝影機。