提示:此教程依据乐鑫官方的ESP32入门教程总结而来,仅供个人参考学学习,如有错误,欢迎批评指正。乐鑫官方参考:

乐鑫官方文档地址


1.搭建esp-idf环境

1.1安装虚拟机与Ubuntu
未安装请参考ESP32系列教程之一:安装虚拟机与Ubuntu。

1.2 检查网络
打开终端,查看Ubuntu是否连接网络

或使用命令检测:ping www.baidu.com

自写 ESP32 linux SDIO WIFI 驱动 esp32跑linux_ESP32教程


自写 ESP32 linux SDIO WIFI 驱动 esp32跑linux_乐鑫_02


若未联网,按以下步骤设置:

编辑->虚拟网络编辑器->更改设置->桥接模式(桥接至电脑ip描述)->应用->确定

自写 ESP32 linux SDIO WIFI 驱动 esp32跑linux_IDF环境_03


自写 ESP32 linux SDIO WIFI 驱动 esp32跑linux_IDF环境_04


1.3 下载Python软件包

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

自写 ESP32 linux SDIO WIFI 驱动 esp32跑linux_ESP32教程_05


自写 ESP32 linux SDIO WIFI 驱动 esp32跑linux_ESP32教程_06


1.4安装git工具

sudo apt install git

1.5 获取ESP-IDF

使用终端命令创建工程文件夹,文件夹名称可以自己定义,例如我创建的文件夹名称为esp_4.1

mkdir esp_4.1

cd esp_4.1

git clone -b v4.1 --recursive https://github.com.cnpmjs.org/espressif/esp-idf.git

(注:-b v4.1 表示esp-idf 下载版本,需要下载其它版本或版本介绍请移至乐鑫官网查看具体介绍)

如果下载过程中出现以下错误(没有请忽略):

自写 ESP32 linux SDIO WIFI 驱动 esp32跑linux_IDF环境_07


进入esp-idf目录下执行:git submodule update --init --recursive

自写 ESP32 linux SDIO WIFI 驱动 esp32跑linux_python_08


出现上图表示完成进行下一步

1.6 安装其它工具

除了 ESP-IDF 本身,您还需要安装 ESP-IDF 使用的各种工具,比如编译器、调试器、Python 包等!1.6.1 查看当前Python版本

终端输入命令:Python

自写 ESP32 linux SDIO WIFI 驱动 esp32跑linux_ESP32教程_09


这代表已安装python3,输入python3 查看python版本为3.6.9

自写 ESP32 linux SDIO WIFI 驱动 esp32跑linux_python_10


1.6.2 将python3设置为默认python

进入用户bin目录下,将python3.6链接到python下。

cd /usr/bin

ln -s python3.6m python

执行命令:python,出现下图,说明链接成功

自写 ESP32 linux SDIO WIFI 驱动 esp32跑linux_git_11


以下步骤(./install.sh)执行过程中需要的python版本至少大于3.6,如果执行python后发现python版本小于3.6,则执行以下步骤安装python3.6并将其设置为默认python

自写 ESP32 linux SDIO WIFI 驱动 esp32跑linux_IDF环境_12


自写 ESP32 linux SDIO WIFI 驱动 esp32跑linux_乐鑫_13


sudo apt-get install python3.6

cd /usr/bin

rm python

ln -s python3.6m python

(原文链接:

接下来下载安装链接后的python3.6的pip,
执行命令:sudo apt-get install python3-pip

运行 ./install.sh 最终结果如下:

自写 ESP32 linux SDIO WIFI 驱动 esp32跑linux_ESP32教程_14


执行 . ./export.sh

自写 ESP32 linux SDIO WIFI 驱动 esp32跑linux_IDF环境_15


到这一步表明esp-idf环境已经基本搭建完成,可以运行示例代码,若需要长期、多次运行esp32相关示例代码则建议将esp-idf环境加入环境变量。

1.7 将esp-idf环境加入环境变量

复制并粘贴以下命令到 shell 配置文件中(.profile, .bashrc, .zprofile 等)

alias get_idf=’. $HOME/esp_4.1/esp-idf/export.sh’

(注:文件路径需要正确,如文件夹名称esp_4.1)

以.bashrc 为例:

打开.bashrc 文件

自写 ESP32 linux SDIO WIFI 驱动 esp32跑linux_ESP32教程_16


添加命令:

自写 ESP32 linux SDIO WIFI 驱动 esp32跑linux_ESP32教程_17


保存关闭,重启虚拟机或使用命令刷新配置文件:source .profile

最终效果如下:执行get_idf 便可以让端口进入esp-idf环境:

自写 ESP32 linux SDIO WIFI 驱动 esp32跑linux_git_18


2. 运行hello_world 示例

2.1 将esp-idf/examples/get-started/ 目录下的hello_world示例拷贝到esp_4.1下

cp esp-idf/examples/get-started/hello_world/ ./ -r

自写 ESP32 linux SDIO WIFI 驱动 esp32跑linux_IDF环境_19


2.2 进入hello_world示例,并编译代码:

idf.py build

自写 ESP32 linux SDIO WIFI 驱动 esp32跑linux_python_20


自写 ESP32 linux SDIO WIFI 驱动 esp32跑linux_python_21


2.3 用USB线将ESP32模组与电脑连接:

自写 ESP32 linux SDIO WIFI 驱动 esp32跑linux_python_22


选择连接到虚拟机->Ubuntu 64 位->确定

2.4 查看下载端口:ls /dev/tty*

自写 ESP32 linux SDIO WIFI 驱动 esp32跑linux_ESP32教程_23


可以看见多出来的端口号为 /dev/ttyUSB0,即为下载端口号2.5 进行烧录:idf.py -p /dev/ttyUSB0 flash

出现如下错误说明我们对该端口没有读写权限:

自写 ESP32 linux SDIO WIFI 驱动 esp32跑linux_IDF环境_24


通过以下命令,将用户添加到 dialout 组,从而获许读写权限:

sudo usermod -a -G dialout $USER

Reboot (重启虚拟机)

重新烧录:

自写 ESP32 linux SDIO WIFI 驱动 esp32跑linux_git_25


烧录成功!

2.6 查看监视器:idf.py -p /dev/ttyUSB0 monitor

自写 ESP32 linux SDIO WIFI 驱动 esp32跑linux_git_26


成功打印hello_world.


3. 参考视频

视频教程:
https


ESP32系列教程之二:Linux搭建esp-idf环境(01)



Video