ESP32学习二-环境搭建(ESP-IDF V5.0,Ubuntu18.4)

news2024/11/14 17:32:25

 一、准备事项

        Ubuntu 18.04.5。具体安装可以参考如下链接。使用VMware安装Ubuntu虚拟机和VMware Tools_t_guest的博客-CSDN博客

        乐鑫官方也提供了安装的相关操作。有兴趣可以参考。

快速入门 - ESP32 - — ESP-IDF 编程指南 v5.0.1 文档

        注:提前说明,因为ESP-IDFV5.0的版本比较高,编译所需要的python和cmake版本都比较高,而ubuntu18.4环境的这些软件版本都不满足,需要做额外升级。不喜欢麻烦的同学可以直接看下一篇文章,用高版本的ubuntu来安装ESP-IDFV5.0

ESP32学习三-环境搭建(ESP-IDF V5.0,Ubuntu20.4)_t_guest的博客-CSDN博客

        有头铁的同学可以继续往下阅读。 

二、安装IDF       

1.安装必要的工具链

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

        如果系统报错,可以 在指令的最后加上--fix-missing。

         一定要保证所有工具链都安装了,否则后续安装会出错。

        成功的标志如下:

        

2.安装ESP-IDF

        2.1获取ESP-IDF

        通过如下代码来获取ESP-IDF。

mkdir ~/esp
cd ~/esp
git clone -b release/v5.0 --recursive https://github.com/espressif/esp-idf.git

         成功后显示如下

     

        2.2设置工具

        这里根据自己使用的芯片来。以ESP32为例

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

         如果需要为多个目标芯片开发项目,则可以一次性指定多个目标,如下所示:

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

        ESP-IDF 工具安装器会下载 Github 发布版本中附带的一些工具,如果访问 Github 较为缓慢,可以设置一个环境变量,从而优先选择 Espressif 的下载服务器进行 Github 资源下载。

        要在安装工具时优先选择 Espressif 下载服务器,请在运行 install.sh 时使用以下命令:

cd ~/esp/esp-idf
export IDF_GITHUB_ASSETS="dl.espressif.com/github_assets"
./install.sh

        注:如果使用的IDF的版本比较新,需要python的版本就会比较高,比如我们下载的IDF版本是5.0即以上。那么需要的python版本就必须是3.7或者更高的版本。如果此时python版本低于3.7.则会直接报错

   

         此时,需要更新自己的python版本。关于如何升级python版本,见另一篇文章。

ESP32学习二-更新Python版本(Ubuntu)_t_guest的博客-CSDN博客

        升级成功后,再次安装。

       

        继续报错,提示没有python3的虚拟环境。

         按如下文章链接解决。

https://blog.csdn.net/qq_26226375/article/details/130264752?csdn_share_tail=%7B%22type%22%3A%22blog%22%2C%22rType%22%3A%22article%22%2C%22rId%22%3A%22130264752%22%2C%22source%22%3A%22qq_26226375%22%7D

        修复后,再次运行安装

./install.sh

         安装成功!

三、编译

         设置环境变量

cd ~/esp/esp-idf
. ./export.sh

         设置环境变量成功。切换到demo工程下,编译工程。

cd examples/get-started/hello_world
idf.py build

        又报错。提示cmake的版本过低

         按照如下链接进行修复。

https://blog.csdn.net/qq_26226375/article/details/130265617?csdn_share_tail=%7B%22type%22%3A%22blog%22%2C%22rType%22%3A%22article%22%2C%22rId%22%3A%22130265617%22%2C%22source%22%3A%22qq_26226375%22%7D

         修复后,再次运行idf.py build

        成功!!! 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/453230.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Android权限描述

问题 我们常常在写apk的时候申请一些相关权限。想知道每个权限的作用&#xff0c;可以查询权限声明的地方。 1、三方页面&#xff1a; https://manifestdestiny.reveb.la/ 2、源码注释 /frameworks/base/core/res/AndroidManifest.xml <!-- SystemApi TestApi Allows a…

部署 Exsi 7.0.3

文章目录 1. 下载介质2. u盘引导安装启动盘3. 硬件连接4. 安装 EXSI 7.0.3 1. 下载介质 下载 VMware-VMvisor-Installer-7.0U3l-21424296.x86_64.iso 安装 EXSI 7.0.3 可参考: https://www.dinghui.org/vmware-iso-download.html 2. u盘引导安装启动盘 工具 https://www.v…

fitlog使用教程(持续更新ing...)

诸神缄默不语-个人CSDN博文目录 fitlog包是用于自动版本管理和自动日志记录的Python包&#xff0c;是fastNLP团队开发的。 fitlog 中文文档 — fitlog 文档 他们团队的文档写的真的不行&#xff0c;崩溃&#xff0c;FastNLP也很难用&#xff0c;fitlog也很难用&#xff0c;中…

数据库系统概论--第四章课后习题

1.什么是数据库的安全性&#xff1f; 答&#xff1a; 数据库安全&#xff0c;是指以保护数据库系统、数据库服务器和数据库中的数据、应用、存储&#xff0c;以及相关网络连接为目的&#xff0c;是防止数据库系统及其数据遭到泄露、篡改或破坏的安全技术。 数据库安全与一般应…

超级国际象棋:第二个里程碑已完成

获取Cartesi资助的项目的最新进展&#xff0c;现在将完全去中心化的Web3国际象棋带到你的手中 “Ultrachess是一个完全基于区块链的国际象棋应用程序&#xff0c;由Cartesi Rollup技术支持&#xff0c;允许用户将真实价值投入到比赛中&#xff0c;不仅仅是他们的Elo分数。 此…

Controller里面的重定向无法跳转网址

Controller里面的重定向无法跳转网址时&#xff0c;需要在要跳转的页面地址前面加上tomcat里面的本项目的总网址&#xff0c;如下图所示

代码随想录之平衡二叉树

本题思路是针对高度&#xff0c;只不过是判断高度之差的绝对值是否大于1罢了&#xff0c;这里引入特殊变量-1用来说明不是平衡二叉树 如果左右子节点对应的子树有一个不是平衡二叉树就一直-1返回到头了。 只有全是平衡二叉树时才正常运行完。 class Solution { public:int tra…

Windows 下 GitKraken 6.5.1免费版本安装

文章目录 1. 安装 6.5.1 版本2. 更换快捷方式3. 登录 用过 GitKraken 都说好&#xff0c;不过&#xff0c;GitKraken 从 6.5.3 版本开始收费&#xff0c;它的最后一个免费版本是 6.5.1 &#xff0c;当你使用收费版本而又未付费时&#xff0c;使用 GitKranken 将无法打开私有仓库…

【学习资源】终身机器学习之增量学习

从机器学习存在的问题谈起&#xff0c;介绍增量学习可以解决怎样的问题&#xff0c;增量学习的类别&#xff0c;实现增量学习的方法&#xff0c;增量学习的评价指标和常用数据集&#xff0c;类别增量学习典型方法和代码库以及参考资源&#xff0c;希望能帮助大家用增量学习提高…

产品结构优化叠加渠道红利释放,劲仔食品是下一个食品大牛股吗?

A股有着独特的“四条鱼”标的&#xff0c;其中三家都是做大鱼&#xff1a;鳗鱼、三文鱼、罗非鱼。但在消费者这一侧听得最多的&#xff0c;往往是那个“劲仔小鱼”&#xff0c;和它背后的劲仔食品。 这只是一个诙谐的说法&#xff0c;但劲仔食品的业绩质量好&#xff0c;却是不…

Flutter 状态管理框架 Provider 和 Get 原理分析

为什么需要状态管理&#xff1f; 首先&#xff0c;为什么需要状态管理&#xff0c;这是因为 Flutter 基于 声明式 构建 UI &#xff0c;使用状态管理的目的之一就是解决「声明式」开发带来的问题。 「声明式」开发是一种区别于传原生的方式&#xff0c;所以我们没有在原生开发…

Java8特性之Lambda表达式

1.概念 lambda表达式是Java8的一个新特性&#xff0c;从本质上来讲是一个匿名函数&#xff0c;可以使用这个匿名函数实现接口中的方法&#xff0c;并且非常简洁。 通常来讲&#xff0c;使用 lambda表达式 是为了简化接口实现的。关于接口实现&#xff0c;可以有很多种方式来实…

MongoDB多字段重复数据的查询与删除

MongoDB的语法平时接触的不错&#xff0c;更多的是使用关系型数据库。最近遇到一个问题&#xff0c;在MongoDB中&#xff0c;需要找出三个字段重复的数据&#xff0c;有点类似于SQL数据中的三个字段组成的唯一键。并且需要将重复的数据保留一条&#xff0c;其余删除。但是在Mon…

跌倒检测和识别3:Android实现跌倒检测(含源码,可实时跌倒检测)

跌倒检测和识别3&#xff1a;Android实现跌倒检测(含源码&#xff0c;可实时跌倒检测) 目录 跌倒检测和识别3&#xff1a;Android实现跌倒检测(含源码&#xff0c;可实时跌倒检测) 1. 前言 2. 跌倒检测数据集说明 3. 基于YOLOv5的跌倒检测模型训练 4.跌倒检测模型Android…

Kubernetes----Pod,资源对象文件

kubectl容器管理 kubectl用于控制Kubernetes集群的命令行工具 语法格式 kubectl [command] [type] [name] [flages] command: 子命令&#xff0c;如create&#xff0c;get,describe,delete type: 资源类型&#xff0c;可以表示为单数&#xff0c;复数形式或缩写形式 name: 资…

2023年4月份上新的图像领域分割模型设计系列论文(一)

来源&#xff1a;投稿 作者&#xff1a;王老师 编辑&#xff1a;学姐 论文1 论文标题&#xff1a; Learning Semantic-Aware Knowledge Guidance for Low-Light Image Enhancement 论文链接&#xff1a; https://arxiv.org/pdf/2304.07039v1.pdf代码链接&#xff1a; https://…

Java性能优化之序列化优化

1、Java 序列化及其缺陷 Java 提供了一种序列化机制&#xff0c;这种机制能够将一个对象序列化为二进制形式&#xff08;字节数组&#xff09;&#xff0c;用于写入磁盘或输出到网络&#xff0c;同时也能从网络或磁盘中读取字节数组&#xff0c;反序列化成对象&#xff0c;在程…

无法启动此程序,因为计算机中丢失VCRUNTIME140.dll”错误的解决办法

vcruntime140.dll是什么什么文件呢&#xff1f;为什么电脑在运行一些游戏或许软件的时候会出现丢失vcruntime140.dll&#xff0c;然后游戏或许软件运行失败?这个dll文件是电脑重要的运行库文件。丢失了会导致很多程序无法运行。 首先打开电脑浏览器以后在顶部网页栏目输入&am…

MATLAB实现图像滤波及噪声消除

图像增强是指根据特定的需要突出一幅图像中的某些信息&#xff0c;同时削弱或去除某些不需要的信息的处理方法。其主要目的是使处理后的图像对某种特定的应用来说&#xff0c;比原始图像更适用。因此&#xff0c;这类处理是为了某种应用目的而去改善图像质量的。处理的结果使图…

ROS学习第三十六节——Gazebo仿真环境搭建

https://download.csdn.net/download/qq_45685327/87719408 1.直接添加现成模型 1.1加入环境模型 在工程文件中创建worlds文件夹&#xff0c;并把之前下载的box_house.world文件放入 1.2编写launch文件 deamo03_car_world.launch <launch><!-- 将 Urdf 文件的内容…