提示:此教程依据乐鑫官方的ESP32入门教程总结而来,仅供个人参考学学习,如有错误,欢迎批评指正。乐鑫官方参考:
乐鑫官方文档地址
1.搭建esp-idf环境
1.1安装虚拟机与Ubuntu
未安装请参考ESP32系列教程之一:安装虚拟机与Ubuntu。
1.2 检查网络
打开终端,查看Ubuntu是否连接网络
或使用命令检测:ping www.baidu.com
若未联网,按以下步骤设置:
编辑->虚拟网络编辑器->更改设置->桥接模式(桥接至电脑ip描述)->应用->确定
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
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 下载版本,需要下载其它版本或版本介绍请移至乐鑫官网查看具体介绍)
如果下载过程中出现以下错误(没有请忽略):
进入esp-idf目录下执行:git submodule update --init --recursive
出现上图表示完成进行下一步
1.6 安装其它工具
除了 ESP-IDF 本身,您还需要安装 ESP-IDF 使用的各种工具,比如编译器、调试器、Python 包等!1.6.1 查看当前Python版本
终端输入命令:Python
这代表已安装python3,输入python3 查看python版本为3.6.9
1.6.2 将python3设置为默认python
进入用户bin目录下,将python3.6链接到python下。
cd /usr/bin
ln -s python3.6m python
执行命令:python,出现下图,说明链接成功
以下步骤(./install.sh)执行过程中需要的python版本至少大于3.6,如果执行python后发现python版本小于3.6,则执行以下步骤安装python3.6并将其设置为默认python
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 最终结果如下:
执行 . ./export.sh
到这一步表明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 文件
添加命令:
保存关闭,重启虚拟机或使用命令刷新配置文件:source .profile
最终效果如下:执行get_idf 便可以让端口进入esp-idf环境:
2. 运行hello_world 示例
2.1 将esp-idf/examples/get-started/ 目录下的hello_world示例拷贝到esp_4.1下
cp esp-idf/examples/get-started/hello_world/ ./ -r
2.2 进入hello_world示例,并编译代码:
idf.py build
2.3 用USB线将ESP32模组与电脑连接:
选择连接到虚拟机->Ubuntu 64 位->确定
2.4 查看下载端口:ls /dev/tty*
可以看见多出来的端口号为 /dev/ttyUSB0,即为下载端口号2.5 进行烧录:idf.py -p /dev/ttyUSB0 flash
出现如下错误说明我们对该端口没有读写权限:
通过以下命令,将用户添加到 dialout 组,从而获许读写权限:
sudo usermod -a -G dialout $USER
Reboot (重启虚拟机)
重新烧录:
烧录成功!
2.6 查看监视器:idf.py -p /dev/ttyUSB0 monitor
成功打印hello_world.
3. 参考视频
视频教程:
https
ESP32系列教程之二:Linux搭建esp-idf环境(01)
Video