ESP32基础篇:ESP-IDF编程指南
⼀. 快速⼊门
本⽂档旨在指导⽤户创建 ESP32 的软件环境。本⽂将通过⼀个简单的例⼦来说明如何使⽤ ESP-IDF (Espressif IoT Development Framework),包括配置、编译、下载固件到开发板等步骤。
⼆. 概述
ESP32 是⼀套 Wi-Fi (2.4 GHz) 和蓝⽛ (4.2) 双模解决⽅案,集成了⾼性能的 CPU 内核、超低功耗协处理器和丰富的外设。ESP32 采⽤ 40 nm ⼯艺制成,具有最佳的功耗性能、射频性能、稳定性、通⽤性和可靠性,适⽤于各种应⽤和不同功耗需求。
乐鑫为⽤户提供完整的软、硬件资源进⾏ ESP32 设备的开发。乐鑫所研发的软件开发环境 ESP-IDF 能够帮助⽤户快速开发物联⽹ (IoT)应⽤,满⾜⽤户对于 Wi-Fi、蓝⽛、低功耗等性能的需求。
三. 准备⼯作
开发 ESP32 应⽤程序需要准备:
电脑:安装 Windows、Linux 或者 Mac 操作系统
⼯具链:⽤于编译 ESP32 应⽤程序
ESP-IDF:包含 ESP32 API 和⽤于操作 ⼯具链 的脚本
⽂本编辑器:编写 C 语⾔程序,例如
ESP32 开发板 和将其连接到 电脑 的 USB 线
开发环境的准备⼯作包括以下三部分:
1. 设置 ⼯具链
2. 从 GitHub 上获取 ESP-IDF
3. 安装和配置 Eclipse
如果你偏好使⽤其它编辑器,可以跳过最后⼀步。
环境设置好后,就可以开始开发应⽤程序了。整个过程可以概括为如下四步:
1. 配置 ⼯程 并编写代码
2. 编译 ⼯程 并链接成⼀个 应⽤程序
3. 烧写 应⽤程序 到 ESP32
4. 监视/调试 应⽤程序
下⽂将全程指导你操作完成这些步骤。
四. 开发板指南
如果你有下列任⼀ ESP32 开发板,按照指南进⾏操作就可以让你的板⼦跑起来。
ESP32 DevKitC ESP32 poco-kit-v3ESP32-wrover-kit
五. 设置⼯具链
⽤ ESP32 进⾏开发最快的⽅法是安装预编译的⼯具链。请根据你的操作系点击对应的链接,并按照链接中的指导进⾏安装。
我们使⽤ ~/esp ⽬录来安装预编译的⼯具链、ESP-IDF 和⽰例程序。你也可以使⽤其它⽬录,但是需要注意调整相应的指令。
5.1 wind ows 设置⼯具链
Windows 没有内置的 “make” 环境,因此如果要安装⼯具链,你需要⼀个 GNU 兼容环境。我们这⾥使⽤ MSYS2_ 来提供该环境。
⼯具链的设置
快速设置的⽅法是从 dl.espressif 下载集成在⼀起的⼯具链和 MSYS2 压缩⽂件:
将 zip 压缩⽂件解压到 C:\ (或其它路径,这⾥假设是 C:\),它会使⽤预先准备的环境创建⼀个 msys32 ⽬录。
运⾏ C:\ 打开⼀个 MSYS2 的终端窗⼝。该窗⼝的环境是⼀个 bash shell。创建⼀个 esp ⽬录作为开发 ESP32 应⽤的默认地址。运⾏指令:
mkdir -p ~/esp
输⼊ cd ~/esp 就进⼊到新创建的⽬录。如果没有错误信息出现则表明此步骤已完成。
5.2 linux 设置⼯具链
安装前提
编译 ESP-IDF 需要以下软件包:
CentOS 7
sudo yum install gcc git wget make ncurses-devel flex bison gperf python pyserial
Ubuntu and Debian
sudo apt-get install gcc git wget make libncurses-dev flex bison gperf python python-serial
Arch
sudo pacman -S --needed gcc git make ncurses flex bison gperf python2-pyserial
c语言编程入门指南pdf⼯具链的设置
Linux 版的 ESP32 ⼯具链可以从 Espressif 的⽹站下载:
64-bit Linux:
32-bit Linux:
1.下载完成后,将它解压到 ~/esp ⽬录:
mkdir -p ~/esp
cd ~/esp
tar -xzf ~/Downloads/xtensa-esp32-elf-linux64-1.22.0-80-g6c4433a-5.2.
2.⼯具链将会被解压到 ~/esp/xtensa-esp32-elf/ ⽬录:
要使⽤⼯具链,你还需要在 ~/.profile ⽂件中更新环境变量 PATH。要使 xtensa-esp32-elf 在所有的终端会话中都有效,需要将下⾯这⼀⾏代码添加到你的 ~/.profile ⽂件中:
export PATH="$PATH:$HOME/esp/xtensa-esp32-elf/bin"
或者你也可以给上⾯的命令创建⼀个别名。这样做的好处是,你只在需要使⽤它的时候才获取⼯具链。将下⾯这⾏代码添加到 ~/.profile ⽂件中即可:
alias get_esp32='export PATH="$PATH:$HOME/esp/xtensa-esp32-elf/bin"'
然后,当你需要使⽤⼯具链时,在命令⾏输⼊ get_esp32,然后⼯具链会⾃动添加到你的 PATH 中。
如果将 /bin/bash 设置为登录 shell,且同时存在 .bash_profile 和 .profile,则更新 .bash_profile 。
3.退出并重新登录以使 .profile 更改⽣效。 运⾏以下命令来检查 PATH 设置是否正确: ::
printenv PATH
检查⼀下字符串的末尾是否包含类似的⼯具链的路径
$ printenv PATH
/home/user-name/bin:/home/user-
name/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin:/h ome/user-name/esp/xtensa-esp32-elf/bin
除了 /home/user-name,应该有具体的安装的主路径。
权限问题 /dev/ttyUSB0
某些 Linux 版本可能在烧写 ESP32 时会出现 Failed to open port /dev/ttyUSB0 错误消息。可以通过将当前⽤户添加到拨出组来解决。sudo usermod -a -G dialout $USER
5.3 m ac 设置⼯具链
安装准备
安装 pip
sudo easy_install pip
安装 pyserial
sudo pip install pyserial
安装⼯具链
Mac OS 版本的 ESP32 ⼯具链可以从以下地址下载:
下载压缩⽂件之后,解压到 ~/esp ⽬录中
mkdir -p ~/esp
cd ~/esp
tar -xzf ~/Downloads/xtensa-esp32-elf-osx-1.22.0-75-gbaf03c2-5.2.
⼯具链将被解压到 ~/esp/xtensa-esp32-elf/ 路径下。
在 ~/.profile ⽂件中更新 PATH 环境变量以使⽤⼯具链。为了使 xtensa-esp32-elf 在各种终端会话中都可⽤,在 ~/.profile ⽂件中加上以下指令
export PATH=$PATH:$HOME/esp/xtensa-esp32-elf/bin
或者,您可以为上述命令创建⼀个别名。这样只有执⾏以下指令时⼯具链才能被使⽤。将下⾯的指令添加到您的 ~/ .profile ⽂件中
alias get_esp32="export PATH=$PATH:$HOME/esp/xtensa-esp32-elf/bin"
当需要使⽤⼯具链时,在命令⾏⾥输⼊ get_esp32,就可以将⼯具链添加到 PATH 中。
获取 ESP-IDF
六.
六. 获取 ESP-IDF
⼯具链设置完成后,就可以获取 了。
⼯具链(包括⽤于编译和构建应⽤程序的程序)安装完后,你还需要 ESP32 相关的 API/库。API/库在 中。要获取这些 API/库,打开⼀个终端,进⼊某个你希望存放 ESP-IDF 的⽬录,然后 git clone 以下指令:
cd ~/esp
git clone --recursive github/espressif/esp-idf.git
ESP-IDF 将会被下载到 ~/esp/esp-idf。
注意这⾥有个 --recursive 选项。如果你克隆 ESP-IDF 时没有带这个选项,你还需要运⾏额外的命令来获取⼦模块:
cd ~/esp/esp-idf
git submodule update --init --recursive
七. 设置 ESP-IDF 路径
⼯具链程序使⽤环境变量 IDF_PATH 来访问 ESP-IDF。这个变量应该设置在你的 PC 中,否则⼯程将不能编译。你可以在每次 PC 重启时⼿⼯设置,也可以通过在⽤户配置⽂件中定义 IDF_PATH 变量来永久性设置。
windows 设置 IDF_PATH
export IDF_PATH="C:/msys32/home/user-name/esp/esp-idf"
linux & macOS 设置 IDF_PATH
export IDF_PATH=~/esp/esp-idf
⼋. 创建⼀个⼯程
现在可以开始创建 ESP32 应⽤程序了。为了快速开始,我们这⾥以 IDF 的 ⽬录下的 ⼯程为例进⾏说明。
将 get-started/hello_world 拷贝到 ~/esp ⽬录:
cd ~/esp
cp -r $IDF_PATH/examples/get-started/hello_world .
ESP-IDF 的 examples ⽬录下有⼀系列⽰例⼯程,都可以按照上⾯的⽅法进⾏创建。
esp-idf 构建系统不⽀持在路径中存在空格。
九. 连接
还有⼏个步骤就完成了。在继续后续操作前,先将 ESP32 开发板连接到 PC,然后检查串⼝号,看看它能否正常通信。
注意串⼝是否被其他程序占⽤,是否拥有权限
⼗. 配置
在终端窗⼝中,输⼊ cd ~/esp/hello_world 进⼊ hello_world 所在⽬录,然后启动⼯程配置⼯具 menuconfig:
cd ~/esp/hello_world
make menuconfig
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论