乐鑫发布 Arduino ESP32 v3.0.0

乐鑫宣布发布 Arduino ESP32 新版本v3.0.0,该版本使用最新的 ESP-IDF v5.1,并新增对 ESP32-C6 和 ESP32-H2 的支持。

乐鑫发布 Arduino ESP32 v3.0.0_第1张图片

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 的改进和一些重大改动。

ESP32-C6

新款 C 系列 SoC,发布于 2022 年,支持 Wi-Fi 6 和 802.15.4。

ESP32-C6 是一款低功耗、高性价比的系统级芯片,支持 2.4 GHz Wi-Fi 6、Bluetooth® 5 (LE)、Thread 及 Zigbee,可用于安全连接设备。

ESP32-C6 技术规格书

乐鑫发布 Arduino ESP32 v3.0.0_第2张图片        图 1:ESP32-C6 功能框图

ESP32-H2

新款 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 v3.0.0_第3张图片    图 2:ESP32-H2 功能框图

从 v2.0.X 升级到 v3.0.0

新的 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 的主要改动

v2.0.x 到 v3.0.0 的主要改动如下:

外设管理器

外设管理器可帮助用户在配置外设时,避免出现 GPIO 配置错误。该功能对用户透明,但会提醒用户当前的外设配置情况。

主要用于管理外设初始化,并避免出现如下一些常见问题:

  • 同一 GPIO 被同时用于两个外设
  • 某些专用 GPIO,例如专用于 Flash 或 PSRAM 的 GPIO 被其他外设占用

同时外设管理器也可用于:

  • 在初始化后打印报告,查看所有正在使用的外设
  • 帮助在不同的 ESP 产品中实现外设管理

有些 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 =============

ESP-IDF v5.1

Arduino ESP32 v3.0.0 基于 ESP-IDF v5.1,其中包括对新的 SoC: ESP32-C6 和 ESP32-H2 的支持。一些新功能会在后续发布版本中实现,而不需要更新 ESP-IDF,比如 802.15.4 功能。

SPI 以太网支持

现在,ESP-IDF SPI 库和 Arduino SPI 已实现对 SPI 以太网的支持。包括对 W5500、DM9051 和 KSZ8851SNL 以太网 IC 的支持。

新 I2S 库

基于 ESP-IDF API 添加了新的 I2S 库。

唤醒词和命令识别(仅适用于 ESP32-S3)

基于 ESP-SR,ESP32-S3 将支持语音识别,能够识别唤醒词和命令。

TensorFlowLite Micro 支持

现在已新增对 TensorFlow 的支持,并添加了相关示例。

API 改进

对以下 API 进行了改进:

  • ADC
  • BLE
  • I2S
  • LEDC
  • RMT
  • SigmaDelta
  • Timer
  • UART (HardwareSerial)

弃用的 API:不再支持霍尔传感器。

新增对以下开发版的支持:

新增对诸多开发板的支持,包括 Adafruit、Arduino.cc、M5Stack、LILYGO 等开发板。

如何安装 Arduino ESP32 开发版本

请参考文档中的安装说明完成安装 Arduino ESP32 开发版本。 开发版本链接如下: https://espressif.github.io/arduino-esp32/package_esp32_dev_index.json

保持更新

如果想随时了解 Arduino ESP32 开发版本的发布情况,请在 GitHub、Gitter 关注我们,或者参与我们的每月社区会议。

  • GitHub 仓库
  • ​​​​​​​Gitter
  • ​​​​​​​社区会议

特别感谢所有激励我们不断改进 Arduino ESP32 的社区!

你可能感兴趣的:(乐鑫科技,ESP32,Arduino)