ESP32-S2 Arduino开发环境搭建

news/2025/3/29 20:37:08/

ESP32-S2 Arduino开发环境搭建

目录

  • ESP32-S2 Arduino开发环境搭建
    • 前言
    • 1 安装Arduino IDE
      • 1.1 下载Arduino IDE
      • 1.2 安装Arduino IDE
    • 2 在Arduino IDE上安装esp32库
      • 2.1 在线安装
      • 2.2 半离线安装
    • 结束语

前言

ESP32-S2是继ESP32之后新出的一款的MCU,它和ESP32最大的区别在于ESP32-S2有USB接口,虽然使用的只是USB1.1协议,但是相比于串口而言传输速度还是要快很多的。对于音频或者视频等数据的传输,使用usb明显要比串口有优势。
我在网上查阅了ESP32-S2相关的资料,发现关于这个MCU的资料很少,而且很多资料都已经过时了,害我走了些弯路。
事情大概是这样子的:
因为在Arduino下载esp32库之前要先添加一个网址用来引导,而这个网址的内容一直没有更新,导致我能下载最新的esp32库还停留在1.0.6版本,让我误以为这个版本就是最新的了。而这个版本是不兼容ESP32-S2这个芯片的,于是我只能在这个库的基础上去改代码,然后连锁反应出现了各种问题,因为原来的架构不是很合理,每当我解决了一个问题又会出现新的问题,代码越改越多,搞得我很烦躁。直到后面我打开了esp32库所在的github仓库,发现esp32已经更新好几个版本了,而且已经兼容了ESP32-S2,只是网上的教程资料一直没人更新,于是我就想着重新整理一下,写一篇适合现在使用的教程。

1 安装Arduino IDE

1.1 下载Arduino IDE

Arduino官网地址:https://docs.arduino.cc/
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
提示:我这里当前最新的版本是1.8.16的,直接下载最新版本的就行了,(如果需要下载旧版的话可以在下面一点Previous Releases这里点进去)。
还有一点要注意的,安装包要下载这个windows的不要下载windows app,windows app是阉割版的。

1.2 安装Arduino IDE

打开安装包一路next即可。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

2 在Arduino IDE上安装esp32库

2.1 在线安装

1)添加开发板管理器网址
打开Arduino IDE,依次打开 文件 -> 首选项,在“附加开发板管理器网址”一栏添加下面任意一个网址。

https://www.arduino.cn/package_esp32_index.json
https://www.arduino.cn/package_esp32_dev_index.json
https://raw.githubusercontent.com/espressif/arduino-esp32/gh-pages/package_esp32_dev_index.json

注:网上很多ESP32的教程给的是另外一个网址,用那个网址的话,在安装esp32开发板时能下载的最新版本是1.0.6,这个版本只支持ESP32,是不兼容ESP32-S2和ESP32-C3的,而我上面提供的这个是可以下载2.0.0以上版本的。
在这里插入图片描述

2)重新启动Arduino IDE
添加网址之后关闭Arduino IDE,再重新打开。

3)下载安装esp32库
依次打开 工具 -> 开发板-> 开发板管理器,找到esp32并安装(可以通过搜索快速找到)。
提示:一定要安装2.0.0以上版本,旧版本不支持ESP32-S2和ESP32-C3。
在这里插入图片描述
在这里插入图片描述
提示:因为下载的路径是在github上面的,在国内访问不太稳定,可能会出现下载出错,缓慢,卡死等现象,可以尝试重新下载或者换个时间下载(库文件内存其实不大,就是下载不稳定,我这边下载的时候出错了好几次,多次重新下载之后就下载完了),还有一种办法是通过离线操作的,但是据说离线的方法可能会有一些其他的问题,如果不着急的话最好还是通过在线正规的方法安装。

如果需要离线下载的话可以到Github下载,链接:https://github.com/espressif/arduino-esp32

安装完成后,打开 工具 -> 开发板,就可以看到ESP32S2。
在这里插入图片描述

2.2 半离线安装

原理大概是这样的,先下载好esp32库的压缩包,然后放到安装的目录下,最后再按照在线下载的方式安装。
其实这个方法本质上还是在线安装,只是把Arduino IDE下载这个步骤改成手动了。因为使用Arduino IDE下载的话下载速度很慢,而且经常会出现下载中断、失败等问题,而如果通过浏览器的话下载会更加稳定。

esp32的库压缩包我们可以通过上面添加的开发板管理器网址获取。
比如:https://www.arduino.cn/package_esp32_index.json
通过浏览器打开这个网址我们可以看到v2.0.2版本的下载地址是:
https://github.com/espressif/arduino-esp32/releases/download/2.0.2/esp32-2.0.2.zip
在这里插入图片描述
直接打开这个网址我们就可以下载这个压缩包。想下载哪个版本直接打开对应的网址就行了。
提示:如果你要使用ESP32-S2的USB功能建议下载v2.0.1版本,因为我发现v2.0.2有个结构体usb_host_client_config_t改了,导致ESP32TinyUSB库(v1.3.5版本)用到这个结构体的一个函数报错了,需要修改定义,如果用v2.0.1版本的话是直接兼容的。

下载完成后我们要把这个压缩包放到安装目录下。
这个路径的根目录可以在Arduino IDE的首选项里面看到。点击一下这个路径就可以弹出文件窗口。然后进入staging\packages目录,并把下载好的压缩包放到这个目录下。
在这里插入图片描述
在这里插入图片描述
最后按照上面 (2.1在线安装)的步骤走一遍。这个时候你会发现下载的过程一下子就完成了,直接进入了安装的流程。
等待安装完毕即可使用。

这个方法其实是我无意中发现的,测试了两台设备都是可行的,应该是一个通用的方法。如果你遇到了其他问题,请一定要联系我纠正,谢谢!

结束语

好了,关于ESP32-S2 Arduino的环境搭建就介绍到这里,整个流程其实非常简单,后面我会继续出一期ESP32-S2 USB的使用方法。如果还有什么问题,欢迎在评论区留言或者私信给我。

Arduino开发教程汇总:
https://blog.csdn.net/ShenZhen_zixian/article/details/121659482


http://www.ppmy.cn/news/191825.html

相关文章

STC15F2K60S2单片机笔记

1. 对时钟进行分频,可以降低系统功耗; 2. STC单片机上电复位的时候,普通I/O口为弱上拉(准双向口)高电平输出。 这些IO口均可配置为四种工作类型之一:弱上拉(准双向口)高电平输出、…

【DVB】DVB-S2和DVB-S的区别

DVB-S.2作为新一代数字卫星广播标准即将出台,草案已正式发布,新标准在提升原有信道传输容量的同时,还将大大拓展业务范围,得到了广电、电信、计算机等领域的广泛关注。在与以往标准相比较的基础上,本文阐述了新标准技术…

S2B2C模式学习总结

版权声明:本文为博主原创文章,未经博主允许不得转载。 5月26日,曾鸣教授在天猫智慧供应链开放日的论坛上发表了一次演讲,在这次演讲中曾鸣教授提出了S2b的概念,这是对新零售、新商业未来的创新思考。 S代表着大的供应平…

S2-052 远程代码执行漏洞检查利用

2017年9月5日,Apache Struts发布最新安全公告,Apache Struts2的REST插件存在远程代码执行的高危漏洞,该漏洞由lgtm.com的安全研究员汇报,漏洞编号为CVE-2017-9805(S2-052)。Struts2 REST插件的XStream组件存…

使用 AntV S2 打造大数据表格组件

导读 在蚂蚁的大数据研发平台中,数据表格是一类重要的业务组件。我们需要流畅的展示 SQL 查询出来的上万条结果,并对结果做筛选、排序、搜索、复制、框选、聚合分析等操作。同时也存在数据手工录入的场景,需要表格有可编辑的能力。所以我们最…

S2-045漏洞之简单分析+实战

##0X00 前言: 尽管s2-045的poc已经烂大街了,博主只是想学习了解一下它的用法,顺带写了一个测试小工具。 ##0x01 漏洞简介 Apache Struts是一套用于创建企业级Java Web 应用的开源MVC框架 。 Apache Struts 2.3.5 – 2.3.31版本及2.5 – 2.5.…

S2-016 远程代码执行漏洞

在struts2中,DefaultActionMapper类支持以"action:"、“redirect:”、"redirectAction:"作为导航或是重定向前缀,但是这些前缀后面同时可以跟OGNL表达式,由于struts2没有对这些前缀做过滤,导致利用OGNL表达式…

openshift s2i 过程详解

1、概念介绍 openshift的s2i过程是把基础镜像和源代码结合,生成可以运行的applanation镜像的过程,先来明确两个概念, 1、builder image 包含编译环境的基础镜像,比如golang:1.8 2、runtime image 编译以后&#xff…