树莓派论坛

 找回密码
 立即注册

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

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

一、树莓派概述

  树莓派,英文名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 电源
( G7 Q$ G) }" @7 T0 s
  将电源插入标有“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,会弹出是否要进行相关自定义,也就是预配置:
7 m$ Y9 y6 m- D! A5 X. K: p
  单击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卡插入树莓派背部卡槽。
% \; Q" j: b5 _( ^, D2 l6 C
  其次接入显示器、插入USB设备,比如键盘、鼠标、USB声卡、USB麦克风等。
  最后插入电源,通电。
  当树莓派开机时,您应该会看到状态LED亮起。如果您的Pi连接到显示器,您应该会在几分钟内看到屏幕显示画面。

6.2、未成功启动因素排查

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

6.3、首次启动的配置

  如果装系统时已经进行了预先的自定义设置,此步骤可以跳过,看看也无妨。
  若安装系统时未进行自定义设置,开机后,系统则会弹出如下界面,点击NEXT:

$ q/ p) k* H% s) `; l* l
  

6.3.1、蓝牙设备连接

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

6.3.2、本地化设置

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

6.3.3、设置账号和密码

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

" E7 o3 H& ]1 l' L* ~3 `: @  y$ {
  

6.3.4、Wi-Fi连接

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

6.3.5、浏览器

  您可以选择谷歌浏览或火狐浏览器作为默认浏览器,非默认浏览器可以被卸载。
2 N6 f3 b4 S: Q/ y+ }
  

6.3.6、Raspberry Pi Connect 工具

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

- h' T+ \2 \: N, U: A  m5 u" `& m/ C
  

6.3.7、系统软件更新

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

6.3.8、开机配置结束并重启

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

# I  U0 g; S+ a

树莓派官方文档系列目录

A、树莓派硬件篇

+ }1 K5 k3 V& Z/ s2 a
  硬件篇比较长,分成三部分:5 x7 K, Z2 r( I
  硬件篇一点此查看
* |$ o8 @  s/ \2 j' d4 o  ?0 E  硬件篇二:点此查看! P- m' |) i8 S- i6 b
  硬件篇三:点此查看5 e4 W* k, w% l4 _  H
  一、树莓派的分类( I1 F$ X* b; R$ t3 q1 Y
  二、各型号对比
1 {' @0 W7 h2 ]! Y( x/ U8 W. e" d  2.1、旗舰系列
% L& ~! _  ~% A" m! a  2.2、Zero系列* E8 L) }. o+ Q8 C0 [
  2.3、PICO系列
; |+ d  R  K) `  2.4、各型号主要参数对比! \8 j+ f0 h* Q
  2.5、各型号图片展示
+ p2 u0 q/ ?& q# P  2.6、CM计算模块系列; Z7 y7 ?. R" V+ Y8 M
  三、原理图与工程图, o; W$ C( Z% ^1 y* k1 B) @) Y
  四、商品合规性和安全性
& I5 j* c$ ~4 D, T) T9 o0 t* V5 u  4.1、可燃性等级
9 L. ]4 W' O: g/ e$ O& `" `  4.2、Raspberry Pi 合规性支持
8 K$ s+ F' {% e# S' X& s  4.3、官方提供的支持- k+ Y- @& \6 w; S6 S' B
  4.4、认可设计合作伙伴, B7 `; `; p2 e- `7 A0 r
  五、频率管理和热控制& ^+ f8 c  ~. q9 ^0 @' y$ z' ~
  5.1、DVFS的使用
& Z& B) r* e6 k  V9 e$ k" G  5.2、测量温度% I' O# {9 k( }: Z' }6 O% a
  5.3、散热器最佳安装方式# H6 i* N$ Q2 g7 ^1 X% D
  5.4、可调速风扇的使用
" Q# T0 y# S" i# W  5.5、树莓派5风扇连接器引脚定义0 ~" o6 o3 @! |7 g
  六、使用 EEPROM 启动系统
9 d# t% r: g5 j$ `6 s. Y; c  6.1、可用EEPROM启动系统的型号
5 M2 i% \6 @6 N# H  6.2、其他型号的方式: c4 Y" v# w4 ?4 u4 N
  6.3、诊断
" b- F4 p0 K  B4 _  6.4、更新引导加载程序bootloader
* y6 `* D5 p; w  K% f3 z2 }+ A% c7 K7 P  6.5、更新bootloader配置6 t2 E# y" s, B1 h0 L8 F
  6.6、自动更新$ i7 K1 G% Z4 @- @2 e. C
  6.7、Bootloader 版本状态
$ e0 ?/ a( u( J. q* o  七、启动诊断( q0 f8 E, _- a3 U8 o
  八、树莓派启动模式
- T  I- Q. z) _/ o( Y6 t% G  8.1、特定的bootcode.bin -only启动模式
) l/ [% n, f' M1 N) p  8.2、启用bootcode.bin UART9 g8 U# E  [6 ^# a
  九、USB启动模式
& Z2 [- [( v7 u) G- @  9.1、USB设备启动模式
; {+ m! @8 [+ G  9.2、USB主机启动模式; Y5 H9 D$ V+ L& N
  9.3、USB大容量存储启动模式* l: k; |# x% }
  9.4、从USB大容量存储启动& m6 l" ^9 }; h
  9.5、已知问题/ ~( O  X$ K8 S* C
  9.6、特殊的bootcode.bin-only启动模式# p1 W" o3 w6 R/ N7 T
  9.7、硬件兼容性: D2 B) i8 r$ O( ]4 @$ n8 T
  9.8、多个可引导驱动器8 {% _  }( `3 v
  十、网络启动- A% w. e9 ~3 A: K+ A3 H
  10.1、网络引导流程) D/ @. X7 E; C! p* X
  10.2、调试网络启动模式; d$ U  G# ~# n2 H
  10.3、DHCP请求/应答7 s& g2 w2 s+ j/ s! P
  10.4、TFTP文件读取7 S! R# q) y& z9 r
  10.5、已知问题
) N" Y- z9 _  ]  {  z3 b% G  十一、GPIO启动模式
3 }; e9 M" O, c  c  11.1、树莓派3B和计算模块3.引脚分配
/ D  |' J7 _! {/ D; K  11.2、其他
4 V4 `! g) o9 R  11.3、开机流程
3 [! x2 t7 M6 N  十二、NVMe SSD启动$ M% N  [% a' i# Z
  12.1、先决条件
8 Q7 y8 X0 H1 `, [1 C2 J5 q  12.2、编辑EEPROM启动顺序; s0 z. O4 @0 A4 n$ `9 x+ I
  12.3、NVMe BOOT_ORDER
. n: _6 I! G+ ^+ o( v3 a  12.4、举例
/ d- A! Y& E$ F7 a' j0 _  12.5、故障排除
$ H) H( C; W# D+ T; z6 p  十三、HTTP启动. W) j: s( {# [- Y0 `& A: p/ z
  13.1、要求
. _5 ~' T0 d$ t$ h9 F' C! |( ?  13.2、密钥" i+ m$ F! W" `/ ]
  13.3、证书) i  `0 y: u: {. H, O4 S# Z: C
  13.4、安全启动
& b# R- J! ]$ v) _0 Q  十四、引导顺序8 O+ G7 I4 {" l
  十五、‌EEPROM引导流程" m1 ?1 b$ X: ~' w: r9 `! i
  15.1、第一阶段引导加载程序‌
6 b" B2 i9 \2 ?' j, b* C4 j$ Q  15.2、‌第二阶段引导加载程序‌
( E( C, }6 v2 m; a6 I  15.3、树莓派5的不同之处‌
0 o2 z( ~2 \6 A% f/ u6 a$ Y( Z  15.4、Bootloader 更新‌4 [! d  `( y8 h  \8 F- t2 n3 K, I
  15.5、故障安全OS更新(tryboot)‌. i+ ?% B/ A/ t4 Z$ o3 K
  15.6、tryboot_a_b模式‌( j, |  Y9 w1 P* Z1 ?# J
  十六、树莓派引导加载程序配置‌) l% j* g# K0 I: |6 E
  16.1、编辑配置‌' R( L) n. w$ K. ~- O6 V7 i
  16.2、配置属性‌! d* ^' Z6 C' Y- z4 B9 C8 z
  十七、树莓派使用DPI显示屏
2 _4 }5 O  l7 }& ^8 M4 {  17.1、GPIO引脚4 D2 ?: f; ~2 X) p8 ^0 S
  17.2、禁用其他GPIO外设
1 w; s6 e/ P* l  17.3、配置显示屏
9 {' D. @# x( z, f) S. G$ [. T7 a  十八、40P GPIO针脚! m- }  Y/ H* H5 ^7 ?5 p
  18.1、输入输出、如何查看GPIO定义$ F& O; s2 B3 H* P: T! \
  18.2、权限、焊盘、上电状态、中断
. a7 `: Z# |6 X7 S4 w. T  18.3、针脚的其他功能
. O; F3 B6 S3 d; ?. F) g+ I  18.4、电压规格‌
( z/ m; j4 Z6 x  十九、GPIO焊盘控制
. |" ?' J4 J6 R3 k  19.1、驱动强度控制‌
5 w3 j4 q5 y4 B. |0 ?" S/ ~$ }  19.2、电流值
2 V( a! O$ N& m" C1 f  19.3、安全电流‌
2 u4 [! T; X. n) X  S% J  19.4、GPIO 地址
- _7 }* p2 w6 w" ^* ]  19.5、驱动器强度列表
* }% X' R# A: ^) E8 y; y/ k  二十、Raspberry Pi的工业应用‌
" @! c' o$ N; T$ Y. b$ s  20.1、一次性可编程设置‌
" G' i% z. _- g3 Q8 O; s  C  20.2、写入和读取客户OTP值‌  N7 c; S  t" t! F
  20.3、在非BCM2712设备上锁定OTP‌
5 _! C4 L/ t) L  20.4、在BCM2712设备上锁定OTP‌
' I! z2 B+ }" ?  20.5、在非BCM2712设备上使客户OTP位不可读‌
5 U! T2 }" x4 b4 {  20.6、BCM2712设备上的客户MAC地址‌1 O( J, F: ]! b. y: l9 N
  20.7、设备专用私钥‌% F7 a3 ~, v4 Y% A! W# u8 |
  二十一、OTP寄存器及位定义‌
4 D! C+ S1 C4 A' p4 `- u0 V  21.1、非BCM2712设备上的OTP寄存器
' X! T  L% H5 Z  21.2、BCM2712设备上的OTP寄存器‌
! b! Y) q9 m7 h8 n6 |  二十二、树莓派PCIe接口
/ k5 b- i7 D1 K  R7 l9 ~  22.1、启用PCIe‌+ D9 q! ]$ Q5 Q
  22.2、从PCIe启动‌
( H- |- f) e' Y% F  22.3、PCIe Gen 3.0警告及启用‌% C. A7 r6 l$ X. g$ m
  二十三、电源按键‌
* W6 Y+ ?- ]- r. q  J& T: c, ~  23.1、按键使用说明及重启方法
4 Y; ]4 L9 }# H# c' @5 V  23.2、强制硬关机‌3 k5 @. ]+ ^  `8 B
  23.3、添加自定义电源键2 }; D7 P" E, I9 v. o  f9 k
  二十四、电源相关‌1 [/ ~8 V. y1 t
  24.1、电源说明及推荐电源
" H. H* V6 m: m2 E/ i! h  24.2、以太网供电(PoE)连接器
4 V" y( K# ~$ z) s- y  24.3、电源要求典型值
. P# y( y& Q- e  24.4、将树莓派待机功耗降至0.01W( k% ], S, |8 m$ h2 P0 v0 U) A3 W. l
  24.5、电源警告及后果
5 f" S- {5 n$ l" v2 M1 S  24.6、电源与树莓派OS
8 W1 A( \: J; c) c" w2 r6 w6 p  24.7、USB反向供电问题
$ s4 {0 J* E5 O$ q' b+ G) b  二十五、实时时钟RTC" H! n7 E5 p& t/ Z% ]1 \
  25.1、树莓派定时唤醒功能! i* C. g" F( d0 {
  25.2、备用时钟电池、充电、禁止充电; C( u2 M  N9 n$ f% O
  二十六、SPI串行外设接口
! c' ~5 j* u* Y/ i  26.1、SPI硬件‌
* U; O: F4 G( J) a1 T  26.1.1、SPI Pin/GPIO映射! f3 b4 _6 u) t0 S& B1 S
  26.1.2、SPI主模式# h8 t; H' P5 d$ g( F
  26.1.3、传输模式、速度、芯片选择
- V% h; |- |9 r; q1 d" ]/ Y* S  26.2、SPI软件
6 ]4 p+ m6 ]9 `  26.3、SPI故障排除
) P. ]5 f7 f  y4 H/ w+ j2 P! S  二十七、USB(通用串行总线)
; R: J. c1 F( G* |4 h  27.1、树莓派5的电源与USB电流限制
, S& k# L! H% h8 R# z) I0 `4 s  27.2、树莓派4的USB接口" v* `+ E. |: l" n, w
  27.3、树莓派Zero, 1. 2. 3以及早期型号的USB配置* |, K! s) D7 o, J* Z& ]; o
  27.4、已知的USB问题
' c# s  V' U$ o+ I0 Q  二十八、树莓派版本代号8 ]) ^. g- U/ O( V9 T' C
  28.1、早期树莓派版本代号
7 K* u, w$ U/ _+ u1 M' T" @- o4 O  28.2、新版本代码
$ o* ]. Q9 E, J0 |; v  28.3、正在使用的修订版本代码
3 k+ r  o) Q' e* Z" T& @$ Y0 f  28.4、使用版本代号识别电路板/ b. I. d$ Y& j2 m
  28.5、版本代号使用的最佳实践1 X+ l( [( h. @; {: v0 e0 z

B、树莓派官方系统篇

  一、下载与安装4 \. ]% Z4 K6 q8 q
  二、Raspberry Pi OS介绍! }6 N+ M# h" L4 s7 W5 G
  三、软件更新
8 P' v2 y* M& ]7 |9 \$ A, ]  3.1、安装更新7 I! u8 V# H' l
  3.2、搜索软件9 ]' g# @+ j" |$ Z  P
  3.3、安装包0 S4 j6 d  f' g+ B+ `! ?
  3.4、卸载包8 N6 o- W8 m3 m0 C1 U! ~
  3.5、管理APT磁盘使用情况
5 ?1 Q& d1 N, h, J" Y  3.6、升级操作系统至新版本) M' S2 H% h8 G6 O) d
  3.7、固件升级
! T$ F+ X$ q/ J1 ^" f; L  3.8、系统版本退回
- v; Y  j2 _/ g& s% N* `  四、播放音频和视频: n. |+ N  \. H5 a7 H
  4.1、VLC 媒体播放器
1 [1 S$ z" s* |- p0 [  D  4.2、在树莓派 OS Lite上播放音频和视频
0 e, \* M/ g- g  4.3、指定音频输出设备/ D! j6 F- f' q( }. L( V: M
  4.4、指定视频输出设备
/ |! @2 I- h# M) @+ z# @  4.5、同时指定音频和视频输出设备
3 g; v6 Y3 V/ o1 k1 i  4.6、提升流播放性能
1 Q0 z/ ~/ r: X4 U! D6 H% p  五、实用工具
* p5 p5 l# q5 H7 l$ @  5.1、kmsprint
7 M3 ^; ?: I' b0 m6 i- p  5.2、vclog
3 M. U, X2 Q) c  5.3、vcgencmd' T7 m' B0 ]% X7 y
  六、无障碍选项4 x/ D* q( u2 z! _& q
  七、在Raspberry Pi上使用Python
! Z" U- R# M  F8 U  7.1、使用apt安装Python包‌7 Y% C+ f" l6 q$ y- G. c) c: }
  7.2、使用pip安装Python库) C- n8 p& P/ I, O1 e" {
  7.3、使用Thonny编程
) K! G! m( }3 @% R0 O) `5 m" a  八、通过Python控制GPIO设备% q8 `4 w4 J! |" _$ u
  8.1、LED控制
7 o7 v7 g: [/ G4 F( v0 @6 ]; g" {  8.2、读取按钮状态3 l& y9 V' o5 o
  8.3、用按钮控制LED
2 i5 @. e0 x+ Y4 F

C、树莓派系统配置篇

  一、raspi-config配置工具+ @1 B& M5 Y. ~* V# U' n
  1.1、raspi-config、config.txt区别+ ]* U8 d* P0 T, P: H' F
  1.2、开始使用‌0 @7 m8 X- Z' c" d# V( H( `
  1.3、通过终端导航配置工具‌
! \* |  J0 t' t) _  1.4、系统选项(1 System Opthions)‌( e; I1 P3 z3 k# A$ P  w
  1.5、显示选项 (2 Display options)‌: @8 o! U, u& Y- |) E- R# o4 X
  1.6、接口选项 (3 Interface options)‌
! ^& O, P+ p6 i5 E  1.7、性能选项 (4 Performance options)‌8 t& P9 z, t. Z( I( W' _2 ^' g
  1.8、Localisation options(本地化选项)‌: G7 z1 S- S* {: V. U5 ^9 ]0 w
  1.9、高级选项(Advanced options)‌1 e5 C  i6 x- b0 a8 z! q: `  H
  1.10、更新 Update‌
. _) L! Q. N0 T& O. g- b# R  二、非交互式 raspi-config‌
# b4 B  |; L, R' u5 M/ E  2.1、系统选项(System Opthions)& {6 K  P1 O, a( R* w7 |& h9 W/ F" z
  2.2、显示选项 (Display options)
4 I+ r- [: q( N- e' B: ~' P  2.3、接口选项 (Interface options)* c& ]0 h0 p% ^! C* W( x- \! M- {
  2.4、性能选项 (Performance options)  P+ ]5 a) M, I
  2.5、本地化选项(Localisation options)- n  N. B7 U3 S. x& x* \
  2.6、高级选项(Advanced options)
) F! H- E3 |! f4 x- R7 b4 n4 G1 N  2.7、更新‌' I  \9 s; p6 D' _
  三、显示器‌; ~( D; r. p! X8 s4 m  A8 S
  3.1、HDMI显示器支持‌
. t/ d: f5 D9 j7 `: h; u9 ]  3.2、通过桌面设置分辨率和旋转‌
7 `$ c; c5 K0 w$ T  w6 b  3.3、通过命令行界面(CLI)设置显示‌
& [% v# ^* o  }5 i5 P' a7 _  3.4、手动设置分辨率和旋转‌
* M' W0 p8 T# B! p& W. Y1 ?  3.5、控制台分辨率和旋转设置‌
. u$ E- |9 p" `; q  四、音频设置‌6 {7 q8 X2 e/ L
  五、网络连接‌
8 ]( ?! }: y5 d( M  5.1、通过桌面连接到无线网络‌
- s3 v. V5 y' l1 ?; t  g6 U  5.2、通过命令行连接无线网+ x7 V7 W' l7 m
  5.3、配置DHCP‌) B' E" _, b, y+ ?9 }% J0 @. l; ~
  六、黑屏相关‌2 W2 m' d7 e, \3 j
  6.1、桌面环境下的屏幕黑屏设置‌- c: S/ @/ i% f
  6.2、控制台3 ~4 r0 J5 [2 @1 m* h0 ]* D
  七、用户
- c9 i: U& \& A0 N. K  7.1、更改用户密码‌
; p6 Y7 @$ K# G+ X  7.2、添加用户‌8 x0 e8 H5 O( c+ O/ D
  7.3、删除用户‌- L# x4 Y0 k; x% I- l2 E7 b0 j' z
  7.4、更改默认用户‌" r/ A- Y' {4 O  \( V7 A
  八、外部存储‌6 |* q( q* w1 U
  8.1、挂载存储设备‌+ o& ?: i5 t0 g, B  [7 |5 o' N
  8.2、自动挂载存储设备‌
" t. o; t+ P3 w/ \1 L  8.3、卸载存储设备‌
& m9 R2 g3 k! V& U' H0 O  九、内核命令行(cmdline.txt)‌, M: g1 I' M# l" B" v4 N. N
  9.1、命令行选项‌% O) i7 K! F  Y% ]" W& g
  9.2、设置KMS显示模式‌
1 J+ z" c6 O# m# s  9.3、其他条目‌) q9 h0 X# J* h  S/ F" W$ g
  十、本地化树莓派/ f3 a' e$ v$ A5 D" q) K/ k- m
  十一、保护您的树莓派
3 r; B: f# L  @. ?  11.1、为sudo命令设置密码‌4 C" |; a1 b: B; _
  11.2、更新Raspberry Pi OS‌. O2 \* n7 s/ J8 _9 e9 q3 n
  11.3、自动更新SSH服务器‌2 z7 M( _! t& z" V2 X5 H
  11.4、提高SSH安全性‌' i0 x* [- j! f2 j# B
  11.5、使用防火墙‌
2 s* ]& E, W6 y% F1 M9 W  11.6、使用fail2ban阻止可疑活动‌
$ q, `: x, ^* J  N  十二、设置无头树莓派
6 P6 E" J/ K, q- H! Z8 B2 f  12.1、连接到网络‌- s, @4 P4 j4 Q
  12.2、远程访问无头树莓派‌
# T9 m+ ?! o* S/ G: J  十三、让树莓派托管无线网络‌6 I) o& k6 h. K; W  [0 U  V# X" S
  13.1、启用热点‌
4 A- a7 {9 k2 v# R* X9 ?  13.2、禁用热点‌; i* W  t7 P/ n% U$ h- ?2 a' K( o
  13.3、将您的Raspberry Pi用作网络桥接器‌
* z( S9 i$ K0 F$ U3 n  13.4、桥接网络‌
$ a3 F! X4 p- S9 e6 {  十四、使用代理服务器
* J: _) u3 C9 b4 s+ x  14.1、配置您的树莓派+ j7 W6 i9 A& |* g4 X! I' C
  14.2、更新 sudoers 文件
0 ^7 ?0 n4 b! d; z4 P, A  十五、boot 文件夹内容4 W8 J$ a" `; {  N
  15.1、bootcode.bin‌
( Y! ~" X( U, F1 X8 d* `3 Y0 E  15.2、start*.elf
& N" l/ W' C$ D7 R: ~4 l  15.3、fixup*‌.dat; V$ H+ P; [6 [% l
  15.4、cmdline.txt‌
# {7 @5 Y9 e% l9 j  15.5、config.txt‌6 E: M: t1 {( t! c
  15.6、issue.txt‌
& H# ^  E$ F- Z/ V* H$ b; I  15.7、initramfs‌*
% F6 Z; B* {4 n; o9 Y  15.8、ssh 或 ssh.txt‌
4 Z- `5 f6 c6 ?' k! B1 x. ^  15.9、Device Tree blob 文件 (*.dtb)‌0 M% S! X5 S/ q3 Y3 W6 A# b0 V/ ?
  15.10、Kernel files (*.img)‌4 A4 B9 ?* W5 V4 N0 }, v# \5 C  f
  15.11、overlays 文件夹‌
4 o% p; d. v& g# c# y* t" U  @2 c  十六、LED警告闪烁代码‌2 X4 Q; J; u7 h
  十七、配置UART‌
4 s; {- u4 [$ v( E$ z  17.1、树莓派 Zero、1、2和3‌
! p$ p  [" u2 N; Q; V) E% n4 s* r  17.2、Raspberry Pi 4和400‌
  Z# ^0 r! S9 W3 l/ U( I  17.3、Raspberry Pi 5的UART配置‌; W7 `* j) m. m8 l0 a9 z$ a
  17.4、Compute Module的UART配置‌( Y2 w) f! _+ i* g& v
  17.5、主UART‌, ?# I* e  a' n+ i1 _5 `4 H
  17.6、次UART‌8 ^) y0 }7 f( M5 e* d5 R
  17.7、主UART和次UART‌2 K( u+ m# z1 L( I
  17.8、Mini-UART与CPU核心频率说明, v9 S7 \! m8 T& v
  17.9、禁用Linux串行控制台
# |" m8 s# J; z  u3 k  17.10、为Linux启用早期控制台
" L7 z% e9 W/ x  z9 q; }' a# t  17.11、UART与设备树
# W4 R$ }% _3 e; j  17.12、PL011 UART与mini-UART的区别4 g4 X1 D& j4 @
  十八、设备树、覆盖层和参数
3 G7 T: p) U- ~' K1 t  18.1、设备树0 L9 H6 z1 y1 t
  18.2、基本的DTS语法9 ], E6 k* J" `( g" Q
  18.3、关于/include/的补充说明
, f* w  R9 z( i; f' L  18.4、标签与引用
3 R# Z! s- E! ~; R" h  18.5、设备树语义
0 U, X" N5 ~, {: A! N& t  18.6、设备树覆盖层
. H6 O0 y4 T$ M" j- i/ Q' Z  18.6.1、片段
! W7 [! i  s% {$ Q: t; G( i  18.6.2、设备树参数- c3 ?; j2 x( G2 C1 O
  18.6.3、字符串参数
+ y( x; G( A) W9 P  18.6.4、 整数参数' a7 p. w+ m" ]! _8 `# U/ z
  18.6.5、布尔参数
- I+ ^( ~0 }+ o0 W  18.6.6、字节字符串参数  }1 M4 N9 k8 v
  18.6.7、具有多个目标的参数2 L$ k& j, q/ a( V1 B- S* z
  18.6.8、文字赋值
7 S1 z# l- l+ s' w( [& p8 D  18.6.9、查找表
: Y8 _6 c* d+ G: w4 k! r7 F  18.6.10、覆盖/片段参数/ p/ q8 R$ i6 o' [; D9 @0 [8 q) Q4 O4 k
  18.6.11、特殊属性- q1 v& q+ F0 i' m- j6 L1 O- E
  18.6.12、覆盖映射文件
$ m! D. C( K- v' M$ H/ g0 @  18.6.13、示例- g8 H5 ^/ c  L1 z
  18.7、导出标签% V! f& J2 g% l+ _& h
  18.8、覆盖层应用顺序
; [9 j  s4 [6 L2 g  y7 M  18.9、在树莓派上使用设备树(Device Trees)9 U! z; \2 S. t7 D5 [
  18.9.1、DTB, overlays 和 config.txt
5 Z* F( C% \5 `$ d1 L) e  18.9.2、设备树(DT)参数5 w$ l4 E! A2 S" f. D
  18.9.3、特定于板子的标签和参数7 Z1 z; y+ D$ a9 d
  18.9.4、HAT与设备树( d" `6 \2 G1 C+ O( R8 i
  18.9.5、动态设备树0 ~, \4 v5 }1 j
  18.9.5.1、dtoverlay命令
5 t6 Q* I  O* ]* ?4 ?9 f% @  18.9.5.2、dtparam命令
- W0 X+ U+ k3 b% Q- i0 N0 u  18.9.6、支持的覆盖层和参数
4 ^9 C& _0 _, u( ^# m8 Y  18.10、固件参数
; Z2 T( D# z* V6 J- \3 j& {6 z  18.10.1、常见的引导加载程序属性$ K- m8 P% u, }
  18.10.2、电源属性
  x; |- ^8 {: H( E0 N( c( G  18.10.3、BCM2711和BCM2712特有的引导加载程序属性
1 U' r: g' j! d0 r0 t) A4 s) D$ ~  18.10.4、BCM2711和BCM2712的USB引导属性1 {) s% [& L* [! J& Z
  18.10.5、NVMEM节点3 r+ g  b+ X/ w
  18.10.6、NVMEM设备别名说明
1 p. T9 e0 F; z3 i6 m) r- S9 R8 U' g  18.11、故障排除2 |6 s; \; |5 v- R& p' D0 j
  18.11.1、调试
! {/ Y) w( a6 h- V  18.11.2、使用dtmerge、dtdiff和ovmerge测试覆盖层$ G+ f0 I' h- a- I! _# v
  18.11.3、强制使用特定的设备树
9 X  n/ e: a8 C9 ]) v+ p  18.11.4、禁用设备树的使用
; i( `- _" V5 o( K( u: L# E( \  18.11.5、快捷方式及语法变体
3 u/ j, E5 O& u; K0 L+ e% f  18.11.6、config.txt中可用的其他DT命令
: i( F) x( q1 o- ^. `4 l8 Z  十九、更改默认引脚配置9 r, G; |' \* }2 ~
  19.1、启动序列中的设备引脚( W5 b  A- v4 S* e
  19.2、提供自定义设备树二进制文件‌  B# G- W' S8 }) v
  19.3、dt-blob的组成部分‌
/ Z: T0 B" {8 C# x% W  19.3.1、videocore(视频核心配置)
& P  _/ v; m1 u+ w9 X  19.3.2、pins_*(引脚配置)! c! B6 P6 X" I9 I4 P( t' a
  19.3.3、pin_config(引脚配置)
$ m2 |. f9 @2 Y) Y7 G, m/ E  19.3.4、pin@pinname(引脚名称)5 B+ |( s$ D1 Z
  19.3.5、pin_defines(引脚定义)5 y7 x3 ~/ r% }$ }
  19.4、时钟配置
. S1 i5 W7 e* k( Z  19.5、示例设备树源文件说明
; ^2 M) P( Z5 x

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

      点此查看
8 X6 y( }! I/ A) ~( y  一、什么是config.txt?
& r) W. d, x3 {  1.1、文件格式‌
" H& y! \/ T( c( \) X  1.2、高级功能) e5 ~  Z3 X- ^7 i/ @' D7 Q" D: `
  1.2.1、包括
% q2 M$ K7 M+ s  1.2.2、条件过滤
3 f* d; z! C: X" ]0 d, R  二、autoboot.txt
6 |" U0 Q6 T& o/ I1 v  C8 [! |  2.1、boot_partition
( W# v  y# n& h1 x+ ]' Y! q  2.2、[tryboot]过滤器8 o0 b) h. u# K! E/ N8 p4 F+ v
  2.3、tryboot_a_b
- d  f. V$ V8 F! |1 Q2 V  2.4、A/B启动的示例更新流程
- ^, R; i! J' ]% k  k4 K, p  2.4.1、安装更新* i: t; e; r& K2 B0 c1 K  Q6 p
  2.4.2、提交或取消更新( @$ C, b  ?2 K# O; ?8 z
  三、常用选项
( ?9 r' I6 w- H5 i/ c  3.1、常用显示选项/ K4 R8 W, ?7 o  d2 |6 N3 B
  3.2、常用硬件配置选项8 f. b/ ^7 S1 ]( K+ Y4 C) N: n
  3.2.1、camera_auto_detect
4 S+ }6 F, ^6 T  3.2.2、display_auto_detect' s" p1 I  t. G% |  z! Z
  3.2.3、dtoverlay
$ B$ f( ~1 n- s  n  3.2.4、dtparam5 Q. \8 f+ u! ]/ f& Q- Q+ T0 a
  3.2.5、arm_boost  H9 u# T3 G0 C" B8 |& T6 i3 F
  3.2.6、power_force_3v3_pwm4 r* M( o. J! _0 ?5 ~
  四、板载模拟音频(3.5毫米插孔)
/ D* I& U% C8 ^% r4 k, R  `  4.1、audio_pwm_mode3 V( }; n8 Y# H+ d, ^& w( G
  4.2、disable_audio_dither
, _8 f. i2 G- [5 R( p& F9 I9 ~  4.3、enable_audio_dither
- E9 W- o" {- U& S1 ]& B  4.4、pwm_sample_bits& [  k5 ?7 t1 ?# p7 ]0 g, I! r1 @
  五、HDMI音频
) S; A8 K! f( X  六、引导选项
/ @- A! b1 A2 x0 q$ E  6.1、start_file, fixup_file" U" n$ ?! e8 {5 y# z
  6.2、cmdline
( _. Y" k2 ]1 y0 H2 n  6.3、kernel
4 R' o6 U; u2 H* h  6.4、arm_64bit6 g2 T* ~! w! b0 E  w2 r
  6.5、ramfsfile
  {: u5 q) p* B  6.6、ramfsaddr
! {9 |% O) I6 U/ l" K  6.7、initramfs7 }3 P: P" I! r5 K6 a# i0 Q
  6.8、auto_initramfs0 e1 g* Q4 l( S( b5 d
  6.9、disable_poe_fan1 t9 o$ Z. b, }; Z0 ~! Z* G
  6.10、disable_splash* i1 x1 Q/ u, F2 \0 [- d& Y5 O
  6.11、enable_uart2 k* U$ Z( K6 w9 L& B
  6.12、force_eeprom_read
, ?; P- l( [4 x  6.13、os_prefix2 A9 U, y$ C2 S  u
  6.14、otg_mode(仅适用树莓派4)
0 n; [) X0 m' [. K9 ?+ H  6.15、overlay_prefix
6 W. c) J$ w0 E2 r, |& k# W  6.16、配置属性9 i, `/ N( E) u# i4 n
  6.16.1、boot_ramdisk3 n3 j- U2 N& s: @( ?+ X
  6.16.2、boot_load_flags
. \2 {0 ]2 `- Y3 J, M- D* c  6.16.3、enable_rp1_uart! e! x! a6 G6 F. U8 A8 T: {
  6.16.4、pciex4_reset
3 f8 X& H+ R* s0 j  6.16.5、uart_2ndstage1 R  C6 c0 N, Z
  6.16.6、erase_eeprom
6 m6 r* y* A2 M* `: b3 G! e! g  6.16.7、eeprom_write_protect- Y- @: a- N" L# r
  6.16.8、os_check
6 E5 E$ Z* N4 i, ?  6.16.9、bootloader_update
( ^) q& X& {* r: M! T  6.17、Secure Boot配置属性
+ n& v8 a1 D, z# J* A7 U9 ^% s  6.17.1、如何使用树莓派Secure Boot?
0 ^! \$ c+ O+ p( j- ?. g  6.17.2、program_pubkey+ Q( Q, v+ P7 M
  6.17.3、revoke_devkey1 u+ M: O% F! ^- B0 k! M1 y
  6.17.4、program_rpiboot_gpio) s, s, d( Z+ i% U1 b. t3 I
  6.17.5、program_jtag_lock
+ Q& Q7 V! n$ `$ ^* I  七、GPIO控制
0 T9 H/ Y3 U+ X0 N  7.1、gpio
2 ~& Z- n! i2 u* c8 o1 u  八、超频选项, j4 {  b8 H9 C& d
  8.1、超频选项描述
' L, o" l0 L, B  8.1.1、各型号默认值+ B9 v; @6 q- m. L8 R7 H
  8.1.2、通用默认值
! y- F2 l+ b. h2 K' N# V: i0 @  8.1.3、对于Pi4、Pi 400和CM4" d1 @1 L  J! k+ t8 Z: e
  8.1.4、force_turbo8 Y: \; E2 p1 |. E) U
  8.2、时钟关系1 a7 \/ P  y9 U) b' j- C2 ?% \
  8.3、监测核心温度
) @4 N, Q6 c+ u3 R! `  8.4、监测电压+ ~1 F" ]8 B; s$ C3 F. V
  8.5、超频问题
' r% ]; Z& O) I: I* u7 y  九、条件过滤器
8 S+ `8 H: Y2 q4 T. y  9.1、使用场景
9 l' K& x! q+ I9 t  9.2、条件过滤器的作用
% B8 \8 ?; @) J' k0 a; M  9.3、[all] 过滤器% G. {1 y( v3 q% ]& s0 }1 z! A
  9.4、模型过滤器2 ]# ^% F! ~; w1 I& ~- N
  9.5、[none] 过滤器8 K! |$ q0 U8 I% e' j, {9 {
  9.6、[tryboot] 过滤器' @- f! c' ]/ v" u' D2 v' [1 `
  9.7、[EDID=*] 过滤器
" [6 x; A; {5 E; M  E4 I! n  f  9.8、序列号过滤器
6 A# a; }, i3 N$ F  9.9、GPIO过滤器
. R  [7 c1 j" D' h( h3 b5 K  9.10、组合条件过滤器2 @- v3 e0 ?: ~) a
  十、内存选项  j1 [# f5 u* u
  十一、许可证密钥和编解码器选项; r$ P; i: N$ P
  十二、视频选项
4 L4 V* p- b7 H) q5 T  12.1、HDMI模式& K4 z7 U( u, }1 d
  12.1.1、4系列设备的HDMI管道. G, Z- O% Z# ?' s, n' V
  12.1.2、5系列设备的HDMI管道. y8 E; W2 m( O% m* |
  12.2、复合视频模式
3 _- \& F% M) d! ]$ @  12.2.1、enable_tvout& Y) i6 D1 ~: r: N  T6 F0 A$ G
  12.3、LCD显示屏和触摸屏
7 n& E7 b) y  o  12.4、通用显示选项% l& u/ a4 B5 D( k' |' s7 I
  十三、摄像头设置
2 V, \) w7 ~( `+ ^+ `: ^0 S
6 U( c3 M' h  O9 V5 B

E、树莓派Linux内核篇

一、引言
, ]  I. L( t( w0 M0 [- k' i# b  二、关于更新
1 d8 U& |0 P3 u4 D- D* S  三、构建内核
" O8 N3 E5 A4 d/ T, j  3.1、下载内核源码
3 ^2 J, M- D. k' ^  3.2、本地构建内核2 K5 ^3 Z- J) k8 b* n5 i/ Z
  3.2.1、安装构建依赖项‌
+ k; d/ R- J; U- `3 B1 ~+ F  3.2.2、构建配置
9 |1 Q3 }, M) h* A; W) p  3.2.2.1、64位架构2 R) W, z4 q9 ]% q+ ?7 V
  3.2.2.2、32位架构
; H! W* q$ J3 d. F! I* P  3.2.3、自定义内核版本‌. T" z- p0 i. {7 N$ Z) B
  3.2.4、构建, C* @/ d! X! G6 c
  3.2.5、安装内核! V- C  U+ p' w7 ?: R
  3.2.5.1、安装64位内核的具体步骤‌7 r2 P) G, y6 P, \
  3.2.5.2、安装32位内核
# d  G# ~4 b, v8 d  3.3、交叉编译内核
- |0 j) q6 I: j* T' `& Q2 U2 Y$ N7 J  3.3.1、安装所需依赖项和工具链4 D4 c( k/ |, X8 _$ o
  3.3.2、构建配置) b( e9 @" {  H& L
  3.3.2.1、64位7 s/ G! d5 F2 I- m0 S' U
  3.3.2.2、32位
# [" l  @" C) W( ?" E' Y8 [2 W  3.3.3、使用LOCALVERSION自定义内核版本8 Z8 d2 C8 H9 y) g
  3.3.4、构建内核
( _) ]6 ^( @( h' H- z  T  3.3.5、安装内核* s  _/ N  _' @
  3.3.5.1、查找您的启动介质
" ~* U& e7 ~/ G, k- u( }  3.3.5.2、挂载分区* D! w$ N: h  s) i) j$ g4 V( m, ^6 ^
  3.3.5.3、安装内核模块" ]$ Q3 t# g7 T. k+ e
  3.3.5.4、安装64位内核‌
* d5 N1 r8 A" }. |  3.3.5.5、安装32位内核
; D, o1 K& R/ B- P7 e1 p2 G  四、配置内核! D% n% p% O# E  t0 X# g: y
  4.1、准备配置
: S# ]! ~  |4 p( J$ [  4.2、使用menuconfig, G7 L; H2 b+ M- E
  4.3、在menuconfig中导航3 a. f% v# s9 g: h. i# K
  4.4、配置内核选项
2 ?+ a! \9 x) ]2 W  4.5、保存更改
! U9 d7 F5 ~# A  五、给内核打补丁
  Z, s7 P( B9 s! d' Q  5.1、确定您的内核版本3 W" R) z: O( v9 v! R
  5.2、应用补丁8 z0 u" \# C6 W/ a3 @; r/ [
  六、内核头文件
; J( w7 A+ K' u& \+ J2 k  七、贡献代码
8 ^+ z6 V: N0 n- c* \; v" s2 D$ p/ M4 Y0 p+ o+ O" W

F、树莓派远程访问篇

! n1 g, M* [- `2 R! |, S% E1 Q
一、远程访问的方式
3 M9 U  s7 Z, \, x, Z4 S  1.1、通过本地网络进行远程控制
. R1 P+ i' Z2 g7 q$ d: W- N  1.2、通过本地网络在设备之间共享文件
' [1 E* M0 G( ^  F5 H6 R% {  1.3、通过互联网进行远程控制
8 S7 |7 h( g: C9 p  二、查树莓派IP地址的方法
( f( \5 g2 B0 A, F  C  2.1、通过桌面环境查找% ]4 l0 Z1 n! v, a- D: [, Q
  2.2、命令行操作
3 V3 s% @, l  }7 L  2.2.1、根据联网方式查找IP地址
9 c' y# U2 I% }; [+ X  2.2.2、示例说明$ L) Z$ F; \5 n& j; e2 Y& F
  2.3、使用mDNS解析raspberrypi.local8 @; a# F& f8 V6 F& }
  2.4、检查路由器的设备列表
, Z! G, P& }- S, t$ a) ~4 V  2.5、使用nmap查找
2 W' p8 y8 b% b( V9 W  2.5.1、使用nmap扫描网络上的设备
0 m% @. w* T$ @& G( T( N; N* x  2.5.2、扫描整个子网以查找其他设备
( x) l+ ~  [  f  2.6、使用智能手机应用查找设备3 N1 v, i4 C& j* {% G& X
  三、使用 SSH 访问远程终端) U; R; M1 y% A7 T5 K3 x0 O) w" T
  3.1、启用 SSH 服务器
+ M& c2 s- L2 z* Z  3.1.1、桌面环境
% I3 ~5 f* A; P. \. ~. N% J2 D; s  3.1.2、装系统时
( Y' D# y& p4 x" b4 e  3.1.3、命令行方式  c0 v+ \$ N# s8 M
  3.1.4、手动方式
: X+ g) n2 d  ~# s- ~0 f  C3 \  3.2、连接SSH‌2 I3 B* G5 E" a
  3.2.1、通过SSH转发X11: z7 j4 {) p2 c! N% k
  3.3、无密码配置SSH
5 V! r& |; Z* N+ D3 D  3.3.1、使用Raspberry Pi Imager预配置操作系统镜像
6 u% l4 l9 w; }0 l- O/ M  3.3.2、手动配置SSH密钥' G# R* R: k) b4 e( G5 g: F# Z
  3.3.3、检查现有的SSH公钥) d: u2 k4 m% L/ N# G
  3.3.4、生成新的SSH密钥对9 R) E9 D- N" y  J" S2 r
  3.3.5、将SSH密钥添加到SSH身份列表中! B" `) ~  D+ o! r
  3.3.6、将公钥复制到您的Raspberry Pi上
) {8 j9 p4 W( n2 t( y  3.3.7、手动将公钥复制到您的Raspberry Pi上
& Q& r- Z( {! l! N% m5 w$ ]7 k  四、通过VNC进行屏幕共享4 d+ |# _# l( e3 m  W& L
  4.1、在Raspberry Pi上启用VNC服务器& K. F' l7 x2 T: p5 ?
  4.1.1、通过图形界面启用VNC服务器; d8 n" k. g8 ^' g
  4.1.2、通过命令行启用VNC服务器
% k) p3 ?) n) C" k$ }6 M  4.2、连接到VNC服务器# u/ I0 Q0 s& u/ ?% j  N. k
  4.2.1、下载并安装TigerVNC1 _) e- i0 f* ^
  4.2.2、在客户端设备上启动TigerVNC
2 G! q% y- M1 f' G7 n' x  H  4.2.3、配置TigerVNC以连接到Raspberry Pi
4 P* t5 J* x9 Q: F- y2 ]  五、使用Raspberry Pi进行远程访问- a: K; a0 P) D8 ^+ ^5 o7 z1 ~5 K! u
  六、使用SCP共享文件
9 @) l( b! Z+ e. ?  6.1、将文件复制到Raspberry Pi
) i! G  X) O" K5 g. m  6.2、从Raspberry Pi复制文件) j) [  C& ]3 J+ J, Y# A
  6.3、使用一条命令复制多个文件, ^- y5 E; m5 U1 b
  6.4、复制一个文件夹1 V' |* k) @7 O8 g  c
  七、使用rsync同步计算机之间的文件夹  p  _0 H" ?& l4 J
  八、网络文件系统(NFS)) e& z' i' g6 j$ r
  8.1、设置基本的NFS服务器
# ]1 {. D6 j1 Z0 ?; {, \# Q! D  8.1.1、Portmap限制访问(可选)8 _2 w& g% ~8 R3 ^5 y
  8.2、配置NFS客户端
  C* _7 U( f0 V5 ^" j% g1 M8 t  8.2.1、Portmap 限制访问(可选)! f" ^0 P3 e  e( H0 Q" D5 [
  8.3、配置复杂的NFS服务器
& P. [4 _' V' m  8.3.1、组权限
$ I( u; C4 D" Z" n3 W1 f4 K  8.3.2、DNS(可选,仅在使用DNS时)8 i. a8 k' i7 h* h- f; @  f3 |
  8.3.3、NIS(可选,仅在使用NIS时)
* n% b8 |5 {9 i( h2 j- e! U  8.3.4、Portmap限制访问(可选)
/ Z  t2 ~6 A$ ~  }, k( F  8.4、软件包的安装与配置# I$ S; o5 c9 ~+ d" @
  8.5、重启服务
9 j4 _6 N% _1 P, \+ ]7 p$ A  8.6、需要考虑的安全事项
5 d5 F. \; B5 [5 z% L  8.7、问题排查4 e5 N& Z, N7 i! p" r% A5 C
  九、Samba (SMB/CIFS)
" v7 ?' }) ^" T$ v. V) L9 K5 z8 u  9.1、在Raspberry Pi上安装Samba& ^0 R; u0 Y  c" G# B+ Z' [
  9.2、挂载从Windows共享的文件夹
. E2 l/ y$ ^8 V3 ^/ F  9.2.1、开启共享
' P/ G$ L- f: s/ c  9.2.2、共享文件夹
, k* k+ ]& r( e) ]  9.2.3、Windows 10 共享向导  ?2 P( A1 G+ y$ p, s7 H3 g
  9.2.4、在Raspberry Pi上挂载文件夹& {% U# `3 j1 `* D
  9.2.5、“Host is down”错误. k1 w' n+ ]4 ~* y* p/ C4 {
  9.3、从Raspberry Pi共享文件夹
  ]/ E3 H% [+ P& F7 K/ V  u, ]: {  十、设置Apache网络服务器
# V6 l$ k' h" r- c4 Z4 Q  10.1、安装Apache
7 r" L7 F+ ^% j! ?" w# z! F% D  10.2、测试网络服务器
6 z9 W& v+ W5 J. l/ `2 ]1 S: M/ f& E  10.2.1、更改默认网页
2 V6 R# B8 p1 U+ k  10.3、为Apache安装PHP# l0 F1 s$ l, R& V- F- V
  十一、通过网络启动你的Raspberry Pi
& v% a; n+ o) h2 P. p  11.1、配置网络启动客户端( j$ I. P! z  y! B& q
  11.1.1、Raspberry Pi 3 Model B
. A7 a1 M0 h6 A& \  11.1.2、配置Raspberry Pi 4 Model B的网络启动( Y( T7 Q  W8 I4 W2 |
  11.2、记录以太网MAC地址和序列号$ I: Y) I6 Z% R/ O. h$ o# `/ W
  11.3、配置网络启动服务器: |! M* J; k. n/ b! {' p+ T8 n% Q
  11.3.1、在客户端文件系统中重新生成SSH主机密钥
7 g+ A& _- h8 Y0 B7 y  11.3.2、查找本地网络设置
0 ~" F' I- v/ G: @2 J9 e  11.3.3、记录DNS服务器地址
6 H; [1 ^' ?: \; S' {( c# B  11.3.4、在服务器Raspberry Pi上配置静态网络地址
% Q  F6 G& h' ~" P$ E  11.3.5、配置systemd/resolved.conf以解析DNS
9 ?1 Z- W% Z$ h2 D  11.3.6、启用systemd-networkd并重启- i  [( ?4 [8 P
  11.3.7、启动tcpdump以捕获客户端DHCP请求3 }; I1 |- j. n* E7 @4 u
  11.3.8、连接并启动客户端Raspberry Pi
! k7 q- U) S3 z( }, Q  11.3.9、修改dnsmasq配置以启用DHCP回复
& c: Z3 c' ?5 O( q5 b/ ~1 ^+ b  11.3.10、创建/tftpboot目录并配置权限3 Z" b1 `$ p8 F7 F- e. m
  11.3.11、监控dnsmasq日志2 k7 B8 v  ?% {& y6 @
  11.3.12、将启动文件复制到/tftpboot目录
# [- C+ {- C9 G+ |* _: B  11.3.13、重启dnsmasq服务6 C4 O/ d9 O% ?) y6 }" o
  11.3.14、设置NFS根目录
& N0 B$ v- G% o3 W9 T  11.3.15、重启RPC-Bind和NFS服务器+ A* X- s" e* a) J0 S; r' ?6 T
  11.3.16、编辑TFTP启动配置
& F* |# p- p" B8 J6 {9 d5 x, |; K  11.3.17、编辑NFS客户端的fstab文件- B) m' t, }% ~: M7 G& q3 R
  十二、使用IPv6进行网络启动& P# R5 l! e7 q" N7 S
  12.1、工作原理
( ~# f/ t  ]9 B  C4 T  12.1.1、网络地址
: |- l, e' q3 w1 Y% u' d7 Y  12.1.2、TFTP地址: D# j' L' [5 r, E5 m
  12.1.3、引导过程% ^4 r0 q# B& q; W0 R/ r
  12.1.4、内核启动
, f8 A, W0 J+ e2 [+ r' E7 L+ n2 ]  12.2、测试环境搭建
0 M) @/ d" r3 S! t9 J) s9 _  12.2.1、TFTP服务器设置
8 p7 _( o) Q: ~0 D, @4 B0 W+ R  12.2.2、DHCP服务器设置
4 W! n3 ~' m; x" J  T4 A% I  12.2.3、修改引导加载程序配置8 }$ y9 L- e3 C5 P
  12.2.4、路由器与IPv6支持
6 p# [/ G$ p' Q- Z  12.3、调试# u4 t+ _1 {5 N5 m) Z
  12.3.1、日志与追踪/ N- O* [1 f% N' g- e/ Q8 D
  12.3.2、有状态配置与网络活动监控. {- i/ p, Q6 Z" D
  12.3.3、无状态配置
* e5 _8 w3 H8 c9 [5 |$ y) }

G、摄像头相关

  一、关于相机软件
6 D% ]4 e* o! n% q  树莓派官方相机一览
# X+ Z* P( |0 ~- L+ C8 z  二、rpicam-apps2 Y5 ^4 n/ z8 R! z
  2.1、树莓派提供的rpicam-apps示例; `3 k) T: Y% g' Q
  2.1.1、Raspberry Pi OS的集成
7 y) T7 A, E4 K0 Z4 ?& m  2.1.2、自定义应用$ M4 c& D8 r1 T* @
  2.2、libcamera
9 M8 q/ l$ H! ?& H2 d' j! M+ D  2.2.1、支持的相机及芯片. l6 P+ O+ l. M) R; k
  2.3、rpicam-hello  R6 ~2 M" D  f" F8 n% A7 ~
  2.4、rpicam-jpeg
3 R7 Y/ ^! J8 n# A3 B, h. }  2.5、rpicam-still
8 \6 C& V! m/ v+ Q  2.5.1、Encoders
5 h1 y- I3 L+ F* a# P, Q7 q- J  2.5.2、捕捉原始图像
( q2 B" c4 m8 k+ Q+ h  2.5.3、捕捉长曝光图像
& Y3 F1 W5 }; u4 A% v( q! r  2.5.4、创建延时摄影视频; F6 l: }) K2 A0 X9 W
  2.5.4.1、rpicam-still延时摄影模式. D: g6 X" _6 B* n, g* z+ ]
  2.5.4.2、Cron自动摄影2 F) \. V, X/ ?
  2.5.5、将图像拼接在一起
# o: F& ~6 B) A  2.6、rpicam-vid:Raspberry Pi视频捕捉工具2 p' T6 |# E( `1 I, V+ k
  2.6.1、编码器与视频捕捉优化3 a+ o" P4 ?2 }+ R1 j' f
  2.6.2、捕捉高帧率视频‌, f9 O% k8 E8 H0 {7 p
  2.6.3、rpicam-vid 与 libav 的集成, a7 @2 ^* W3 g4 I6 \: |2 [) K
  2.7、rpicam-raw:直接录制原始Bayer帧/ z) y9 T# E4 V' Q3 M( F
  2.8、rpicam-detect:基于TensorFlow Lite的对象检测" A. U4 y$ N( f
  2.9、配置说明# J4 |8 W) P9 N* S1 l$ i& K
  2.9.1、调整相机行为:使用调校文件
# |/ l' T+ `" d4 o0 y: t  2.10、使用多台相机, W4 e# b6 w5 d: K+ k0 ~
  2.11、安装libcamera和rpicam-apps
' _& k& j2 i/ X1 N$ p  三、通过网络使用rpicam-apps进行视频流传输" \$ j" b! s, ]/ q$ ?) k$ g
  3.1、UDP流传输
7 q) y- P9 a1 D0 [  3.2、TCP流传输. i& W1 X% d5 i2 H
  3.3、RTSP流传输
3 h( d9 s+ H& x& I$ j0 j" j5 |' K  3.4、使用libav进行网络流传输
. ~% X, P1 W( P6 D: V& y" r9 \  3.5、GStreamer流传输9 o& W7 W3 Y* l7 v- `& J( X* J
  3.5.1、RTP流传输! ?( P1 A. ^6 C1 A2 T
  3.5.2、libcamerasrc GStreamer元素& M1 ~% s1 p  T: n' n$ G3 v  B+ w
  四、rpicam-apps 选项参考
" Q& e  Y$ u+ a6 p7 A+ S; R9 ^  4.1、通用选项9 k- c; W# _( S( D6 S; }% r
  4.2、相机控制选项
/ N2 k! B2 i' y. G: c3 W3 t0 q  4.3、输出文件选项1 w) ]2 K4 T! D8 v7 ~1 h
  4.4、图像选项
0 K; D& O8 t# w# e0 {  4.5、视频输出选项# G, E, P- v5 J/ Q$ a
  4.6、libav视频后端选项9 |# `# S: Q9 z! f8 v9 }! `1 a  y8 d
  4.7、rpicam-detect的目标检测选项. I7 [5 {0 }' x. @9 i4 A" c& d& }( s
  五、使用rpicam-apps进行后处理' t& g. w! M" D: Z
  5.1、基本后处理阶段示例% E7 b7 Z/ S& e1 c6 U7 \' Z
  5.2、内置后处理阶段
; o( T2 E  W/ |1 ^  5.2.1、否定(negate)阶段
  E' y/ P& o+ X1 h" X  5.2.2、高动态范围(hdr)阶段
3 Q. @; c+ y% o$ n5 q* L  i  5.2.3、运动检测(motion_detect)阶段. G  m. a' O# u" _
  5.3、使用OpenCV进行后期处理% Y8 x. g: y. }' \; v0 c9 g
  5.3.1、Sobel滤波(sobel_cv)阶段
0 w, }3 s- w2 A- d7 t  5.3.2、人脸检测(face_detect_cv)阶段  |$ a0 Z; q8 b4 f1 i6 f
  5.3.3、图像标注(annotate_cv)阶段: X4 {8 d" H1 C
  5.4、使用TensorFlow Lite进行后处理
- P/ o5 H: S" n! b( ~  5.4.1、前置条件% K0 y& I0 p# t1 @. ]+ f0 _
  5.4.2、物体分类(object_classify_tf)阶段
( s* Q& {% K! m+ d; [) n  5.4.3、姿态估计(pose_estimation_tf)阶段
0 [: E0 u) T3 a! D0 Y, A. B' C  5.4.4、物体检测(object_detect_tf)阶段1 ?6 y. E1 E4 t2 n
  5.4.5、图像分割(segmentation_tf)阶段
: z( G' V2 v; n$ h7 V9 X  5.5、自定义后处理阶段
+ n2 ?2 c5 U0 Q+ e5 ?  5.5.1、基础后处理阶段* y" _& Z- Y, r) ~5 {; i+ q" \
  5.5.2、TensorFlow Lite 阶段5 \$ f3 ]7 k( p" C5 h  G3 x
  六、高级rpicam-apps使用指南‌; X: W; \5 y' L; B* C+ _& P
  6.1、自行构建libcamera和rpicam-apps' l) G. {0 D" Q/ I# \1 W" w8 U
  6.1.1、移除预安装的rpicam-apps
( {; o2 K$ j' l. l  6.1.2、不构建libcamera而构建rpicam-apps3 U& Z+ j) `: w+ q. K. m- @
  6.1.3、构建libcamera. Z& g. j5 @# f; V- B
  6.1.4、构建rpicam-apps
3 J, s4 R5 T; q5 j! J  T5 F3 g  6.1.5、rpicam-apps Meson 标志参考
: J* b, Q& A' t% k  6.1.6、构建libepoxy
/ B& V: ~7 L' b% k& Z  6.2、编写自己的rpicam应用' L' Y! ~0 `" `, U$ Q
  6.2.1、rpicam-hello简介
) D5 {; M' w( p9 ~) l  6.2.2、rpicam-vid2 d; v  Z) F+ a
  6.2.3、rpicam-raw8 g  I- S. s. L$ K
  6.2.4、rpicam-jpeg
9 j$ J# {5 ^! k" v; G: {- N  6.3、在Qt中使用libcamera
( a& @; M% O' j  6.4、在Python中使用Picamera2库操作libcamera
& O, y! H" ?, B* U: Q  七、使用USB网络摄像头
! R8 k' {2 q; h- U3 h. H3 y  7.1、安装依赖
2 W3 ]( x3 s! k# G+ M# E. h  7.2、拍照2 U$ K/ s+ P3 E: X! c- N
  7.2.1、指定不同的分辨率  O/ ~: p2 g$ \
  7.2.2、删除横幅* @/ e  ^' W/ M6 T
  7.3、自动化图像捕捉- V" u4 H6 D  d; N- |( r
  7.4、拍摄延时摄影( g4 Z7 r1 Z- g0 X# O& p$ h9 M
  八、V4L2 驱动
) N" _4 u( |, m2 |. n1 c" O' x/ e  8.1、使用libcamera时的设备节点/ q) K" N/ T( n& ~3 ~. f2 C: e
  8.2、使用V4L2驱动
& k% w" U" \1 l. t0 u, _3 B, N  九、Unicam
9 `, s! L- I5 H# f  9.1、Raspberry Pi的SoC与Unicam
/ q7 x# H  e( S  9.2、软件接口
2 G8 o: g! S8 `# A  9.2.1、V4L2注意事项- u; T5 {7 T  c( s; {
  9.3、编写第三方驱动
! h, b  z* M6 T! p; O( J  9.3.1、摄像头传感器( w6 i6 U; [; U3 K7 G1 m0 ^
  9.3.2、设备树
/ f7 [- K4 o$ \* \/ J! ?  9.3.3、桥接芯片  Q0 p! M4 \* P3 A" I/ b3 |
  9.3.3.1、模拟视频源# O  s. {: u$ s  I; Y
  9.3.3.2、数字视频源/ l! G) ^8 L/ J0 Z8 [8 J
  9.3.3.3、当前支持的设备) q3 a, s7 v, s/ z* y# g: P. ~
  9.4、rpicam和raspicam之间的主要区别
4 a: y0 `5 {6 D. T  9.5、rpicam-apps与 raspicam在功能和选项上的主要区别+ i, l5 b+ o! @' n" l: R: `" T3 G9 L
  9.6、缺陷像素校正(DPC)' b( D* t% c) s4 k' Y, q. U% Y
  十、故障排除方法; ~, A& w+ T$ ]0 W
  十一、获取帮助

; b5 m+ E9 [8 L9 A$ }' Z+ r8 u8 g       未完待续(预计30万字)
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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