谈到物联网,ESP32 是一款功能强大的芯片。 ESP32 是ESP8266 的后续产品。该低成本片上系统 (SoC) 系列由 Espressif Systems 创建。基于其性价比、小尺寸和相对较低的功耗,ESP32 非常适合多种不同的物联网应用。

在本文中,我将详细介绍 ESP32 的技术规格并描述一些可用的不同模块。

什么是ESP32?

ESP32 是一款为嵌入式设备(即物联网设备)提供 Wi-Fi 和(在某些型号中)蓝牙连接的芯片。虽然 ESP32 从技术上讲只是芯片,但包含该芯片的模块和开发板通常也被制造商称为“ESP32”。 

最初的 ESP32 芯片具有单核 Tensilica Xtensa LX6 微处理器。该处理器的时钟频率超过240 MHz,这使得数据处理速度相对较高。 

适用于IoT的ESP32:完整指南

最近,添加了新型号,包括 ESP32-C 和 -S 系列,其中包括单核和双核版本。这两个系列也依赖于 Risc-V CPU 模型而不是 Xtensa。 Risc-V 与 ARM 架构类似,得到良好支持且众所周知,但 Risc-V 是开源的且易于使用。具体来说,Risc-V 和 ARM 得到了 GNU 编译器的良好支持,而 Xtensa 需要额外的支持和开发才能与编译器配合使用。 

较新的型号可结合 Wi-Fi 和蓝牙连接,或仅提供 Wi-Fi 连接。有多种不同的芯片型号可供选择,包括:

  • ESP32-D0WDQ6(和 ESP32D0WD)

  • ESP32-D2WD

  • ESP32-S0WD

  • 系统级封装 (SiP) – ESP32-PICO-D4

  • ESP32 S系列

  • ESP32-C系列

  • ESP32-H系列

ESP32 最常用于移动设备、可穿戴技术和物联网应用,例如Nabto Edge。此外,自从Mongoose OS推出ESP32 IoT 入门套件以来,ESP32 已赢得了爱好者和 IoT 开发人员终极芯片的声誉。它适用于商业物联网,其能力和资源在过去四年中取得了令人瞩目的增长。

ESP32 特性和规格

以下是 ESP32 功能和规格的高级摘要:

ESP-32

描述


2

建筑学

32位

Tensilica Xtensa LX106 160-240MHz

无线上网

IEEE802.11 b/g/n

蓝牙

是 – 经典和 BLE

内存

520KB

闪光

外部 QSPI – 16MB

通用输入输出接口

22

数模转换器

2

模数转换器

18

接口

SPI-I2C-UART-I2S-CAN

这是更详细的总结:

  • 处理器– ESP32 使用 Tensilica Xtensa 32 位 LX6 微处理器。这通常依赖于双核架构,但 ESP32-S0WD 模块除外,它使用单核系统。时钟频率高达 240MHz,执行速度高达 600 DMIPS(Dhrystone 每秒百万条指令)。此外,即使芯片处于深度睡眠模式,其低功耗也允许模数转换以及计算和电平阈值。

  • 无线连接– ESP32 可通过 802.11 b/g/n/e/i/ 连接到集成 Wi-Fi。此外,v4.2 BR/EDR 还可以实现蓝牙连接,该系列还具有低功耗蓝牙 (BLE) 功能。 

  • 内存– ESP32 的内部内存如下。 ROM:448 KB(用于启动/核心功能),SRAM:520 KB(用于数据/指令),RTC 快速 SRAM:8 KB(用于从睡眠模式启动期间的数据存储/主 CPU),RTC 慢速 SRAM:8 KB(用于睡眠模式期间的协处理器访问),以及 eFuse:1 KiBit(256 位用于系统(MAC 地址和芯片配置),768 位保留用于客户应用程序)。此外,部分 ESP32 芯片(包括 ESP32-D2WD 和 ESP32-PICO-D4)内部连接了闪存。请参阅ESP32 芯片部分中每个芯片各自的内部闪存。 

  • 外部闪存和 SRAM – ESP32 支持多达四个 16 MB 外部 QSPI 闪存和 SRAM,并具有基于 AES 的硬件加密,以保护开发人员的程序和数据。它通过高速缓存访问外部QSPI闪存和SRAM。

  • 安全性– ESP32 支持所有 IEEE 802.11 标准安全功能,包括 WFA、WPA/WPA2 和 WAPI。此外,ESP32 具有安全启动和闪存加密功能。

ESP32 功能

ESP32 在物联网方面有很多应用。以下是该芯片的一些物联网功能

  • 网络:该模块的 Wi-Fi 天线和双核使嵌入式设备能够连接到路由器并传输数据。

  • 数据处理:包括使用RTOS或非操作系统软件开发套件 (SDK)处理来自模拟和数字传感器的基本输入以及更复杂的计算。非操作系统 SDK 是指直接在芯片上运行而无需完整操作系统支持的 SDK。 

  • P2P 连接:使用IoT P2P 连接在不同 ESP 和其他设备之间创建直接通信。

  • Web 服务器:提供对用 HTML 或开发语言编写的页面的访问。

ESP32 应用

ESP32 模块常见于以下 IoT 设备中:

  • 智能工业设备,包括可编程逻辑控制器 (PLC)

  • 智能医疗设备,包括可穿戴健康监测器

  • 智能能源设备,包括 HVAC 和恒温器

  • 智能安全设备,包括监控摄像头和智能锁

芯片与模块与开发板

ESP32 只是该芯片的名称。设备制造商和开发商有三种不同的格式选择,选择哪一种格式将取决于他们的个人情况:

  • ESP32 芯片:这是 Espressif 制造的裸机芯片。它是非屏蔽的,这意味着没有保护壳,并且在不焊接的情况下无法连接到模块或电路板。因此,大多数设备制造商不仅仅购买芯片,因为这会增加生产过程的复杂性。

  • ESP32 模块:这些是包含芯片的表面安装模块。这些模块本质上是可以连接到电路板上的小型电气元件。这样做的好处是您可以轻松地将这些模块安装到 MCU 板上。该芯片通常还经过 FCC 屏蔽和预先批准,这意味着设备制造商无需担心在生产过程中添加额外步骤来实现 FCC 有关 Wi-Fi 屏蔽的合规性。

  • ESP32 开发板:这些是物联网 MCU开发板,预装了包含 ESP32 芯片的模块。业余爱好者、设备制造商和开发人员使用它们在进入大规模生产之前测试物联网设备并制作原型。 ESP32 开发板有多种品牌和型号,由不同制造商生产。以下是选择合适的 IoT ESP32 开发板时需要考虑的一些重要规格:

    • GPIO 引脚

    • ADC 引脚

    • 无线网络天线

    • LED

    • 屏蔽*

    • 闪存

*许多国际市场需要屏蔽 Wi-Fi 设备,因为 Wi-Fi 会产生大量射频干扰 (RFI),而屏蔽可以最大限度地减少这种干扰。因此,这应该成为所有开发人员和嵌入式设备制造商的关键考虑因素。

ESP32模块和板卡制造商

ESP32 芯片

乐鑫科技是 ESP32 芯片的制造商。该芯片有多种尺寸可供选择,包括 7 mm x 7 mm、6 x 6、5 x 5,甚至 4 x 4 QFN 封装。以下是当前可用的型号:

模型

包装尺寸

嵌入式闪存 (MB)

处理器核心

ESP32-D0WDQ6

6 毫米 x 6 毫米

0

2

ESP32-D0WD

5毫米×5毫米

0

2

ESP32-D2WD

5毫米×5毫米

2

2

ESP32-U4WDH

5毫米×5毫米

4

1

ESP32-S0WD

5毫米×5毫米

0

1

ESP32-S2

7毫米×7毫米

不适用

1

ESP32-S2F

7毫米×7毫米

2-4

1

ESP32-S3

7毫米×7毫米

0-8

2

ESP32-SE-PICO-1

7毫米×7毫米

8

1

ESP8684

4毫米×4毫米

2-4

1

ESP32-C3

5毫米×5毫米

0-4

1

ESP8685

4毫米×4毫米

2-4

1

ESP32-C6

5毫米×5毫米

0-4

1

ESP32-H2

4毫米×4毫米

2-4

1

ESP32模块

●     乐鑫

模块太多,无法在此一一列举,但以下是一些使用Espressif Systems ESP32 芯片的顶级模块:

模型

方面

密码

触角

闪光

ESP-WROOM-32

18×25.5×2.8

38

PCB走线

4MB

ESP-WROOM-32D

18×25.5×3.1

38

PCB走线

4MB

ESP-WROOM-32U

18×19.2×3.2

38

U.FL插座

4MB

ESP-WROVER

18×31.4×3.3

38

PCB走线

4MB

ESP-WROVER-I

18×31.4×3.3

38

U.FL 插座、PCB

4MB

ESP-WROVER-B

18×31.4×3.3

38

PCB走线

4MB

ESP-WROVER-IB

18×31.4×3.3

38

U.FL 插座、PCB

4MB

ESP32-S2-WROOM

18×31×3

37

U.FL 插座、PCB

4MB

ESP32-S3-WROOM-1

25.5×18×3.1

41

U.FL 插座、PCB

4-16MB

● Ai-Thinker

目前的Ai-Thinker ESP32 模块如下:

模型

方面

密码

触角

闪光

ESP32-S

18×25.5×2

38

PCB走线

4MB

ESP32-A1S

18×25.5×2

38

U.FL插座,PCB走线

4MB

ESP32 模块的其他制造商包括:

  • AnalogLamb

  • DFRobot

  • Pycom

  • u-blox

ESP32 开发板/开发套件

● 乐鑫

当前的Espressif ESP32 开发板包括:

模型

板载模块

固件

USB

闪光

ESP32-DevKitC

ESP-WROOM-03

Espressif Non-OS SDK,使用Lua脚本语言

USB 转串行接口

4MB闪存

ESP-WROVER-套件

ESP-WROOM-32 或 ESP32-WROVER

Espressif Non-OS SDK,使用Lua脚本语言

USB 转串行接口

4 MB 闪存 + 8 MB PSRAM

ESP32-PICO-套件

ESP32-PICO-D4

Espressif Non-OS SDK,使用Lua脚本语言

USB 转串行接口

4MB闪存

ESP32-S2-Kaluga-1

ESP32-S2-WROVER

Espressif Non-OS SDK,使用Lua脚本语言

USB 转串行接口

4MB闪存

●      爱思考者

AI -Thinker开发板包括:

模型

板载模块

固件

GPIO 和 ADC 引脚

USB

闪光

NodeMCU-32S

ESP-WROOM-32

Lua、AT 命令、MicroPython、Arduino

38

USB 端口用于电源输入

32MB

ESP32-CAM

ESP32-CAM

嵌入式 Lwip 和 FreeRTOS

9

USB 端口用于电源输入

32MB

●      阿达果

Adafruit ESP32开发板包括:

模型

板载模块

固件

GPIO 和 ADC 引脚

USB

闪光

ESP32

ESP-WROOM-32

ESP-IDF 和 Arduino IDE 软件

24

USB 转串行接口

4MB

●      韦莫斯

Wemos ESP32开发板包括:

模型

板载模块

固件

GPIO 和 ADC 引脚

USB

闪光

洛林D32

ESP-WROOM-32

兼容Arduino、MicroPython

19

USB 转串行接口

4MB

洛林 D32 PRO

ESP-WROOM-32

兼容Arduino、MicroPython

19

USB 转串行接口

16 MB/4 MB 闪存 4 MB PSRAM

● 我会提高

目前的Arducam ESP32开发板是:

模型

板载模块

固件

GPIO 和 ADC 引脚

USB

闪光

ESP32一号

ESP-32S

与Arduino IDE兼容

23

内置微型 USB

32Mbit 闪存、8MByte PSRAM

ESP32 使用哪些 SDK?

现在有多种 SDK 可供使用。乐鑫提供了一个官方 SDK,可与 ESP32、ESP32-2 或 ESP8266 配合使用。这是基于 FreeRTOS 的 SDK。 FreeRTOS 是 Amazon 提供的实时操作系统,因此 SDK 专门设计用于该系统。 

除了 Espressif 选项之外,市场上还有大量商业和开源 SDK,包括:

  • ESP Arduino Core – 基于 C++ 的固件

  • ESP-SDK-Tools – ESP8266 的开放集成 SDK

  • Espruino – Javascript SDK 和固件

  • Micropython – 用于嵌入式设备的 Python

  • 可模块化 SDK – Javascript SDK

  • Mongoose OS – C 或 Javascript 开源操作系统

  • NodeMCU – 基于 Lua 的开源固件,类似于 Node.js

  • uLisp – 基于 Lisp 的框架

  • Zerynth – 用于物联网的 Python 框架

哪款是最适合 IoT 的 ESP32 模块或开发板?

正如上面的比较所示,ESP32 IoT 板和模块有很多可用选项。为了帮助您做出决策,我们总结了以下一些最受欢迎的内容。

流行的 ESP32 模块

ESP32-WROOM-32D

这款非常受欢迎的 ESP32 模块与 ESP32-D0WD 集成。 ESP32-WROOM-32D 模块如此受欢迎的主要原因是它的适应性。它可以针对各种应用,包括从低功耗传感器网络到语音编码和音乐流的任何应用。

ESP32-WROOM-32D 经常与ESP32-WROOM 32U混淆。尽管它们是非常相似的模块,但 ESP32-WROOM-32U 与 ESP32-WROOM-32D 的不同之处在于 ESP32-WROOM-32U 集成了 U.FL 连接器。

ESP32-WROOM-32

ESP32-WROOM-32 是乐鑫开发的原创 ESP32 模组。 ESP32-WROOM-32 是一款功能强大的通用 Wi-Fi+BT+BLE MCU 模组。该模块的核心是ESP32-D0WDQ6芯片。嵌入式芯片的设计具有可扩展性和适应性。

虽然无可否认 ESP32-WROOM-32 是一个很棒的模块,但不建议用于新设计。如果某个模块的生产寿命已接近尾声,或者由于某种原因预计将被淘汰,制造商有时会说该模块不适合新设计。 

ESP32-WROOVER

ESP32-WROOVER 模块有两个版本:一种带 PCB 天线,另一种带 IPEX 天线。您可以在此处找到两个版本的订购信息。与 ESPWROOM32 一样,该模块的核心芯片是 ESP32-D0WDQ6 芯片。

该 ESP32 模块具有两个可单独控制的 CPU 内核。此外,CPU时钟频率可在80 MHz至240 MHz之间调节。用户还可以关闭CPU并使用低功耗协处理器来连续监视变化或跨越阈值。

流行的 ESP32 开发板

ESP32 摄像头

ESP32 CAM 与此列表中的其他开发板略有不同。这款完全开发的微控制器还具有集成摄像头和微型 SD 卡插槽。

ESP32-CAM 基于 ESP32-S 模块,因此规格相同。其中包括 UART、SPI、I2C 和 PWM 接口、Wi-Fi 图像上传、高达 160 MHz 的时钟速度以及 9 个 GPIO 端口。

它还包括一个 OV2640 模块(具有 2 兆像素传感器),并且还支持 OV7670 相机。

由于底部有许多组件,因此在试验 ESP32-CAM 时可能更容易避免使用无焊面包板。此外,建议使用带有母杜邦连接器的跳线。物联网IoT ESP32:完整指南

ESP32-DevKitC

ESP-DevKitC 是乐鑫推出的一款相对较小的开发板。 I/O 引脚被分接到两侧的排针上,以便于连接。开发人员可以使用跳线连接外围设备或将 ESP32-DevKitC V4 安装在面包板上。

该开发板的一个关键优势不仅在于尺寸小,而且功耗低。

ESP32

该开发板深受物联网初学者的青睐。它将 ESP32 与附加硬件集成在一起,这使得在项目中编程和使用变得更加容易。

节点-MCU-32S

NodeMCU 开发板具有 Wi-Fi+蓝牙连接、板载 CP2102 和按键。

该 AI Thinker 开发板的一个关键特性是可以通过扩展接头访问 ESP-WROOM-32 模块的 I/O 引脚。此外,它是开源的,支持多种不同的源代码。 

总结

没有一篇文章可以涵盖 ESP32 系列的所有功能。然而,这些信息应该为您为您的物联网项目找到最好的 ESP32 芯片、模块和开发板提供一个良好的起点。