树莓派论坛

 找回密码
 立即注册

[入门开始] 树莓派上手指南(2025版 约1万字)

树老大 发表于 2024-12-15 23:24:36 | 显示全部楼层 |阅读模式
树莓派上手指南(2025版)
树莓派论坛编写,同行要用的请说一下出处,否则不得好死!
(约1万字)
  我们将不定期保持更新,删减,增加,以确保适合以前及最新的情况!
& u) T, e6 T: E5 M

一、树莓派概述

  树莓派,英文名Raspberry Pi,于2011年发布上市,受到国内广泛关注始于2012年3月3日央视新闻频道的一则报道,“寸土寸金”的央视,进行了长达1分半钟的报道(看此新闻,这个新闻我一直有保存)。
  本论坛在当晚连夜上线,给大家提供了一个交流的地方,汇集了大约13年前当时所有感兴趣的广大粉丝,从以前的帖子可以看出。在“树老大(论坛创始人)、ukonline2000(许多首创原创及技术支持)、自由飞翔、longbow78(彩虹壳的原创者)”等许多热心网友的帮助下,开始从国内外搞资料,解答问题,搞购买渠道,第一批用户就这样诞生了,经过不断试错,不断完善,为国内树莓派用户的入门和发展出了点力。
  言归正传,用当时官方的话说,树莓派是一个卡片式电脑,只有信用卡大小,包括电脑常见的所有功能,比如USB,HDMI,CSI,复合视频接口,3.5mm接口,网口,最主要是包含了GPIO接口,因其操作方便易懂,极大的促进了国内Linux的学习,PYTHON的学习,为广大学生老师提供了很好的平台,为此许多大学开设了树莓派相关的课程。
  现如今,树莓派的性能较之初代,已有极大提升,甚至前沿的AI等,几乎可以参与到您所能想到的所有项目中,Python与树莓派的互相成就更是成为佳话。成为仅次于微软、苹果的第三大计算平台。

二、树莓派、配件选购及避坑

2.1、树莓派的选择

  树莓派发展至今,已经有5代,但市面仍主要以3代B+、4B为主。
  按照价格因素来讲,一二代时期,100多元就能买到,三四代也就在200多元,所以4代以前可以很便宜买到。
  到了第5代,受内外环境影响,以及从第3B+开始,工厂离开国内后的各种原因叠加,导致5代价格明显上升。
  按照性能来讲,从第4B起跟之前型号有明显提升,直至第5代,比如推出了4G,8G内存版本,大幅提升,导致价格明显提升。
  如何选择呢?正常情况下4B就完全可以了,追求极致性能5代则更好。当初在2013年时,就有很多用户拿树莓派挖矿,挖BTC,想想真是可以,就那么点性能,不过主要是用来挂挖矿程序,并非自身参与挖矿计算。

2.2、树莓派各个版本具体参数

       版本讨论,可以到这里

2.3、树莓派各版本图片

  附:树莓派版本代号大全 Raspberry Pi代号查看方式,点此了解

2.4、树莓派配件选择

  

2.4.1、所需基本配件

  树莓派,TF卡(以及USB读卡器),电源
  只追求能启动,这三个就足够了。
  TF卡容量,通常商家会要求16G,甚至现在的32G。其实我试了下(2024年11月),8G就可以了(官方系统raspberry pi OS),当然也差不了几个钱,容量搞大一点没有啥错。
  至于USB读卡器,很多人忽略,但确实是必须的,您得通过它,在电脑上将系统写入TF卡,以及后续的配置,也极大可能会用到。
  TF卡官方建议:
  使用至少具有32GB存储空间的SD卡来安装Raspberry Pi操作系统。对于 Raspberry Pi OS Lite,我们建议至少 16GB。您可以使用任何容量小于2TB 的SD卡。由于MBR中的限制,目前不支持 2TB 以上的容量。
  由于硬件限制,以下设备只能从256GB或更小的启动分区启动:
  Raspberry Pi Zero
  树莓派 1
  采用BCM2836 SoC的早期Raspberry Pi 2型号
  其他的操作系统可能有不同要求,具体以该系统官方文档为准(后面我们将针对大多数系统进行专门的介绍说明)。
  

2.4.2、外壳和散热

  外壳:
  选择很多,能满足自己的要求即可。外壳是建议购买的,纯阳谋,有外壳,真的可以大大降低损坏率。
  散热:
  树莓派5散热要求高,普通运行,散热片就好,负载大一点,一个用风扇就可以了。
  就不建议搞那些花里胡哨的了。
  

2.4.3、其他功能性外设

  功能性外设,根据个人项目需求选择就好,没有多余的说法,有需求则买,没则忽略。
  就树莓派的外设,可以到这个帖子讨论:点此进行观点表达

2.5、树莓派电源

  下表展示了Raspberry Pi 各型号供电所需的 USB-PD 电源模式,您可以使用任何提供正确电源模式的高质量电源:
推荐电源(电压/电流)
Raspberry Pi 官方电源
树莓派 5
5V/5A(5V/3A将外设限制为600mA)
27W USB-C 电源
树莓派4 B 型
5V/3A
15W USB-C 电源
树莓派3(所有型号)
5V/2.5A
12.5W Micro USB 电源
树莓派2(所有型号)
5V/2.5A
12.5W Micro USB 电源
树莓派1(所有型号)
5V/2.5A
12.5W Micro USB 电源
树莓派Zero(所有型号)
5V/2.5A
12.5W Micro USB 电源
5 {. k" T' V7 [- W
  将电源插入标有“POWER IN”、“PWR IN”或“PWR”的接口处。
  关于电源,可以到这里讨论:点此加入讨论

三、启动前的准备

3.1、树莓派、TF卡、电源

  上面已经专门进行说明,除此之外,通常还需要一些别的设备,以便更加方便快速的启动。

3.2、显示器

  有显示器,您的操作将方便许多;特别是如果您的项目是视频方面的,或者不习惯命令行界面,或者VNC远程桌面这样会存在不同步或者卡顿的情况下。
  树莓派连接显示器的方式有多种方式:
版本型号
显示器输出方式
树莓派5
2×Mciro-HDMI
树莓派4(所有型号)
2×Mciro-HDMI、音频和复合输出(通过 3.5 毫米耳机孔)
树莓派3(所有型号)
标准HDMI、音频和复合输出(通过 3.5 毫米耳机孔)
树莓派2(所有型号)
标准HDMI、音频和复合输出(通过 3.5 毫米耳机孔)
树莓派1 型号 B+
标准HDMI、音频和复合输出(通过 3.5 毫米耳机孔)
树莓派1 型号 A+
标准HDMI、音频和复合输出(通过 3.5 毫米耳机孔)
树莓派Zero(所有型号)
Mini-HDMI
  注意:尽管4代、5代均有TYPE-C接口,但均不支持C口输出音频视频。
  如果,您的显示器没有HDMI接口(比如VGA/DVI接口/AV接口),这需要通过HDMI转VGA,HDMI转DVI等转换器,论坛店铺也有售卖,点此查看
  如果,您的树莓派有多个HDMI接口,请将主显示器接到HDMI0.

3.3、键盘、鼠标

  早期树莓派版本存在很多键鼠不兼容的情况,如今已很少遇到,可以通过蓝牙键盘,USB无线键盘、USB有线键盘来加入。

3.4、音频输出

  所有带有标准HDMI、Micro-HDMI或Mini-HDMI的Raspberry Pi型号都支持通过HDMI接口进行音频输出。
  所有Raspberry Pi型号都支持通过USB传输音频,比如本站网店所售的USB声卡系列,点此查看(如果您用的树莓派版本不含3.5mm耳机孔,那么USB这种方式可能是最快捷的)。
  所有配备蓝牙的 Raspberry Pi 型号都支持蓝牙音频。
  Raspberry Pi 1、2、3 和 4 的所有版本都包括一个3.5mm耳机孔,可能需要功率放大以获得足够的输出音量,当然音质从第一代开始就被广大网友吐槽,且槽点还挺多。在论坛搜索可以了解到。

3.5、音频输入

  树莓派的音频输入,历来没被重视,但随着AI的发展,声音的采集需求越来越多,通常是通过USB麦克风或USB声卡来实现,本站网店亦有售卖,点此查看
  还可以通过GPIO针脚,连接相关声音传感器模块来实现,点此查看

3.6、网络接入

  以下 Raspberry Pi 型号具有Wi-Fi和蓝牙连接功能:
  树莓派 5、树莓派 4、树莓派 3B+、树莓派 3、Raspberry Pi Zero W、Rsapberry Pi Zero 2W
  以B为型后缀表示带以太网端口,“型号A”则表示没有以太网端口。如果您的树莓派没有以太网端口,可以使用USB转网口模块、或USB网卡来连接到互联网,点此查看或购买

四、系统安装、初步配置

4.1、系统安装工具

  A、如今安装系统,使用官方的Imager工具即可,官网下载本站下载
  B、win32diskimager:点此下载;此工具在早期树莓派使用中是必须的,现如今如果您要备份系统,还原本地系统,也是比较方便的方式。

4.2、系统镜像下载

  如果您要手动安装系统,需要先下载系统镜像,点击这里到官网下载,或到本站下载。官网有针对当前每个系统版本的介绍、更新、适用对象等必要的说明。

4.3、系统安装方式

  系统安装目前有两种方式,第一种:Imager安装在个人PC上进行安装(镜像会缓存在电脑里);第二种是Imager直接安装在树莓派上的线上安装。
  

4.3.1、第一种,通过个人PC安装

  第一步,打开IMAGER工具后,选择您的树莓派版本,我这里是树莓派5.
  第二步,选择要安装的系统版本,根据个人情况选择,这里选的是Raspberry PI OS 64bit
  第三步,选择要装到哪个盘,我这里TF卡的盘是F盘。若有多个盘符,请确保正确,以免带来数据损失。
  第四步,点击NEXT,会弹出是否要进行相关自定义,也就是预配置:

- b- ~( b7 ?; G! F" m: g' e
  单击Edit Settings(编辑设置)按钮以打开系统自定义。
  您可以点击 No 跳过系统自定义,那么配置向导将在树莓派首次启动时要求您配置相同的信息。然而对于没有显示器的用户来说,提前设置好这一步骤,将非常有用,不然会徒增许多麻烦。所以是建议必须提前设置好。
  A、填好树莓派在网络上的名字(hostname 主机名,非登录账号),我这里叫shumeipainet5
  B、填好登录用户名,我这里叫pi
  C、设置好密码:我这里是 shumeipainet
  D、填好WIFI账号和密码,一般系统自动识别,若有多个WIFI账号可用,看下是否跟您电脑连接的一样,因为后续极大可能要用SSH控制树莓派,若不在同一网络会比较麻烦,须保持一致。
  官方说明:该选项允许您输入无线网络的 SSID(名称)和密码。如果您的网络没有公开广播 SSID,您应该启用隐藏 SSID“Hidden SSID”设置。默认情况下,Imager 使用您当前所在的国家/地区作为“无线 LAN 国家/地区”。此设置控制 Raspberry Pi 使用的 Wi-Fi 广播频率。如果您计划运行无头 Raspberry Pi,请输入无线 LAN 选项的凭据。
  E、所在国家,这里填写CN
  F、时区,shanghai
  G、键盘布局,US
  第五步,顶部切换service,勾选SSH,点选第一个,以用户名和密码作为SSH登录凭证。
  Services (服务) 选项卡:包含可帮助您远程连接到 Raspberry Pi 的设置。
  如果您计划通过网络远程使用 Raspberry Pi,请勾选 Enable SSH (启用 SSH) 旁边的框。如果您计划运行Headless  Raspberry Pi,则应启用此选项。
  选择 Allow public-key authentication only(仅允许公钥身份验证),简言之就是生成一个只针对这个电脑的密钥,类似人的指纹等。从而不需要输入树莓派的账号密码您也可以访问它。如果您的 SSH 配置中已有 RSA 密钥(指纹),Imager 将使用该公钥。如果没有,您可以单击 Run SSH-keygen 生成公私钥对,Imager 将使用新生成的公钥。
  第六步,顶部的OPTIONS选项卡
  比如安装完毕有提示音等设置,可忽略。
  第七步:写入系统
  点击保存,选择YES(是否按照自定义写入),继续选YES(要删除TF卡原有数据,是否继续,根据个人情况选择),开始写入系统。如果准备做一些非常严谨或重大的项目,建议验证,以免带来潜在的风险。
  第八步,写入完成,会自动进行验证,我一般点击取消验证。要验证的话可能要装三四五次才能成功一次。
  第九步,写完系统,会弹出提示:您可以卸载SD卡了。
  这时候电脑会弹出格式化请求,千万不要点击格式化,点击取消,负责极可能损坏TF卡。这是因为写了系统的TF卡,有很多WIN无法识别的分区格式,导致认为TF卡有问题,要求您格式化。这是正常的,而且就算您点击格式化,也没用。
  至此,系统安装完毕,可以插入树莓派启动,开玩了。
  系统安装问题,可以在这里交流

4.3.2、第二种,无读卡器给树莓派在线安装系统

如果您没有读卡器,那也没关系,树莓派在没装系统的情况下也是可以联网的,当然仅限于联网安装系统。
  第一,前提条件
  你得有显示器、有网口的树莓派版本,键盘,空置的TF卡、网线、以及能联网的路由器或者猫。
  另外,能直接使用此方式的树莓派版本,只有4B、Pi400、5.如果您的 Raspberry Pi 运行较旧的引导加载程序,您可能需要更新引导加载程序以便能使用 Network Install。
  第二、将键盘、显示器、网线、电源(先不通电)与树莓派连接,TF卡也插入树莓派。网线另一端连接至能上网的路由器或猫。
  第三、按住键盘 SHIFT 键的同时打开 Raspberry Pi 的电源
  第四步、如果连上互联网后,Raspberry Pi将下载 Raspberry Pi 安装程序。如果下载失败,可以重复该过程。
  第五步、Raspberry Pi Imager下载完成后,系统将自动进行系统下载和安装,所填配置信息跟上面第一种系统安装方法一样。
  此方法,遇到任何问题,可以点这里进行交流求助。 

五、系统备份、TF卡还原、系统还原

5.1、备份树莓派系统

  备份是好习惯,随时有退路。在系统设置好了之后,环境配置好了之后,项目搭建好了之后,建议这时候要备份一下系统。
  根据十多年经验,因为后续的操作,极可能会因为各种原因导致系统损坏,或TF卡坏掉。此时如果有备份,只需还原备份系统就好,会很省事。
按照下面方法即可还原:
  5.1.1、先下载镜像备份工具:点这里
  5.1.2、参考下面动图进行备份:
  5.1.3、通过USB读卡器,将需要备份的TF卡插入电脑。插入后电脑会提示格式化TF卡,千万不能格式化!
  5.1.4、选择将系统备份到哪个目录(路径不要有中文或特殊符号) 选择之前,建议在最终文件夹下面新建一个".img"为后缀的文件:20241102raspiOS.img,名字自拟,不能有中文和特殊字符。
  5.1.5、选好备份系统保存文件夹之后,点击READ,开始备份。
  备份完毕,会提示Read successful 成功!
  有任何备份问题,可以点击这里进行求助交流!

5.2、将TF卡还原到出厂状态

  之前多次提示不能直接格式化,是因为在Windows系统下,只能识别到装有Linux系统SD卡的极小部分分区,您格式化的也只是这个分区,因为不完整的格式化,会导致TF卡崩溃,甚至反复格式化导致损坏。
  为了能将整个TF卡进行格式化,需要写入特定代码(点此下载 bootsector.img),让win电脑能够完整识别所有分区。
  5.2.1、下载bootsector.img文件后,保存在路径没有中文或特殊符号的文件夹内
  5.2.2、按照下面动图进行操作,打开镜像写入工具win32diskimager(如果没下载,点此下载),写入bootsector.img文件
  动图流程解释:
  打开存放bootsector.img的文件夹,并选择bootsector.img文件
  选择要还原的TF卡
  点击write,开始写入
  很快就写完了。
  最后,这里电脑会提示将TF卡格式化,这次要点击格式化。格式化完毕,TF卡就还原成功了。就可以进行重做系统的操作了。
  该方法,有任何求助交流,可以点击这里

5.3、还原备份系统的方法

(即:手动安装系统的方法;这也是在树莓派官方没有推出imager之前最主流的系统安装方法。)
  如果之前有备份的系统,可以按照下面的方法进行恢复。
  还原系统,也就是将备份的系统写入TF卡。
  写入前,请确保您的TF卡是新卡,或者已经还原。
  5.3.1、打开镜像写入工具win32diskimager(如果没下载,点此下载
  5.3.2、按照下图操作:
  5.3.3、动图流程解释:
  打开存有备份系统的目录,并双击选择已经存在的备份系统(如果是手动安装系统,而不是恢复备份系统,这里只需将备份系统更换为您要写入的系统img镜像文件即可)。
  点击read,进行write。
  等10分钟左右,系统写入完毕,提示成功。系统就还原好了。
  此时,弹出的格式化请求,要点击取消。
  5.3.4、如果是装的新系统,而非备份系统还原,那么此时您可能要需要通过电脑进入TF卡,进行相关配置文件的修改(如果有需要),比如联网配置文件,SSH开启文件等。
  聪明的您已经发现,系统写入方法跟TF卡还原基本一样,只是写入的镜像文件不一样,以及最后TF卡还原要点击格式化,而安装系统则禁止格式化。
 该步骤,任何求助交流,可以点击这里

六、树莓派开机,首次启动时的设置

6.1、树莓派开机

  确保树莓派处于断电状态下,将已写入系统的TF卡插入树莓派背部卡槽。
. w' n+ ^& S2 D* r9 j
  其次接入显示器、插入USB设备,比如键盘、鼠标、USB声卡、USB麦克风等。
  最后插入电源,通电。
  当树莓派开机时,您应该会看到状态LED亮起。如果您的Pi连接到显示器,您应该会在几分钟内看到屏幕显示画面。

6.2、未成功启动因素排查

  若您的树莓派在5分钟内没有启动,需查看板载LED灯状态。如果闪烁,则需根据LED灯状态来判断哪里出了状况,但这不用着急,并不一定就是出现了致命问题。
1 J  L3 c2 t0 f! e
  通常按照以下方式进行排查,即可解决问题:
  A、如果您使用的引导设备不是TF卡,那么请换成从TF卡引导启动。
  B、重做系统,并从imager完成验证。
  C、最后的大招,更新树莓派上的bootloader,并重做系统。具体方法请查看bootloader更新教程。
  以上方式,可能只使用一种就可以,也可能要全部使用。有任何问题或求助,请点击这里更贴。

6.3、首次启动的配置

  如果装系统时已经进行了预先的自定义设置,此步骤可以跳过,看看也无妨。
  若安装系统时未进行自定义设置,开机后,系统则会弹出如下界面,点击NEXT:
+ {% |! R  L  `- n7 v7 n1 F3 I9 M
  

6.3.1、蓝牙设备连接

  如果您使用蓝牙键盘或鼠标,系统会引导你进行配对,并连接它们;此过程适用内置蓝牙或USB蓝牙适配器,请提前插好USB蓝牙设备。
  

6.3.2、本地化设置

  如下界面,提示您选择所在国家,语言,时区;比如:china,chinese,+8
  

6.3.3、设置账号和密码

      下面界面,让您设置树莓派的默认账号和密码,请根据个人情况进行设置。

- Q" ?. G+ g; Z4 R9 }$ N
  

6.3.4、Wi-Fi连接

  如下界面,您可以选择您的首选网络,以及进入该网络设置密码。
  

6.3.5、浏览器

  您可以选择谷歌浏览或火狐浏览器作为默认浏览器,非默认浏览器可以被卸载。

; U1 `  F  {4 o. P
  

6.3.6、Raspberry Pi Connect 工具

  该工具可以让您在任何有网的地方访问您的树莓派桌面,并进行操控,实现真正的“远程”访问,而且不需要您手工进行任何配置。相关使用教程,可以本系列文档中找到。
  如下界面,您可以开启或关闭:

# W7 |3 k3 g" s9 M* \, J
  

6.3.7、系统软件更新

(建议跳过,建议更换源之后再更新)
  树莓派联网后,此页面可帮助您将操作系统和软件更新到最新版本。
  在软件更新过程中,如果您在第3.5步中选择了卸载非默认浏览器,那么此刻向导将删除该浏览器。
  这个更新过程可能需要几分钟时间,因网速而定。
  当您看到一个弹出窗口,提示您的系统是最新的了,那么请单击 OK 继续下一步。
  

6.3.8、开机配置结束并重启

  在配置向导结束时,单击Restart重新启动 Raspberry Pi。您的 Raspberry Pi 将按照您的配置启动,并进入桌面。

" K. B% P! _3 i
  此时,您的树莓派入门就此结束,可以正常按照您的配置来开机了。
  Raspberry Pi OS 预装了许多基本应用程序,因此您可以立即开始使用它们。如果您想利用我们认为有用的其他应用程序,请单击屏幕左上角的 raspberry 图标。从下拉菜单中选择 Preferences > Recommended Software,您将找到包管理器。您可以在此处免费安装各种推荐的软件。
  例如,如果您打算将 Raspberry Pi 用作家用计算机,您可能会发现 LibreOffice 对于编写和编辑文档和电子表格非常有用。您还可以使用 Universal Access 下的屏幕放大镜和 Orca 屏幕阅读器等应用程序,让您的 Raspberry Pi 更易于访问。
  以上只是上手篇,帮助您初步认识和开机启动树莓派,后续更多内容(30万字)在硬件篇、初级篇、进阶篇、高级篇等,我们将并不断丰富完善,提供您感兴趣的教程。任何问题,均可以到我们论坛提问求助。
8 a' j, U$ E3 P% c, D1 a! X8 K

树莓派官方文档系列目录

A、树莓派硬件篇

( a" |" }( r; N" y% ]
  硬件篇比较长,分成三部分:
- _! N/ N$ x$ F2 u6 y7 j' z2 I% N1 I  硬件篇一点此查看
; G" q. K* w5 V6 a+ C5 ?  硬件篇二:点此查看% E; K7 ]' |, _, P4 Q
  硬件篇三:点此查看8 _' o1 G4 r) q3 c* q
  一、树莓派的分类( H7 w% t8 L( N/ ]0 P8 [
  二、各型号对比
/ {( c/ A, l' O$ a/ I  `9 N  2.1、旗舰系列
! K) A; b7 }4 I+ j# n4 W6 t3 H  E  2.2、Zero系列
0 J. Y. m0 `% y: t) Z  2.3、PICO系列
9 C8 Z) U/ @* b1 `! R* o  2.4、各型号主要参数对比
( \* M% V9 l5 R. }: ]: v9 l2 \  2.5、各型号图片展示
, ~3 t" |: W' p% Z3 S+ F3 u  2.6、CM计算模块系列' w2 m8 u- L% h3 M. b
  三、原理图与工程图
, y9 W7 }* B! H/ v  四、商品合规性和安全性
: G* i% J# }7 [, ?2 x  4.1、可燃性等级
) B# ~; \7 n' D. F  4.2、Raspberry Pi 合规性支持
+ h) g# D# N0 t( E3 j  i  4.3、官方提供的支持( W: b( C4 D- A. N5 e' F
  4.4、认可设计合作伙伴/ O  v( d  D5 b" [5 n8 F
  五、频率管理和热控制
1 c& g8 n/ }. |6 k  5.1、DVFS的使用" {2 q( @+ j- ?2 ]; D
  5.2、测量温度) |* P1 J' j! `- ^% S, W5 P
  5.3、散热器最佳安装方式: M8 D+ c" k/ v; A
  5.4、可调速风扇的使用: @( [. L7 v+ Z0 c) _
  5.5、树莓派5风扇连接器引脚定义- u' b; a2 o- c$ t" D% ]4 Y1 d3 i
  六、使用 EEPROM 启动系统
9 O! M' B1 ]8 m# b, o  6.1、可用EEPROM启动系统的型号0 L( [8 ]* d- J, ], Y  e
  6.2、其他型号的方式
4 ~. Z6 M$ N" W# Z" |  6.3、诊断& _( S6 p) p- x6 X: G
  6.4、更新引导加载程序bootloader9 @$ g, C7 u' W
  6.5、更新bootloader配置' G( k. O, t: e  ]6 M( x
  6.6、自动更新! e" \% u# w7 b
  6.7、Bootloader 版本状态1 `# S1 r1 R" t
  七、启动诊断0 e! [+ z1 G( U; W
  八、树莓派启动模式& e3 v3 i# ]6 x( {
  8.1、特定的bootcode.bin -only启动模式* L! b4 l$ L6 i+ b, i
  8.2、启用bootcode.bin UART
/ I2 d. T0 O  S. \. v" P  九、USB启动模式
( Q  T" |% l0 V$ D  9.1、USB设备启动模式; q0 S% D- F. `9 w
  9.2、USB主机启动模式+ t* W5 l, M+ d  s* ^) U8 m! Z
  9.3、USB大容量存储启动模式! g  ]1 p( d; P* l% D. v# h
  9.4、从USB大容量存储启动
. C/ g8 V  O! ^$ Q; q4 \  9.5、已知问题! e! j* c4 Y+ [( e& B1 A8 {
  9.6、特殊的bootcode.bin-only启动模式: M3 E- V. @2 W+ ^' [0 k( I; a
  9.7、硬件兼容性" R- ~  `1 u$ }& i$ T, j$ }. O
  9.8、多个可引导驱动器
- Z  P+ V+ p4 `  十、网络启动. p' U" S/ f+ h" Y: D3 T
  10.1、网络引导流程1 O5 Y; B1 V; s/ p
  10.2、调试网络启动模式
: u$ X  O" z) j" T  10.3、DHCP请求/应答
& m9 Z! ~0 D0 y* U  10.4、TFTP文件读取3 A% U/ |4 B; v# Z/ b
  10.5、已知问题
- y! Z+ o+ k' x3 f+ Q7 G  十一、GPIO启动模式: Q% R* I- x4 \4 N* _+ Z6 b
  11.1、树莓派3B和计算模块3.引脚分配7 I' I' ^8 e8 Q
  11.2、其他, H7 A) h. _1 |" a+ _! s  |; p+ `. V
  11.3、开机流程7 G7 k' o; f  D: E5 _( M  }+ J
  十二、NVMe SSD启动3 K) q7 a3 p6 i$ [% {2 N% e
  12.1、先决条件
8 D5 z/ ~, v- p' t1 C4 w$ Q& _  12.2、编辑EEPROM启动顺序! `. e. S( U  h# ?' p! y! O; m. M% |
  12.3、NVMe BOOT_ORDER8 Y$ {% [, p( c. J3 P
  12.4、举例/ ?/ `* A) R& r3 H) t% K# X0 V5 ~7 r
  12.5、故障排除
! C* y2 }  _2 L3 P+ p+ t- h. g8 O  十三、HTTP启动
; h3 O4 f& {" c* K  13.1、要求
5 L4 @& r3 T( `7 T( W1 A- ]  13.2、密钥
1 |9 A2 p/ \+ g3 d2 G, j$ b  13.3、证书
% j* u3 e( C9 s5 ]1 x  13.4、安全启动
4 e/ a: E0 U6 E  十四、引导顺序( J7 h( @, T2 P/ }2 v1 S
  十五、‌EEPROM引导流程, K' G* Q% H* e. c- K* F& a3 `
  15.1、第一阶段引导加载程序‌
5 U% O3 }* n& J0 w' B+ H6 d/ {  15.2、‌第二阶段引导加载程序‌
9 @, [$ x& T6 M; b  W3 x  15.3、树莓派5的不同之处‌
0 O. d0 _2 \( O$ w% o" H3 [& Q( ?  15.4、Bootloader 更新‌& s/ A/ ~2 y/ Q0 i5 _/ k
  15.5、故障安全OS更新(tryboot)‌; o' B7 x4 i( V& ]( y
  15.6、tryboot_a_b模式‌
+ L& o  P7 k( R7 w$ u2 G4 W' y  十六、树莓派引导加载程序配置‌/ A; q2 i4 r* D$ r
  16.1、编辑配置‌
9 I' S4 ]9 Q' p2 ^' Z  16.2、配置属性‌
! I7 y  c3 H5 q' M  十七、树莓派使用DPI显示屏; B8 v. x# t; ]" ~- |: j
  17.1、GPIO引脚
7 R  Q6 q. W6 w- J2 h  17.2、禁用其他GPIO外设
- ?* P( M/ S! Z7 o3 B5 J  F  17.3、配置显示屏& {6 R' U& s/ Z; @" u6 X1 t
  十八、40P GPIO针脚0 v& }# U* `- n! k! o; {2 G
  18.1、输入输出、如何查看GPIO定义- C  D# S' E5 z  L' Z2 n# \3 a
  18.2、权限、焊盘、上电状态、中断
/ Z" a9 L9 F: e0 m8 X  18.3、针脚的其他功能9 |) @; i: [7 M
  18.4、电压规格‌
1 Q1 t1 {" B* ?+ o+ s6 u+ a  十九、GPIO焊盘控制; b) u$ A! D, D' ?7 z
  19.1、驱动强度控制‌
6 p, q7 A* `- E$ p  19.2、电流值
9 [. U! h8 l+ q( V  19.3、安全电流‌% _' A" E& h" D0 C" [
  19.4、GPIO 地址0 M0 W! g% g$ _8 U3 B$ ~
  19.5、驱动器强度列表
: [* y% K" A7 ]0 g8 M+ p# c$ ]1 r  二十、Raspberry Pi的工业应用‌9 f. A5 ]0 ?+ P% D
  20.1、一次性可编程设置‌
9 J" J$ F. p# |; ]- W; l  20.2、写入和读取客户OTP值‌
, k) h: O( b% `- l  20.3、在非BCM2712设备上锁定OTP‌
8 l3 _1 d5 w4 h4 ?9 W  20.4、在BCM2712设备上锁定OTP‌. }8 s5 J( B2 c- V* V7 d* Q( X! F
  20.5、在非BCM2712设备上使客户OTP位不可读‌" E+ p$ ]- o2 x
  20.6、BCM2712设备上的客户MAC地址‌- z' t5 M( p2 z$ f
  20.7、设备专用私钥‌
7 V4 o* a: ~7 s& O  D+ d  二十一、OTP寄存器及位定义‌
1 e- k/ P7 y0 u0 K) l" r+ R  21.1、非BCM2712设备上的OTP寄存器
* m+ g4 S! O4 x) a( k8 `  21.2、BCM2712设备上的OTP寄存器‌* Q  |" ?  c- @6 k8 X' F: Z
  二十二、树莓派PCIe接口$ S& w; L6 E. d2 Z
  22.1、启用PCIe‌
9 V& Q- y; B- m: }* k) X. t  22.2、从PCIe启动‌3 C7 P7 E8 _, e# E$ V& d- L
  22.3、PCIe Gen 3.0警告及启用‌
( B0 Y7 k* X  f$ J  二十三、电源按键‌4 h( F3 R$ ~2 ^
  23.1、按键使用说明及重启方法! O* c3 H, L( z7 _$ v& B
  23.2、强制硬关机‌
5 Q& T5 h4 f' K% f4 g  c; w  23.3、添加自定义电源键
3 w+ j* U2 V2 [4 V  二十四、电源相关‌7 R; {) i% L9 \! d- i3 P4 W
  24.1、电源说明及推荐电源
/ p. k. K6 K5 h( u2 H$ U% l+ r- f* Y  24.2、以太网供电(PoE)连接器/ S  J7 B) |* m9 _  D
  24.3、电源要求典型值0 q5 C  J4 L% G) g2 [2 E
  24.4、将树莓派待机功耗降至0.01W
1 [9 Q; D0 T' L: q; _  24.5、电源警告及后果
* a! t$ i/ w! D2 t  24.6、电源与树莓派OS
; L/ b* z( ~# ~6 D  24.7、USB反向供电问题
2 _* q7 t% }! e. m; N3 w; X  二十五、实时时钟RTC! e9 F8 ]5 f4 p
  25.1、树莓派定时唤醒功能% `: S# r: T. B( N' K" ~* R2 F
  25.2、备用时钟电池、充电、禁止充电
/ p! p' a# c  p5 h' y* h! Q& i; a  二十六、SPI串行外设接口
% q- r2 P- _. I: n1 E- k  26.1、SPI硬件‌3 h9 F9 `) j* a$ t
  26.1.1、SPI Pin/GPIO映射0 O; R( i- T4 w
  26.1.2、SPI主模式. j) }# f3 {9 N8 t
  26.1.3、传输模式、速度、芯片选择) _/ c( {9 |4 @% ~9 l# V; D. c9 C
  26.2、SPI软件+ |3 @. \4 X( G( Z3 S
  26.3、SPI故障排除
5 P( O9 p4 B; \% Y3 I  二十七、USB(通用串行总线); n' |) Q' y* D0 b1 x; F
  27.1、树莓派5的电源与USB电流限制
4 K* W3 R3 H+ ^- _9 S  27.2、树莓派4的USB接口
& V! g. X. r, K3 B. l4 K2 u1 @% K: A  27.3、树莓派Zero, 1. 2. 3以及早期型号的USB配置
" \% M) ]- J, q3 l9 Z6 u  27.4、已知的USB问题% m% R3 e1 K, r% S) k" k& |
  二十八、树莓派版本代号+ @" I7 _( g8 m& T7 C, M
  28.1、早期树莓派版本代号* h. h* |  ^+ S) P
  28.2、新版本代码
2 l- C- }5 E5 W( n5 b  28.3、正在使用的修订版本代码
; v+ f( q9 H# }! w( j& w  28.4、使用版本代号识别电路板
. J- p/ p; r# G0 m* B9 J  28.5、版本代号使用的最佳实践  R! D1 y- g1 }8 ^

B、树莓派官方系统篇

  一、下载与安装9 }. V& t. v  [3 p& a
  二、Raspberry Pi OS介绍
+ x8 b* m/ j! k9 \, T2 o' d. t7 S3 y* h  三、软件更新9 _5 s' Z  J4 b7 Y
  3.1、安装更新
( H9 _7 o: @. X( ]/ ^# U  3.2、搜索软件
! A; x0 i, O8 c  3.3、安装包
" T/ y/ z( t1 l) Z) ^  3.4、卸载包! z: _$ ^/ J: @+ Z1 M2 j
  3.5、管理APT磁盘使用情况
5 i) ?0 f3 [  D1 S  i+ E& C$ g% I7 ?  3.6、升级操作系统至新版本; B1 `, r: O9 i6 I  g! f
  3.7、固件升级
% V9 G/ q+ k- U$ f! y1 U  3.8、系统版本退回* }/ x3 Y! J& F) ^
  四、播放音频和视频, V! A0 J* x: M1 d+ L( n
  4.1、VLC 媒体播放器0 @" N  ^9 f& j4 N$ _
  4.2、在树莓派 OS Lite上播放音频和视频. |  M% l9 C; z  n$ a
  4.3、指定音频输出设备; y: c8 \: ]5 t6 l
  4.4、指定视频输出设备
7 I6 H" r1 `7 d& U$ G  4.5、同时指定音频和视频输出设备
3 m0 j* m  g3 r3 `% {+ k  4.6、提升流播放性能
9 }8 Z2 y% Q  {3 M  五、实用工具) i. v* l* {2 P2 ~" x
  5.1、kmsprint& \! F5 o8 w( ]& }
  5.2、vclog
7 Z. n8 Y- b7 |6 n1 e/ M- P$ r  5.3、vcgencmd
1 ]: C6 ^. ?" J1 r, G  z" @4 Z/ V* m  六、无障碍选项
1 V# y8 r1 H" L' ]% e  七、在Raspberry Pi上使用Python
/ u2 ]0 H% X0 @  7.1、使用apt安装Python包‌+ m" ^2 U9 o4 R0 `" H* g. {
  7.2、使用pip安装Python库' ]6 E& k' K. y1 A
  7.3、使用Thonny编程1 b0 H* R  V+ O/ |
  八、通过Python控制GPIO设备3 W4 f% S  \( b1 Y" C
  8.1、LED控制( n) `3 F- o1 _9 o
  8.2、读取按钮状态
4 D+ j; g3 A) I) F9 A4 s  8.3、用按钮控制LED6 }6 Y8 o( [7 n0 w# r- o

C、树莓派系统配置篇

  一、raspi-config配置工具
3 Q$ C6 c* H/ O0 d7 S% y% Q; a4 P  1.1、raspi-config、config.txt区别$ a, P. e* p* C1 U5 K
  1.2、开始使用‌' f& I. r! d. ^! T# m3 O
  1.3、通过终端导航配置工具‌
' ^& V2 H. H" Z2 H3 ~# G  1.4、系统选项(1 System Opthions)‌
2 K$ P: Q) j* V& _  G  1.5、显示选项 (2 Display options)‌
4 R# y2 d4 d. C4 B3 y" }  1.6、接口选项 (3 Interface options)‌( K+ ^& L8 }# a4 M( M6 w
  1.7、性能选项 (4 Performance options)‌
3 _9 D* a/ B2 a  Z4 v' b  f3 ]  1.8、Localisation options(本地化选项)‌
3 e/ z4 O5 j, P( H5 r( z  1.9、高级选项(Advanced options)‌
( L- y* r" x: s1 G  1.10、更新 Update‌
5 s0 `- |% D; _* J- ~1 X  二、非交互式 raspi-config‌
* L+ c! ]. J" R3 y  2.1、系统选项(System Opthions)+ J) I9 P% z6 d. l
  2.2、显示选项 (Display options): T- j. ~; b3 N& l% g
  2.3、接口选项 (Interface options)
* N& P1 [) `* c( ]7 a  2.4、性能选项 (Performance options)
/ U+ J/ {( _( M# f  2.5、本地化选项(Localisation options)
& V* Y  C' |, B  2.6、高级选项(Advanced options): f0 x' C  m* x- I2 T+ v8 R
  2.7、更新‌  q4 k* i9 Q' S5 c) Q' |
  三、显示器‌
8 W+ {' k4 Q0 b  3.1、HDMI显示器支持‌( {$ g9 s2 B. C) j; h" W& Y
  3.2、通过桌面设置分辨率和旋转‌3 }8 O8 d- t3 Q* B9 g
  3.3、通过命令行界面(CLI)设置显示‌
( s) Z! R/ X$ \. A: o, k6 _7 i# H  3.4、手动设置分辨率和旋转‌
* K& O9 s: m6 v. f* n2 l, C# }" M  3.5、控制台分辨率和旋转设置‌
% |: a( b% Z6 Z/ Y. F  四、音频设置‌  D& ~0 Y' R9 s! u
  五、网络连接‌
  g! L0 n1 ]1 ?: Z3 K- P+ U8 J: y( f9 p  5.1、通过桌面连接到无线网络‌
3 b5 s  [  u/ s- n1 O/ f$ c6 r/ ]  5.2、通过命令行连接无线网8 P2 f2 s" I& U+ O( o* Q) }
  5.3、配置DHCP‌
$ {! \2 K+ i  d# }7 N  六、黑屏相关‌
6 Q& @( T2 c; q" K. C7 P5 N5 O) K$ Y  6.1、桌面环境下的屏幕黑屏设置‌
" ^" P& p$ w; ]# o4 c  6.2、控制台
6 U4 J2 r. d* V  七、用户6 M! Y* ?2 h5 y
  7.1、更改用户密码‌
2 W( O) @  f9 M7 Z  7.2、添加用户‌7 R9 M! q9 D  k2 d  V
  7.3、删除用户‌
! Z; l2 e, k0 ?; x) d  7.4、更改默认用户‌
# C. \: |/ X6 a( @  八、外部存储‌! h- `9 s6 f6 A1 p
  8.1、挂载存储设备‌
7 S- l# U; m3 X- o* v; `/ y  8.2、自动挂载存储设备‌
/ |0 T$ q# s+ r2 H# M  8.3、卸载存储设备‌' x7 r) E0 y+ x/ m
  九、内核命令行(cmdline.txt)‌
! \" q$ V) G! t+ E3 Y. D: a  9.1、命令行选项‌! R$ h/ B2 U' b5 T. X& e/ A
  9.2、设置KMS显示模式‌
, r1 T0 v- m2 m' }6 V5 |" C0 [+ l; u  9.3、其他条目‌
; O3 s" Z; @% H6 R  w' v  十、本地化树莓派. b. [, ?/ @) y6 c$ \) @
  十一、保护您的树莓派; Z* q3 [3 ?4 B0 ^/ K( k1 r
  11.1、为sudo命令设置密码‌
, }8 ]: u9 K$ R3 r: R, v+ ^7 Z  11.2、更新Raspberry Pi OS‌8 f, t7 Y4 |" R* b, q* ?; W
  11.3、自动更新SSH服务器‌
3 `! S# y5 r4 G! c, E1 {  11.4、提高SSH安全性‌1 @$ R: m. u2 W# s4 N. t7 l
  11.5、使用防火墙‌) U; q1 L) z, M* D
  11.6、使用fail2ban阻止可疑活动‌
( O# x; Y& F# [  }& N  十二、设置无头树莓派
( a$ ^, Z/ z" W  12.1、连接到网络‌
% ]& q; v- a% r$ {% @; ]0 y! F  12.2、远程访问无头树莓派‌' q/ |6 b; H' w0 R8 i5 B- ?
  十三、让树莓派托管无线网络‌6 E8 ]) e3 s2 K1 D+ S3 r
  13.1、启用热点‌0 |5 \! k/ w  ?5 {8 o
  13.2、禁用热点‌- u9 z& k+ E; K$ |! U
  13.3、将您的Raspberry Pi用作网络桥接器‌
3 ^7 I# ?$ ^6 W$ H  13.4、桥接网络‌
: `% {" Z" n* ~/ w  r  十四、使用代理服务器
' e6 I$ H, F8 d! m5 o  14.1、配置您的树莓派# p6 Z/ M# ^( a& S. u
  14.2、更新 sudoers 文件1 I: q  c  t/ X/ Q" K/ F" C& o5 W! e
  十五、boot 文件夹内容7 p  t8 i3 q/ k- f3 x) r: P
  15.1、bootcode.bin‌
' s: M4 U  d! y% B: G6 j8 w  15.2、start*.elf7 V* J, t7 c( A  P  G
  15.3、fixup*‌.dat
7 V7 |" \/ D) d4 b) r3 J  15.4、cmdline.txt‌# v' P, @$ x+ x- S2 l
  15.5、config.txt‌& M3 R  x. O2 w; r8 x! _1 r  ]
  15.6、issue.txt‌  T( F  {6 r  u; L( E3 q  f
  15.7、initramfs‌*
4 M+ u% k' p+ j8 i2 K  15.8、ssh 或 ssh.txt‌
; r7 j/ r5 z4 V, d* P  15.9、Device Tree blob 文件 (*.dtb)‌6 `& o7 u; C9 ^( N+ d3 ~, T: o
  15.10、Kernel files (*.img)‌2 R* c  c# C) x
  15.11、overlays 文件夹‌
# _2 }% Z, D" F/ Y! N7 k2 P  十六、LED警告闪烁代码‌5 z6 }$ e( B, e9 R6 w4 W) B: x
  十七、配置UART‌( A; ~1 f: @, G4 Y" I
  17.1、树莓派 Zero、1、2和3‌
" Q& P! Z3 @- x" c+ h- _" C5 X  17.2、Raspberry Pi 4和400‌: P/ J- [% f5 M, j2 c
  17.3、Raspberry Pi 5的UART配置‌
7 H% s* o# y& T9 g& z  D- \8 t1 y  17.4、Compute Module的UART配置‌; k7 F8 M5 ^) p- e% Z
  17.5、主UART‌
! }* U2 r# u5 f9 W* ?% `  17.6、次UART‌
! {0 W6 M4 }3 n: L4 h# o  17.7、主UART和次UART‌" b+ H0 U: g; x" ^7 q* o9 {. G
  17.8、Mini-UART与CPU核心频率说明" e2 q4 j( v1 ?' D
  17.9、禁用Linux串行控制台
- [! V& ^) _& @  17.10、为Linux启用早期控制台" c+ Q) z) C  z8 _  k5 v+ [- |+ W3 K8 J& u
  17.11、UART与设备树! m6 L+ j8 \4 M" [
  17.12、PL011 UART与mini-UART的区别/ L" E' J- J: F
  十八、设备树、覆盖层和参数
6 w- ]8 W; T0 p" Q; Z" L1 i  {. [  18.1、设备树
2 G+ W* T; Q8 K  18.2、基本的DTS语法
7 l# b2 U0 N' C, p  f8 L, @  18.3、关于/include/的补充说明
8 _9 c- t- c* u  18.4、标签与引用$ j" e" b2 ^. v* P
  18.5、设备树语义* Y! U8 Q2 N$ }3 ^  }
  18.6、设备树覆盖层4 [3 g# \2 o. n4 d; a- }$ ~& _: U
  18.6.1、片段
2 G& R4 G. S2 V; k4 h  18.6.2、设备树参数
) [- J4 F: Y0 _2 u  18.6.3、字符串参数- H2 q. P$ X7 i, s# V& B' s- u" N) D; H
  18.6.4、 整数参数. O# {$ d& k, E& j
  18.6.5、布尔参数( T' B) n. d/ f" f6 P
  18.6.6、字节字符串参数$ u# i# |9 w; O( m% t& K
  18.6.7、具有多个目标的参数: k4 [/ I+ |6 t# Z9 R/ W0 a) u# j
  18.6.8、文字赋值
! H5 I; c+ h: z  q8 Q5 a$ ^3 @4 C  18.6.9、查找表
9 q5 `, G1 `! c" |  18.6.10、覆盖/片段参数3 E: K# A# A1 M# R$ l  p3 G6 J# ~
  18.6.11、特殊属性. r: s/ N3 l# b, L
  18.6.12、覆盖映射文件9 |% F# P  U/ {# K% p  ~$ k
  18.6.13、示例
0 `5 ^/ ]% o" {, s  18.7、导出标签
& m1 E7 d+ G! {2 r# x% C1 b  18.8、覆盖层应用顺序0 [' ~# \# Z6 r6 L2 `* P4 S
  18.9、在树莓派上使用设备树(Device Trees)3 Y, L) F" M* @1 Q/ ~6 J6 a
  18.9.1、DTB, overlays 和 config.txt( l# U* B3 v! b% s2 R: {
  18.9.2、设备树(DT)参数0 [: q" X  v& c
  18.9.3、特定于板子的标签和参数" D( r$ G0 z' G
  18.9.4、HAT与设备树
8 M$ N3 C* {; L8 Y8 w; f  18.9.5、动态设备树
  i1 Y2 l! {/ s4 E9 q$ E: \  18.9.5.1、dtoverlay命令
5 x# \8 N2 m  w1 Y  18.9.5.2、dtparam命令5 y; V8 j/ J" b# j, E1 e2 [
  18.9.6、支持的覆盖层和参数
9 E( ?; X) m" n7 X3 h. t( m  18.10、固件参数
! e% p( R6 a9 Y% Z7 k& c  18.10.1、常见的引导加载程序属性
, A1 o- r( ~* q5 O2 W& Y! o5 ^  18.10.2、电源属性9 C0 ?7 W2 I( t9 h
  18.10.3、BCM2711和BCM2712特有的引导加载程序属性3 [- C5 |7 M4 c/ x8 R  F7 O) f
  18.10.4、BCM2711和BCM2712的USB引导属性# e; `! @4 g' |# C% {) }# X: D3 z/ O
  18.10.5、NVMEM节点# {5 [: p% s# k2 x- n
  18.10.6、NVMEM设备别名说明* p% v2 q, _  S5 I
  18.11、故障排除
4 b2 {1 g/ Z) E) w2 |; a. P8 F. K  18.11.1、调试
2 Q1 l8 w0 ?+ Q. s! p  18.11.2、使用dtmerge、dtdiff和ovmerge测试覆盖层8 z: C% i! X8 V' |7 [: U  o
  18.11.3、强制使用特定的设备树7 I1 S( B6 G! O, X
  18.11.4、禁用设备树的使用& d; J9 I3 F0 ]' G
  18.11.5、快捷方式及语法变体
" B$ M. o9 H8 [0 s* q3 F  18.11.6、config.txt中可用的其他DT命令, |% ^1 a& S! d) U3 x, d
  十九、更改默认引脚配置! k/ t1 V& p$ c& k' i, Q! Q8 F) M
  19.1、启动序列中的设备引脚! H: N1 p- ^+ B1 E  A' L1 [) Q
  19.2、提供自定义设备树二进制文件‌# v$ i$ P- n8 o& e
  19.3、dt-blob的组成部分‌
, M5 w, }/ ?/ D, D& J  19.3.1、videocore(视频核心配置). N/ Q5 Y0 F' c8 K
  19.3.2、pins_*(引脚配置)
1 t* {6 b, d. ^6 r( \9 J9 S; a  19.3.3、pin_config(引脚配置). b6 Q& k" X( k  L+ s1 Q, E: l' l9 h
  19.3.4、pin@pinname(引脚名称)
5 o8 Y  I: C& c# X% N  19.3.5、pin_defines(引脚定义)$ A' B# G$ W' M) t
  19.4、时钟配置
: R+ s' y6 M: K  q. ~  19.5、示例设备树源文件说明
3 M9 p2 \' `" d& I4 P( P, v

D、树莓派config.txt配置文件详解

      点此查看
9 E5 K* D1 Y* X% m% X  一、什么是config.txt?# K* d$ `0 h$ y0 X
  1.1、文件格式‌
, a9 p) @8 m0 E* Y" P$ Q9 f  1.2、高级功能
8 W+ U. f- `5 C/ K" t5 i) y  1.2.1、包括+ D) ?- j) `0 V. @6 T# f$ m
  1.2.2、条件过滤- z9 \+ N2 @4 O' _0 q% ^2 ?
  二、autoboot.txt" j/ n  b$ ~- s' d/ Y5 u0 x9 a& m- a
  2.1、boot_partition0 m# A  L$ I+ N* @- B; C, b
  2.2、[tryboot]过滤器& d+ y: E/ w5 t7 l' y' I
  2.3、tryboot_a_b
& a* _9 Q) J7 I. @  r+ S  2.4、A/B启动的示例更新流程6 z) `, A$ M$ z' o8 d6 X# e- Y! d
  2.4.1、安装更新& s4 u* j* g- D# x9 b2 ~
  2.4.2、提交或取消更新2 o2 c0 [2 k/ B' Q/ x$ G/ T( x
  三、常用选项
) h' C. V- u8 U! X  3.1、常用显示选项. D/ Z' v5 Z& J
  3.2、常用硬件配置选项1 ?- [, H/ W- K2 E& F* h8 [3 j
  3.2.1、camera_auto_detect
* E$ \1 ^# f" H+ |9 z8 s  3.2.2、display_auto_detect
. ^4 l& T  X" H- t7 I3 ^& u6 j  3.2.3、dtoverlay
! y3 _1 k1 v* [7 \; }/ [2 Y. H/ g1 c& p% b  3.2.4、dtparam6 S3 e8 O! n  T- J1 j
  3.2.5、arm_boost5 G. Q9 `) t; C4 D5 C
  3.2.6、power_force_3v3_pwm
; M5 W! `9 t' z5 z# V1 c& ?  四、板载模拟音频(3.5毫米插孔)2 u/ ^" H2 x' ?/ V$ o6 E# Z
  4.1、audio_pwm_mode
: F% i& k7 Y% n$ ~+ U5 c  4.2、disable_audio_dither$ q* ?# A& Q0 f! V* q: B
  4.3、enable_audio_dither
5 j5 R. z/ j& u) \  4.4、pwm_sample_bits8 j  k% c/ f# @/ B6 `6 x
  五、HDMI音频5 c5 k! A! i9 O7 ]" }# p. ~" P9 P
  六、引导选项
2 ^7 _* g& C) u& w  6.1、start_file, fixup_file
5 b2 y1 a7 r# W7 x: X" k: Q5 N. k  6.2、cmdline. w  c9 z& {4 I( S) c* Q
  6.3、kernel- F+ }" F8 q4 c" o, j5 F7 [
  6.4、arm_64bit% ^# e8 p2 O1 q& r! a6 A4 @
  6.5、ramfsfile! _9 m# Y& f9 t
  6.6、ramfsaddr
3 `# o3 _. W$ a, |& H) y  6.7、initramfs
8 R. ~& b/ P) N9 H- @" u  6.8、auto_initramfs4 B& C7 p" L; Y5 e% C
  6.9、disable_poe_fan$ G2 H+ i0 b6 i: \/ p) }" b4 b
  6.10、disable_splash0 `0 g0 x$ D! i2 P- I; B) N
  6.11、enable_uart7 a1 S6 N8 e$ \( r: p; n  Z
  6.12、force_eeprom_read3 [. H' a9 o- M' t$ P' j! |) ]: m
  6.13、os_prefix+ z) W  |  l/ y5 v7 z0 ?
  6.14、otg_mode(仅适用树莓派4)6 V4 K0 i" E" E- W9 m
  6.15、overlay_prefix
1 r; s/ d3 [  B. @0 o  6.16、配置属性* Y( W8 y- b. [7 {
  6.16.1、boot_ramdisk6 D$ h) E# w. W* O
  6.16.2、boot_load_flags, q: ]6 S9 ]: B
  6.16.3、enable_rp1_uart
1 |. T3 u9 b! F' s  6.16.4、pciex4_reset
9 b- W7 D- S. }. }- P  6.16.5、uart_2ndstage  _- |( ~- \& ~
  6.16.6、erase_eeprom2 e, M6 y6 b3 `! G, m- U
  6.16.7、eeprom_write_protect
; K! a6 s. S0 \! t  6.16.8、os_check
, @' \9 i3 f% g# W8 G2 \& `  6.16.9、bootloader_update
- n1 p2 `* S, p# q0 c  6.17、Secure Boot配置属性
: @9 a9 l8 |9 B, O" J  6.17.1、如何使用树莓派Secure Boot?
' m. e# l. X: b& d7 z5 U0 q  6.17.2、program_pubkey4 J# `6 p$ n7 a! g8 n
  6.17.3、revoke_devkey5 h6 R5 J1 j& E; X' Y2 d% q
  6.17.4、program_rpiboot_gpio
2 c. F) b4 h: Z- f  C  6.17.5、program_jtag_lock
8 u3 Y( K0 K( M% i6 G3 W: Z  七、GPIO控制
- |5 \2 |: U/ t/ [  7.1、gpio
9 u+ {& j1 H. J! t" v6 s) j  八、超频选项- O2 w8 _5 I. Y& {! o! T8 j( A
  8.1、超频选项描述
$ d( y: ]+ G. l0 |  8.1.1、各型号默认值3 Y  O  J% e0 K" [# L* y+ Z
  8.1.2、通用默认值$ s8 ?; o2 p% h) k/ \1 W
  8.1.3、对于Pi4、Pi 400和CM4
7 h& |9 r. w. j6 `  8.1.4、force_turbo
* _9 F' v# ^- T+ s0 ~+ D/ N+ l  8.2、时钟关系
* _! ?3 s$ u. d* r  8.3、监测核心温度8 Z0 e- ?% Y& o. O* ]2 g
  8.4、监测电压
. A3 e& z- _+ y" _( d  8.5、超频问题. U9 {2 h( t( x, R; Q, r
  九、条件过滤器8 ^2 Z9 p4 a2 v1 t( H: x4 `
  9.1、使用场景) z1 J& _% Q% K
  9.2、条件过滤器的作用, F' h# ~$ {) l4 F, b
  9.3、[all] 过滤器
, B8 t8 ?9 C# `" C( r# F, e  9.4、模型过滤器
7 [) J( S# P% c# p- @  9.5、[none] 过滤器
% u; y  Z( X( R8 H: ~# l  9.6、[tryboot] 过滤器. Y2 T2 s* _* n8 `) D" }
  9.7、[EDID=*] 过滤器9 {) z7 p7 z) |( o7 ^8 B
  9.8、序列号过滤器' d: [" p% g/ j
  9.9、GPIO过滤器
: Q0 H! t2 H5 n+ n1 S" G  9.10、组合条件过滤器9 g/ y( q5 f! O% Z9 Z
  十、内存选项7 Y: ~, o) y; e5 i
  十一、许可证密钥和编解码器选项! }6 `. B8 g/ R2 J
  十二、视频选项
. ~! [& e. a2 j& t  12.1、HDMI模式6 o# w1 s; S& {! K1 v
  12.1.1、4系列设备的HDMI管道, O# p( w2 Y7 T; p( a- l8 b
  12.1.2、5系列设备的HDMI管道, L! P2 M! z! P3 G. M, S! H
  12.2、复合视频模式
: f% {+ N; p* i# u# x  12.2.1、enable_tvout
1 |6 H& @  L7 D% s! S  12.3、LCD显示屏和触摸屏. e% i  J0 X2 e
  12.4、通用显示选项( C1 [0 ]5 f* G' R
  十三、摄像头设置" M4 e9 ^. A4 d1 p. o3 ^: @- g# x& }5 I7 m

5 E8 w' l, K3 ~7 {* H

E、树莓派Linux内核篇

一、引言
5 z! q9 X5 A  L7 e, q5 ~  二、关于更新
4 v2 b/ k! C$ W. W4 _+ C$ V# u7 t  三、构建内核
2 x. s8 X2 }1 g% [  3.1、下载内核源码5 S; s5 k# r1 J% @; @# r
  3.2、本地构建内核
+ f6 X* k" j( D* [& ]1 V  E  3.2.1、安装构建依赖项‌
0 a+ A" O% [+ o) J: _4 u1 Q$ u  3.2.2、构建配置' D) X7 k4 \1 H; c7 v) [
  3.2.2.1、64位架构
7 z" ?% U" d) X1 G5 u$ u1 t. }/ w+ L  3.2.2.2、32位架构
: T+ i( p5 i7 K# z$ @  3.2.3、自定义内核版本‌9 X: c- p3 u- m
  3.2.4、构建# S) X3 |; N' ]* P1 I
  3.2.5、安装内核% a2 {% w$ A! U4 \( r& G
  3.2.5.1、安装64位内核的具体步骤‌# |+ p- q) V' b+ G
  3.2.5.2、安装32位内核7 B. _- [% B) j/ u7 @! o
  3.3、交叉编译内核
) f4 \9 a% \  R9 P  a  P9 k  3.3.1、安装所需依赖项和工具链$ |7 e4 H% N& \" {3 ^+ n% R* v
  3.3.2、构建配置5 C! t* D+ ?" V& w5 m. I' ~
  3.3.2.1、64位
% ~5 z  `$ s1 b8 u  3.3.2.2、32位5 Z0 h; `/ x% j
  3.3.3、使用LOCALVERSION自定义内核版本' W/ f6 a! l2 A# p! U
  3.3.4、构建内核( M$ x" c: F8 F# f
  3.3.5、安装内核
% F4 G, X  F$ @7 z  3.3.5.1、查找您的启动介质
0 M& b1 }/ D/ {, L$ X' V5 m  3.3.5.2、挂载分区
% x: s1 u5 U& L9 A( r# @( B. h  3.3.5.3、安装内核模块5 S% ]" ^2 Z  m* A9 X2 L
  3.3.5.4、安装64位内核‌
1 z; q9 b+ e/ o& [5 R  3.3.5.5、安装32位内核% I8 w0 A  f; p9 \
  四、配置内核
- u+ j- p% H+ o/ G/ F  4.1、准备配置2 N3 G! o. q0 ]. H
  4.2、使用menuconfig: j0 f2 z/ b( E# g' x; d
  4.3、在menuconfig中导航+ t. ~, q- k) M, P$ I
  4.4、配置内核选项9 l9 i: ?% H: t
  4.5、保存更改
4 ^; C0 W" i* N( I) k5 Y: n, L  五、给内核打补丁3 |# F0 V0 T& o' m4 {6 A
  5.1、确定您的内核版本
$ p6 V- x8 Q% u8 _3 \  5.2、应用补丁+ D8 p% w" b. q9 ]
  六、内核头文件
! k2 e8 {# I, t& L  七、贡献代码
+ a- _2 y* L" ]1 m: }9 X4 o9 t  \. p3 }

F、树莓派远程访问篇

5 V: Q" [1 b4 c& B1 a
一、远程访问的方式! y6 ?! a. P1 a4 |: W
  1.1、通过本地网络进行远程控制4 B1 }7 D, M/ h: V8 I% w% x
  1.2、通过本地网络在设备之间共享文件6 e4 T( B, `% W+ K5 D5 g& x
  1.3、通过互联网进行远程控制6 k6 V$ l% v+ }
  二、查树莓派IP地址的方法: k5 E# }  k- J  H* d
  2.1、通过桌面环境查找3 _' s3 q; C5 A8 N' q! k
  2.2、命令行操作0 [6 \) R+ c; N" B" R; w4 ~
  2.2.1、根据联网方式查找IP地址
/ |8 X( P% `/ n) o  2.2.2、示例说明) h' ]7 g! r, d3 C
  2.3、使用mDNS解析raspberrypi.local: L, [4 `& }- k1 }7 K, u* R4 J. Y+ c
  2.4、检查路由器的设备列表" d9 X; U* B! Y  y
  2.5、使用nmap查找  w/ T4 l3 }' g& l+ m, X6 H
  2.5.1、使用nmap扫描网络上的设备
/ x* v+ j: T# ?2 s4 q3 }9 X  2.5.2、扫描整个子网以查找其他设备
9 N# u" C+ j) }# o  2.6、使用智能手机应用查找设备8 Q8 J7 b( t8 M9 R  N/ c+ a
  三、使用 SSH 访问远程终端2 k, e4 v4 g- ?4 ?3 t6 L) M
  3.1、启用 SSH 服务器
2 a' \! z& x! I% Z  3.1.1、桌面环境
" p% |! d; _0 a% H- Z. {1 t  3.1.2、装系统时, O' W; Z! ~4 m8 o0 L3 K3 ]' c% Z3 N
  3.1.3、命令行方式
: r8 O- O: o: U: j  3.1.4、手动方式. j. d; H2 |" {& f3 |, x
  3.2、连接SSH‌# Y2 x* A" Q. F3 M
  3.2.1、通过SSH转发X113 d, V, O! `% l/ I7 m
  3.3、无密码配置SSH
/ ?/ J# i  R7 n% z7 u* [. f$ Y4 f  3.3.1、使用Raspberry Pi Imager预配置操作系统镜像
* q2 _- Y4 d3 ~5 V$ V! Z  3.3.2、手动配置SSH密钥
2 t2 Z* N/ _, y3 H2 A  3.3.3、检查现有的SSH公钥) w) H0 L8 M7 y8 B0 t5 o
  3.3.4、生成新的SSH密钥对% E3 b1 e, e( _
  3.3.5、将SSH密钥添加到SSH身份列表中
0 L) s2 _" W; O2 C, Q$ t8 ^0 U/ }5 e  3.3.6、将公钥复制到您的Raspberry Pi上
- ~" V5 C+ L! ~  3.3.7、手动将公钥复制到您的Raspberry Pi上, w5 Y7 @$ L% C& u/ Y( L/ T* Y
  四、通过VNC进行屏幕共享
/ ^& q3 a* @" H0 s  4.1、在Raspberry Pi上启用VNC服务器. t4 y6 [9 a8 j5 b1 T8 J
  4.1.1、通过图形界面启用VNC服务器
1 E- O+ q: k9 |$ @  4.1.2、通过命令行启用VNC服务器
9 ?0 I, M" e! Q" z  4.2、连接到VNC服务器
( A: H( q" P; @% q3 |  4.2.1、下载并安装TigerVNC
! [2 i& Z. Z/ j1 s4 I  4.2.2、在客户端设备上启动TigerVNC
( e/ d$ ]& t% I& V  4.2.3、配置TigerVNC以连接到Raspberry Pi0 Q" M" u/ i- I9 k" t* Q, T% c& b
  五、使用Raspberry Pi进行远程访问- t4 e- V/ E8 G, ?7 ?
  六、使用SCP共享文件
: d7 U6 n9 P& m9 m  6.1、将文件复制到Raspberry Pi
% c1 d* M/ Z+ g  6.2、从Raspberry Pi复制文件
. J; S& H  ?- z7 c% H$ j  6.3、使用一条命令复制多个文件
1 Z( Z3 Z3 `3 T) ^3 m) C+ m7 [8 Q0 Z  6.4、复制一个文件夹
" a8 g; u( V& d7 V4 o" z% v  七、使用rsync同步计算机之间的文件夹
! M2 B( }7 ?, U; b( p  八、网络文件系统(NFS)
$ s$ @" g; H' E3 u  8.1、设置基本的NFS服务器
2 U: A: K1 p4 U2 k  @! j  8.1.1、Portmap限制访问(可选)9 q5 U! i, s' T0 C4 [& s' t
  8.2、配置NFS客户端5 d& u. f, P$ h7 H
  8.2.1、Portmap 限制访问(可选)
: H! v* n& I; G- b  8.3、配置复杂的NFS服务器
. u  l6 W- v4 F0 t" \  8.3.1、组权限
( u* j, {- _, W' F% v; L) o  8.3.2、DNS(可选,仅在使用DNS时)
9 F8 t, F4 Y: x# @$ h; f2 Z  8.3.3、NIS(可选,仅在使用NIS时)
% ^* r8 d9 S* w; o, }* U# t1 U; s  8.3.4、Portmap限制访问(可选)2 J! Z; P, a0 A# v3 j$ e: H
  8.4、软件包的安装与配置4 G3 V" l6 |9 R; t6 M4 K, `% L1 _  j# K
  8.5、重启服务
8 B0 e3 w5 u$ }$ n  8.6、需要考虑的安全事项
, k' A1 }* V) v2 S2 h4 `( y9 l) {  8.7、问题排查1 A; V: O1 g! h) T  x
  九、Samba (SMB/CIFS). ?$ }3 S, `; r3 }. q. {: f
  9.1、在Raspberry Pi上安装Samba
% m4 K% f0 a; ~1 v$ Z. }. H  9.2、挂载从Windows共享的文件夹+ L% c( w! x4 X  u, L3 n# Z
  9.2.1、开启共享! ]# L' g3 q3 T9 Y
  9.2.2、共享文件夹
$ J  `/ U* z5 g  9.2.3、Windows 10 共享向导
$ f1 J  g2 d9 o! T% h( e4 C0 `8 J4 d  9.2.4、在Raspberry Pi上挂载文件夹" t: c! U5 a, v2 u7 v! u
  9.2.5、“Host is down”错误2 ?, d$ F1 t1 p! v  i: T% d5 G+ u
  9.3、从Raspberry Pi共享文件夹% C9 x; C8 j9 q2 B/ s) ]2 i
  十、设置Apache网络服务器& e) ~  m: q# u) z5 ]
  10.1、安装Apache
  q0 R* d( D# b# A  10.2、测试网络服务器
$ M" H$ W3 C, S% T  10.2.1、更改默认网页* l$ q0 R9 n$ |% K( a
  10.3、为Apache安装PHP4 O( ]0 V3 V1 {, r( g
  十一、通过网络启动你的Raspberry Pi) r4 W, f8 G& \6 Y* N; Y* m
  11.1、配置网络启动客户端
& x* B. f& v9 u7 U6 l, K, d& c5 U$ M  11.1.1、Raspberry Pi 3 Model B: [4 v2 B8 ]  T
  11.1.2、配置Raspberry Pi 4 Model B的网络启动
" f% [" Y! K- Z* `! i5 x  11.2、记录以太网MAC地址和序列号+ Q+ |- C( N/ r' M  X
  11.3、配置网络启动服务器2 P+ H2 u7 Z" t
  11.3.1、在客户端文件系统中重新生成SSH主机密钥
  n) v3 w( r3 d9 s. K  11.3.2、查找本地网络设置0 W# C% T* I* m3 _
  11.3.3、记录DNS服务器地址- n/ ^. @! ^' X8 y+ {7 H2 S
  11.3.4、在服务器Raspberry Pi上配置静态网络地址; @' h  Q+ c, |: u1 ?  M5 S4 L
  11.3.5、配置systemd/resolved.conf以解析DNS
* X( S$ R+ S2 E/ l! P  11.3.6、启用systemd-networkd并重启6 e. w9 h! e- f4 |8 z4 x# P$ Y6 ]
  11.3.7、启动tcpdump以捕获客户端DHCP请求# S) g) B3 F5 S4 U5 E0 g
  11.3.8、连接并启动客户端Raspberry Pi8 v4 @; i* H- L# i
  11.3.9、修改dnsmasq配置以启用DHCP回复
7 e: c* q" d# i8 y0 n7 [  11.3.10、创建/tftpboot目录并配置权限9 k5 x$ _& D% i. T7 j
  11.3.11、监控dnsmasq日志' K! ]& v/ \3 s( a. g  [/ ?
  11.3.12、将启动文件复制到/tftpboot目录1 ?5 Y- E+ ~1 S  K$ P
  11.3.13、重启dnsmasq服务! X! p6 m2 B$ @) m5 H+ k7 q
  11.3.14、设置NFS根目录
0 C1 {/ A1 o8 n/ J$ V) `  11.3.15、重启RPC-Bind和NFS服务器
$ `& ]" R3 J7 M6 G2 R) C, G" ?3 Z  11.3.16、编辑TFTP启动配置
3 t) k% q2 H6 ?/ }$ R7 g  11.3.17、编辑NFS客户端的fstab文件9 ?" ~* R6 P+ k2 q  Y, M
  十二、使用IPv6进行网络启动' c& u1 i% Q2 i" k9 R( ]( I
  12.1、工作原理
- V/ m0 C2 ^/ t9 N1 n# @  12.1.1、网络地址
; _2 g+ z' @( Z6 v- `  12.1.2、TFTP地址
0 }, m; |$ q2 s  12.1.3、引导过程8 W& s) t0 e7 o7 Q) A3 c5 N" U% n
  12.1.4、内核启动, w' d: \4 y- E  }* _# Q4 v3 P9 O
  12.2、测试环境搭建! d: I* W% r2 j/ U# o; }) ~
  12.2.1、TFTP服务器设置3 T) h" t2 J. S+ U. ^8 }" d0 h
  12.2.2、DHCP服务器设置2 L4 x7 M% _9 t5 i4 N
  12.2.3、修改引导加载程序配置' _% @' [) w# X- s  l
  12.2.4、路由器与IPv6支持
6 n* Q4 V3 w6 k2 c( g# k! A# ~  12.3、调试. c4 v5 @3 U4 R" k# k1 y
  12.3.1、日志与追踪7 V& p5 i3 L" {- o5 z( U/ j3 W* M, L
  12.3.2、有状态配置与网络活动监控
7 R# y2 K4 m1 ^( X8 H  j) ], k- y- F  12.3.3、无状态配置
( `& b# ]! k9 y" L

G、摄像头相关

  一、关于相机软件  Y+ t9 e& C( i; ]% d- n% d" Z! i
  树莓派官方相机一览9 M7 G2 p6 f5 U, c7 y6 r/ }8 P
  二、rpicam-apps
1 W. p* {( |; J% m; O6 p* W+ G0 x  2.1、树莓派提供的rpicam-apps示例9 i9 d& k% V4 L7 t8 G/ Y9 F" t) Z' z1 _
  2.1.1、Raspberry Pi OS的集成  o+ P# a# s- e0 o& V( q
  2.1.2、自定义应用
& q: ]" g8 a. P& \  2.2、libcamera
' F8 g- E+ ^9 B2 ]$ T  2.2.1、支持的相机及芯片: W  Q/ e/ K( k" j: B
  2.3、rpicam-hello
$ O' [; b' p9 Y, s$ O0 W' [  2.4、rpicam-jpeg8 g0 Z. H- X& G# G* V
  2.5、rpicam-still
$ C- V# ?. T  S2 g; v  2.5.1、Encoders" n6 n6 i( k+ y, {
  2.5.2、捕捉原始图像
# s" q3 c/ E' S0 N! {  2.5.3、捕捉长曝光图像
9 z6 C5 v% U6 K5 S# D/ P- A6 E, q: _: M  2.5.4、创建延时摄影视频  H4 L: v) m& U
  2.5.4.1、rpicam-still延时摄影模式
' `- Q! e* Q' B" {9 M. ~  2.5.4.2、Cron自动摄影
6 o8 W. Z+ j  u4 d* ~2 C  2.5.5、将图像拼接在一起
+ R6 X2 \  o; a8 V4 P3 A  2.6、rpicam-vid:Raspberry Pi视频捕捉工具# n! U4 c. o  V" k- q, I
  2.6.1、编码器与视频捕捉优化: E7 A) L% M3 e4 J1 z0 C" s- F% g" m
  2.6.2、捕捉高帧率视频‌1 C0 a" u: F1 i0 S
  2.6.3、rpicam-vid 与 libav 的集成
, j' u: W! t' j  2.7、rpicam-raw:直接录制原始Bayer帧
- W6 ?2 S9 W' \) h9 c  2.8、rpicam-detect:基于TensorFlow Lite的对象检测
- Q& `1 C# R& `) k% `  2.9、配置说明
- v+ ~$ C0 u+ w' @8 p: P- g) }  2.9.1、调整相机行为:使用调校文件8 t% d& i: Z. V$ L
  2.10、使用多台相机/ L, s4 a5 C8 F# j$ Q' I: G9 W
  2.11、安装libcamera和rpicam-apps
8 {3 \  J2 x' W  三、通过网络使用rpicam-apps进行视频流传输6 E( e) S* T8 u, d- W8 J
  3.1、UDP流传输8 k- S3 p+ q7 b: v  C. W8 Z
  3.2、TCP流传输
3 ^- T/ D* M" u/ `- R  3.3、RTSP流传输
  C" X; O* {& ~! K# }  3.4、使用libav进行网络流传输
7 b: H) c, y  y) `2 o9 B5 e  3.5、GStreamer流传输
" r' b7 T( E, }2 D# J! x  3.5.1、RTP流传输: R$ y9 k  V7 b+ L
  3.5.2、libcamerasrc GStreamer元素
; c4 `9 w3 c9 b7 u, j  四、rpicam-apps 选项参考
/ O6 F/ Z& B2 E2 p  E) s" K' l5 ~  4.1、通用选项
4 {1 |  S* n( T/ w' y* c$ [: a  4.2、相机控制选项# ?. [8 F2 v3 S% [( H
  4.3、输出文件选项# m( K" {9 Y4 I" X. Z2 [
  4.4、图像选项( L; p2 H4 J& O" `! ~
  4.5、视频输出选项
4 [9 `: @. Q5 m9 O* t& m  4.6、libav视频后端选项
  D9 I. [( u: \4 s" |* k  4.7、rpicam-detect的目标检测选项/ ?/ F# k, \* Y5 c  z8 ]* e
  五、使用rpicam-apps进行后处理
" ^/ j+ P$ d+ [- B8 w# R! ~; k  5.1、基本后处理阶段示例
1 q" T# C/ _+ {  5.2、内置后处理阶段
7 q, W, l8 o+ }6 `3 _  5.2.1、否定(negate)阶段
- z; J4 w/ K! s  `) S4 b( k  5.2.2、高动态范围(hdr)阶段& T/ M0 H6 `3 }7 `- z
  5.2.3、运动检测(motion_detect)阶段5 H, f. \0 ^" }
  5.3、使用OpenCV进行后期处理
' |5 x* V# T  u' w3 y6 D" S  5.3.1、Sobel滤波(sobel_cv)阶段
  W4 T: |( W. C- e9 A% g$ t  5.3.2、人脸检测(face_detect_cv)阶段" [6 R- f! H* U& k
  5.3.3、图像标注(annotate_cv)阶段
1 J, i( }. z  A+ t9 e3 b& o  5.4、使用TensorFlow Lite进行后处理
) V  i/ s, w% I& \$ s) `5 a0 G  5.4.1、前置条件
, l' B! }; T* d! A  5.4.2、物体分类(object_classify_tf)阶段
4 i6 S! p, W; D+ v6 R  5.4.3、姿态估计(pose_estimation_tf)阶段
# i/ v7 e7 B1 h  5.4.4、物体检测(object_detect_tf)阶段
3 P% w7 L" R  k  5.4.5、图像分割(segmentation_tf)阶段
( W0 K; A; G4 X! v& \  5.5、自定义后处理阶段
: d& k6 i9 k7 e  w. i  5.5.1、基础后处理阶段; _& L6 [( q3 b- v4 r+ ~5 \; n) H
  5.5.2、TensorFlow Lite 阶段# N; q, Q# Y9 x7 w1 a% M
  六、高级rpicam-apps使用指南‌
. c4 m$ k8 k1 r; s6 T8 ^7 ~7 [/ F% ^  6.1、自行构建libcamera和rpicam-apps7 _' B. g$ H1 _0 N
  6.1.1、移除预安装的rpicam-apps9 V) L, A5 S% w$ C
  6.1.2、不构建libcamera而构建rpicam-apps
5 Y: q* H/ g8 }5 Z' S  6.1.3、构建libcamera5 t2 l* v3 N& J- l
  6.1.4、构建rpicam-apps
, i6 g0 f/ t  F5 D# y- R  6.1.5、rpicam-apps Meson 标志参考2 i: s9 d$ q  V, B0 `- l8 N
  6.1.6、构建libepoxy2 n& Z: @! a+ L- L) F/ w
  6.2、编写自己的rpicam应用
. S. W) r( A7 R- c  6.2.1、rpicam-hello简介2 k8 o" K) R/ u& @: }1 E$ X7 Z& \
  6.2.2、rpicam-vid' Q+ h9 B  W3 H6 m
  6.2.3、rpicam-raw* m6 }% t) {3 E3 M( s( I2 [' N! {
  6.2.4、rpicam-jpeg
, Y5 }% @6 n! w$ H9 z; h: p+ }  6.3、在Qt中使用libcamera& L$ y8 D3 i% B- U* v
  6.4、在Python中使用Picamera2库操作libcamera7 p8 w$ W9 |6 `. V
  七、使用USB网络摄像头
' T! m7 Y! E1 m3 n, |' h8 K  7.1、安装依赖( x! m" D0 j) h8 N& I) I" x
  7.2、拍照0 D( ^) Q1 M" w
  7.2.1、指定不同的分辨率$ G9 M: W6 p: H. l9 S( D
  7.2.2、删除横幅
' T4 D: i6 V  R% F. O( N  7.3、自动化图像捕捉
( L/ W1 ]4 T; q: l) H  V  7.4、拍摄延时摄影
. Z4 |$ ^, G0 R% R6 r! K1 m9 `" z" F  八、V4L2 驱动
! D8 d& u1 S' H9 w6 x  8.1、使用libcamera时的设备节点
8 K- _1 l/ G" j  8.2、使用V4L2驱动1 `  e& b! N: |$ E  H0 r, {) S
  九、Unicam; k( v+ D8 `% x, f& W
  9.1、Raspberry Pi的SoC与Unicam
( |2 Z; D* ^0 [! Y  9.2、软件接口2 I5 m! t6 O4 G3 k
  9.2.1、V4L2注意事项& P& }! Y# J: i& b2 w+ h! R- p. n
  9.3、编写第三方驱动
0 N$ Z( f6 D: j+ o  9.3.1、摄像头传感器
) Q: y# ]3 O% L& m& V# ^  9.3.2、设备树
  L8 H- U6 b, {$ m  9.3.3、桥接芯片
' l+ C9 k4 M* u6 d# v0 F& F- c  9.3.3.1、模拟视频源
' s: E! ?0 _1 J' J  9.3.3.2、数字视频源
; Q  ]. R* j) c; K& Z9 U1 W/ ?. H  9.3.3.3、当前支持的设备
. v( Q+ m- u, C  ]$ j  B! j  9.4、rpicam和raspicam之间的主要区别) f/ S) o) k' [* m) D- F% v1 x9 G
  9.5、rpicam-apps与 raspicam在功能和选项上的主要区别
( `8 I' R0 s  {( ?8 [! ^, T  9.6、缺陷像素校正(DPC)
6 L' G: d1 }2 c' a* D; O: t! F6 S  十、故障排除方法
; E# [5 f/ `% b" T" S1 l" S  十一、获取帮助
: W- k! J+ k' X  E7 w* B
       未完待续(预计30万字)
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版 | Archiver | 树莓派论坛 ( 粤ICP备15075382号-1 )