在Arduino IDE上开发ESP32(离线安装SDK)

news2024/11/28 12:32:43

b6546d2d9d9dbd8482935b4b405994d9.png

用过Arduino的朋友都知道,Arduino的整个生态强大得让你不能不服。大家所贡献出来的各种库让基于Arduino的开发虽然还没有变得无所不能,但也算是相当得心应手了。你所能想到的功能大体都能在网上找到对应的库和文章。可能是因为这个原因吧,所以很多的开发板也开始兼容Arduino了。几个月前分享给你的是STM32的,这东西非常便宜,适合一些小项目。这次想介绍的是ESP32,它的价格大概是20多块钱左右,但它天生就自带Wifi和蓝牙,性能和存储空间也都比较不错。而最让我兴奋的是它的ESP32-CAM这个型号。它不仅有Wifi和蓝牙,竟然还自带了摄像头和SD卡槽。再加上它竟然可以运动TinyML,也就是说,它可以运行训练好的人工智能模型了!那我自然会想到用它来做一些视觉性的识别功能了。比如说:

  • 分辨镜头里的是小狗还是小猫
  • 识别镜头里有没有人脸
  • 识别镜头里有没有汽车
  • 识别静态的手势

当然了,价格在那,表示着成本就这么多,不能期望它能做到越强的人工智能效果,但是几个简单的人工智能模块的联动还是可以有很大的想像空间的,你觉得呢?

本来在Arduino IDE上使用ESP32并不难,基本上跟我之前介绍的STM32差不多的方式,但是因为国内访问Github不太方便,我寻找国内安装的方式还是花了些时间。为了让大家不用再花这种时间,这里分享国内可用的离线安装方法。

强调!能有这样的方便,不是我的功劳,而是另一个社区朋友们的功劳,原链接如下。你也可以直接参考他们的说明呵。

🚀Arduino IDE安装esp32 SDK(Windows)2022.9.17更新-Arduino爱好者 - Powered by Discuz!社区的esp32/8266开发交流群 6810292561.先安装好ArduinoIDE(如果已安装,直接跳到第二步)下载Arduino IDE2.打开Arduino IDE菜单 > 文件 >首选项,在 附加开发板 ...https://www.arduino.cn/thread-81194-1-1.html

本文我是想写得比较简单易读,如果哪里写得不够清楚,希望你能留下评论告诉我,我会马上将它完善。我不希望重复造轮子,但发现没有好用的轮子时,希望能进化出一个更为完善的轮子,以使后来可以直接使用。

目录

在Arduino 1.8.19开发环境中增加ESP32(离线安装)

1️⃣ 添加“附加开发板管理网址”

2️⃣ 增加ESP32开发板,安装离线SDK包

3️⃣ 选择ESP32开发板

4️⃣ 写测试代码

5️⃣ 下载程序到ESP32-CAM(或者叫烧录)


在Arduino 1.8.19开发环境中增加ESP32(离线安装)

1️⃣ 添加“附加开发板管理网址”

1. 找到“首选项”

2. 修改“附加开发管理器网址”

链接是这个,直接拷贝进去就行。

https://www.arduino.me/package_esp32_index.json

如果你对它好奇怪,也不要管它。因为它只是一个假链接,用来让Arduino IDE能识别到你增加了ESP32这种开发板的,让菜单中增加ESP32开发板,以使后面安装的ESP32 SDK能起作用。这一步在一些旧版本中可以省去,但具体是哪个版本以下可以省去,我并没有测试。

3、然后点击界面上的“好”。就完成了这一步。

2️⃣ 增加ESP32开发板,安装离线SDK包

1. 下载安装包,安装包链接如下:

🚀安装包:esp32_package_2.0.5_arduinocn.exehttps://www.123pan.com/s/dJrKVv-tyYB

下载完后,你会看到这个文件:

2. 双击它,然后它就是开始安装了。

完成之后,SDK包就安装好了。👍

3️⃣ 选择ESP32开发板

关闭Arduino IDE,并重新打开它。

然后在这里你就能看到所有支持的ESP32开发板了。我所选的"AI Thinker ESP32-CAM"就是ESP32-CAM。

4️⃣ 写测试代码

我们用自带的Blink示例来测试。我使用的是ESP32-CAM来测试。它上面自带了一个起闪光

灯作用的LED灯,这个灯对应的引脚为GPIO4,所以使用时,咱们直接用4来表示就可以了。

void setup() {
  // initialize digital pin LED_BUILTIN as an output.
  pinMode(4, OUTPUT);
}

// the loop function runs over and over again forever
void loop() {
  digitalWrite(4, HIGH);   // turn the LED on (HIGH is the voltage level)
  delay(1000);                       // wait for a second
  digitalWrite(4, LOW);    // turn the LED off by making the voltage LOW
  delay(1000);                       // wait for a second
}

写完代码,就可以编译和下载了。

5️⃣ 下载程序到ESP32-CAM(或者叫烧录)

1. 关于连线

如果你买了ESP32专用的开发底座或者扩展板的话,那你只需要将开发板装上去,然后接上MicroUSB就可以了。但我们其实很多时候是要将开发板放到面包板或者PCB板上,这时我们就要知道怎么连线进行程序下载了。

首先,咱们需要有USB转TTL(下图这个东西),通过它,我们就能让电脑可以跟开发板进行通信了。而通信的方式称为UART,其实就是一种串口通讯方式。

要使用UART通讯,首先要找到开发板上的TXD和RXD。Arduino板子上是有直接标的,所很多开发板没有直接在板子上标出来,这时就需要找到数据手册(Datasheet),或者在网上找到图片参考。比如这块板子:

还有ESP32-CAM是在这里:

而具体接给的方式如下:

USB转TTLESP32
3v33v3/5V (使用电脑供电时要接,否则可以不接)
GNDGND (无论是否用电脑供电都要接)
TXDRXD
RXDTXD

2. 进入烧写模式

要下载程序的话,仅仅是连上线还不行,我们还要让ESP32进入烧写模式。具体的做法是让GPIO 0接地。

1) 先找到GPIO 0

2) 然后找一要“母对母”的杜邦线短路就行

 3)按RST让开发板重启,或者断电再接上电也可以。

3. 下载

确认连线没有问题,ESP32也进入烧写模式,我们就可以点击下载了。

看到下面这个提示就表示下载完成。

 

注意!当下载完成后,记得将GPIO 0和GND上的杜邦线去掉,然后RST一次。

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

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

相关文章

Redis整理-未完成

目录 1. Redis安装 1.1 单机 1.2 主从 1.3 哨兵 1.4 集群 1.4.1 方式一 redis-cli --cluster命令 1.4.2 方式二 cluster meet/addslots/replicate 2. Redis配置 2.1 基本参数配置 2.2 持久化配置 2.3 内存策略设置 2.4 主从配置 2.5 哨兵配置 2.6 集群配置 2.6.…

吃透这份 “ 自动化测试 ” 核心技术栈,月薪30K还不是随便叫

为了帮助大家快速回顾学习自动化测试中的知识点,分享一下这些年来,我对于技术一些归纳和总结,和自己对作为一名 高级测试工程师需要掌握那些技能的笔记分享,希望能帮助到有心在技术这条道路上一路走到黑的朋友! 一、L…

[附源码]Python计算机毕业设计SSM基于JAVA快递配送平台(程序+LW)

项目运行 环境配置: Jdk1.8 Tomcat7.0 Mysql HBuilderX(Webstorm也行) Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持)。 项目技术: SSM mybatis Maven Vue 等等组成,B/S模式 M…

语音怎么转换成文字?这几个实用方法分享给你

当我们在听一些流行的英文歌曲时,发现它没有附带翻译的时候,是不是常常听不懂歌曲的意思内容呢?面对这种情况应该怎么办呢?其实也不难,我们只需要利用软件来将歌曲转换成文字的格式就可以了,那你们知道如何…

分布式系统(交互、协作)

文章目录进程组织进程交互传染病协议反熵(Anti-Entropy)闲聊(Gossiping)P2P 路由Circular routingPastry应用层多播ESMScribe中间件通信协议RPCMOM进程协作有序组播基本组播FIFO 组播全排序组播定序者分布式协商因果序组播分布式互…

基于SSM框架的酒店管理系统

基于SSM框架的酒店管理系统开发工具(eclipse/idea/vscode等): 数据库(sqlite/mysql/sqlserver等): 功能模块(请用文字描述,至少200字): 看每个等级模块:客白模块,屋工模垫,反怠管理员模垫 客户可…

如何实现采购管理流程的优化?

采购管理流程优化指的是一种整体方法,而不是个人主义的方法。它指的是利用人员、流程和技术来实现最佳价值创造的过程。采购优化的方法可以是:最初的范围界定,数据收集和分析,改进和实施以及跟进和监控。 理解采购管理流程优化 …

oracle学习篇(二)

oracle学习篇(二) 1添加约束 1.1 添加主键约束 1.1.1 语法 alter table 表名 add constraint 约束名 约束关键字 key(添加约束的字段);1.1.2 示例代码 alter table infos add constraint pk_stuid primary key(stuid);1.2 添加检查约束 1.2.1 语法 alter table 表名 ad…

[附源码]Node.js计算机毕业设计高校学生心理健康信息咨询系统Express

项目运行 环境配置: Node.js最新版 Vscode Mysql5.7 HBuilderXNavicat11Vue。 项目技术: Express框架 Node.js Vue 等等组成,B/S模式 Vscode管理前后端分离等等。 环境需要 1.运行环境:最好是Nodejs最新版,我…

numpy.pad()函数详解

目录 函数定义: 示例讲解: 示例1.1 constant: 示例1.2 maximum 示例1.3 constant: 示例2.1 constant: 示例2.2 constant: 函数定义: numpy.pad()函数用于对Numpy数组进行填充。有时需要对Numpy数组进…

Docker 项目快速部署Flask项目

前言 打造 flask gunicron nginx Mysql 环境 nginx Mysql 使用docker 快速部署 使用 supervisor 对 gunicron 做监控 环境:centos7 ,python3.7 flask 篇 flask 项目就不多赘述了。这里贴一下项目的目录,便于解释下面的命令参数。 运行…

​Word怎么转换成PDF格式?这三种方法教你如何转换

怎么把Word文档转换成PDF文件格式呢?相信小伙伴们在办公过程中会习惯使用Word文档来编辑文件,编辑好后如果需要发送文件的话会将文档转换成PDF格式来发送,原因就是PDF格式独有的兼容性和稳定性能够让我们的文件格式不会错乱,这也是…

深入理解Maven的全部配置

深入理解Maven的全部配置1. Introduction1.1 Big Data -- Postgres2. Install2.1 Maven Install2.2 Config Setting.xml2.3 Local Package Install Maven3. Project4.AwakeningMaven Document: https://maven.apache.org/. Maven Download: https://maven.apache.org/download.…

前端富文本设置的表格样式无法展示解决方案

当我们在富文本编辑器里编辑好文本后,发布一看,为什么编辑器预览的内容和实际保存后展示的内容不一致呢。这是因为,大部分编辑器本身会自带一些样式属性,而当获取富文本内容的时候往往是不带这些样式属性的,所以才导致…

【Java_GUI编程】--基本操作你要知道

文章目录一、组件和容器1、JFrame2、面板JPanel3、布局管理器流式布局(从左到右)东南西北中网格布局4、事件监听输入框事件监听键盘监听5、JDialog弹窗6、Icon、ImageIcon标签IconImageIcon7、按钮单选按钮复选按钮8、列表下拉框列表框9、文本框密码框文…

醉三皇酒特别的爱:孙子15年买酒送爷爷,爷爷90箱好酒赠重孙

小强没有万万没有想到,自己不仅会被裁员,而且还妻离子散,最敬爱的爷爷又意外去世。 一、惨遭裁员,一蹶不振 都说程序员是吃年轻饭的,以前不以为然,现在看着手里的裁员告知单,小强也不得不信了。…

Mybatis源码分析(三)SqlSessionFactoryl的初始化

目录一 解析配置文件入口二 解析properties文件三 解析settings文件四 解析typeAliases文件五 解析 Plugin文件六 解析 Environments 文件七 解析Mapper 文件官网: mybatis – MyBatis 3 | 简介参考书籍:《通用源码阅读指导书:MyBatis源码详解…

vscode无法读取头文件问题,改变exe生成路径问题,头文件,源文件分离问题

首先声明一点,我这里演示的基础是源文件都位于项目根目录下的,然后exe文件和头文件可以放在项目的其他任何文件夹中的。 目录 1. vscode自定义头文件包含问题 1.1 首先是我们的c_cpp_peoperties.json文件 1.2 接下来是我们的settings.json文件 2.改变…

String(2)

字符串中的库函数,基本上只要对原来的字符串进行修改,基本上返回的都是一个新的对象 我们先来看一个内存布局图: String s1new String("hello"); String s2new String("world"); String s3s1; 下列程序的输出结果是:输出good和gbc p…

Go开发环境搭建

文章目录Go环境搭建开发工具Visual Studio Code Go 扩展插件时间2022-12-15 Go环境搭建 下载安装Go 国外的官网: https://golang.org/dl/国内的官网: https://golang.google.cn/dl/ 检查版本go version 必须在安装目录执行命令:C:\Program Files\Go>go version…