1. 课程导论与硬件准备:ESP32-C3 开发板介绍、ESP-IDF 环境搭建(Linux/Windows)、开发板与 PC 连接测试
各位同学,欢迎来到这门实战课。我是你们的讲师,一个在嵌入式低功耗和 Wi-Fi 协议栈里摸爬滚打了十几年的工程师。
今天咱们先不急着写代码。先把家伙事儿备齐,把路铺好。这就像盖房子,地基打不牢,后面全是坑。我见过太多同学,环境没配好就急着编译,结果报错一整天,心态直接崩了。咱们别走弯路。
1.1 为什么选 ESP32-C3?
市面上那么多芯片,为什么我偏偏推荐 ESP32-C3?说白了,三个理由:
- RISC-V 架构:开源、免费、未来趋势。你学了这个,以后切到别的 RISC-V 芯片,上手极快。
- 低功耗底子好:它内置了 2.4 GHz Wi-Fi 6 (802.11ax) 和 Bluetooth 5.0 (LE)。更重要的是,它的 Deep-sleep 模式电流可以做到 5 μA 左右。这在电池供电的产品里,是绝对的杀手锏。
- 生态成熟:乐鑫的 ESP-IDF 框架,文档全、社区活跃。你遇到的大部分问题,网上都有答案。
核心指标速览
| 参数 | ESP32-C3 典型值 |
|---|---|
| CPU | RISC-V 32-bit 单核,最高 160 MHz |
| SRAM | 400 KB (其中 16 KB 为 TCM) |
| Flash | 通常 4 MB (外挂) |
| Wi-Fi | 802.11 b/g/n (2.4 GHz) |
| Deep-sleep 电流 | 约 5 μA (RTC 内存保持) |
| GPIO | 最多 15 个可用 |
我个人习惯,做低功耗项目首选就是 C3。它不像 C6 那么新(有些坑还没填平),也不像 S3 那么贵。C3 是那个「刚刚好」的选择。
1.2 硬件准备:你手里得有块板子
咱们这门课,我假设你手里有一块 ESP32-C3-DevKitM-1 或者类似的开发板。如果你用的是合宙、安信可的模组做的板子,也没问题,原理一样。
拿到板子,先别急着上电。看一眼这几个关键位置:
- USB 口:通常是 Type-C。它既是供电口,也是串口(通过板载的 USB-to-UART 桥接芯片,比如 CP2102 或 CH343)。
- EN 按钮:复位键。
- BOOT 按钮:下载模式键。按住 BOOT,再按一下 EN,然后松开 BOOT,板子就进入下载模式了。
- 板载 LED:通常接在 GPIO 8 上(低电平点亮)。
避坑指南
我曾经遇到过一块板子,怎么都连不上电脑。折腾了半天,发现是 USB 线的问题——那根线只能充电,不能传数据。所以,请务必用一根 数据线,而不是充电线。
1.3 搭建 ESP-IDF 开发环境
环境搭建,我推荐两种方式。你选一种就行,别纠结。
方式一:Linux 环境(我推荐)
为什么推荐 Linux?因为后面我们做低功耗调试、抓 Wi-Fi 包,Linux 下的工具链最全、最顺手。我自己平时开发,90% 的时间都在 Ubuntu 下。
步骤很简单,就四步:
- 安装依赖:打开终端,运行
sudo apt-get install git wget flex bison gperf python3 python3-pip python3-venv cmake ninja-build ccache libffi-dev libssl-dev dfu-util libusb-1.0-0 - 获取 ESP-IDF:
mkdir -p ~/esp && cd ~/esp && git clone --recursive https://github.com/espressif/esp-idf.git - 安装工具链:
cd ~/esp/esp-idf && ./install.sh esp32c3(这个过程会下载交叉编译器和 Python 包,需要联网,大概 10-20 分钟) - 设置环境变量:每次打开新终端,运行
. ~/esp/esp-idf/export.sh。你也可以把它加到~/.bashrc里,省得每次都敲。
注意
安装过程中如果遇到网络超时,别慌。换个时间再试,或者用代理。我建议你使用 ESP-IDF v5.1 或 v5.2 版本,这两个版本最稳定,也是咱们课程使用的版本。
方式二:Windows 环境(图形化,省心)
如果你不习惯命令行,Windows 下可以用乐鑫官方的 ESP-IDF 离线安装包。去官网下载,一路 Next 就行。它会帮你装好 Python、Git、CMake 和所有工具链。
安装完成后,桌面上会出现一个 ESP-IDF 5.1 CMD 的快捷方式。以后每次开发,都从这个命令行窗口启动。它已经帮你配好了环境变量。
我个人觉得,Windows 下开发 ESP32,最大的坑是 路径名。千万别把项目放在带中文或空格的目录下,比如 C:\Users\张三\我的项目\,编译必报错。
1.4 开发板与 PC 连接测试
环境装好了,板子也拿到了。咱们来验证一下,看看能不能「对上话」。
第一步:安装驱动
把板子插到电脑上。如果是 Linux,通常不需要额外装驱动,系统会自动识别。如果是 Windows,可能需要装一下 USB 转串口驱动(CP210x 或 CH340)。去官网下载安装即可。
第二步:确认端口
打开设备管理器(Windows)或运行 ls /dev/tty*(Linux)。你应该能看到一个类似 /dev/ttyUSB0 或 COM3 的设备。这就是你的开发板。
第三步:编译并烧录示例工程
咱们用官方的 hello_world 来测试。打开终端,依次执行:
cd ~/esp/esp-idf/examples/get-started/hello_world
idf.py set-target esp32c3
idf.py menuconfig # 这里可以先不配置,直接退出
idf.py build
idf.py -p /dev/ttyUSB0 flash monitor
如果一切顺利,你会看到终端里开始打印信息,最后出现 Hello world! 和芯片信息。看到这个,说明你的环境 100% 没问题了。
一个小技巧
用 idf.py monitor 退出时,按 Ctrl+] 即可。别按 Ctrl+C,那个是强制终止,有时候会搞乱串口状态。
1.5 本章知识体系总览
为了让你对本章内容有个整体印象,我画了一张图。它把我们从「硬件选型」到「环境搭建」再到「首次运行」的路径串了起来。
嗯,这张图把咱们这章要做的事讲清楚了。从硬件到环境,再到验证,是一条直线。你只要按这个路径走,就不会迷路。
1.6 写在最后
环境搭建这一步,确实有点枯燥。但它是后面所有实验的基础。我建议你花点时间,把这一步走稳。如果你在搭建过程中遇到了问题,别硬扛。去乐鑫的官方论坛搜一搜,或者看看 GitHub 上的 Issues,大概率能找到答案。