1、一个ESP32开发板及一根MicroUSB线
2、Linux操作系统:Ubuntu16
开发ESP32需要一系列软件支持。打开终端,输入下面的命令。
sudo apt-get install gcc git wget make libncurses-dev flex bison gperf python python-pip python-setuptools python-serial python-pyparsing
根据自己的Linux系统下载安装包,对Linux不熟的,可以在Windows中下载好,再移到Linux中解压。也可以直接在终端中用命令下载和解压。
64-bit Linux:https://dl.espressif.com/dl/xtensa-esp32-elf-linux64-1.22.0-80-g6c4433a-5.2.0.tar.gz
32-bit Linux:https://dl.espressif.com/dl/xtensa-esp32-elf-linux32-1.22.0-80-g6c4433a-5.2.0.tar.gz
我们使用终端命令来创建一个文件夹 ~/esp 用来安装交叉编译链。~指的是home目录。然后使用wget命令下载安装包。
mkdir -p ~/esp
cd ~/esp
wget https://dl.espressif.com/dl/xtensa-esp32-elf-linux64-1.22.0-61-gab8375a-5.2.0.tar.gz
下载完成后解压
tar -xzf ~/esp/xtensa-esp32-elf-linux64-1.22.0-80-g6c4433a-5.2.0.tar.gz
因为编译ESP工程需要用到交叉编译链中的bin文件,我们将其路径添加到系统环境变量中。添加环境变量可以在好几个文件中添加,文件不同效果不同。我们将其添加在当前用户的.profile中,使其只对当前用户有效。使用gedit命令打开.profile文件.
gedit .profile
在文本最后加入
export PATH="$PATH:$HOME/esp/xtensa-esp32-elf/bin"
esp-idf是乐鑫官方提供的开发框架,含有丰富的库/API,以及一些简单的例程。我们需要在其基础上做二次开发。
输入以下命令获取esp-idf
cd ~/esp
git clone --recursive https://github.com/espressif/esp-idf.git
同样的,需要将其路径添加到系统环境变量中。打开.profile文件,在最后加上IDF_PATH的路径。
gedit .profile
加入下面这一行
export IDF_PATH=/home/hanchen/esp/esp-idf
为了让我们新设置的这两条环境变量生效,我们需要重新登录一下。
然后使用以下命令,查看是否设置成功。
printenv PATH IDF_PATH
如果能正确显示我们刚才设置的路径,那就说明没问题了。
ESP-IDF 所依赖的 Python 软件包位于$IDF_PATH/requirements.txt 文件中,我们输入以下命令进行安装。
python -m pip install --user -r $IDF_PATH/requirements.txt
插上ESP32开发板,确认其在Linux中的串口名称,具体方法问百度。不过一般不用改,默认的就可以用。因为我们使用的是普通用户,所以对串口设备没有操作权限,我们需要用以下命令将当前用户添加到dialout组,才能通过USB读写串口。
sudo usermod -a -G dialout $USER
更改完后,重新登录一下,以确保串口设备的读写权限被启用。
进入~/esp/esp-idf/examples/get-started中,将hello_world文件夹复制到另外一个测试文件夹中,然后点击右键,选择在终端打开,输入make menuconfig。
如果开发环境搭建成功了,就会出现下面的菜单。
这个菜单是用来配置工程相关参数的,具体用法可以参考安信可配置ESP32 menuconfig 通过上下左右键来选择菜单,回车键选中修改。进入 Serial flasher config > Default serial port 配置串口。
填入之前查询到的USB设备名,回车确认,然后保存退出。
输入make flash monitor,开始编译下载及监视。make的具体用法如下,可以组合使用。
如果下载成功,则会每隔10秒在终端打印一次hello world,至此,esp32开发的第一步就完成了。
同时按Ctrl+ ] 退出监视程序。