适用于IoT的ESP32:完整指南
适用于IoT的ESP32:完整指南
ESP32是乐鑫科技(Espressif Systems)推出的一款功能强大的Wi-Fi和蓝牙芯片,广泛应用于各种物联网设备。本文将详细介绍ESP32的技术规格、功能特点以及不同模块和开发板的选择,帮助开发者为物联网项目找到最适合的硬件平台。
什么是ESP32?
ESP32是一款专为嵌入式设备设计的Wi-Fi和蓝牙连接芯片。虽然ESP32从技术上讲只是芯片,但包含该芯片的模块和开发板通常也被制造商称为“ESP32”。最初的ESP32芯片具有单核Tensilica Xtensa LX6微处理器,时钟频率超过240MHz。最近,新型号如ESP32-C和ESP32-S系列加入了单核和双核版本,这些版本基于Risc-V CPU模型,与ARM架构类似但开源且易于使用。
ESP32的技术规格
以下是ESP32功能和规格的高级摘要:
特性 | 描述 |
---|---|
核心 | 2 |
架构 | 32位 |
时钟 | Tensilica Xtensa LX106 160-240MHz |
无线 | IEEE802.11 b/g/n |
蓝牙 | 是 - 经典和BLE |
内存 | 520KB |
闪存 | 外部QSPI - 16MB |
GPIO | 22 |
ADC | 2 |
DAC | 18 |
接口 | SPI-I2C-UART-I2S-CAN |
这是更详细的总结:
- 处理器:ESP32使用Tensilica Xtensa 32位LX6微处理器,通常依赖于双核架构,时钟频率高达240MHz,执行速度高达600 DMIPS。即使在深度睡眠模式下,也能进行模数转换和计算。
- 无线连接:支持802.11 b/g/n/e/i/的Wi-Fi连接,以及v4.2 BR/EDR的蓝牙连接,包括低功耗蓝牙(BLE)功能。
- 内存:内部ROM为448KB,SRAM为520KB,RTC快速SRAM为8KB,RTC慢速SRAM为8KB,eFuse为1KiBit。
- 外部存储:支持多达四个16MB外部QSPI闪存和SRAM,具有基于AES的硬件加密。
- 安全性:支持所有IEEE 802.11标准安全功能,包括WFA、WPA/WPA2和WAPI,以及安全启动和闪存加密功能。
ESP32的功能
ESP32在物联网方面有很多应用:
- 网络连接:通过Wi-Fi天线和双核实现设备与路由器的数据传输。
- 数据处理:支持从基本传感器输入到复杂计算的数据处理,支持RTOS或非操作系统SDK。
- P2P连接:使用IoT P2P连接实现设备间直接通信。
- Web服务器:提供对HTML页面的访问。
ESP32的应用场景
ESP32模块常见于以下IoT设备中:
- 智能工业设备,包括可编程逻辑控制器(PLC)
- 智能医疗设备,包括可穿戴健康监测器
- 智能能源设备,包括HVAC和恒温器
- 智能安全设备,包括监控摄像头和智能锁
芯片、模块与开发板
ESP32有三种不同的格式:
- ESP32芯片:裸机芯片,需要焊接才能使用。
- ESP32模块:包含芯片的表面安装模块,可以轻松连接到电路板。
- ESP32开发板:预装模块的开发板,适合原型制作和测试。
ESP32芯片型号
模型 | 封装尺寸 | 嵌入式闪存(MB) | 处理器核心 |
---|---|---|---|
ESP32-D0WDQ6 | 6毫米 x 6毫米 | 0 | 2 |
ESP32-D0WD | 5毫米 x 5毫米 | 0 | 2 |
ESP32-D2WD | 5毫米 x 5毫米 | 2 | 2 |
ESP32-U4WDH | 5毫米 x 5毫米 | 4 | 1 |
ESP32-S0WD | 5毫米 x 5毫米 | 0 | 1 |
ESP32-S2 | 7毫米 x 7毫米 | 不适用 | 1 |
ESP32-S2F | 7毫米 x 7毫米 | 2-4 | 1 |
ESP32-S3 | 7毫米 x 7毫米 | 0-8 | 2 |
ESP32-SE-PICO-1 | 7毫米 x 7毫米 | 8 | 1 |
ESP8684 | 4毫米 x 4毫米 | 2-4 | 1 |
ESP32-C3 | 5毫米 x 5毫米 | 0-4 | 1 |
ESP8685 | 4毫米 x 4毫米 | 2-4 | 1 |
ESP32-C6 | 5毫米 x 5毫米 | 0-4 | 1 |
ESP32-H2 | 4毫米 x 4毫米 | 2-4 | 1 |
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
模型 | 尺寸 | 封装 | 天线 | 闪存 |
---|---|---|---|---|
ESP32-S | 18×25.5×2 | 38 | PCB走线 | 4MB |
ESP32-A1S | 18×25.5×2 | 38 | U.FL插座 | 4MB |
其他制造商包括AnalogLamb、DFRobot、Pycom和u-blox。
ESP32开发板
乐鑫
模型 | 板载模块 | 固件 | USB | 闪存 |
---|---|---|---|---|
ESP32-DevKitC | ESP-WROOM-03 | Espressif Non-OS SDK | USB转串行接口 | 4MB |
ESP-WROVER-套件 | ESP-WROOM-32或ESP32-WROVER | Espressif Non-OS SDK | USB转串行接口 | 4MB+8MB PSRAM |
ESP32-PICO-套件 | ESP32-PICO-D4 | Espressif Non-OS SDK | USB转串行接口 | 4MB |
ESP32-S2-Kaluga-1 | ESP32-S2-WROVER | Espressif Non-OS SDK | 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
模型 | 板载模块 | 固件 | GPIO和ADC引脚 | USB | 闪存 |
---|---|---|---|---|---|
ESP32 | ESP-WROOM-32 | ESP-IDF和Arduino IDE | 24 | USB转串行接口 | 4MB |
Wemos
模型 | 板载模块 | 固件 | GPIO和ADC引脚 | USB | 闪存 |
---|---|---|---|---|---|
LoLin D32 | ESP-WROOM-32 | 兼容Arduino、MicroPython | 19 | USB转串行接口 | 4MB |
LoLin D32 PRO | ESP-WROOM-32 | 兼容Arduino、MicroPython | 19 | USB转串行接口 | 16MB/4MB+4MB PSRAM |
Arducam
模型 | 板载模块 | 固件 | GPIO和ADC引脚 | USB | 闪存 |
---|---|---|---|---|---|
ESP32一号 | ESP-32S | 与Arduino IDE兼容 | 23 | 内置微型USB | 32Mbit闪存、8MByte PSRAM |
ESP32使用的SDK
目前有多种SDK可供使用,包括:
- Espressif官方SDK:基于FreeRTOS,支持ESP32、ESP32-2和ESP8266。
- 第三方SDK:包括ESP Arduino Core、ESP-SDK-Tools、Espruino、Micropython、可模块化SDK、Mongoose OS、NodeMCU、uLisp和Zerynth。
最受欢迎的ESP32模块和开发板
流行的ESP32模块
ESP32-WROOM-32D
这款模块与ESP32-D0WD集成,具有很高的适应性,适用于从低功耗传感器网络到语音编码和音乐流的多种应用。
ESP32-WROOM-32
这是乐鑫开发的原始ESP32模块,基于ESP32-D0WDQ6芯片。虽然功能强大,但不建议用于新设计。
ESP32-WROOVER
ESP32-WROOVER模块有两个版本,一个带PCB天线,另一个带IPEX天线。模块具有两个可单独控制的CPU内核,时钟频率可在80MHz至240MHz之间调节。
流行的ESP32开发板
ESP32摄像头
ESP32 CAM集成了摄像头和微型SD卡插槽,基于ESP32-S模块,具有UART、SPI、I2C和PWM接口,支持Wi-Fi图像上传,时钟速度可达160MHz,具有9个GPIO端口。
ESP32-DevKitC
这是一个小型开发板,I/O引脚分布在两侧的排针上,便于连接。开发板尺寸小且功耗低,适合原型制作。
ESP32
这款开发板深受物联网初学者欢迎,将ESP32与附加硬件集成在一起,便于项目开发。
NodeMCU-32S
NodeMCU开发板具有Wi-Fi+蓝牙连接,板载CP2102和按键。通过扩展接头可以访问ESP-WROOM-32模块的I/O引脚,支持多种源代码。
总结
虽然一篇文章无法涵盖ESP32系列的所有功能,但本文提供的信息应该能帮助开发者为物联网项目选择最适合的ESP32芯片、模块和开发板。