由Espressif Systems创造的ESP32是一款低成本、低功耗片上系统(SoC)系列,具有Wi-Fi和双模蓝牙功能。 ESP32系列包括芯片ESP32-D0WDQ6(和ESP32-D0WD)、ESP32-D2WD、ESP32-S0WD和系统级封装(SiP)ESP32-PICO-D4。 其核心是双核或单核Tensilica Xtensa LX6微处理器,时钟频率高达240MHz。 ESP32由内置天线开关、射频巴伦、功率放大器、低噪声接收放大器、滤波器和电源管理模块高度集成。 ESP32专为移动设备、可穿戴电子设备和物联网应用而设计,通过节能功能实现超低功耗,包括精细分辨率时钟门控、多种功率模式和动态功率调节。
特性与指标
有关ESP32芯片和ESP32-PICO-D4数据手册的信息,请参见ESP32数据手册,了解有关SiP模块的信息。
-
处理器:
-
主处理器: Tensilica Xtensa 32-bit LX6微处理器
-
内核: 2 or 1 (depending on variation), 除了ESP32-S0WD(单核)外,ESP32系列中的所有芯片都是双核的。
-
时钟频率:高达240 MHz
-
性能:高达600 DMIPS
-
-
超低功耗协处理器:允许您在深度睡眠时进行ADC转换,计算和电平阈值。
-
-
无线连接:
-
Wi-Fi:802.11b/g/n/e/i(802.11n @ 2.4 GHz,最高150Mbit/s)
-
蓝牙:v4.2 BR/EDR和蓝牙低功耗(BLE)
-
-
存储器:
-
内部存储器:
-
ROM:448KB - 用于启动和核心功能。
-
SRAM:520KB - 用于数据和指令。
-
RTC快速SRAM:8KB - 用于RTC期间的数据存储和主CPU从深度睡眠模式启动。
-
RTC慢速SRAM:8KB - 用于深度睡眠模式期间的协处理器访问。
-
eFuse:1Kbit - 其中256位用于系统(MAC地址和芯片配置),其余768位保留用于客户应用,包括Flash-Encryption和Chip-ID。
-
嵌入式闪存:Flash通过ESP32-D2WD和ESP32-PICO-D4上的IO16,IO17,SDCMD,SDCLK,SDDATA0和SDDATA1进行内部连接。
-
0MB(ESP32-D0WDQ6,ESP32-D0WD和ESP32-S0WD芯片)
-
2MB(ESP32-D2WD芯片)
-
4MB(ESP32-PICO-D4 SiP模块)
-
-
-
外部闪存和SRAM:ESP32支持多达四个16MB外部QSPI闪存和带有基于AES的硬件加密的SRAM,以保护开发人员的程序和数据。 ESP32可以通过高速缓存访问外部QSPI闪存和SRAM。
-
高达16MB的外部闪存被内存映射到CPU代码空间,支持8位,16位和32位访问。支持代码执行。
-
最多8MB的外部闪存/SRAM存储器映射到CPU数据空间,支持8位,16位和32位访问。闪存和SRAM支持数据读取。 SRAM支持数据写入。带有嵌入式闪存的ESP32芯片不支持外部闪存和外设之间的地址映射。
-
-
-
外设输入/输出:带有DMA的丰富外设接口,包括电容式触摸,ADC(模数转换器),DAC(数模转换器),I²C(内部集成电路),UART(通用异步接收器/发送器) ),CAN 2.0(控制器区域网络),SPI(串行外设接口),I²S(集成IC间声音),RMII(简化介质无关接口),PWM(脉冲宽度调制)等。
-
安全:
-
支持IEEE 802.11标准安全功能,包括WFA,WPA / WPA2和WAPI
-
安全启动
-
Flash加密
-
1024位OTP,客户最多768位
-
加密硬件加速:AES,SHA-2,RSA,椭圆曲线加密(ECC),随机数发生器(RNG)
-
澄清说明:在这种情况下,“RTC”有点像“Espressifism”,因为它被用作低功耗和模拟子系统的简写,它独立于CPU和主要的“数字”外围设备(“数字”是另一个Espressifism)。作为RTC子系统的一部分,有一些实时时钟功能,但还有很多其他的东西。
社区和交流
对于大多数问题,最好在论坛中提交一篇文章,以获得最广泛的社区可见性,并轻松写出您的情境背景的细节 - 例如,包括示例代码和详细说明软件的相关配置,固件和 硬件。 或者,通过IRC进行实时聊天是与他人交谈,学习新事物,有时在现场获得问题答案的好方法。 但是,话虽如此,在线聊天的主要缺点是,不是每个人都在活跃或同时看着频道(聊天室) - 人们在不同的时间工作并生活在世界的不同地方 - 所以时间可以是 击中或没打中。 因此,如果您在IRC频道中提出问题,请尽量留意,因为可能需要一段时间才能回复。
-
Forum: ESP32.com (Official Espressif ESP32 Forums)
-
Chat: #ESP32 on IRC.freenode.net
要连接到Freenode IRC网络上的#ESP32聊天频道,您需要使用IRC客户端程序。 对于长期使用,建议下载完整的IRC客户端。 但是,对于临时使用,您可以使用Freenode的网络聊天客户端
-
Reddit: /r/esp32
-
乐鑫官方微信公众号文章,这里有ESP系列最新的开发资料,这里有精彩纷呈的ESP系列产品信息
阅读和视频
-
项目
-
阅读和文档
-
新手入门指南:
-
ESP-IDF编程指南 ⭐ - Generated from the docs directory in the ESP-IDF repository.
-
Kolban关于ESP32的教程 (PDF) ⭐
-
如何入门ESP32? - (Elliot Williams, Hackaday, 2016 Oct 4)
-
如何入门ESP32? - (Rita Zhang, 2016 Sept 29)
-
-
官方Espressif的资源
-
Espressif支持下载 - 包括ESP32 SoC、ESP32-PICO-D4 SiP、ESP-WROOM-32、ESP32-WROOM-32D、ESP32-WROOM-32U、ESP32-WROVER、ESP32-WROVER-I、ESP32-SOLO-1模块、ESP32-DevKitC、ESP-WROVER-KIT、ESP32-PICO-KIT开发套件等的资源.
-
ESP32技术参考手册 (PDF) ⭐
-
芯片错误数据说明: ECO和ESP32错误的解决办法 (PDF)
-
ESP32硬件设计指南 (PDF)
-
ESP32蓝牙网络用户指南 (PDF) - 可以同时参考: EspBluFi安卓应用程序
-
-
JTAG调试
-
JTAG调试(ESP-IDF编程指南)
-
GoJimmyPi's JTAG调试ESP32, VSCode JTAG调试ESP32第1部分 & 第2部分
-
如何使用FTDI C232HM DDHSL-0通过JTAG / OpenOCD / GDB调试ESP32
-
-
沃森物联网平台
-
蓝牙和沃森的实验 - 使用ESP32 / Arduino将蓝牙设备连接到Watson IoT Platform. 源代码: ESP32BleBeacon.ino, ESP32BleGateway.ino
-
-
Arduino:
-
Arduino和ESP-IDF:
-
ESP-IDF: Wi-Fi Soft AP
-
MicroPython:
-
MicroPython和Picoweb:
-
Espruino JavaScript:
-
蓝牙:
-
Other: 与Python的串行通信
-
随机书呆子教程
* 著名的视频
-
Engineers.SG
-
Linux.conf.au 2017 & Open Hardware Mini-Conference
-
微控制器硬件和软件 (Angus Gratton, 2017 Jan 17, 23 min.)
-
IoTuz硬件设计,制造,与KiCad合作 (Bob Powers, 2017 Jan 17, 40 min.)
-
IoTuz软件设计挑战和ESP-IDF (Mark Wolfe, 2017 Jan 17, 28 min.)
-
适用于ESP32的MicroPython (Nick Moore, 2017 Jan 17, 28 min.)
-
使用IoTuz的开发实例 (Andy Gelme, 2017 Jan 17, 29 min.)
-
-
适用于ESP32的MicroPython (Nick Moore, PyCon Australia, 2017 Aug 4, 25 min.)
-
如何为任何项目添加Wi-Fi控制 — ESP32初学者指南 (GreatScott, 2017 Oct 1, 11 min.)
-
使用ESP32和网络摄像头进行Wi-Fi范围测试:使用定向天线10公里 (Florian Euchner, 2017 Apr 8, 5¾ min.)
-
小水果:Mac Plus的解除(小型化) (Jeroen Domburg, Hackaday Superconference, 2017 Nov 12, 31.4 min.) — see also: close-up video
-
-
-
存储库]]|[https://www.youtube.com/playlist?list=PLB-czhEQLJbWMOl7Ew4QW1LpoUUE7QMOo|Kolban的ESP32技术教程]
-
-
Mongoose OS视频 ,另请参阅:用户指南教程视频播放列表
* ESP32单位的第一印象
* 杂项讨论
开发平台
开发软件,工具,环境,语言,平台,框架,库,代码和其他资源:
-
ESP-IDF (Espressif IoT开发框架)
-
存储库
ESP32的官方发展框架. -
ESP32 ESP-IDF的AT申请 * 其他Espressif项目
-
ESP32蓝牙/BLE堆栈预编译二进制库
(包含在ESP-IDF中.) -
ESP32 Wi-Fi堆栈预编译二进制库
(包含在ESP-IDF中.)
-
-
Arduino (C++)
-
Simba嵌入式编程平台
另请参见:Pumbaa(Simba上的MicroPython)-
官方主板支持: Nano32, ESP32-DevKitC, Maple ESP32
-
Zephyr项目
可扩展的实时操作系统(RTOS),支持多种硬件架构,针对资源受限设备进行了优化,并在构建时考虑了安全性。 -
MicroPython
-
Pumbaa
Simba上的MicroPython. -
Pycom的MicroPython
MicroPy的一个分支,ESP32端口定制为在Pycom的IoT多网络模块上运行。注:Pycom和Damien George联手ESP32。 -
Boris Lovosevic's MicroPython
适用于ESP32的MicroPython,具有4个MiB pSRAM支持和ESP-IDF构建系统。有关详细信息,请参阅Boris的论坛帖子。
-
Hybrid C/Python
-
Zerynth
“Zerynth在ESP32上推出Python”(2017年9月30日)
-
-
Lua
-
Lua RTOS
使用Lua编程语言直接编程或使用基于块的编程语言将块转换为Lua。-
Boris Lovosevic's Lua RTOS Fork
为LED(WS2812)和TFT(ILI9341和ST7735)添加了模块,并修改了其他模块。 -
基于Whitecat生态系统的Web IDE
Whitecat以Lua RTOS为核心。
-
-
JavaScript
-
Duktape
-
Espruino JavaScript
-
存储库
-
文档
-
-
Mongoose JS (mJS)
-
-
mruby (Carson McDonald & Yamamoto Masaya)
-
值得注意的项目: RubyOnWheelchair
尽管基于STM32的电路板最终用于板载以太网项目的最终形式,但在原型制作过程中使用了ESP32电路板。
-
向前
-
BASIC
-
TinyBasic (另请参阅: ESP32文本演示中的BASIC演示。)
-
-
其他代码和库
-
libcurl与ESP32一起使用的例子([[https://www.esp32.com/viewtopic.php?f=18&t=1833|论坛帖子)
-
MQTT
-
ESP32 MQTT库和实例项目(Tuan PM)
基于ESP-IDF的ESP32组件。 -
用于ESP-IDF项目的MQTT组件(JoëlGähwiler)
基于lwmqtt库。
-
-
LibWebSockets
构建轻量级C库以使用最少的CPU和内存资源,在客户端或服务器两个方向上提供快速吞吐量。 -
Rudi的独立HTTP服务器
(论坛帖子1, 2 ; 视频1, 2) -
-
通过HTTP服务器控制GPIO
使用lwIP httpservernetconn示例。
-
-
环形日志(Edmund Huber)
磁盘上的环形缓冲区,用于持久的固定大小的日志。 -
温度/湿度传感器
-
ESP-IDF的单个DS18B20
DS18B20是1-Wire数字温度计。 -
简单的DHT11库
DHT11是一款简单的温湿度传感器。 -
BME280 湿度/温度/压力传感器
-
-
相机
-
Igrr的ESP32-Cam-Demo (使用OV7725)
应该与其他OV7xxx系列相机一起使用。此外,PCBReflux使用此代码库和OV2640。 -
Bitluni的OV7670相机和TFT显示屏
-
-
发光二极管
-
数字RGB LED(WS2812 / SK6812 / NeoPixel / APA102 / DotStar)驱动程序
-
AniCharlieplex
动画使用IS31FL3731突破和Charlieplex 9×16 LED矩阵。
-
-
机器人
-
游戏
-
ESP32-DOOM (论坛帖子, 视频)
-
任天堂游戏系统仿真
-
ESP32-NESEMU (视频,Hackaday摘要)
ESP32的任天堂娱乐系统模拟器。
-
-
-
Wi-Fi
-
ESP32 802.11自由输出
发送任意IEEE 802.11帧。另请参阅:ESP32 Wi-Fi范围测试:使用定向天线10公里。 -
嗅探
-
Wi-Fi Sniffer (Łukasz Podkalicki)
-
ArduinoPcap (Stefan Kremser)
用于为Wireshark和其他程序创建和发送.pcap文件的库。(视频)
-
-
BluFi
虽然这是蓝牙,但BluFi可为Wi-Fi设置提供入门功能。另请参阅:EspBluFi Android应用程序和ESP32蓝牙网络用户指南。-
ESP32-BluFi组件和ESP-IDF演示, Mark Wolfe
-
-
蓝牙
-
音频
-
MP3和AAC解码器 (论坛帖子, 演示视频)
迈克尔“MrBuddyCasino”Böckling的端口是Jeroen“Spritetm”Domburg的ESP8266 MP3解码器到ESP32。 -
支持OLED显示屏的MP3解码器 (演示视频)
Microwavemont(kodera2t)的MrBuddyCasino的端口支持OLED显示器。另见:n24bass的分叉
-
-
CAN司机(托马斯巴特)
另请参见:ESP32,Hackaday.io项目和论坛主题的CAN驱动程序。 -
显示和图形
-
DAC-Cosine (Krzysztof)
在ESP32内部运行余弦波形发生器的API。 -
ESP32_BadAppleBad:SSD1306 OLED和RLE视频数据(Lutz Lisseck)
东芝在带有SSD1306 OLED的ESP32上观看Bad Apple视频; 使用Heatshrink压缩库来解压缩RLE编码的视频数据。 -
音频频谱可视化
-
SH1106 OLED的8倍频程(G6EJD; 视频)
-
-
开发工具和环境
-
Zerynth Studio
Zerynth的物联网设备平台中间件支持ESP32。 支持的主板包括 ESP32-DevKitC, SparkFun ESP32 Thing, Olimex ESP32-EVB和Olimex ESP32网关。 -
Pymakr
用于Pycom板上的MicroPython的Pycom IDE。 -
用于ESP32 Web IDE的TUNIOT
TUNIOT是一个生成Arduino代码的可视化编程环境。 -
QEMU
-
QEMU Xtensa
Nb,xtensa-esp32分支 ; 还看到qemu-xtensa-esp32用于测试的fork,以及Max Filippov的固定存储库。
-
Arduino的Visuino图形开发
具有各种定价选项的商业IDE 。
-
PCB设计资源
-
KiCad
-
ESP32 KiCad封装, Adam Vadala-Roth
-
KiCad库, Baoshi Zhu
-
KiCad ESP32原理图符号, Nava Whiteford
-
WEMOS LoLin32 KiCad库/封装库(Eric Renfro)
-
ESP32 KiCad (Morgan Allen)
-
-
EAGLE
-
Altium Designer
-
ESP-32S和ESP-WROOM-32的库 (Evert Dekker)
-
-
硬件参考设计
-
ESP32硬件设计指南(PDF)
-
ESP-WROOM-32参考设计V1.0(ZIP)
-
-