Arduino ESP32 v2 使用记录:开发环境搭建

news2024/11/24 13:50:00

文章目录

  • 目的
  • 开发环境搭建
  • 程序下载测试
  • 使用VS Code进行开发
  • 批量烧录固件到模块中
  • 总结

目的

在之前的文章 《使用Arduino开发ESP32(01):开发环境搭建》
中介绍了使用Arduino开发ESP32的开发环境搭建内容,只不过当时的 Arduino core for the ESP32v1 版本的。现在更新到 v2 版本后有一些改动,同时 Arduino IDE 也有改动,所以这里就对当前情况下的开发环境搭建做个记录。

Arduino core for the ESP32 项目地址:https://github.com/espressif/arduino-esp32
项目
ESP32 Arduino Core 文档:https://docs.espressif.com/projects/arduino-esp32/en/latest/index.html

开发环境搭建

开发环境搭建官方也有文档介绍:https://docs.espressif.com/projects/arduino-esp32/en/latest/installing.html
这里介绍在 Windows 上使用 Arduino IDE 搭建开发环境的方式。

下载安装 Arduino IDE (当前版本为 2.1.1 ):
https://www.arduino.cc/en/software
初次安装完成打开后可能会下载安装一堆库和驱动等。

安装完成后在开发板管理中搜索ESP32直接就可以找到开发板数据包(当前版本为 2.0.11 )进行安装:
在这里插入图片描述

如果搜索不到开发板数据包的话可以在 File > Preferences > Settings > Additional boards manager URLs 中添加下面的数据包链接后重启软件再试:
https://espressif.github.io/arduino-esp32/package_esp32_index.json

因为网络原因,安装非常耗时:
在这里插入图片描述
在这里插入图片描述

如果安装困难请参考下面文章:
《Arduino core for the ESP32 安装失败问题处理方法》https://blog.csdn.net/Naisu_kun/article/details/114582503

程序下载测试

选择对应的开发板或者模块,选择之后可以进行进一步的设置:
在这里插入图片描述

新建 test 文件夹,其中新建 test.ino 文件(主文件名必须和文件夹名称一样),文件内容与程序测试如下图:
在这里插入图片描述

使用VS Code进行开发

使用 Arduino IDE 开发对于小的Demo还行,项目稍大的话就不太方便了,可以使用 VS Code 进行开发,具体的使用可以参考下面文章:
《使用VS Code开发Arduino》https://blog.csdn.net/Naisu_kun/article/details/120201633

需要注意的是目前版本下默认就会推荐使用 arduino-cli
Arduino IDE 2.1.1VSCode 1.81.1Arduino扩展v0.6.0),安装扩展重启软件打开项目时会进行提示,也可以手动进行配置:
在这里插入图片描述

批量烧录固件到模块中

批量烧录固件到模块中内容可以参考 《使用Arduino开发ESP32(01):开发环境搭建》 文章中同名章节。

稍稍有一点需要注意的是之前文章中介绍的对于各块内容的查找位置其实是有点问题的。根据配置不同理论上是会生成不同的固件的,所有固件都会在 Arduino IDE 编译的项目的临时文件夹下,可以去其中找到相关内容,问题是临时目录名称是不固定的,随意查找需要一点经验。

但现在如果使用 VS Code 进行开发,在项目目录下的 .vscode 目录中的 arduino.json 文件中添加了 "output": "./build" 内容。那么编译生成的所有内容就会在项目目录下 build 目录中:
在这里插入图片描述

需要注意的是 boot_app0.bin 文件在 用户目录\AppData\Local\Arduino15\packages\esp32\hardware\esp32\版本号\tools\partitions 下:
在这里插入图片描述

几个文件与其对应烧录位置如下会随着不同的模块不同的Flash配置等有差异,可以通过 Arduino IDE 下载程序时输出的日志来获取(根据文件大小来分辨):
在这里插入图片描述

有了上面信息之后就可以使用乐鑫官方的 Flash 下载工具 进行下载了:
https://www.espressif.com.cn/zh-hans/support/download/other-tools 。

这个工具也可以把几块内容合并为一块内容:
在这里插入图片描述
合并后的固件烧录地址通常为0。

总结

Arduino ESP32 v2v1 版本开发环境搭建上来说基本没啥太大区别。

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

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

相关文章

写一个函数返回参数二进制中 1 的个数(c语言三种实现方法)

(本文旨在自己做题时的总结,我会给出不同的解法,后面如果碰到新的题目还会加入其中,等于是我自己的题库。 1.写一个函数返回参数二进制中 1 的个数。 比如: 15 0000 1111 4 个 1 方法一: #include…

Kubernetes 调度约束(亲和性、污点、容忍)

目录 一、Pod启动典型创建过程 二、调度流程 三、指定调度节点 1.使用nodeName字段指定调度节点 2.使用nodeSelector指定调度节点 2.1给对应的node节点添加标签 2.2修改为nodeSelector调度方式 3.通过亲和性来指定调度节点 3.1节点亲和性 3.2Pod亲和性与反亲和性 3.2…

SAP MM学习笔记18- SQVI 工具

Tr-cd SQVI 是一个SAP数据库工具。 使用这个工具,可以自己构建查询界面中的条件,查询对象,从而自由查询数据,实现标准没有的功能。 1,SQVI 和 SQ1,SQ2,SQ3 的不同 SQ1,2&#xff0…

【hello C++】智能指针

目录 一、内存泄漏 1.1 什么是内存泄漏,内存泄漏的危害 1.2 内存泄漏分类 1.3 如何检测内存泄漏 1.4 如何避免内存泄漏 二、智能指针的使用及原理 2.1 RAII 2.2 智能指针的原理 2.3 智能指针的发展历程 2.4 智能指针的模拟及实现 三、shared_ptr 常见的问题 3.1 线程…

10.pod资源限制和健康检查

文章目录 资源限制探针(健康检查)启动、退出动作总结 资源限制 当定义 Pod 时可以选择性地为每个容器设定所需要的资源数量。 最常见的可设定资源是 CPU 和内存大小,以及其他类型的资源。当为 pod 中的容器指定了 request 资源时&#xff0c…

5. vue-element-admin 二次开发攻略指南

vue-element-admin一站式后端 UI框架二次开发攻略指南 1.1 前言1.2 修改 Logo 名称和图标1.3 控制设置齿轮是否显示或隐藏1.4 框架安装依赖优化脚本1.5 定义多环境配置文件1.6 优化打包流程1.7 优化打包流程输出文件路径配置1.8 nginx 配置1.9 docker file 配置 2. 代码地址 1.…

计算机网络-专业术语

计算机网络-专业术语 实体 实体:任何可发送或接收信息的硬件或软件进程 对等实体:收发双方相同层次中的实体 协议 控制两个对等实体进行逻辑通信的规则的集合 协议三要素 语法 定义所交换的信息的格式 是用户数据与控制信息的结构和格式 语义 定义收发双方所需要完成的操作…

STM32CubeMX之freeRTOS信号量

队列可以传输数据,任务之间和任务和中断之间,消息队列用来传数据,占用时间也长 但哦我们有时候只需要传递状态,只需要一个数值表示 如果我们屏幕按固定刷新,就会很消耗资源,如果我们数据变化了&#xff0…

Hadoop+Python+Django+Mysql热门旅游景点数据分析系统的设计与实现(包含设计报告)

系统阐述的是使用热门旅游景点数据分析系统的设计与实现,对于Python、B/S结构、MySql进行了较为深入的学习与应用。主要针对系统的设计,描述,实现和分析与测试方面来表明开发的过程。开发中使用了 django框架和MySql数据库技术搭建系统的整体…

人工智能讲师AIGC讲师叶梓:大模型这么火,我们在使用时应该关注些什么?-2

以下为叶老师讲义分享: P6-P9 一些考验大模型的经典问题: 1、鲁迅与周树人是同一个人吗?2、圆周率的最后一位3、蓝牙耳机坏了4、最新的:奶奶的睡前故事 关于事实的问答结果: 知识的时效性: 未完,下一章继续……

java程序打包成exe在无java环境执行

最近写了个小工具,但是java写的,给朋友用的时候不能直接用,因此学习了一下java打包成exe。 众所周知,java需要jvm环境,所以打包的时候需要把稍微轻一点的jre打包进去。接下来是详细步骤。 java程序打包成jar 这个在…

C#随机法 双峰函数 求极值 避免落入局部最优解

避免落入局部最优解,只要让步长够长即可。 x1 resultX1 random1.NextDouble()*100; 如果后面不乘以100,则很大概率落入负数的最大值 Random random1 new Random(DateTime.Now.Millisecond);double x1 0, resultX10,max-999999,maxTemp0;for (int i …

【学会动态规划】买卖股票的最佳时机 III(17)

目录 动态规划怎么学? 1. 题目解析 2. 算法原理 1. 状态表示 2. 状态转移方程 3. 初始化 4. 填表顺序 5. 返回值 3. 代码编写 写在最后: 动态规划怎么学? 学习一个算法没有捷径,更何况是学习动态规划, 跟我…

骨传导耳机对人体有什么危害,骨传导耳机优缺点是什么?

骨传导耳机对人体有没有伤害? 骨传导耳机的专属挂耳式佩戴方式,不需要将耳机塞入耳朵或者是住整个耳朵,开放双耳的全新佩戴体验,在听音乐的同时不会屏蔽我们的耳朵提取其它信息,能让我们及时听到周围环境音&#xff0c…

tensorRT_Pro 项目实践

参考:https://github.com/shouxieai/tensorRT_Pro/blob/main/tutorial/README.zh-cn.md 前提: https://www.cnblogs.com/odesey/p/17619218.html https://www.cnblogs.com/odesey/p/17619240.html ubuntu20.04opencv4.2cuda11.8cuDNN v8.9.0 (July 1…

【Python】背景及环境搭建

文章目录 了解计算机一、Python背景知识一、Python环境搭建 努力经营当下 直至未来明朗 了解计算机 示例:使用电脑访问B站 1) 本地的计算机会给B站服务器发送一个网络请求(如:谁,想看哪个视频) 2&#xf…

WPS Office 代码执行漏洞(QVD-2023-17241)

目录 本地利用弹计算器(自娱自乐) 原理分析 msf的利用 1.修改win11中的hosts文件 2.MSF生成一个C#后门 3.shellcode替换 4.在创建html的目录,用python打开http服务来捕获请求 5.开启监听 6.在win11中点击poc文档,可以看到k…

0001nginx简介、相关模型与原理

文章目录 一. 什么是Nginx二. ngnix的一些模型1、nginx的进程模型2、worker的抢占(锁)机制模型3. nginx事件处理模型 三. nginx加载静态资源的过程 一. 什么是Nginx Nginx是一个高性能HTTP反向代理服务器,以下是nginx的相关能力 反向代理&am…

通过matlab对比music,mvdr以及tdoa三种定位算法的性能

目录 1.算法运行效果图预览 2.算法运行软件版本 3.部分核心程序 4.算法理论概述 4.1 MUSIC(Multiple Signal Classification) 4.2 MVDR(Minimum Variance Distortionless Response) 4.3 TDOA(Time Difference o…

使用宝塔面板轻松部署云服务器

作者 : SYFStrive 博客首页 : HomePage 📜: 宝塔面版 📌:个人社区(欢迎大佬们加入) 👉:社区链接🔗 📌:觉得文章不错可以点点关注 &#x1f449…