admin 管理员组

文章数量: 1086318

前言

现市面上树莓派相关配置教程多而杂,新手用户缺少一个系统和完整的配置过程,本篇结合各种博文和个人踩坑经历,旨在帮助更多树莓派的新手玩家快速入门,也可以根据目录找到想要查找的内容跳跃式阅读。本篇教程使用树莓派 3B为主体编写,所有内容同样适用于树莓派 3B+ 和 4B。
 

1-1. 树莓派和电源适配器
很多新手玩树莓派时,给树莓派提供的电源都是来自电脑的 USB,通常情况下 USB 2.0 接口课提供5V 500mA的输出功率,USB 3.0 接口课提供5V 900mA的输出功率。从下图的各种不同版本的树莓派单板(未收录树莓派 4B 的数据)的功耗来看,在不使用其他外设的情况下,电脑的 USB 3.0 接口能为树莓派 3B+ 提供稳定的电源。(但是其实你用5v,3A和5v,2A都会跳低电平警告,就是会很卡,可以试试5.2v左右的电源板)

但是考虑到后期会使用各种外设,最好给树莓派配个适配器。适配器可以选择树莓派官方使用的适配器,但是价格较贵,可以使用其他适配器平替,我这里用的是最大输出功率为 5V 2.5A 的适配器。

2. 软件下载
2-1. 下载 Raspberry Pi OS


下载树莓派系统镜像的途径很多,我建议直接在树莓派的官网下载(官网链接:Operating system images – Raspberry Pi),新手推荐下载 Raspberry Pi OS with desktop,就是带有桌面的系统版本,使用 Windows 系统的远程桌面连接访问树莓派时,会显示图形界面,或者在使用显示器连接树莓派时,也会对应的桌面。

我的建议是下旧版(64位)的,新版的可能会不兼容(在下载一键opencv时可能会出现的情况)

打开链接后,找到下图对应的位置,点击深蓝色的Download按钮即可下载。

2-2. 下载 SD Card Formatter


不同的操作系统对都有对应的文件系统,而 TF 卡出厂未经格式化(即未确定文件系统格式)或者当前的文件系统格式与树莓派不兼容,会导致树莓派无法识别,树莓派系统无法正常刻录。因此需要格式化,指定存储的文件系统,以使树莓派能够识别和使用。

内存卡格式工具也非常多,这里推荐一款免费的软件—— SD Card Formatter,下载链接:Download SD Card Formatter for Windows and Mac (UPDATED)。根据自己电脑的操作系统下载对应的软件版本即可。

系统镜像刻录到 TF 卡需要用到系统镜像刻录软件,可以选择 Win32 Disk Imager 或者使用树莓派官方提供的 Raspberry Pi Imager。不过建议使用 Win32 Disk Imager,因为 Raspberry Pi Imager 只能用来刻录树莓派的系统,而我们不可能只局限于树莓派,之后还会接触到其他 Linux ARM 开发板。

Win32 Disk Imager 下载链接:Win32 Disk Imager - Download [Official Site]

进入网页后点击下方的DOWNLOAD按钮即可下载。

2-3、树莓派Nomachine下载

整个步骤也十分简单,下载完后解压,Nomachine会自动配置好和安装好NX,电脑端也下载即可连接。
Nomachine下载地址
我们选择

#想要看自己的树莓派时ARM几的,通过下面命令查看
sudo uname -a

安装方法
下面的内容仔细执行,要不有可能会出现假安装或安装失败的问题!!!

下载完后,根据官方的提示,将下载的文件放到/usr的文件夹内!!,虽然官方给你不放在/usr的方法,但本人试过后,发现会连接不上。
我们cd到downloads文件夹,然后将下载的内容mv到/usr文件夹

cd Downloads/

#文件改成自己当时下的版本就好,可以用tab键补全
sudo mv nomachine_7.6.2_3_armv7hl.tar.gz /usr

#然后cd到/usr
cd /usr

#解压文件
sudo tar zxvf nomachine_7.6.2_3_armv7hl.tar.gz

#安装文件
sudo /usr/NX/nxserver --install


就可以看到正在安装,安装完后,我们可以看到界面右上角多了个M的标志,点击,选择show server status,可以看到IP地址,我们记下来

2-4Windows端操作

我们在官网上下载windows端,像普通软件一样就可以了,下好后,我们点击add

在host上填写刚刚的ip(在树莓派里命令行中ifconfig查看ip地址)

然后会提示输入树莓派的用户名和密码,填写后即可连接上了,注意,树莓派要和电脑在同一个Wifi下

3-1换源

树莓派3B——opencv3和opencv4安装_opencv 3.4和opencv4.5链接方式-CSDN博客

3-1-1如果你想上面这样换源就会出现树莓派“由于没有公钥,无法验证下列签名:NO_PUBKEY”

解决如下:

sudo apt-key adv --keyserver keyserver.ubuntu --recv-keys 公钥


 

注:命令中的“公钥”需要更换成报错时出现的公钥

即对于博主的报错,公钥为:9165938D90FDDD2E(图中红框部分)
输入的命令为:sudo apt-key adv --keyserver keyserver.ubuntu --recv-keys 9165938D90FDDD2E

如果出现了多个公钥的报错,在公钥1后加个空格再输入公钥2(依此类推):
 

sudo apt-key adv --keyserver keyserver.ubuntu --recv-keys 公钥1 公钥2 公钥3 公钥4

参考:树莓派“由于没有公钥,无法验证下列签名:NO_PUBKEY”问题解决方法_由于没有公钥,无法验证下列签名-CSDN博客

3-1-2 N: 鉴于仓库 ‘..‘不支持 ‘amd64‘ 体系结构,跳过配置文件 ‘..‘ 的获取。

不要像这位up做,治标不治本,自欺欺人,出现这种问题的原因就是资源库里面没有amd64的框架.
N: 鉴于仓库 ‘..‘不支持 ‘amd64‘ 体系结构,跳过配置文件 ‘..‘ 的获取。_鉴于仓库不支持amd体系结构-CSDN博客

系统会尝试从 dpkg 的数据库中移除与 amd64 架构相关的所有信息。然而,这并不会删除已经安装的任何 amd64 架构的软件包;它只是告诉 dpkg 不再为 amd64 架构安装或更新软件包。

sudo dpkg --remove-architecture amd64

正确解决:

先查看一下树莓派版本,输入lsb_release -a回车

可知是Debian 12 代号bookworm
再看一下系统架构,输入uname -a回车

可知是 aarch64 架构
再看一下系统位数,输入getconf LONG_BIT回车

可知为 64位

先换debian | 镜像站使用帮助 | 清华大学开源软件镜像站 | Tsinghua Open Source Mirror,打开页面后如图勾选,然后复制传统格式代码框里的所有内容备用

然后在 putty 中输入sudo nano /etc/apt/sources.list 回车,再将里面原本的内容全部删掉或注释掉(在没有 # 的行前面加 # ),然后在最下面粘贴刚刚复制的代码框里的所有内容,点击右键就能粘贴

Ctrl+X 退出,按 Y 保存,回车

然后还要换raspberrypi | 镜像站使用帮助 | 清华大学开源软件镜像站 | Tsinghua Open Source Mirror,打开页面后如图勾选,然后复制代码框里的所有内容备用

然后在 putty 中输入sudo nano /etc/apt/sources.list.d/raspi.list 回车,再将里面原本的内容全部删掉或注释掉(在没有 # 的行前面加 # ),然后在最下面粘贴刚刚复制的代码框里的所有内容

Ctrl+X 退出,按 Y 保存,回车

以上工作完成后,依次逐条输入以下指令回车更新源列表,这需要联网和一点时间,如果出现 y/n 选择一律输入 y 回车

#更新本地软件包列表,软件源更新
sudo apt-get update

#升级已安装的软件包到最新版本
sudo apt-get upgrade

参考:树莓派最新64位系统安装Pytorch和OpenCV_aarch64 opencv-CSDN博客

// 升级树莓派固件
sudo rpi-update

// 安装build-essential、cmake、git和pkg-config
sudo apt-get install build-essential cmake git pkg-config 

// 安装jpeg格式图像工具包
sudo apt-get install libjpeg8-dev 

// 安装tif格式图像工具包
sudo apt-get install libtiff5-dev 

// 安装JPEG-2000图像工具包
sudo apt-get install libjasper-dev 

// 安装png图像工具包
sudo apt-get install libpng12-dev

//安装视频I/O包
sudo apt-get install libavcodec-dev libavformat-dev libswscale-dev libv4l-dev

//安装gtk2.0(树莓派很可能下载错误,更换中科大或者清华源即可) 
sudo apt-get install libgtk2.0-dev

//优化函数包
sudo apt-get install libatlas-base-dev gfortran
python -m pip install opencv-python

 网上很多文章说下载whl文件,比较麻烦吗。还有一些教程说先安装libxxxxx库,再安装opencv,这些库可以需要用的时候再安装。

#usb摄像头依赖库,要用就下载
sudo apt-get install libopencv-dev
python
import cv2
cv2.__version__

 若正常出现下图所示的版本号,则表示安装成功!

 

import cv2
import numpy as np
name = 0
cap = cv2.VideoCapture(0)
 
cap.set(3,640)
cap.set(4,480)
 
ret, frame = cap.read()
rows, cols, channels = frame.shape
print(cols, rows, channels)
 
# 图像预处理
def img_p(img):
 
    # 灰度化
    gray_img = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY)
 
    # 平滑滤波
    blur = cv2.blur(gray_img, (3,3))
 
    # 二值化
    ret1, th1 = cv2.threshold(blur, 190, 255, cv2.THRESH_BINARY)
 
    # 透视变换
    b = 50
    pts1 = np.float32([[b, 0], [cols-b, 0], [0, rows], [cols, rows]])
    pts2 = np.float32([[0, 0], [cols, 0], [0, rows], [cols, rows]])
    M = cv2.getPerspectiveTransform(pts1, pts2)
    dst = cv2.warpPerspective(blur, M, (cols, rows))
 
    return dst
 
 
while(1):
        ret,frame = cap.read()
        dst = img_p(frame)
        cv2.imshow('usb camera', dst)
 
        k = cv2.waitKey(1)
        if (k == ord('q')):
            break
        elif(k == ord('s')):
                #name = input('name:')
                name += 1
                #filename = r'./camera/' + str(name) + '.jpg'
                filename = str(name) + '.jpg'
                cv2.imwrite(filename, dst)
                print(filename)
                #break 
cap.release()
cv2.destroyAllWindows()

 

如果报错:python Non-ASCII character '\xe5' in file

在脚本最开头加上

 # coding=UTF-8

本文标签: 流程 操作 系统 树莓派