happytech

HOW TO SET UP A ESPDRONE ENVIRONMENT/如何进行顺利的ESPDRONE 环境搭建

最近在进行esp drone工程的开发,ESPdrone的环境搭建较为复杂,踩了不少坑,官方文档也是比较杂乱,容易被绕晕,遂做写了一篇进行总结,后续有空会继续更新espdrone和ESP32环境搭建过程中遇到的坑和总结的经验,有一起开发ESP32的也可以进行交流

一 环境选择

系统:ubuntu20.04

环境组件:必备git;建议py版本 3.8+;

安装liunx系统:建议使用ubuntu20.04阿里云源,留有100g空间基本能满足需求。阿里云镜像链接:oldubuntu-releases-releases安装包下载_开源镜像站-阿里云 (aliyun.com) 如图:

点我回到目录

二 开始搭建esp-idf编译器

1.进入esp-drone文档:https://docs.espressif.com/projects/espressif-esp-drone/zh-cn/latest/gettingstarted.html#esp-idf

2.点击esp-idf简介,进入esp idf编程指南:

https://docs.espressif.com/projects/esp-idf/en/release-v4.4/esp32s2/get-started/index.html

注意左上角版本号一定要跟图片中一致,版本最好为v4.4,否则后面编译espdrone会出问题

3.编译器代码获取

用ubuntu打开终端直接复制粘贴运行:

mkdir -p ~/esp
cd ~/esp
git clone -b release/v4.4 –recursive https://github.com/espressif/esp-idf.git

开始从github上clone代码,如果没有ubuntu没有git组件会有命令行提示下载git:sudo apt-get install git,如果无法连接或者下载速度慢请开魔法上网和全局代理

代码clone完成后安装目标芯片环境;

cd ~/esp/esp-idf
./install.sh esp32s2

安装完成后提示设置环境变量:

输入图中命令:

. $HOME/esp/esp-idf/export.sh

环境变量设置完成:

点我回到目录

三 开始运行一个Hello_World 实例工程

开始复制粘贴hello_world工程到esp文件夹下与esp-idf文件夹并列:

cd ~/esp
cp -r $IDF_PATH/examples/get-started/hello_world .

esp内文件夹效果图:

开始编译:

cd ~/esp/hello_world
idf.py set-target esp32s2
idf.py menuconfig

如果只链接了一个esp s2开发板,进入菜单后可以直接按Q保存退出

退出菜单后输入

idf.py build

建立二进制文件完成

准备连接设备串口烧录:

查看串口:推荐用cutecom

CUTECOM安装方法:

在终端命令行中输入:

sudo apt-get install cutecom

出现选择时输入:

然后输入:sudo cutecom 运行,输入密码,就会出现如下界面,说明安装好了。

也可以直接在应用列表中看见CUTECOM,点击进入。

烧录,将port换成cutecom上连接到的串口名:/dev/ttyUSB0,波特率可以省略,在终端命令行输入:

idf.py -p /dev/ttyUSB0 flash

如图,烧录成功:

烧录成功,打开cutecom可以看到现象,说明esp-idf编译环境搭建成功:

如果串口无法打开请先关闭cutecom或者增加用户文件权限:

sudo usermod -a -G dialout $USER

点我回到目录

四 开始ESP Drone编译

很多人在这里会分不清esp drone与esp idf的关系,其实esp drone的代码与上面演示的hello_world 代码是并列关系,都只是一个实例,而esp-idf是实例运行需要的环境,相当于你自己写的C++代码跟别人写的代码是并列关系,而要让代码跑起来需要一个像vscode的编译器来编译运行

明白关系后,我们继续回到esp drone文档,开始clone 飞控代码:

git clone https://github.com/espressif/esp-drone.git

复制粘贴esp-drone文件夹到esp文件夹与esp-idf编译器并列

用终端打开此文件

因为是与hello_world样例为并列关系,所以跟之前编译烧录hello_world的步骤一样,添加环境变量编译构建二进制文件,忘记如何操作hello_world样例的可以点此回到第三步:hello_world烧录(烧录时记得关闭串口助手,否则会显示串口繁忙烧录失败):

. $HOME/esp/esp-idf/export.sh

idf.py set-target esp32s2

idf.py menuconfig

idf.py build

烧录完成:

可以看见esp32s2开发板指示灯亮起三个,手机扫描到了wifi,烧录成功:

恭喜各位,至此esp-drone的代码已经跑通了,感谢各位的耐心观看, 祝各位大佬都能在后续开发中一帆风顺!!

点我回到目录

退出移动版