利用樹莓派最新系統(tǒng)連接攝像頭所出現(xiàn)的問(wèn)題總結(jié)
前言
最近做一個(gè)項(xiàng)目的時(shí)候需要通過(guò)進(jìn)行目標(biāo)檢測(cè)并且對(duì)目標(biāo)進(jìn)行比對(duì)然后進(jìn)行后續(xù)實(shí)驗(yàn)
于是最近花了20塊買了個(gè)攝像頭,先通過(guò)進(jìn)行攝像頭的錄像照相等功能進(jìn)行實(shí)現(xiàn)
后續(xù)可能會(huì)出一篇樹莓派在ROS系統(tǒng)下利用該攝像頭進(jìn)行物體識(shí)別等等功能的實(shí)現(xiàn)
接下來(lái)就開始正文部分啦
前期工作準(zhǔn)備:
-
我用的時(shí)樹莓派4B板子來(lái)進(jìn)行此次實(shí)驗(yàn)
-
攝像頭由于資金有限,所以買的是淘寶的CSI視頻接口的攝像頭,因?yàn)橹挥?00W像素,有錢的可以考慮更好的設(shè)備:
攝像頭購(gòu)買地址
攝像頭實(shí)物:
整體連接:
當(dāng)連接好攝像頭和樹莓派之后,就可以進(jìn)行后續(xù)的實(shí)驗(yàn)啦?。?/p>
第一步:軟件驅(qū)動(dòng)的更新操作:
首先我們打開終端輸入以下兩行命令:
sudo apt-get update
sudo apt-get upgrade
但是我們輸入第一行命令后可能會(huì)出現(xiàn)以下報(bào)錯(cuò):
W: Failed to fetch http://archive.raspberrypi.org/debian/dists/jessie/Release.gpg Could not resolve 'archive.raspberrypi.org'
W: Some index files failed to download. They have been ignored, or old ones used instead.
針對(duì)此問(wèn)題的解決方法
//輸入以下命令
sudo nano /etc/resolv.conf
//然后內(nèi)容可能是以下的東西
nameserver 192.168.3.1
//我們將后面的ip地址改成
114.114.114.114
這樣第一個(gè)命令的執(zhí)行就沒(méi)問(wèn)題了
但是第二個(gè)命令執(zhí)行的時(shí)候可能會(huì)有以下錯(cuò)誤
E: 無(wú)法下載 http://mirrors.opencas.cn/raspbian/raspbian/pool/main/o/openssl1.0/libssl1.0.2_1.0.2q-1~deb9u1_armhf.deb 無(wú)法發(fā)起與 mirrors.opencas.cn:80 (2001:cc0:2020:4075::211) 的連接 - connect (101: 網(wǎng)絡(luò)不可達(dá))
E: 無(wú)法下載 http://mirrors.opencas.cn/raspbian/raspbian/pool/main/o/openssl/libssl1.1_1.1.0j-1~deb9u1_armhf.deb 無(wú)法發(fā)起與 mirrors.opencas.cn:80 (2001:cc0:2020:4075::211) 的連接 - connect (101: 網(wǎng)絡(luò)不可達(dá))
E: 無(wú)法下載 http://mirrors.opencas.cn/raspbian/raspbian/pool/main/o/openssl/openssl_1.1.0j-1~deb9u1_armhf.deb 無(wú)法發(fā)起與 mirrors.opencas.cn:80 (2001:cc0:2020:4075::211) 的連接 - connect (101: 網(wǎng)絡(luò)不可達(dá))
E: 有幾個(gè)軟件包無(wú)法下載,要不運(yùn)行 apt-get update 或者加上 --fix-missing 的選項(xiàng)再試試?
這是因?yàn)闃漭赡J(rèn)的下載源在國(guó)外,下載速度過(guò)慢所導(dǎo)致的,我們需要更改下載源解決方法如下
首先備份源文件:
sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak
sudo cp /etc/apt/sources.list.d/raspi.list /etc/apt/sources.list.d/raspi.list.bak
然后進(jìn)行更改
sudo nano /etc/apt/sources.list
修改后這個(gè)文件內(nèi)容應(yīng)為如下:
deb http://mirrors.aliyun.com/raspbian/raspbian/ bullseye main non-free contrib
deb-src http://mirrors.aliyun.com/raspbian/raspbian/ bullseye main non-free contrib
然后更改另外一個(gè)文件的內(nèi)容
sudo nano /etc/apt/sources.list.d/raspi.list
更改如下:
deb http://mirrors.ustc.edu.cn/archive.raspberrypi.org/debian/ stretch main ui
# Uncomment line below then 'apt-get update' to enable 'apt-get source'
#deb-src http://archive.raspberrypi.org/debian/ stretch main ui
這樣第一步的問(wèn)題應(yīng)該就解決了
第二步:開啟攝像頭的照相功能:
這一步用VNC連接或者PUTTY或者XSHELL連接都可以我這里選擇用putty進(jìn)行連接
輸入命令
sudo raspi-config
界面如下:
然后保存退出,重啟樹莓派(這邊我建議是直接電源重啟)
第三步:開啟攝像頭
可能在其他文章中會(huì)讓你們用這個(gè)命令:
raspistill -o hello.jpg -t 1000
但是在最新系統(tǒng)中,2021年10月以后這個(gè)命令就失效了,取而代之的是libcamera這個(gè)命令
官方也給出了幾個(gè)截圖和錄像的命令
- 1、libcamera-hello
- 2、libcamera-still -e png -o test.png
- 3、libcamera-jpeg -o test.jpg
但是這幾個(gè)命令我用的都不行,后續(xù)會(huì)提到:
我們首先用以下命令先測(cè)試一下能不能用吧:
libcamera-hello
如果能用的話說(shuō)明你的攝像頭已經(jīng)配置好啦,不能用的話接著往后看:
我們首先運(yùn)行這個(gè)命令
vcgencmd get_camera
如果攝像頭能使用的話應(yīng)該會(huì)是以下的結(jié)果:
support=1,detected=1
如果support=0,detected=0 前面等于零是因?yàn)閿z像頭驅(qū)動(dòng)沒(méi)開,只需要用raspi-config重新開一下攝像頭就行
解決detected的方法如下(前提是你的攝像頭安裝正確)
執(zhí)行如下命令
sudo nano /boot/config.txt
//注釋掉原來(lái)的攝像頭自動(dòng)檢測(cè)語(yǔ)句,并添加"start_x=1"和"gpu_mem=128"
#camera_auto_detect=1
gpu_mem=128
start_x=1
然后:
sudo nano /etc/modules
在最后面添加bcm2835-v4l2 //這里是V4L2,是L不是1
這樣的話再重新啟動(dòng)樹莓派后執(zhí)行:
vcgencmd get_camera
后應(yīng)該會(huì)出現(xiàn)
support=1,detected=1
這就說(shuō)明配置成功了
接著運(yùn)行以下命令:
ffplay -f v4l2 -framerate 60 -video_size hd720 /dev/video0
需要注意,目前無(wú)法通過(guò)libcamera訪問(wèn),會(huì)提示no camera available
應(yīng)該是能夠顯示出錄像的畫面了文章來(lái)源:http://www.zghlxwxcb.cn/news/detail-402781.html
最后
如果要進(jìn)行監(jiān)控等功能的話,可以參考網(wǎng)上一些教程,那些是可行的這里就不再重新贅述了文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-402781.html
到了這里,關(guān)于樹莓派進(jìn)行攝像頭實(shí)驗(yàn)保姆級(jí)教程的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!