乐鑫宣布发布 Arduino ESP32 新版本v3.0.0,该版本使用最新的 ESP-IDF v5.1,并新增对 ESP32-C6 和 ESP32-H2 的支持。
2021 年 9 月,乐鑫发布了 Arduino ESP32 v2.0.0,开始支持 ESP32-S2 和 ESP32-C3,稍后发布的版本也增加了对 ESP32-S3 的支持。v2.0.0 版本意义非凡,对社区生态来说是一个重要的里程碑。不仅因为支持了新的SoC,还因为项目就此迈入了新的时代。在随后的 14 次发布中,新增了大量的功能、问题修复、新示例、驱动程序以及核心文档。期间共有 88 位贡献者参与,共同完成了 800 次代码提交。
自 Arduino ESP32 v2.0.0 以来,新增对多款芯片的支持,现在需要新的功能来保持并提升开发人员的体验,以及进一步增进与 Arduino IDE(集成开发环境)的集成。为了继续延续v2.0.0 的辉煌成绩,Arduino ESP32 核心团队积极与社区生态合作,不停书写历史。
现在是时候发布 Arduino ESP32 v3.0.0 了,增加对 ESP32-C6 和 ESP32-H2 的支持,以及对 API 的改进和一些重大改动。
新款 C 系列 SoC,发布于 2022 年,支持 Wi-Fi 6 和 802.15.4。
ESP32-C6 是一款低功耗、高性价比的系统级芯片,支持 2.4 GHz Wi-Fi 6、Bluetooth® 5 (LE)、Thread 及 Zigbee,可用于安全连接设备。
ESP32-C6 技术规格书
新款 H 系列 SoC,支持蓝牙和最新 802.15.4(即 Thread 和 Zigbee),但不支持 Wi-Fi。
ESP32-H2 是一款低功耗、支持安全连接的系统级芯片,采用 32 位 RISC-V 处理器,支持 IEEE 802.15.4 和 Bluetooth® 5 (LE)。
ESP32-H2 技术规格书
新的 Arduino ESP32 仍在开发中,欢迎测试开发版本。
因为还是开发版本,在使用时可能会遇到一些问题。如果遇到问题,请提交到 Arduino ESP32 GitHub Issue。
最新的稳定版本预计将于 2023 年 12 月发布,v2.0.x 版本在 2024 年 7 月之前继续提供支持,之后将停止维护。
v3.0.0 版本中的一些主要变更与 API 的调整有关。为了与新 API 兼容,更新了部分示例。
因此,如果准备迁移到 v3.0.0,请仔细检查并测试您的应用程序。为帮助您从 Arduino ESP32 v2.0.x 迁移到 v3.0.0,请参考文档迁移指南。
如需了解开发版本 alpha 中的所有变更,请查看详细的变更日志。
v2.0.x 到 v3.0.0 的主要改动如下:
外设管理器可帮助用户在配置外设时,避免出现 GPIO 配置错误。该功能对用户透明,但会提醒用户当前的外设配置情况。
主要用于管理外设初始化,并避免出现如下一些常见问题:
同时外设管理器也可用于:
有些 ESP 产品外设数量不同、可以使用的通道也不同,因此有些限制也不一样。
例如,如果将 GPIO18 配置给 SPI 外设,然后在 SPI 初始化之后将同一 GPIO18 配置给 RMT 外设,则 SPI 将被去初始化。
外设管理器在 Verbose 调试级别下打印完整的报告,包括芯片信息、内存分配、分区、软件信息、开发板详情和 GPIO 映射。外设初始化时,外设管理器打印报告如下:
ESP-ROM:esp32c3-api1-20210207
Build:Feb 7 2021
rst:0x1 (POWERON),boot:0xc (SPI_FAST_FLASH_BOOT)
SPIWP:0xee
mode:DIO, clock div:1
load:0x3fcd5820,len:0x458
load:0x403cc710,len:0x814
load:0x403ce710,len:0x2878
entry 0x403cc710
=========== Before Setup Start ===========
Chip Info:
------------------------------------------
Model : ESP32-C3
Package : 0
Revision : 3
Cores : 1
Frequency : 160 MHz
Embedded Flash : No
Embedded PSRAM : No
2.4GHz WiFi : Yes
Classic BT : No
BT Low Energy : Yes
IEEE 802.15.4 : No
------------------------------------------
INTERNAL Memory Info:
------------------------------------------
Total Size : 341480 B ( 333.5 KB)
Free Bytes : 312940 B ( 305.6 KB)
Allocated Bytes : 24960 B ( 24.4 KB)
Minimum Free Bytes: 312940 B ( 305.6 KB)
Largest Free Block: 294900 B ( 288.0 KB)
------------------------------------------
Flash Info:
------------------------------------------
Chip Size : 4194304 B (4 MB)
Block Size : 65536 B ( 64.0 KB)
Sector Size : 4096 B ( 4.0 KB)
Page Size : 256 B ( 0.2 KB)
Bus Speed : 80 MHz
Bus Mode : QIO
------------------------------------------
Partitions Info:
------------------------------------------
nvs : addr: 0x00009000, size: 20.0 KB, type: DATA, subtype: NVS
otadata : addr: 0x0000E000, size: 8.0 KB, type: DATA, subtype: OTA
app0 : addr: 0x00010000, size: 1280.0 KB, type: APP, subtype: OTA_0
app1 : addr: 0x00150000, size: 1280.0 KB, type: APP, subtype: OTA_1
spiffs : addr: 0x00290000, size: 1408.0 KB, type: DATA, subtype: SPIFFS
coredump : addr: 0x003F0000, size: 64.0 KB, type: DATA, subtype: COREDUMP
------------------------------------------
Software Info:
------------------------------------------
Compile Date/Time : Nov 2 2023 10:06:48
Compile Host OS : windows
ESP-IDF Version : v5.1.1-577-g6b1f40b9bf-dirty
Arduino Version : 3.0.0
------------------------------------------
Board Info:
------------------------------------------
Arduino Board : ESP32C3_DEV
Arduino Variant : esp32c3
Arduino FQBN : esp32:esp32:esp32c3:JTAGAdapter=default,CDCOnBoot=default,PartitionScheme=default,CPUFreq=160,FlashMode=qio,FlashFreq=80,FlashSize=4M,UploadSpeed=921600,DebugLevel=debug,EraseFlash=none
============ Before Setup End ============
[ 380][I][esp32-hal-i2c.c:99] i2cInit(): Initialising I2C Master: sda=8 scl=9 freq=100000
=========== After Setup Start ============
INTERNAL Memory Info:
------------------------------------------
Total Size : 341480 B ( 333.5 KB)
Free Bytes : 314976 B ( 307.6 KB)
Allocated Bytes : 22508 B ( 22.0 KB)
Minimum Free Bytes: 312360 B ( 305.0 KB)
Largest Free Block: 286708 B ( 280.0 KB)
------------------------------------------
GPIO Info:
------------------------------------------
8 : I2C_MASTER
9 : I2C_MASTER
20 : UART_RX
21 : UART_TX
============ After Setup End =============
Arduino ESP32 v3.0.0 基于 ESP-IDF v5.1,其中包括对新的 SoC: ESP32-C6 和 ESP32-H2 的支持。一些新功能会在后续发布版本中实现,而不需要更新 ESP-IDF,比如 802.15.4 功能。
现在,ESP-IDF SPI 库和 Arduino SPI 已实现对 SPI 以太网的支持。包括对 W5500、DM9051 和 KSZ8851SNL 以太网 IC 的支持。
基于 ESP-IDF API 添加了新的 I2S 库。
基于 ESP-SR,ESP32-S3 将支持语音识别,能够识别唤醒词和命令。
现在已新增对 TensorFlow 的支持,并添加了相关示例。
对以下 API 进行了改进:
弃用的 API:不再支持霍尔传感器。
新增对诸多开发板的支持,包括 Adafruit、Arduino.cc、M5Stack、LILYGO 等开发板。
请参考文档中的安装说明完成安装 Arduino ESP32 开发版本。 开发版本链接如下: https://espressif.github.io/arduino-esp32/package_esp32_dev_index.json
如果想随时了解 Arduino ESP32 开发版本的发布情况,请在 GitHub、Gitter 关注我们,或者参与我们的每月社区会议。
特别感谢所有激励我们不断改进 Arduino ESP32 的社区!