Chapter 01 · 树莓派与嵌入式 Linux

树莓派与单板计算机

一块巴掌大的电路板,插上 SD 卡就能跑完整的 Linux。理解 SBC 的定位、型号如何选、它和单片机到底差在哪。

课程进度8%

关键概念

SBC(单板计算机 Single Board Computer)
把 CPU、内存、存储接口、显示、USB、网络全部集成在一块电路板上的完整计算机。树莓派是最著名的 SBC,插上 microSD 卡(当作硬盘)、接上电源和显示器,就是一台能跑桌面系统的电脑。与 PC 主板不同,SBC 不需要外接内存条、显卡、独立电源。
MPU(微处理器)vs MCU(微控制器)
树莓派用的是 MPU——运算能力强、跑操作系统、内存以 GB 计,但需要外接存储、启动慢、功耗高(几瓦)。单片机(如 STM32、ESP32)是 MCU——CPU+RAM+Flash 集成一颗芯片、无操作系统裸机运行、内存以 KB 计、上电即运行、功耗以毫瓦计、实时性强。选谁取决于任务:要跑 Python/AI/联网选树莓派,要精确实时控制、超低功耗选单片机。
SoC(片上系统 System on Chip)
树莓派的"大脑"是一颗 Broadcom SoC,把 ARM CPU 核、GPU、内存控制器、外设控制器封装在一颗芯片里。例如 Pi 4 用 BCM2711(4 核 Cortex-A72),Pi 5 用 BCM2712(4 核 Cortex-A76 @ 2.4GHz)。SoC 决定了树莓派的性能上限。
GPIO(通用输入输出)
General Purpose Input/Output,树莓派边缘那排 40 个金属针脚。每个引脚可编程为输入(读按键/传感器)或输出(点灯/控制继电器)。这是树莓派区别于普通电脑、能"碰硬件"的核心。注意:树莓派 GPIO 是 3.3V 逻辑电平,接 5V 信号会烧芯片。
ARM 架构
树莓派 CPU 采用 ARM 指令集(与手机同源),而非桌面 PC 的 x86。ARM 以低功耗高能效著称。这意味着为树莓派编译的软件、Docker 镜像必须是 arm64(64 位,aarch64)或 armhf(32 位)架构,直接用 x86 的二进制无法运行。
Raspberry Pi OS
树莓派官方基于 Debian Linux 定制的操作系统(旧称 Raspbian)。分 32 位与 64 位版本、桌面版与 Lite(无桌面命令行)版。它预装了树莓派专用工具(raspi-config、GPIO 库、摄像头栈),是初学者的默认选择。当然树莓派也能跑 Ubuntu、DietPi 等其他系统。
CSI / DSI 接口
CSI(Camera Serial Interface)是专用摄像头排线接口,接官方 Camera Module;DSI(Display Serial Interface)接官方触摸屏。它们是高速串行接口,比 USB 摄像头延迟更低、占用更少 CPU。
Raspberry Pi Pico(异类)
Pico 是树莓派家族的"叛徒"——它不是 SBC 而是 MCU 开发板,基于自研 RP2040/RP2350 芯片,跑裸机或 MicroPython,不跑 Linux。它对标 Arduino,价格几美元,适合实时控制。本教程聚焦跑 Linux 的树莓派主线(Pi 3/4/5/Zero),Pico 仅作了解。

树莓派在计算设备光谱中的位置

从单片机到服务器,计算设备是一条连续光谱。树莓派恰好卡在"单片机"与"PC"之间的甜蜜点——既能像电脑一样跑 Linux 和 Python,又能像单片机一样直接操控 GPIO 引脚。

计算设备光谱:从裸机到云 ═══════════════════════════════════════════════════════════════ 功耗 mW ────────────────────────────────────────────► 100W+ 实时 ────────────────────────────────────────────► ┌──────────┐ ┌──────────┐ ┌───────────────┐ ┌──────────┐ │ 单片机 │ │ ESP32 │ │ 树莓派 (SBC) │ │ PC/服务器 │ │ STM32 │ │ 带WiFi │ │ Pi 3/4/5/Zero │ │ x86_64 │ ├──────────┤ ├──────────┤ ├───────────────┤ ├──────────┤ │ 无OS │ │ RTOS │ │ 完整 Linux │ │ Linux/Win│ │ KB级RAM │ │ 数百KB │ │ 1-8GB RAM │ │ 数十GB │ │ 裸机C │ │ C/MicroPy│ │ Python/任意 │ │ 任意语言 │ │ 上电即跑 │ │ 秒级启动 │ │ 数十秒启动 │ │ 分钟级 │ │ 有GPIO │ │ 有GPIO │ │ 有40脚GPIO │ │ 无GPIO │ └──────────┘ └──────────┘ └───────▲───────┘ └──────────┘ │ 本教程主角:既能跑软件,又能碰硬件
一句话理解树莓派

树莓派 = 一台能跑 Linux 的完整电脑 + 一排能直接控制电路的 GPIO 引脚。前者让你用 Python、装数据库、跑 Web 服务器;后者让你点灯、读传感器、转电机。这个组合是它风靡全球创客圈的根本原因。

树莓派型号演进

自 2012 年第一代问世,树莓派已迭代多代。选型的核心是:性能需求、体积功耗、预算。下表覆盖当前仍在售、值得选的主力型号。

型号SoC / CPU内存网络特点 / 适用
Pi 5BCM2712 · 4×A76 @2.4GHz2/4/8/16GB千兆网 + WiFi5当前旗舰,PCIe 接口,跑桌面/AI 推理/多容器
Pi 4BBCM2711 · 4×A72 @1.5GHz1/2/4/8GB千兆网 + WiFi5性价比之王,双 4K HDMI,最流行的服务器/NAS
Pi 3B+BCM2837 · 4×A53 @1.4GHz1GB百兆网 + WiFi老型号,轻量任务/学习仍够用
Pi Zero 2 WRP3A0 · 4×A53 @1GHz512MBWiFi + 蓝牙邮票大小,超省电,穿戴/嵌入式项目
Pi Pico / 2RP2040/RP2350(MCU)264/520KBPico W 带WiFi不跑 Linux,对标 Arduino 的单片机
新手怎么选?

学习与做项目首选 Pi 4B(4GB)Pi 5(4GB)——性能足够、资料最多、生态最全。预算紧或做便携/嵌入项目选 Pi Zero 2 W。要真正的实时精确控制(如无人机飞控)反而应该选单片机而非树莓派。本教程所有示例在 Pi 4 / Pi 5 上验证,Pi Zero 2 W 同样适用。

硬件接口全览

以 Pi 4B / Pi 5 为例,一块板子上集成了台式机才有的丰富接口,这正是"单板计算机"的含义。

树莓派 4B 板载接口布局(俯视示意) ═══════════════════════════════════════════════════════════════ ┌───────────────────────────────────────────────────────┐ │ [40-Pin GPIO 排针] ← 点灯/传感器/总线,本教程核心 │ │ │ │ ┌─────────┐ [USB 3.0] ×2 │ │ │ Broadcom[以太网] [USB 2.0] ×2 │ │ │ SoC │ 千兆网口 │ │ └─────────┘ │ │ [CSI]摄像头 [DSI]屏幕 │ │ │ │ [USB-C]供电 [micro-HDMI]×2 [3.5mm 音频] │ │ │ │ └── 板底:[microSD 卡槽] ← 系统盘 │ └───────────────────────────────────────────────────────┘ 关键接口说明: GPIO 40脚 → 3.3V 逻辑,含 I2C/SPI/UART/PWM 复用功能 USB-C → Pi 4 需 5V/3A,Pi 5 需 5V/5A,供电不足会限频 microSD → 系统与数据都存这,选高耐久 A2 卡 以太网 → 千兆,比 WiFi 更稳,适合做服务器 CSI/DSI → 官方摄像头/屏幕专用高速排线口
供电是头号翻车点

树莓派对供电极其敏感。用手机充电头或劣质线,电压跌到 4.8V 以下会触发欠压保护、CPU 降频,表现为随机死机、SD 卡损坏、USB 设备失灵。务必用官方电源(Pi 4:5V/3A;Pi 5:5V/5A USB-C PD)。屏幕右上角出现黄色闪电图标 = 欠压警告。

典型应用场景

适合树莓派

  • 家庭自动化中枢(Home Assistant)
  • 网络服务:NAS、下载机、广告拦截(Pi-hole)
  • IoT 网关:汇聚多个传感器上云
  • 边缘 AI:摄像头 + 目标检测
  • 学习 Linux、Python、网络
  • 复古游戏机、媒体中心

更适合单片机

  • 电池供电、需月级续航的设备
  • 硬实时控制(电机 PWM 微秒级)
  • 成本敏感的量产产品(单颗几元)
  • 上电立即工作、不能等系统启动
  • 抗震动、无 SD 卡损坏风险的场景
  • 极简功能(单纯读一个传感器)

验证你的树莓派:第一条命令

拿到树莓派、烧好系统开机后(详见第 2 章),登录终端敲下面的命令,确认它是谁、跑什么系统、什么架构。这是接触任何一台 Linux 机器的第一步。

# 查看树莓派具体型号与硬件版本
cat /proc/device-tree/model
# 输出示例:Raspberry Pi 4 Model B Rev 1.4

# 查看 CPU 架构(aarch64 = 64位 ARM,决定装什么软件)
uname -m
# 输出:aarch64

# 查看操作系统版本
cat /etc/os-release | head -2
# PRETTY_NAME="Debian GNU/Linux 12 (bookworm)"

# 查看 CPU 温度(树莓派专用命令,摄氏度)
vcgencmd measure_temp
# temp=42.8'C  → 正常范围,超过 80°C 会降频

# 查看是否发生过欠压/降频(检查供电健康)
vcgencmd get_throttled
# throttled=0x0  → 0 表示一切正常,非 0 说明供电或散热有问题

# 查看内存大小
free -h
vcgencmd 是树莓派的"体检工具"

vcgencmd 是树莓派固件提供的专属命令,用来查询 GPU/SoC 的状态:温度、核心电压、时钟频率、显存分配、降频状态。当树莓派表现异常(卡顿、死机),第一件事就是 vcgencmd measure_temp 看温度、vcgencmd get_throttled 看供电。这两条命令能定位 80% 的"玄学"问题。

树莓派生态:为什么它统治了创客圈

树莓派成功不只是硬件,更是生态。理解生态能帮你更快找到资料和配件。

本章小结

树莓派是一块信用卡大小的单板计算机(SBC),核心是一颗 Broadcom SoC(集成 ARM CPU + GPU),跑完整的 Linux(Raspberry Pi OS)。它与单片机的本质区别是 MPU vs MCU:树莓派算力强、有操作系统、内存以 GB 计、能跑 Python 和 Docker,但功耗高、启动慢、实时性弱;单片机上电即跑、超省电、硬实时,但资源以 KB 计。树莓派的杀手锏是"能跑软件 + 能碰硬件"——40 脚 GPIO(3.3V 逻辑)让它能直接点灯、读传感器、控电机。选型上,学习和做项目首选 Pi 4B/Pi 5(4GB),便携项目选 Pi Zero 2 W,Pico 是不跑 Linux 的单片机异类。供电是头号翻车点,务必用官方电源,靠 vcgencmd measure_tempvcgencmd get_throttled 做体检。下一章我们把系统烧进 SD 卡,让它真正跑起来。