树莓派入门及应用

  • 写在前面!
  • 烧录!
    • 如果你的网速可以支持你瞎搞的话:
    • 如果你那么快网速发现写的时候一直写不进去的时候
    • 如果压缩包你也下载不下来或者下载下来后解压错误
  • 基本设置!
    • 设置WIFI
    • 远程桌面基本设置
  • 编译环境!
    • C
    • Python
  • 摄像头
    • VLC进行图像实时传输
    • OpenCV调用摄像头

写在前面!

在做项目的时候发现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=1network={
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 cv2cap = cv2.VideoCapture(0)
cap.set(3,640) # set Width
cap.set(4,480) # set Heightwhile(True):ret, frame = cap.read()frame = cv2.flip(frame, -1) # Flip camera verticallygray = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY)cv2.imshow('frame', frame)cv2.imshow('gray', gray)k = cv2.waitKey(30) & 0xffif k == 27: # press 'ESC' to quitbreakcap.release()
cv2.destroyAllWindows()

运行…

然后就可以使用了!

树莓派4B入门及应用相关推荐

  1. 树莓派4b入门之开发RFID系统—简介、搭建MFRC522-SPI环境

    树莓派4b入门之开发RFID系统-简介.搭建MFRC522-SPI环境 一.系统简介 二.模块连接 1.引脚定义 2.接口对应关系 三.搭建接口环境 1.开启SPI 2.模块功能设计 3.安装SPI ...

  2. 树莓派4b入门之开发RFID系统—两种MFRC522读写脚本

    树莓派4b开发RFID系统-两种MFRC522读写脚本 前言 一.指定读写 二.直接读写 前言   本文介绍两种区分RFID标签-Mifare1 S50的Python脚本,除了基本的读取该RFID标签 ...

  3. 树莓派4b入门以及各种系统烧录问题分享

    文章目录 前言 一.买一个树莓派 二.上系统 三.系统烧录故障情况 1.固件问题 2.验证失败 3.插入主板,报错:VFS Unable to mount root fs on unknown-blo ...

  4. 树莓派4B学习笔记——IO通信篇(UART)

    文章目录 UART简介 树莓派使用UART与串口屏通信 串口屏简介 硬件连接 配置串口接口 树莓派打开UART接口 树莓派安装串口调试助手 编程实现 wiringSerial.h Serial简介 C ...

  5. 把树莓派4B配成一台小PC(基础入门)

    把树莓派4B配成一台小PC(基础入门) 1. 树莓派4B系统安装 2. 树莓派4B系统改建 2.1 用Micro HDMI连接显示屏 2.2 更换软件源 2.3 使用VNC远程连接 2.4 固定IP ...

  6. 树莓派4b之初学者入门人脸识别(手把手完整版)

    目录 前言: [硬件配置] 一.烧录镜像和环境配置 二.代码详解 1.基础知识 2.相关代码及其详细注释 三.代码部署和运行 前言: 树莓派的性能日益强大,树莓派4b相比上一代的能有了很大的提升,采用 ...

  7. 树莓派入门(一)—— 树莓派4B介绍

    树莓派由注册于英国的慈善组织"Raspberry Pi 基金会"开发,Eben·Upton/埃·厄普顿为项目带头人.2012年3月,英国剑桥大学埃本·阿普顿(Eben Epton) ...

  8. 树莓派4B开发板入门

    开发板结构 规格参数 总体功能图 规格尺寸 引脚图 性能参数 内存选择 树莓派4B即使是1G版本,整体性能也可达3B+的3倍以上,在内存够用情况下,内存对运算速度影响相对较小,因此可根据项目用途所需选 ...

  9. 树莓派默认密码_用树莓派搭建私人简易网盘 2/5 树莓派4B初始设置

    配件到齐后,TF卡先格式化一遍,文件系统选FAT32,以便树莓派能识别到. 系统方面,树莓派能支持的系统有很多,咱因为初来乍到,就先从官网上下载了.在这里我遇到了第一个坑.之前在网上找的资料,都推荐直 ...

最新文章

  1. 2020年,大火的Python和JavaScript是否会被取而代之?
  2. shell脚本监控系统负载、CPU和内存使用情况
  3. 金叉成功率_一个非常强烈的买卖信号:三金叉见顶,三死叉见底,短短10字,但是成功率却远超“金叉买,死叉卖”...
  4. Navicat for MySQL出现1030-Got error 28 from storage engine错误
  5. VIEW SERVER STATE permission was denied on object 'server', database 'master'
  6. android studio 2.0 导入工程
  7. Numpy 字符串处理
  8. 计算机显示器刷新率怎么调,电脑显示器刷新率如何设置,免费教你如何快手设置刷新率...
  9. 最近大火的「元宇宙」是什么?
  10. 【转】《Unity Shader入门精要》冯乐乐 随书彩图
  11. oracle if else怎么用,oracle if else语句使用介绍
  12. 优化机场值机体验之护照阅读器
  13. JAVA 掷骰子小游戏
  14. c51抢答器程序汇编语言,c51单片机汇编语言单片机八位抢答器程序
  15. SLMi334兼容TLP5214 一款兼容光耦带保护功能单通道隔离IGBT栅极驱动器
  16. 一元线性回归与多元线性回归
  17. 广州市2009年社保与公积金缴费费率
  18. 莫队入门例题之持久化莫队:2120: 数颜色
  19. adb 输入回车命令_Android超级终端(Adb Shell)常用命令、命令大全-持续更新 | 何连超的博客小站...
  20. 网络操作系统及配置管理课程

热门文章

  1. C - 喵帕斯之天才算数少女
  2. 323、异常访问统计 运维同学最近发现应用的访问日志有异常,需要分析下应用服务器是否被攻击了。
  3. moba寻路_GitHub - ylmbtm/MoBaDemo: 用Unity做的一个类Moba游戏Demo
  4. 【android】绘制圆环的三种方式
  5. NextCloud的安装配置
  6. 杜克大学计算机统计学,杜克大学的统计学专业怎么样?
  7. 计算机除尘 注意事项,数码相机除尘注意事项
  8. [2021.9.29]某校大门外长度为L的马路上有一排树,每两棵相邻的树之间的间隔都是1米。
  9. arcmap提取dem高程_利用ArcGIS高效率提取DEM高程点至CAD
  10. 绝不错过:各省驻京办秘制招牌菜!