ESP32仿真
ESP32是一款支持WiFi和蓝牙的流行的微控制器,被广泛用于物联网项目。Wokwi可以仿真ESP32、ESP32-S2和ESP32-C3(测试版)。
ESP32支持的板卡
Name | Chip | Description |
---|---|---|
ESP32 DevKit v1 | ESP32 | 流行的ESP32开发板 |
TinyPICO | ESP32 | UnexpectedMaker制作的小型ESP32板 |
ESP32-S2-DevKitM-1 | ESP32-S2 | 入门级ESP32-S2开发板 |
Franzininho WiFi | ESP32-S2 | Franzininho社区制作的板卡 |
ESP32-C3-DevKitM-1 | ESP32-C3 | 入门级ESP32-C3开发板 |
Rust Board ESP32-C3 | ESP32-C3 | 用于Rust开发的ESP32-C3板 |
您可以通过向wokwi-boards发送拉取请求来贡献其他板卡。
立即开始
您可以通过三种方式使用ESP32仿真器:
- 使用ESP32 Arduino Core构建项目(包括ESP-IDF项目)
- 运行MicroPython项目(也可以在ESP32-S2上运行CircuitPython)
- 仿真您在计算机上构建的bin应用程序文件(例如使用ESP-IDF)
Arduino Core
从Arduino-ESP32 Project Template或ESP32 Blink Example开始学习。
如果您想使用第三方Arduino库,请添加一个包括您使用的库列表的libraries.txt file。
MicroPython
从MicroPython ESP32 Project Template或MicroPython ESP32 Blink Example开始学习。
注意:在仿真运行时,在串行终端内按Ctrl+C进入_MicroPython REPL_。或者,您可以编辑闪烁示例代码,删除while循环。有关更多信息,请查看MicroPython Guide。
自定义bin应用文件
打开ESP32 custom application project template,然后在代码编辑器中按“F1”。然后选择“加载HEX文件并开始仿真...”。从您的计算机中选择任何.bin文件,仿真将开始。
仿真例子
Arduino Examples
- Blink
- Seven segment counter
- FastLED NeoPixel Blink
- APA102 Color Cycles (TinyPico Board)
- WiFi Scanning
MicroPython Examples
ESP-IDF Examples
以下示例中使用了ESP-IDF函数。它们使用Arduino ESP32 Core编译:
仿真器特性
外设 | ESP32 | S2 | C3 | Notes |
---|---|---|---|---|
Processor core(s) | ✔️ | ✔️ | ✔️ | |
GPIO | ✔️ | ✔️ | ✔️ | 支持中断 |
IOMUX | 🟡 | 🟡 | 🟡 | |
PSRAM | ✔️ | ✔️ | — | 4MB 外部 SRAM |
UART | ✔️ | ✔️ | ✔️ | |
USB | — | ✔️ | ❌ | Support for UART over USB (CDC) |
I2C | ✔️ | ✔️ | ✔️ | 仅支持主机模式。不支持10位寻址。 |
I2S | ❌ | ❌ | ❌ | Open for voting |
SPI | ✔️ | ✔️ | ✔️ | |
TWAI | ❌ | ❌ | ❌ | |
RMT | 🟡 | 🟡 | 🟡 | 仅支持发送,用于控制NeoPixels |
LEDC PWM | ✔️ | ✔️ | ✔️ | 用于 analogWrite()、舵机、蜂鸣器等。 |
MCPWM | ❌ | — | — | |
DMA | 🟡 | 🟡 | ❌ | |
WiFi | ✔️ | ✔️ | ✔️ | See the ESP32 WiFi Guide |
Bluetooth | ❌ | — | ❌ | Open for voting |
Timers | 🟡 | ✔️ | ✔️ | |
Watchdog | ❌ | ❌ | ❌ | |
RTC | 🟡 | 🟡 | 🟡 | 只有RTC上拉/下拉电阻 |
ADC | ✔️ | ✔️ | ❌ | 注意: analogRead()返回值最大为4095 |
RNG | ✔️ | ✔️ | ✔️ | 随机数生成器 |
AES Accelerator | ✔️ | ✔️ | ✔️ | |
SHA Accelerator | ✔️ | ✔️ | ✔️ | |
RSA Accelerator | ✔️ | ✔️ | ✔️ | |
Hall Effect Sensor | ❌ | — | — | |
ULP Processor | ❌ | ❌ | ❌ | |
GDB Debugging | 🟡 | 🟡 | 🟡 | 要使用 wokwi-gdbserver |
说明:
✔️ - 已支持
🟡 - 部分支持/正在开发
❌ - 不支持(但如果您需要,请open a feature request)
— - 此芯片不可用
WiFi 仿真
看这里: ESP32 WiFi Guide.
高级使用
自定义分区表(Partition Table)
您可以通过向项目中添加“partitions.csv”文件来指定自定义分区表。查看ESP32 Partition Table Guide了解此文件的确切格式。