外观
Wokwi 在线仿真
Wokwi 是浏览器里的电子仿真器,可以在没有开发板的情况下,拖出一块 ESP32、接上 LED、OLED、传感器,然后运行真实编译出来的固件。适合教学、分享可复现的问题,以及在 CI 里跑固件测试。
概览
Wokwi 对个人用户免费,商业与专业用途有付费方案。它的仿真器与 Wokwi CI 使用同一引擎。
在 Wokwi 的 ESP32 文档里(2026-10-14)能看到:
- 稳定支持:ESP32、C3、S2、S3、C6、C61、H2。
- 测试阶段:C5 与 S31 为 alpha,P4 为 beta。
- 支持 Wi-Fi(项目可以通过虚拟网络访问 MQTT、HTTP、NTP 等),P4 使用 ESP-Hosted 提供 Wi-Fi。
- 外设:GPIO、UART、SPI、I2C(仅主机,不支持 10 位地址)、RMT、LEDC、ADC、定时器、看门狗、RNG、AES / SHA / RSA 加速器等。
- 支持 GDB 调试。
- 不支持或仅部分支持:蓝牙 / BLE 在所有芯片上都没有实现;MCPWM 不支持;I2S 仅原版 ESP32 部分支持;TWAI、RTC 为部分支持;ULP 仅 C6 可用。
- 默认把 CPU 频率上限设在约 8 MHz 以保持仿真速度,所以时序相关的结论要谨慎。
关键信息
在浏览器里用
打开 wokwi.com,选 ESP32 项目模板,会有两个主要文件:sketch.ino(或 MicroPython、Rust 项目文件)和 diagram.json(电路图)。点击运行就开始仿真,串口输出显示在下方。可以把项目链接分享给别人复现问题,也适合在论坛提问时附上。
VS Code 扩展
Wokwi 提供 VS Code 扩展,让你在本地用 ESP-IDF 或 PlatformIO 构建出固件后,直接在编辑器里仿真,不用上传源码到网站。配置文件 wokwi.toml 指向固件文件,diagram.json 描述电路。具体字段请参考官方文档,本文没有核对最新格式。
Wokwi CI
Wokwi CI 在 GitHub Actions、GitLab CI 等环境里运行仿真,把固件上传到云端仿真,再把串口输出传回,用于判断测试是否通过。官方说明固件不会被保存,仿真结束后即删除。
命令行工具 wokwi-cli 的基本用法是在命令里加 --timeout 控制运行时长。更复杂的测试用「自动化场景」模拟按键、改变传感器数值并检查输出。
不同方案有仿真时长配额(滚动 30 天窗口):
| 方案 | 每 30 天分钟数 | 单次最长 |
|---|---|---|
| Free | 50 | 5 分钟 |
| Hobby | 200 | 5 分钟 |
| Hobby+ | 500 | 10 分钟 |
| Pro | 2000 | 50 分钟 |
套餐与额度会变,请以官网当前定价为准。
一个典型流程
- 用 Arduino-ESP32 或 MicroPython 在 Wokwi 里先把逻辑跑通。
- 把电路图与代码拷贝到本地项目,用 VS Code 扩展继续仿真。
- 在 GitHub Actions 里用
wokwi-cli做回归测试。 - 真机上验证蓝牙、射频、功耗这些仿真器覆盖不到的部分。
仿真不等于实机
仿真器里跑通不代表真机一定能用:BLE 没有仿真,真实射频、功耗、电源噪声、引脚电气特性都不在仿真范围内。涉及 5V 与 3.3V 电平、市电、电池的电路,仍需要按数据手册设计,不能只看仿真结果。
适合谁 / 不适合谁
适合:教学、没有硬件时试验、在论坛分享最小复现、为固件写自动测试。不适合:蓝牙、无线射频、功耗优化、精确时序调试。想了解选硬件,参见 第一次上手。
参考资料
- Wokwi 文档:https://docs.wokwi.com/
- Wokwi 的 ESP32 支持情况:https://docs.wokwi.com/guides/esp32
- Wokwi CI 入门:https://docs.wokwi.com/wokwi-ci/getting-started