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)