记录下自己搭建ESP32开发环境的过程。
ESP32开发环境这里主要记录下Linux与Windows下开发环境的搭建。
1. Windows下的开发环境搭建,其实用VSCode插件的方式以及ESP-IDF cmd编译环境安装的方式去安装还算比较简单。
(1)通过VSCode的方式去安装。
具体的参与这篇博客:(101条消息) ESP32开发 0.windows Vscode开发环境搭建,基于esp-idf-V4.2 | Cmake | Vscode插件_Mark_md的博客-CSDN博客https://blog.csdn.net/Mark_md/article/details/113517263(2)通过exe去安装环境,具体的可以参与这篇博客。
(101条消息) ESP32 ESP-IDF安装教程(windows 64位)_cqcyst的博客-CSDN博客_esp-idf安装https://blog.csdn.net/cqcyst/article/details/119851677通过VSCode的好处是可以享受一键编译、下载整个过程,但是这个环境异常的脆弱,稍有不慎就容易崩盘,重装也不见得能弄好。通过exe的方式去安装的话成功率好像高点,但是这个仅支持cmd的方式来进行编译、下载等操作,可用性就稍差点了。
注意:采用VScode安装的环境,在编译的时候,一定要先把配置里面的certificate_bundle前面的复选项给去掉,不然编译就会不通过,这个非常的重要。
点击上图中所示的图标打开配置界面,
在sdk configuration editor里面输入bundle,然后在右边弹出来的certificate bundle下面,把复选框前面的钩去掉,再点击保存就可以编译了,这是最关键的一步。
另外,VScode默认会开启启用信任模式,但是开启这个模式后,再打开VScode的时候会出现工作区不安全而使得ESP-IDF的插件被禁用,这个时候可以通过设置来关闭信任模式就可以了。具体的可以参考下下面这篇博客。
也就是把上图这个复选框给去掉。
(3)通过wsl链接到windows上的subsystem linux,然后利用linux的环境来安装,这种安装方式同样也能在windows上使用VSCode的交互窗口来查阅代码,也比较方便。
第一步:先在windows store里面找到Ubuntu20.04,然后安装,这个安装会非常快。要能启动这个ubuntu,需要在“开启或关闭windows功能”里面打开可以运行Linux这个选项,否则安装好的ubuntu可能不会跑起来。安装好之后对环境进行更新操作:
第二步:安装VSCode,然后在extension里面安装wsl,这个时候,VSCode会自动连接到linux下面。下面一步首先更新下ubuntu里面的源,参与下面的链接(不要阿里和清华的两个源都用,只用一个源就行了)
Ubuntu20.04软件源更换 - 知乎 (zhihu.com)https://zhuanlan.zhihu.com/p/142014944然后再运行:
sudo update
sudo upgrade
完成基本环境的搭建,这样就ok了,下一步就可以开始按照官方的教程安装linux下的环境了。
后面的步骤到是非常的简单:
首先安装编译依赖:
sudo apt-get install git wget make libncurses-dev flex bison gperf python python-is-python2 python3-pip cmake -y
接着设置一下pip的源,这一步其实也蛮关键的,后面的install.sh用的就是pip安装,不设置有可能很多东西都下不了。(这里参考了这个链接的操作:国内Linux下配置esp-idf开发环境 - FBICLOUD)
mkdir ~/.pip
cat > ~/.pip/pip.conf << EOF
[global]
index-url = http://mirrors.aliyun.com/pypi/simple/
[install]
trusted-host=mirrors.aliyun.com
disable-pip-version-check = true
timeout = 60
EOF
再来一步关键的操作,把github的源设置为国内的镜像源,这是一个很关键的操作,不然你去clone整个IDF的仓库的时候一是慢,再就是很多东西你都下载不下来。
# 使用镜像
git config --global url."https://hub.fastgit.org/".insteadof https://github.com/
# 取消镜像
git config --global --unset url.https://github.com/.insteadof
然后再开始下载整个IDF仓库:
mkdir ~/esp
cd ~/esp
git clone --recursive https://github.com/espressif/esp-idf.git
cd ~/esp/esp-idf
# 设置python3为默认
sudo update-alternatives --install /usr/bin/python python /usr/bin/python3 150
# 国内使用使用乐鑫的下载服务器
export IDF_GITHUB_ASSETS=dl.espressif.com/github_assets
./install.sh
到这一步的时候,install.sh事实上会调用pip来安装很多东西,但是有的时候并不会成功,经常会出现warning, download某个东西的时候失败,这个时候不要着急,那些要下载的东西其实官网有个地方都有:
Downloadable Tools - ESP32 - — ESP-IDF 编程指南 latest 文档 (espressif.com)
比方说上面这个界面,是我在准备装环境的时候log出来的error, 红色的框里面会告诉你哪个东西下不下来,这个东西要放到哪个目录下其实也告诉你了,这个时候你装个devsidecar,直接手动把这些东西下下来,然后放到该放的地方,再跑一次install.sh就可以了。如果这些操作是在VScode里面的console下操作的,那些还能直接点击链接下载。
最后一步就是source下环境变量就行:
. ~/esp/esp-idf/export.sh
这样就基本完成了。成功率还是非常高的。
注意上面安装的是最新版本的ESP-IDF,在此时(2021-11-13),版本已经到了5.0了,如果要装特定的版本,特别是安装老版本的,比方说支持ESP-ADF的版本,需要用到v4.1或者v3.3的版本,这个时候要用到下面这个指令:
git clone -b v4.1 --recursive https://github.com/espressif/esp-idf.git
(目前adf的版本到了2.2,已经不支持esp32-a1s那个板子了)