乐鑫ESP32开发实战笔记-arduino编译器环境搭建【doc.yotill.com】

本文介绍了ESP32的三种开发方式(ESP-IDF、Arduino和MicroPython),重点讲解了ArduinoIDE2的环境搭建步骤,包括软件安装、库管理和开发板管理。
摘要由CSDN通过智能技术生成

ESP32开发实用百例,下载地址:

链接:https://pan.baidu.com/s/1SINZhyFInFmV4cZmzx2frA?pwd=bs6k
提取码:bs6k

=====================================

5.1 开发方式的选择

ESP32 的开发方式主要有三种:ESP-IDF、Arduino 和 MicroPython。

1,ESP-IDF:ESP-IDF 是乐鑫官方推出的开发框架,专门为 ESP32 和其他一些 ESP 系列芯片设计。它提供了一套完整的开发工具和库,可以帮助开发者快速地开发和调试 ESP32 应用程序。ESP-IDF 支持 C/C++语言,并提供了一套完整的 API,可以控制 ESP32 的各种功能和外设。

此外,ESP-IDF 还提供了一个在线编译器和调试器,可以让开发者在云端进行开发和调试。

2,Arduino:Arduino 是一种流行的开源电子原型平台,包括一系列的开发板和开发环境。

Arduino 提供了一种基于 C/C++的语言,使得开发者可以更容易地控制和编程 ESP32。Arduino 开发环境还提供了大量的库和函数,可以帮助开发者快速地构建和测试他们的代码。Arduino 还支持图形化编程,使得初学者和非专业人士也可以轻松地进行开发。本教程选择此开发方式。

3,MicroPython:MicroPython 是一种精简的 Python 3 语言,可以运行在 ESP32 和其他一些微控制器上。它提供了一种简单的方式来编程和控制 ESP32,而且由于 Python 是一种高级语言,它使得开发过程相对快速和简单。开发者可以使用 MicroPython 进行快速原型设计和开发,并且由于 Python 是一种解释型语言,所以可以直接在 ESP32 上运行代码,无需进行编译。

        这三种开发方式各有其优点,开发者可以根据自己的需求和技能水平选择适合自己的开发方式。对于初学者和非专业人士来说,Arduino 和 MicroPython 是一种很好的选择,因为它简单易学,可以快速上手。对于专业人士和对性能有更高要求的开发者来说,ESP-IDF 可能是更好的选择,因为它们提供了更高级的开发工具和更强大的控制能力。另外,正点原子 ESP32-S3 开发板为开发者提供了 MicroPython、Arduino 和 ESP-IDF 三种开发方式的相关例程和教程,这使得开发者可以根据自己的需求和技能水平选择适合自己的开发方式。

5.2 环境搭建

5.2.1 Arduino IDE2 软件安装包下载

        Arudino 集成开发环境,即 Arduino IDE 有两个版本,Arduino IDE1 和 Arduino IDE2。本教程是采用 Arduino IDE2 去编写例程源码的,所以在这里需要下载 Arduino IDE2 软件安装包,可直接到官网地址获取,地址为:https://www.arduino.cc在这里我们将一步一步带大家把软件安装包下载下来,首先进入官网如下所示:

5.2.2 Arduino IDE2 软件安装

        从前面选择电脑存放路径下找到“arduino-ide_2.2.1_Windows_64bit.exe”文件(也可以在正点原子提供的软件资料找到安装文件),双击该 exe 文件,如下图所示。

        初次打开 Arduino IDE 软件,需要等待一段时间,这期间会安装一些库以及安装一些驱动,

比如:Adafruit Industries 的 LLC 端口、Arduino srl 的 Arduino USB Driver、Arduino SA 的 Arduino USB Driver 以及 Arduino LLC 的 Genuino USB Driver,如下图所示。

5.2.3 认识 Arduino IDE2

Arudino IDE2,Arduino 的集成开发环境,具有程序编辑、调试、编译、上传、库管理等功能。Arduino IDE2 的主界面如图所示:

  首次打开 Arduino IDE2 软件,语言默认为英文,怎么设置成上图的中文呢?点击

“File→Preferences”,进入到首选项界面,对 Language 选项设为中文即可,如下图所示:

在首选项中,我们进行如下设置:

  • 项目文件夹地址,即工程存放的位置,当我们新建工程时,默认推荐存放的地方,当然你也可以自行设置存放文件夹。这里有一个选项是是否在 IDE 中进行显示项目中的文件夹,假如打勾,这时候通过左侧工具栏的第一个按钮即可显示该新项目文件夹的文件情况。
  • 设置编辑器字体大小,以及设置界面比例,这些都是默认操作即可。当你觉得字体太小了,自行调整编辑器字体大小参数即可,觉得编辑器界面调小,也可以适当调整界面比列参数。
  • 设置颜色主题,可选为:明亮、暗黑、明亮对比和暗黑对比。
  • 设置编辑器语言,多种语言可以设置,设置后会进行软件重启。
  • 显示详细输出,这里我把编译和上传都勾选了,即项目编译和上传时,在信息显示窗口都会打印出相关信息,便于了解整个过程的执行情况。
  • 编译器警告,这里设置的是无。
  • 上传后验证代码,这里可打勾。
  • 自动保存,这里是要打勾的,以防电脑蓝屏等突发情况导致工程代码丢失。
  • 编辑快速建议,这里是要打勾的。比如我要用 Serial.printf 函数,这时候会提示函数的传参是什么,便于我们更好更快的编写对的函数。
  • 其他开发板管理器地址,当你要添加其他开发板时,假如是 Arduino 非官方的开发板,这时候你在 IDE 上是搜索不到,所以我们就需要把这个开发板的地址添加进来。打个比方,要添加树莓派 pico,就需要获取对应的地址呢?点击旁边的编辑按钮,进入到 “其他开发板管理器地址页面”,然后点击下图中的①“获取支持的非官方开发板地址列表”,进入到一个网页 https://github.com/arduino/Arduino/wiki/Unofficial-list-of-3rdparty-boards-support-urls在该网页中查询你要添加的芯片的 json 文件地址:

https://github.com/earlephilhower/arduino-

pico/releases/download/global/package_rp2040_index.json然后把它复制到“其他开发板管理器地址页面”的②输入框,软件会自动检测,然后下载对应的 json 文件到

“C:\Users\ALIENTEK\AppData\Local\Arduino15”文件夹下,如下图所示:

 注 意 : 假 如 json 文 件 下 载 不 成 功 , 就 可 以 手 动 下 载 , 把 它 放 置 于 “C:\Users\ALIENTEK\AppData\Local\Arduino15”文件夹下就可以了。后面就可以在开发板管理器中搜索 rp2040 进行安装开发板,具体操作过程可以参考后面的“5.2.5 安装 arduino-esp32 库” 小节的说明。

        接下来对 Arduino IDE2 的工具栏(橙色框框)进行说明,如下表所示:

接下来,看一下 Arduino IDE2 相对 Arduino IDE1 新增功能:

注意:要对“文件→首选项→编辑快速建议”的功能打钩才会有这个功能。

② 变量或函数跳转功能

右键单击变量或函数时,上下文菜单将提供导航快捷方式以跳转到声明它们的行(和文件),当然也可以通过快捷键“Ctrl+F12”达到目的。

基于这个功能,我们可以比较轻松了解函数的调用关系,可以了解到底层。

  • Arduino Cloud 云端保存

对于拥有多台工作电脑的人来说,云端保存是一个非常有用的功能。这个功能我们并没有用到,有兴趣的小伙伴可以自行尝试使用以下。

  • 串行绘图仪

IDE2 的串行绘图仪,如下图所示,用于跟踪从 Arduino 板接收的不同数据和变量,可以让我们更直观看到数据。通常用于测试和校准传感器、比较值和其他类似场景。

在 IDE1,串行绘图仪和串行监控器只能有其一个工作,而 IDE2 支持两个功能同时工作。

5.2.4 arduino-esp32 库介绍

         Arduino-esp32 库就是一个在 Arduino 平台上开发 ESP32 的插件,它为 Arduino 环境下的 ESP32 芯片提供了支持。它允许使用熟悉的 Arduino 函数和库编写代码,并直接在 ESP32 上运行。

        Arduino-esp32 库支持对 ESP32、ESP32-S2、ESP32-S3、ESP32-C3、ESP32-C6 和 ESP32-H2 进行开发,还提供了很多基础库。这些基础库涵盖了芯片的所有外设,如下表所示。

基础库

基础库说明

EEPROM

EEPROM 库,管理内部的 FLASH

Preferences

ESP32 NVS 加密 flash

ESP32

ESP32 外设的示例

Wire

I2C 库,与 IIC 接口相关

SPI

SPI 库,与 SPI 接口相关

I2S

I2S 库,与 I2S 接口相关

SD

SD 卡驱动库,SD 卡使用的是 SPI 接口

SD_MMC

SD 卡驱动库,SD 卡使用的是 4 线接口

USB

USB 库

FS

文件系统虚拟框架

FFat

文件系统,FAT 文件系统

LittleFS

文件系统,LittlsFS 文件系统

SPIFFS

文件系统,SPIFFS 文件系统

Ticker

定时任务库

BLE

蓝牙相关库,低功耗蓝牙 V4.2 客户端/服务器 框架

BluetoothSerial

蓝牙相关库,经典蓝牙,适用 ESP32,不适用 ESP32-S2/C3/S3

SimpleBLE

蓝牙相关库,低功耗蓝牙广播

ArduinoOTA

无线更新-OTA 固件更新

Update

无线更新-OTA 固件更新

HTTPUpdate

无线更新-OTA 固件更新

HTTPUpdateServer

无线更新-OTA 固件更新

Insights

ESP Insights 功能,通过 WiFi 把设备固件运行状态和日报上报云

NetBIOS

解析 NetBIOS 名称

WiFi

WiFi 基础功能,包括 AP、STA、SCAN、TCPClient、TCPServer、UDP

WebServer

局域网 Web 服务器功能

WiFiClientSecure

加密 WiFi 客户端

HTTPClient

http 客户端功能,兼容 WiFiClientSecure

WiFiProv

WiFi 配网功能

AsyncUDP

异步任务驱动的 UDP 数据客户端/服务器

DNSServer

真正的 DNS 域名服务

ESPmDNS

局域网本地发现功能

Ethernet

以太网

RainMaker

ESP RainMaker AIoT 平台服务

5.2.5 安装 arduino-esp32

 前面也提及到 Arduino IDE默认支持的是 AVR-Arduino 硬件平台,如果想在 IDE上对 ESP32 进行开发,就必须安装 arduino-esp32 库。

下面提供两种方式安装 esp32 到 Arduino IDE。

       安装方式一:使用 Arduino IDE 的开发板管理器来安装

        安装步骤如下:

  • 打开 Arduino IDE,选择“工具→开发板→开发板管理器”菜单项或直接点击主界面左侧的开发板管理器 LOGO,然后在文本框中输入 esp32,选择 esp32 by Espressif System,点击安装,具体操作如下图所示。

由于这里面的文件存放于 github 中,而服务器在国外,所以这种方式很大程度会失败,当然网上也有方法教如何可以成功,具体可以自行上网查阅。

  • 重新启动 Arduino,可到“工具→开发板→esp32”进行查看,这里面就有 ESP32 众多

开发板在,针对正点原子的 ESP32-S3 开发板,直接选择“ESP32S3 Dev Module”即可,

这种方式,主要解决的是方式一中的第一步,Arduino IDE 很大可能从 github 中下载相关软件包失败,所以我们这里直接准备好了所需要的“Arduino_IDE 添加 ESP32 的软件包”,可以在本文网盘链接找到,其文件夹的文件如下图所示:

  • 到 C:\Users\ALIENTEK\AppData\Local\Arduino15\staging\packages 路 径 下 , 把 “Arduino_IDE 添加 ESP32 的软件包”文件夹下所有文件拷贝到该文件夹下,packages 文件夹拷贝后如下图所示。
  • 这里有两个注意点:①标红的 ALIENTEK 为本机的用户名,根据自己本机的用户名进行替换即可 ②假如看到发现没有 AppData 文件夹,需要在查看的菜单栏中对“隐藏的项目”前面的框框打钩,显示隐藏的项目

  • 重复方式一的①操作即可。因为这时候相关软件包已经被我们存放到 packages 中,这时候 Arduino IDE 就免去了从 github 中下载的步骤,直接对这些软件包进行安装,安装过程如下图所示。
  • 与方式①的②步骤一致,这里不再赘述。

安装好 arduino-esp32 库,这时候就算搭建环境完成了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值