当前位置: 首页 > article >正文

Ubuntu下ESP32-IDF开发环境搭建

Ubuntu下ESP32-IDF开发环境搭建

文章目录

  • Ubuntu下ESP32-IDF开发环境搭建
    • 一、前言
    • 二、软件安装
    • 三、开发环境搭建
      • 3.1 ESP-IDF安装:
      • 3.2 安装编译工具:
    • 四、编译并烧录代码
    • 五、ESP32代码编辑工具

在这里插入图片描述

一、前言

​ 开发ESP32,我们首先就要安装开发环境,其实市面上有超级多的开发和编译工具,都可以编译ESP32工程,在这里我们使用ESP-IDF进行开发,因为ESP-IDF 库是官方目前主推的库,最新的特性更新以及 bug 修复都在 ESP-IDF 上进行发布,而且大部分源码是开源的,大家可以随意获取和查看。基于 ESP-IDF开发还不够,我们还需要开发工具,ESP-IDF 可以在 windows、linux、mac 上进行开发,但官方主推的还是 linux 平台上开发,下面我们就开始搭建环境。

二、软件安装

在这里插入图片描述
在这里插入图片描述

我们需要准备上面四个软件:

  1. VS Code:代码编辑工具。
  2. VMware:虚拟机软件。
  3. MobaXterm:是一款免费的终端工具,可以通过SSH远程登陆到我们的虚拟机上。
  4. ubuntu:我们选用ubuntu作为Linux系统,这也是官方主推的,这里使用ubuntu20.04桌面版,其他的版本可能会有问题。

具体的安装方法在之前我们开发Linux的时候都有安装过,这里我们直接使用

三、开发环境搭建

3.1 ESP-IDF安装:

现在我们把我们的虚拟机打开,并通过MobaXterm SSH远程登陆:

在这里插入图片描述

登陆之后我们通过下面命令安装一些必要的工具:

sudo apt-get install git wget flex bison gperf python3-pip python3-venv cmake ninja-build ccache libffi-dev libssl-dev dfu-util libusb-1.0-0 net-tools

接下来我们把乐鑫的ESP32-SDK下载下来,我们首先创建一个文件夹,并且进入到这个文件夹:

mkdir ESP32
cd ESP32

在下载SDK之前,我们首先需要下载一个工具,因为 github 的访问问题,我们很难直接从 github 上拉取完整的 ESP-IDF 源码,但乐鑫官方提供了一个下载工具,我们通过这个工具可以轻松的获取到 ESP-IDF:

git clone https://gitee.com/EspressifSystems/esp-gitee-tools.git

在这里插入图片描述

我们进入这个文件夹,执行gitee工具切换镜像脚本:

cd esp-gitee-tools
./jihu-mirror.sh set

在这里插入图片描述

执行完毕之后我们退回到ESP32目录,然后我们就可以下载ESP32-SDK了:

cd ..
git clone --recursive https://github.com/espressif/esp-idf.git

在这里插入图片描述

接下来我们进入esp-idf目录下,把ESP-IDF的版本切换成V5.2:

cd esp-idf
git checkout v5.2

在这里插入图片描述

因为我们更新成V5.2版本,然后我们将相应的子模块也切换到对应的版本上:

git submodule update --init --recursive

在这里插入图片描述

这样就切换完成了,我们输入下面命令查看一下:

 git branch

在这里插入图片描述

在实际的操作过程中我们发现安装一些包的时候速度有点慢,我们输入下面两条命令切换源:

pip config set global.index-url http://mirrors.aliyun.com/pypi/simple
pip config set global.trusted-host mirrors.aliyun.com

在这里插入图片描述

3.2 安装编译工具:

我们直接在esp-idf目录下执行下面命令:

../esp-gitee-tools/install.sh

在这里插入图片描述

接下来我们返回到ESP32路径下,然后从git上下载我们的例程源码:

cd ..
git clone --recursive https://gitee.com/vi-iot/esp32-board.git

在这里插入图片描述

我们可以看到这里有很多例程源码,我们都是可以单独编译的,在编译之前我们要设置一下ESP-IDF的环境变量:

cd ..
cd esp-idf
source export.sh

在这里插入图片描述

四、编译并烧录代码

在前面我们已经把我们的开发环境搭建好了,也安装了编译工具,接下来我们就开始编译一下我们的例程代码:

cd esp32-board			//进入到我们的例程源码路径下
cd helloworld			//进入其中一个工程路径
idf.py build			//编译代码

在这里插入图片描述

我们可以看到编译完成了,因为我们是第一次编译,所以时间会比较久,然后我们将我们的开发板插到电脑上:

在这里插入图片描述

我们的虚拟机检测到开发板插入,我们选择连接到虚拟机,然后虚拟机的右下角就会出现这个标识:

在这里插入图片描述

然后我们输入下面指令把代码下载到我们的开发板:

idf.py flash

在这里插入图片描述

我们发现我们的权限并不够,然后我们该怎么办呢?输入下面命令我们直接把我们dev路径下的ttyUSB0改成最高权限:

sudo chmod 777 /dev/ttyUSB0

这样的方法有一个漏洞,当我们重新拔插开发板的时候,再次烧录它还是会提示权限不够,那我们通过下面一个指令解决这个问题:

sudo usermod -aG dialout usrname

这里的usrname需要换成自己的用户名,然后重启即可!

在这里插入图片描述

我们可以看到成功将我们的例程下载进去了,那我们如何查看调试信息呢?通过下面这个指令:

idf.py monitor		//查看串口调试信息
ctrl+]				//退出

五、ESP32代码编辑工具

在上面我们已经在ubuntu上搭建好了IDF开发环境,同时我们也可以编译和烧录我们的代码,那我们就要在VS Code上编写我们的代码,在之前的Linux开发中我们的VS Code已经通过远程SSH的方式连接到了我们的虚拟机上了,我们可以在上面编写我们的代码:

在这里插入图片描述

但是我们开发ESP32是基于官方的IDF SDK来开发的,里面封装了大量的API供我们调用,我们在编写代码的时候如何查到我们这些API函数呢?

需要安装一个插件:ESP-IDF(注意:要安装到我们的虚拟机上,不要安装到本机)
在这里插入图片描述

查看API原型:

在这里插入图片描述


http://www.kler.cn/a/449766.html

相关文章:

  • 《智启新材:人工智能重塑分子结构设计蓝图》
  • leetcode hot100除自身以外的数组的乘积
  • systemverilog中task的disable用法
  • DataX与DataX-Web安装与使用
  • Chrome 浏览器原生功能截长屏
  • 【C语言】动态内存管理:详解malloc和free函数
  • C++ 虚函数、虚函数表、静态绑定与动态绑定笔记
  • 记录--uniapp 安卓端实现录音功能,保存为amr/mp3文件
  • Blazor项目中使用EF读写 SQLite 数据库
  • 在Ubuntu上通过Docker部署NGINX服务器
  • 第三节:GLM-4v-9B数据加载之huggingface数据加载方法教程(通用大模型数据加载实列)
  • 96 vSystem
  • 区块链与比特币:技术革命的双子星
  • ImportError: DLL load failed while importing jiter
  • 工信部“人工智能+”制造行动点亮CES Asia 2025
  • 便捷的线上游戏陪玩、线下家政预约以及语音陪聊服务怎么做?系统代码解析
  • 基于Spring Boot的电影网站系统
  • K8S Ingress 服务配置步骤说明
  • 1114 Family Property (25)
  • 【环境搭建】Python、PyTorch与cuda的版本对应表
  • 在Vue2中,el-tree组件的页面节点前三角符号仅在有下级节点时显示
  • LeetCode 54. 螺旋矩阵 (C++实现)
  • Deformable DETR:Deformable Transformers for End-to-End Object Detection论文学习
  • 【从零开始入门unity游戏开发之——C#篇26】C#面向对象动态多态——接口(Interface)、接口里氏替换原则、密封方法(`sealed` )
  • Springboot项目本地连接并操作MySQL数据库
  • 数据结构概念介绍