树莓派4B入门及应用

写在前面!

在做项目的时候发现32mini的速度不够,若要实现实时图传相当困难,于是老师建议采用树莓派来解决图传问题,树莓派是个非常强大的小型电脑,GPU 支持 OpenGL ES 3.x、硬件加速的 OpenVG,和高至 4Kp60 HEVC 视频硬件解码,嗯我其实也不知道啥意思反正就是很厉害,所以着手运用树莓派,但是本人相当的笨,不知道从哪里可以找到关于树莓派的完整教程(就是不想学所以啥都不想看),所以在查阅了多方资料和自己采坑之后,决定写一版树莓派的文档~以便以后忘记时查看,也便于和我一样的小伙伴学习!
(这里致敬一切我查阅过的资料和作者)
哦对了!如果你买的是成套的树莓派,也许会有键盘啊显示屏啊的,这样连接上就是一个真真正正完整的电脑了,网上也有教程会简单很多。但是呜呜呜我没有,我只有一块板子,和现卖的SD卡(也就是你必须得有SD卡),所以我的文档是在无外接显示器的情况下单纯用电脑操作的~

烧录!

树莓派是一个小型计算机啦,板子上CPU、GPU、无线通信(也就是可以自动连WiFi)等等吧这个你可以去看树莓派新手指南~但是没有操作系统的单片机!是没有灵魂的!就是一堆铁片片!因此我们需要为自己的单片机装上操作系统,让他变成真正的电脑。
将树莓派的操作系统烧录进16GB以上的SD卡!!!
你需要读卡器和SD卡!

如果你的网速可以支持你瞎搞的话:

去官网链接: https://www.raspberrypi.org/software/下载官方的这个东西

在这里插入图片描述
在这里插入图片描述

这是最简单的方法,直接点WRITE就等他烧好就行

如果你那么快网速发现写的时候一直写不进去的时候

如果刚刚的方法你用过了且无法烧录这时候你可能会在电脑上找不到你的SD卡,因为上面的软件会将你的SD卡类似于~锁起来所以如果第一种方法不得行,你可能得先格式化一下(找一下)你的SD卡。
在这里插入图片描述

1、格式化SD卡
这里有两种方式可供选择
第一种是在计算机设置里面找磁盘管理
在这里插入图片描述
发现磁盘是灰色未分配的情况,因此右键新加卷(有时候会没反应…你多点几次),然后一路默认就好了
在这里插入图片描述
一种是利用软件来进行格式化
在这里插入图片描述在这里插入图片描述在这里插入图片描述
更改完后弹窗一路默认成是!
在这里插入图片描述
这样就能找到你的磁盘了

2、在官网下载压缩包
在这里插入图片描述
在这里插入图片描述
下载完后还是回到原来的软件里再来一遍!
在这里插入图片描述

如果压缩包你也下载不下来或者下载下来后解压错误

恭喜你跟爷一样!啊!!!!!然后我找别人网速快的去下载了安装包然后再来了一遍…

基本设置!

设置WIFI

由于没有显示屏嘛,那么你想用树莓派就得用SSH将你的树莓派和你的电脑远程连接,然后在电脑上进行控制,那么这时候树莓派就需要联网!树莓派内自带无限连接装置也就是如果你将装有配置好操作系统的SD卡插进板子,板子可以自己连上WIFI。这里的WIFI一定要和你的电脑是一个局域网下面才可以,在你的SD卡里面新建两个文件~
注意ssh小写而且文件没有后缀名
在这里插入图片描述
后缀名显不显示可以从这里配置
在这里插入图片描述
在wpa_supplicant.conf 文件里写下面的这一段话然后保存(注意你这个WIFI必须是和你电脑一个WiFi)

country=CN
ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
update_config=1
 
network={
ssid="你的WiFi名" 
psk="你的WiFi密码"
key_mgmt=WPA-PSK
priority=1
}

然后你就可以把SD卡搞下来了,插在你的树莓派上然后给树莓派通电
在这里插入图片描述
拔下你正在充电的手机,将充电线插到板子上,刚通电的时候绿灯会闪烁,闪烁的绿灯等于板子已经开始读操作系统了。这时候就可以去找你的树莓派是否已经连上WIFI
搭建远程控制树莓派的桌面
你需要去win+r一下然后cmd打开你的命令行窗口
在这里插入图片描述
然后找一下你的WIFI
在这里插入图片描述
然后下载这个局域网扫描器去找你树莓派的地址
在这里插入图片描述

然后这个IP就派上大用场了,你需要下载一个叫putty的软件
在这里插入图片描述

然后输入用户名和密码(pi/raspberry)
注意奥这个密码在输入的时候是不显示的,不是你卡住了就是没显示而已,你盲敲上去然后换行就行了
在这里插入图片描述
由于要设置远程桌面所以你需要先去下载一个远程桌面软件叫VNC Viewer
然后在等待的时候命令行敲sudo raspi-config回车进入开始设置桌面
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
桌面打开之后设置你的分辨率
在网站上所给的方法是
在这里插入图片描述
但是实际操作的时候,我并没有找到在advanced options下的resolution(吃了没文化的亏阿西)在我的操作中,这个分辨率是在display options里的

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
设置好后确定然后你会看到绿灯亮起,这说明已经开始设置了,然后你可以打开当时下载好的远程桌面软件
在这里插入图片描述
用ip去查询到你的桌面并打开
在这里插入图片描述
直接点OK就行

远程桌面基本设置

在OK完弹出来的warning后页面变成了这样
在这里插入图片描述
然后你就可以一路next去设置你的树莓派
在这里插入图片描述

按照需求自己设置这里我就不多赘述总之最后更新完成就会重启树莓派就能用啦!
在这里插入图片描述
在这里插入图片描述
然后我网速还算可以所以直接加载完成,树莓派页面就是中文版的了
在这里插入图片描述
如果你的网速并不可以支撑,那么你也可以去设置网络源然后在进行中文包和中文输入法的下载与设置
中文输入法的设置就是在命令行敲入sudo apt-get install scim-pinyin
然后默认安装后重启整体树莓派就行

编译环境!

在树莓派下安装编程所需要的的编译环境,这里有C和python两个语言

C

有关C语言的编译环境,你需要在命令窗口敲
wget https://project-downloads.drogon.net/wiringpi-latest.deb (如果你联网且网没有问题的话)然后等待他自己下载完成
在这里插入图片描述
然后解析安装包sudo dpkg -i wiringpi-latest.deb
在这里插入图片描述
但如果你树莓派内没有网或者下载不下来你也可以在电脑上下载好安装包后远程将文件传输给树莓派,这时候你需要下载远程文件传输工具FileZilla然后进行远程传送
在这里插入图片描述
在树莓派中运用个geany这个软件进行C语言编程
在这里插入图片描述
在这里插入图片描述

Python

在树莓派中默认已经安装了python3版本和python编译器的所以可以直接用
在这里插入图片描述

摄像头

当前面的都配置的差不多了,重头戏也就开始了,我们需要开始搞摄像头了,由于默认看着文档的有一定的单片机基础,所以那些流水灯啊什么的老生常谈的我就不讲了,直接上项目!

VLC进行图像实时传输

首先我们需要打开摄像头可以让他拍照。将摄像头和树莓派连接。
在这里插入图片描述
按照这种链接方法将摄像头进行连接(一定要连接紧)
然后在有两种方法开启摄像头
第一种
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述这种方式比较繁琐但看起来很牛逼
第二种
在这里插入图片描述
在这里插入图片描述
可以直接这么打开Camera
这样结束后我建议你用sudo nano /etc/modules命令进入文件然后加一句话(ctrl+o保存-回车-ctrl+x退出)
在这里插入图片描述
然后你可以通过ls -al /dev/ | grep video指令去查找是否有video
在这里插入图片描述
当查找到video后就可以通过raspistill -o image.jpg命令来截图(注意这个命令没反应就是敲完结束不报错就是对的)
在这里插入图片描述
在这里插入图片描述
如果图片可以正常显示说明摄像头连接正常,这里一般不会出什么问题
然后就是如何实时将摄像头的拍摄内容显示到pc上
这就需要一个工具VLC
首先用命令去安装一下vlc

sudo apt-get update
sudo apt-get install vlc --fix-missing
sudo apt-get install vlc

然后开启你的VLC(先点开VLC然后放在哪里)
开启后不用管他先用以下命令打开摄像头

sudo raspivid -o - -rot 180 -t 0 -fps 30|cvlc -vvv stream:///dev/stdin --sout '#standard{access=http,mux=ts,dst=:8080}' :demux=h264  

然后他会出一溜东西
在这里插入图片描述
这个时间会久一点需要等待有时候网不好可能传输不了
然后你在返回VLC去打开摄像头
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
这里注意8080和8090这两个
8080在一开始的时候是无法打开的会报错,然后我用8090试了一下,发现可以打开但是延迟很高
后面又试了一遍发现8090打不开了,换成8080后却打开了,但这时候的视频是反转的但是没有那么高的延迟了
在这里插入图片描述
后来发现是命令的问题8090我使用的命令是

sudo raspivid -o - -t 0 -w 640 -h 360 -fps 25|cvlc -vvv stream:///dev/stdin --sout '#standard{access=http,mux=ts,dst=:8090}' :demux=h264

而8080则是

sudo raspivid -o - -rot 180 -t 0 -fps 30|cvlc -vvv stream:///dev/stdin --sout '#standard{access=http,mux=ts,dst=:8080}' :demux=h264  

发现问题所在就是后面的dst,这两个命令都是在网上找的,当时直接复制粘贴没有管到底是怎么用的,然后细查了一下这段命令,发现其中这些都是有规格的有兴趣的可以去挨个去试一下:
-vf 垂直翻转,也可输入-hf进行水平翻转
-h 视频高度
-w 视频宽度
-o - 输出写到stdout
-t 0 无延时
-fps 每秒传输帧数
dst 网络端口
demux h264视频压缩格式
后来我也找到了其他的命令比如你在打开CLV输入地址的时候会发现下面有一种不是http的写法是叫rtsp如果用rtsp的话就需要用以下命令了

raspivid -o - -t 0 -vf -w 800 -h 400 -fps 24|cvlc -v stream:///dev/stdin --sout ‘#rtp{sdp=rtsp://:8080/}’ :demux=h264

OpenCV调用摄像头

首先以为树莓派自带Python2和Python3所以我建议更改一下默认Python(就是删掉2版本)
https://blog.csdn.net/little_prince729/article/details/107668504
放弃官方给的方法吧!!!让你下依赖包,下压缩包,下各种东西然后编译然后报错!我搞了两天没搞出来!https://segmentfault.com/a/1190000039971816
现在告诉你!!!树莓派4B如何下载OpenCV!只需要一句话五分钟!
首先在刚刚的一切配置都没问题的情况下!sudo apt install python3-opencv
然后就结束了…
在这里插入图片描述
没有一点点防备…直接就结束了…我搞了两天啊!几百行命令过去了!多少bug看过了!结果一行解决问题!
不用下什么pycharm也不用下什么乱七八糟的东西!然后你可以测试一下
在这里插入图片描述
这里注意!树莓派4B不支持很高的OpenCV版本,所以我这里是3.2.0,也算蛮低的。。。
但是有朋友已经按照别的教程开始搞了而且遇到bug的话我在这里汇总一下我踩过的一些坑(另外用这个教程我并没有配置成功)
https://www.cnblogs.com/gghy/p/11916830.html(这是我原来参照的教程)
首先在安装依赖包的时候你可能会出现这种问题
在这里插入图片描述
就是怎么都搞不来
这时候就要注意了,去看一看你第一步换镜像源的时候
在这里插入图片描述
他这个地方我电脑默认的是buster但是有的教程上写的是stretch所以一定要注意你的源是不是正确的
然后就是当你确定你的源是正确格式后,如果还出现上述问题,你需要下载一个叫aptitude的软件sudo apt-get install aptitude后再用sudo aptitude install 软件名来进行下载。这里就不多赘述了~

然后就是在设置编译参数的时候
路径是在Download里面的,在opencv文件夹里去创建build文件夹,然后编译的时候很奇怪我第一次并没有成功,绕了一大圈后什么都没改,再编译却成功了,我认为可能是网的问题或者玄学吧
在这里插入图片描述
最后三句话这是成功的标志,一模一样的话说明成功了
后面就是编译过程中
你可能会卡在各种百分点上,一般的百分点大致都是因为网不好或者玄学,有篇文章可以解决这些问题https://blog.csdn.net/qq_45252077/article/details/107638493
最主要的(树莓派4B)可能是百分之九十九或者九十七出现的:
make[2]: *** [modules/python3/CMakeFiles/opencv_python3.dir/build.make:63:modules/python3/CMakeFiles/opencv_python3.dir/__/src2/cv2.cpp.o] 错误 1
make[1]: *** [CMakeFiles/Makefile2:21769:modules/python3/CMakeFiles/opencv_python3.dir/all] 错误 2
make: *** [Makefile:163:all] 错误 2
这里上面的文章讲的非常清楚
在编译成功后,通过python3去验证是否安装上的时候也许会报错(这里是安装成功界面)
在这里插入图片描述
如果报错的情况下可以通过这个网址去排查错误https://www.jianshu.com/p/7e3b166800a5
这种方法其实很困难,因为你不知道会遇到什么问题,这里我只罗列了我遇到的问题,仅供参考。
当你可以正常用OpenCV的时候,下面这行代码就可以进行OpenCV开启摄像头了
简单粗暴!直接打开MU
复制代码

import numpy as np
import cv2
 
cap = cv2.VideoCapture(0)
cap.set(3,640) # set Width
cap.set(4,480) # set Height
  
while(True):
    ret, frame = cap.read()
    frame = cv2.flip(frame, -1) # Flip camera vertically
    gray = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY)
     
    cv2.imshow('frame', frame)
    cv2.imshow('gray', gray)
     
    k = cv2.waitKey(30) & 0xff
    if k == 27: # press 'ESC' to quit
        break
 
cap.release()
cv2.destroyAllWindows()

运行…
在这里插入图片描述
然后就可以使用了!

  • 2
    点赞
  • 29
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
树莓派4b是一款小型单板计算机,具有强大的计算能力和丰富的扩展接口,适合初学者学习和开发各种应用。以下是树莓派4b开发入门手册的简要介绍: 1. 硬件介绍:树莓派4b采用ARM架构处理器,配备4GB内存、Gigabit以太网口、多个USB接口、HDMI输出接口等。手册会详细介绍各个接口及其功能,帮助你了解树莓派4b的硬件配置。 2. 操作系统安装:手册会指导你如何选择合适的操作系统,并详细介绍操作系统的安装步骤。树莓派4b支持多种操作系统,如Raspbian、Ubuntu和Windows 10 IoT Core等。 3. 基本配置:手册会引导你完成树莓派4b的基本配置,包括网络设置、语言选择、时区设置等。这些配置是为了让树莓派4b能够正常运行和连接到外部设备。 4. Python编程:树莓派4b支持多种编程语言,但手册会重点介绍Python编程。手册会从基础的Python语法开始,逐步引导你学习树莓派4bPython编程技巧,包括GPIO控制、传感器连接、数据采集和处理等。 5. 项目实践:手册会提供一些简单的项目实践,如LED点亮、温湿度监测等。通过这些实践,你可以将所学的知识应用到具体的项目中,增强自己的动手能力和问题解决能力。 综上所述,树莓派4b开发入门手册是一本帮助初学者快速入门的指导书,通过学习手册中的内容,你可以了解树莓派4b的硬件配置、操作系统安装和基本配置,掌握Python编程技巧,并能够进行一些简单的实际项目。祝你在树莓派4b开发的路上一帆风顺!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值