目录
安装方式一:使用 Arduino IDE 的开发板管理器来安装
Arduino 开发环境搭建
本章,我们将进入实际操作阶段,逐步搭建 Arduino 的开发环境。
1. 开发方式的选择
ESP32 的开发方式主要有三种:ESP-IDF 、Arduino 和 MicroPython。
图 1.1 开发 ESP32 方式
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 三种开发方式的相关例程和教程,这使得开发者可以根据自己的需求和技能水平选择适合自己的开发方式。
2. 环境搭建
2.1 Arduino IDE 软件安装包下载
Arduino集成开发环境即Arduino IDE。本教程需要下载Arduino IDE软件安装包,可直接到官网地址获取,地址为:https://www.arduino.cc。在这里我们将一步一步带大家把软件安装下载下来,首先进入官网如图2.1.1所示:
图 2.1.1 Arduino 官网
点击“SOFTWARE”选项卡,如图2.1.2所示:
图 2.1.2Arduino下载界面
根据自己电脑系统选择对应版本下载,我们使用 Windows,因此选择 Windows 版本(Win10 and newer,64bits),除此之外还有 ZIP 压缩包下载以及 MSI 下载。
点击“Windows(Win 10 and newer,64bits)”,即可准备免费下载。这时候会弹出一个界面表 示是否需要资金支持以下该团队,如下图所示,当然你可以忽略,直接点击“JUST DOWNLOAD”。
图 2.1.3Arduino IDE下载界面 2
当点击“JUST DOWNLOAD”按钮后,这时候还没有正式到下载,还会弹出一个页面表示是否需要订阅 Arduino 信息,如下图所示,你可以继续点击“JUST DOWNLOAD”。
图 2.1.4Arduino IDE下载界面 3
如果觉得官方下载麻烦,也可以到我们提供的开发板资料内获取 Arduino 软件安装。Arduino IDE 只是一个开发环境,默认支持的是 AVR-Arduino 硬件平台,如果需要在ESP32 上使用 Arduino,则需要在 Arduino IDE 上安装 ESP32 的库。安装的过程中,建议关闭防火墙或者对防火墙的提示选择“允许安装”。
离线资料下载链接:https://pan.baidu.com/s/1yBD_Mq7yzglpJTP1iuJUBw?pwd=alkn
提取码:alkn
2.2 Arduino IDE 软件安装
从前面选择电脑存放路径下找到“arduino-ide_2.3.2_Windows_64bit.exe”文件,双击该 exe 文件,如图2.2.1所示。
图 2.2.1 Arduino IDE 安装-许可证协议
点击“我同意”,然后就是 Arduino IDE 安装选项,具体界面如图2.2.2所示:
图 2.2.2 Arduino IDE 安装-安装选项-为哪位用户安装应用
通常情况下,选择“为使用这台电脑的任何人安装(所有用户)”,然后点击“下一步”。进入许可协议界 面,如图2.2.3所示。
图 2.2.3 Arduino IDE 安装-许可证协议
在这里需要点击“我同意”,不然无法进行下一步的。然后就是选择安装位置,在这里就需要用户自己去选择安装的目标文件夹。然后点击“安装”即可进入软件安装流程。当安装完成 , 点击“完成”即可,然后就会启动 Arduino IDE软件。
初次打开 Arduino IDE 软件,需要等待一段时间,这期间会安装一些库以及安装一些驱动, 比如:Adafruit Industries 的 LLC 端口、Arduinosrl 的 Arduino USB Driver、ArduinoSA 的 Arduino USB Driver 以及 Arduino LLC 的 Genuino USB Driver ,如图2.2.4所示,弹窗内的驱动全部都选择安装即可。
图 2.2.4首次打开安装的一些库包
图 2.2.5 驱动安装图
2.3 认识 Arduino IDE
Arduino IDE,Arduino 的集成开发环境,具有程序编辑、调试、编译、上传、库管理等功能。Arduino IDE 的主界面如图2.3.1所示:
图 2.3. 1 Arduino IDE 主界面
首次打开 Arduino IDE 软件,语言默认为英文, 怎么设置成上图的中文呢? 点击 “File→Preferences”,进入到首选项界面,对 Language 选项设为中文即可,如图2.3.2所示:
图 2.3.2 Arduino IDE 设置为中文界面
在首选项中,我们进行如下设置:
① 项目文件夹地址,即工程存放的位置,当我们新建工程时,默认推荐存放的地方,当然你也可以自行设置存放文件夹。这里有一个选项是是否在 IDE 中进行显示项目中的文件夹,假如打勾,这时候通过左侧工具栏的第一个按钮即可显示该新项目文件夹的文件情况。
② 设置编辑器字体大小,以及设置界面比例,这些都是默认操作即可。当你觉得字体太小了,自行调整编辑器字体大小参数即可,觉得编辑器界面调小,也可以适当调整界面比例参数。
③ 设置颜色主题,可选为:明亮、暗黑、明亮对比和暗黑对比。
④ 设置编辑器语言,多种语言可以设置,设置后会进行软件重启。
⑤ 显示详细输出,这里我把编译和上传都勾选了,即项目编译和上传时,在信息显示窗口都会打印出相关信息,便于了解整个过程的执行情况。
⑥ 编译器警告,这里设置的是无。
⑦ 上传后验证代码,这里可打勾。
⑧ 自动保存,这里是要打勾的,以防电脑蓝屏等突发情况导致工程代码丢失。
⑨ 编辑快速建议,这里是要打勾的。比如我要用 Serial.printf 函数,这时候会提示函数的传参是什么,便于我们更好更快的编写对的函数。
⑩ 其他开发板管理器地址,当你要添加其他开发板时,假如是 Arduino 非官方的开发板,
这时候你在 IDE 上是搜索不到,所以我们就需要把这个开发板的地址添加进来。打个比方,要添加树莓派 pico ,就需要获取对应的地址呢?点击旁边的编辑按钮,进入到 “其他开发板管理器地址页面”,然后点击下图中的①“获取支持的非官方开发板地址 列表”,进入到一个网页 https://github.com/arduino/Arduino/wiki/Unofficial-list-of-3rd- party-boards-support-urls ,在该网页中查询你要添加的芯片的 json 文件地址 :https://github.com/earlephilhower/arduino-pico/releases/download/global/package_rp2040_index.json,然后把它复制到“其他开发板管理器地址页面”的②输入框,软件会自动检测,然后下载对应的 json 文件到 “C:\Users\ALIENTEK\AppData\Local\Arduino15”文件夹下,如图2.3.3所示:
图 2.3.3 Arduino IDE 添加非官方开发板步骤
注 意 : 假如 json 文件下载不成功,就可以手动下载 ,把它放置于 “C:\Users\ALIENTEK\AppData\Local\Arduino15”文件夹下就可以了。后面就可以在开发板管理器中搜索 rp2040 进行安装开发板,具体操作过程可以参考后面的“5.2.5 安装 arduino-esp32 库” 小节的说明。
接下来对 Arduino IDE2 的工具栏进行说明,如下表所示:
按钮 | 功能描述 |
| 验证:检查程序是否有错误,如没有错误就将程序编译成 二进制文件(每次编译都会自动保存文件) |
| 上传:编译程序,并将编译后的二进制文件上传到 Arduino 控制器的 MCU 中 |
![]() | 开始调试:目前官方仅支持 10 个板子调试,不支持 esp32, 所以该功能为用到,并且调试还需要硬件的调试器 |
![]() | 选择开发板:设置开发板 |
![]() | 串口绘图仪:用于跟踪从你的 Arduino 板接收的不同数据 和变量,常用于测试和校准传感器,比较数值等 |
![]() | 串口监视器:打开串口监视器窗口,通过串口监视器,可以 查看串口接收和发送的数据 |
![]() | 项目文件夹:显示“图 5.2.3.2 的项目文件夹地址”的文件 情况 |
![]() | 开发板管理器:Arduino IDE 可以选择安装的芯片/板子 |
![]() | 库管理:用于安装一些器件驱动库 |
![]() | 调试:调试时,可看到 Debug 过程 |
![]() | 搜索:用于搜索函数等 |
表 2.3.1Arduino IDE2 的工具栏
接下来,看一下 Arduino IDE2 相对 Arduino IDE1 新增功能:
① 代码自动填充功能
输入时,编辑器可以根据你的代码和你包含的库建议变量和函数自动完成:
图 2.3.4 代码补全功能
注意:要对“文件→首选项→编辑快速建议”的功能打钩才会有这个功能。
② 变量或函数跳转功能
图 2.3.5 代码跳转功能
右键单击变量或函数时,上下文菜单将提供导航快捷方式以跳转到声明它们的行和文件,当然也可以通过快捷键“Ctrl+F12”达到目的。
基于这个功能,我们可以比较轻松了解函数的调用关系,可以了解到底层。
③ Arduino Cloud 云端保存
对于拥有多台工作电脑的人来说,云端保存是一个非常有用的功能。这个功能我们暂时没有用到,有兴趣的小伙伴可以自行尝试使用一下。
④ 串行绘图仪
IDE 的串行绘图仪,如下图所示,用于跟踪从 Arduino 板接收的不同数据和变量,可以让我们更直观看到数据。通常用于测试和校准传感器、比较值和其他类似场景。
图 2.3.6 串行绘图仪
在 IDE1 ,串行绘图仪和串行监控器只能有其一个工作,而 IDE2 支持两个功能同时工作。
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 平台服务 |
表 2.4.1 arduino-esp32 基础库
2.5 安装 arduino-esp32 库
前面也提及到 Arduino IDE 默认支持的是AVR-Arduino 硬件平台,如果想在 IDE 上对 ESP32 进行开发,就必须安装 arduino-esp32 库。
下面提供两种方式安装 esp32 到 Arduino IDE。
安装方式一:使用 Arduino IDE 的开发板管理器来安装
安装步骤如下:
① 打开 Arduino IDE,选择“工具→开发板→开发板管理器”菜单项或直接点击主界面左侧的开发板管理器 LOGO,然后在文本框中输入 esp32,选择 esp32byEspressif System ,点击安装,具体操作如下图所示。
图 2.5.1 安装 ESP32 芯片包
由于这里面的文件存放于 github 中,而服务器在国外,所以这种方式很大程度会失败,当然网上也有方法教如何可以成功,具体可以自行上网查阅。
注意:若在开发板管理器找不到 esp32,这时候就需要在“文件→首选项→其他开发板管理器地址”添加 esp32 地址“https://arduino.me/packages/esp32.json”进去,具体操作如下:
图 2.5.2 添加 esp32 开发板地址
② 重新启动 Arduino ,可到“工具→开发板→esp32”进行查看,这里面就有 ESP32 众多开发板在,直接选择“ESP32S3 Dev Modul”即可,具体操作如下图。
图 2.5.3 ESP32-S3 开发板选择芯片
安装方式二:离线安装
这种方式,主要解决的是方式一中的第一步,Arduino IDE 很大可能从 github 中下载相关软件包失败,所以我们这里直接准备好了所需要的“Arduino_IDE 添加 ESP32 的软件包”,可以在 “TRG-Arduino\软件包\esp32库\esp32驱动库离线文件\”找到,其文件夹的文件如下图所示:
图 2.5.4 ESP32 的软件包
到 C:\Users\***\AppData\Local\Arduino15\packages\esp32 路径下, 把 “Arduino_IDE添加 ESP32的软件包”文件夹拷贝到该文件夹下,packages文件夹拷贝后如下图所示。
这里有两个注意点:
1,标红的 *** 为本机的用户名,根据自己本机的用户名进行替 换即可
2,假如看到发现没有 AppData文件夹,需要在查看的菜单栏中对“隐藏的项目”前面的框打钩,显示隐藏的项目,重复方式一的①操作即可。因为这时候相关软件包已经被我们存放到packages 中,这时候 Arduino IDE 就免去了从github中下载的步骤,直接对这些软件包进行安装。
安装好arduino-esp32库,这时候就算搭建环境完成了。