ESP IDF笔记
- ESP-IDF 编程指南推荐使用最新稳定版本,目前稳定版本为 4.4.3
v4.4.x 环境搭建¶
[!INFO] 官方文档写的非常详细:快速入门 - ESP32 - — ESP-IDF 编程指南 v4.4.3 文档 (espressif.com) 建议阅读官方文档来入门。
- Windows 用户
- 推荐使用离线安装器:ESP-IDF 工具安装器,里面集成了大部分环境,无需再配置环境。
- Linux 用户
- 安装环境
- Ubunt
sudo apt-get install git wget flex bison gperf python3 python3-pip python3-setuptools cmake ninja-build ccache libffi-dev libssl-dev dfu-util libusb-1.0-0 - ArchLinux
sudo pacman -S --needed gcc git make flex bison gperf python-pip cmake ninja ccache dfu-util libusb - ESP-IDF 支持 Python 3.6 及以上版本
- Ubunt
- 下载 esp-idf-v4.4.3.zip 并解压至
~/esp目录。 - 设置工具,执行以下命令:
cd ~/esp/esp-idf && ./install.sh esp32 - 设置环境变量,将
alias get_idf='. $HOME/esp/esp-idf/export.sh'添加到.bashrc中,执行get_idf即可在当前终端添加环境变量
- 安装环境
[!INFO] 安装完环境后,推荐使用 VSCode ESP-IDF 插件优化开发体验
v3.3.x¶
环境变量设置¶
~/.zshrc
| Bash | |
|---|---|
| Bash | |
|---|---|
idf.py 常用命令¶
idf.py set-target <target>会设置构建项目的目标(芯片)idf.py menuconfig会运行menuconfig工具来配置项目idf.py build会构建在当前目录下找到的项目idf.py clean会把构建输出的文件从build目录中删除,不会删除 CMake 配置输出及其他文件idf.py fullclean会将整个build目录下的内容全部删除idf.py flash刷机命令idf.py monitor用于显示目标 ESP32 设备的串口输出
Linux 权限问题 /dev/ttyUSB0¶
刷入命令:idf.py -p /dev/ttyUSB0 -b 921600 flash 会遇到没有权限的问题,此时可以用 sudo 来提权,或者输入以下命令,重启解决(与 ESP32 创建串口连接 )
- Ubuntu: sudo usermod -a -G dialout $USER
- ArchLinux: sudo usermod -a -G uucp $USER
VSCode ESP-IDF 安装失败解决方案¶
在执行这个步骤之后报错:
| Text Only | |
|---|---|
[!WARNING] 错误原因:没有关闭 Clash 代理导致 pip 下载失败
一定要关闭 Clash 代理工具,否则一直会报这个错误:
| Text Only | |
|---|---|
编辑 Python pip 镜像源 C:\Users\<username>\AppData\Roaming\pip\pip.ini,加速下载
| Text Only | |
|---|---|
| Text Only | |
|---|---|
成功安装!VSCode 配置文件会多出以下配置:
ESP32 各版本区别¶
- ESP32 WROVER IE / ESP32 WROVER E 的区别是:IE是外置天线,E是内置天线。通过观察 2201121630_Espressif-Systems-ESP32-WROVER-IE-8MB_C2934565.pdf (lcsc.com) 可以得知。
- ESP32选型一文就够,ESP32-WROOM-32、ESP32-WROVER、ESP32-S衍生模组、ESP32-PICO差异 - 哔哩哔哩 (bilibili.com)
- 官方产品对比:ESP Product Selector (espressif.com)