该选 ESP32、Arduino 还是树莓派?
从处理器、操作系统、功耗、实时控制、联网能力和价格几方面对比 ESP32、Arduino 和树莓派,并说明各自适合什么场合。
图片: Vishnu Mohanan / Unsplash
读完本文,你将能够:
- 解释微控制器开发板和运行 Linux 的单板计算机有什么区别
- 比较三种平台的功耗、实时性和内置联网能力
- 为传感器节点、教学项目或本地网关选对开发板
借助 AI 根据一手资料起草 · 由另一个独立的 AI 智能体核查 · 编辑部抽查 · 我们如何核查(英文)
这三个名字指的不是同一类东西。ESP32 是乐鑫科技(Espressif)推出的一款微控制器(MCU)芯片,内置 Wi-Fi 和蓝牙。Arduino 是一系列微控制器开发板,也指让这些板子流行起来的那套软件环境,而这套环境同样可以给 ESP32 编程。树莓派(Raspberry Pi)是运行 Linux 的单板计算机,更像一台小 PC,而不是一个传感器。大多数对比之所以出错,就是把一颗芯片、一块开发板和一台计算机当成了三个互相竞争的对手。
简短回答。 做联网传感器或执行器,用 ESP32:只干一件事,走 Wi-Fi 或蓝牙,成本低,设计时考虑深度睡眠的话还能用电池供电。如果是学习、教学,或者借助扩展板(shield)和大量现成示例做简单 I/O 原型,又不需要无线功能,用 Arduino 开发板。如果设备需要完整的操作系统,比如本地网关、摄像头、数据库、网页看板、Home Assistant,或者要同时运行好几个程序,用树莓派。很多实际项目用树莓派做中枢,用 ESP32 开发板做节点。
| ESP32 | Arduino Uno R3 / R4 WiFi | 树莓派 5 | |
|---|---|---|---|
| 是什么 | 无线微控制器芯片 | 微控制器开发板 | 单板计算机 |
| 处理器 | 1 或 2 核,最高 240 MHz | 16 MHz AVR / 48 MHz Cortex-M4 | 4 个 Cortex-A76 核心,2.4 GHz |
| 内存 | 520 KB SRAM | 2 kB / 32 kB SRAM | 1 至 16 GB RAM |
| 软件 | 裸机或 FreeRTOS | 裸机循环 | Linux |
| 无线 | 2.4 GHz Wi-Fi、蓝牙 | 无 / 通过 ESP32-S3 提供 Wi-Fi 和蓝牙 | 双频 Wi-Fi、蓝牙 5.0 |
| 电池供电 | 可以,需配合深度睡眠 | 可行,但这块板子并不是为此设计的 | 不现实 |
微控制器和单板计算机有什么区别?
微控制器把处理器、内存和外设集成在一颗芯片上,从闪存中运行单个程序。它几毫秒就能启动,没有操作系统或只有一个很小的系统,通过 GPIO、I2C、SPI 和模拟输入直接与传感器通信。ESP32 数据手册列出的配置是一或两个 Xtensa LX6 核心,主频最高 240 MHz,SRAM 为 520 KB。经典的 Arduino Uno R3 要小得多:一颗 8 位的 ATmega328P,主频 16 MHz,32 kB 闪存,2 kB SRAM。Uno R4 WiFi 改用瑞萨电子(Renesas)的 RA4M1(Arm Cortex-M4),主频 48 MHz,SRAM 为 32 kB,并加了一个 ESP32-S3 模组来提供 Wi-Fi 和蓝牙。
单板计算机用的是应用处理器,也就是一种需要外接 RAM 和存储、运行完整操作系统的微处理器。树莓派 5 搭载主频 2.4 GHz 的四核 Arm Cortex-A76,配 1 至 16 GB RAM,从存储卡或硬盘启动 Linux,可以运行 Python、Node.js、Docker 容器和数据库,需要的话还能跑桌面环境。代价是启动要花几秒钟,关机要走正常流程,而且它依赖的 SD 卡或 SSD 可能因突然断电而损坏。
实际判断方法很简单。如果你的项目是“读传感器、做出反应、发一条消息”,微控制器就够了。如果是“运行好几个服务并保存数据”,你需要 Linux。
哪个最省电?
ESP32,而且遥遥领先,但前提是固件专门为此编写。乐鑫给出的数据是:保持 RTC 定时器和 RTC 存储器运行时,深度睡眠电流为 10 µA,休眠(hibernation)模式下可低至 5 µA。同一颗芯片通过 Wi-Fi 发送数据时,视模式不同,电流在 180 到 240 mA 之间。所以电池供电的传感器会先唤醒、联网、发送,再回到深度睡眠;无线射频开着的时间有多长,决定了电池续航。开发板上还有稳压器、USB 转换芯片和 LED,它们的耗电可能远远超过睡眠中的芯片本身,所以要实测整块板子,而不是只看数据手册。
Arduino Uno 上的微控制器同样可以睡眠,但这块板子是为 USB 供电和动手实验设计的,板上的稳压器和 USB 接口会一直耗电。低功耗的 Arduino 项目通常会换用别的开发板,或者直接用裸芯片。
树莓派 5 需要 5 V、5 A 的 USB-C 电源,只要开着,功耗就是瓦级,而不是微瓦级。它应该接市电,可能还要配一台 UPS。这对放在机柜里的网关没问题,拿到田间当传感器就不合适了。
哪个更适合实时控制?
微控制器。在 ESP32 或 Arduino 上,中断会在可预测的短时间内得到响应,因为除了你自己写的代码,没有别的东西跟它争抢处理器。ESP-IDF 基于 FreeRTOS 构建,这是一种实时操作系统,可以让电机控制任务优先于 Wi-Fi 协议栈运行。Wi-Fi 协议栈本身确实要占用 CPU 时间,这也是双核 ESP32 型号受欢迎的原因之一。
树莓派上的标准 Linux 不是实时系统。调度器、内存管理和其他进程都可能让你的代码出现无法预测的延迟,所以在用户空间生成精确脉冲,或者高速响应编码器信号,都不可靠。实时内核配置可以缩小差距,但常见做法是把对时序要求严格的工作交给微控制器(ESP32、Arduino,或树莓派自家的 Pico 开发板),再由树莓派通过 USB、UART 或网络来协调。
它们怎么联网?
ESP32 芯片上集成了 2.4 GHz 的 802.11 b/g/n Wi-Fi,以及支持低功耗蓝牙(BLE)的蓝牙 v4.2,这也是它出现在大量智能插座和灯泡里的原因。正如 ESP32 词条所述,这个系列后来的型号还加入了 Thread 和 Zigbee 射频。设备可以不经任何网关,直接把 MQTT 或 HTTPS 消息发到云端或本地的消息代理(broker)。
Uno R3 完全没有无线功能,需要另加扩展板或模组。Uno R4 WiFi 的无线能力来自板载的 ESP32-S3,所以这款“带 Wi-Fi 的 Arduino”其实有一部分就是 ESP32。
树莓派 5 配有双频 802.11ac Wi-Fi、蓝牙 5.0 和千兆以太网,还有 USB 接口可以接 Zigbee、Thread 或 LoRa 适配器。正是这种组合让它成为不错的边缘网关:它能通过低功耗无线协议与电池设备通信,再经以太网把数据转发出去。
它们多少钱?
价格会变,做预算前请先查官方页面。在 Arduino 美国官方商店,Arduino Uno R3 标价 27.60 美元(2026年10月22日查询)。树莓派在2025年12月推出了 1 GB 版树莓派 5,售价 45 美元,此后因内存成本上涨,多次上调大内存版本的价格;2026年10月1日,2 GB 版树莓派 5 涨到 77.50 美元。同一篇2025年12月的文章还列出 Pico 微控制器开发板售价 4 美元。ESP32 开发板由许多公司生产,乐鑫没有为它们公布统一的标价;这类开发板通常是三者中最便宜的,而裸模组又比开发板便宜。
开发板并不是全部开销。树莓派还需要合适的电源和存储,往往还要外壳和散热。电池供电的 ESP32 节点需要电池、静态电流低的稳压器,以及外壳。到了量产阶段,芯片或模组的价格比任何开发板都更要紧。
该选哪一个?
- 通过 Wi-Fi 或蓝牙上报数据的电池传感器: ESP32,从第一天起就用上深度睡眠。
- 课堂教学、第一个电子项目、配合扩展板的简单 I/O: Arduino Uno,或兼容 Arduino 的开发板。
- 网关、本地看板、Home Assistant、摄像头、数据库: 树莓派。
- 既要精确时序,又要联网和存储: 时序交给微控制器,其余交给树莓派。
- 准备量产的产品: 在自己设计的电路板上放一个模组(ESP32 或其他无线 MCU);开发板只用来做原型。
借助乐鑫官方的 Arduino 核心,Arduino 环境也能给 ESP32 编程,所以从 Arduino 工具入手,并不会把你绑死在 Arduino 开发板上。如果设备装好之后很难再接触到,就要尽早规划 OTA 升级。
延伸阅读
- 《物联网设备的类型及其限制》更深入地解释功耗、内存和成本方面的限制。
- 《边缘计算详解》介绍树莓派这一级别的网关如何处理数据。
- 《物联网连接技术概览》比较适合节点使用的 Wi-Fi、低功耗蓝牙、Thread 和 LPWAN。
- 《Matter 与 Zigbee 对比》适合开发板最终要用在智能家居里的情况。
主题:ESP32、Arduino、树莓派、微控制器、硬件、对比