使用电子模拟器 Wokwi 运行 ESP32 示例(Arduino IDE、VSCode、ESP32C3)

文章目录

Wokwi 简介

Wokwi 是一款在线电子模拟器。您可以使用它来模拟 Arduino、ESP32、STM32 以及许多其他流行的主板、部件和传感器。

安装客户端(Mac/Linux)

bash 复制代码
curl -L https://wokwi.com/ci/install.sh | sh
  • 添加环境变量
bash 复制代码
export PATH="/usr/local/bin:$PATH"

创建 Token


Arduino IDE

  • 选择 ESP32 Dev Module
  • demo.ino
c 复制代码
#define LED 2

void setup() {
  pinMode(LED, OUTPUT);
}

void loop() {
  digitalWrite(LED, HIGH);
  delay(500);
  digitalWrite(LED, LOW);
  delay(500);
}
  • 编译后的文件所在目录
bash 复制代码
cd /private/var/folders/y3/m5gygl0x29qb6gqzwbzhnbl40000gn/T/arduino/sketches/7BF1D604324680D884686063EF3F4C75/
  • 创建模拟器


  • 生成 diagram.jsonwokwi.toml 文件
  • 修改 diagram.json 文件
json 复制代码
{
  "version": 1,
  "author": "Uri Shaked",
  "editor": "wokwi",
  "parts": [
    { "type": "wokwi-esp32-devkit-v1", "id": "esp", "top": 0, "left": 0, "attrs": {} },
    {
      "type": "wokwi-led",
      "id": "led1",
      "top": -3.33,
      "left": 153.33,
      "attrs": { "color": "red" }
    },
    { "type": "wokwi-resistor", "id": "r1", "top": 64, "left": 149.33, "rotate": 90, "attrs": {} }
  ],
  "connections": [
    [ "esp:TX0", "$serialMonitor:RX", "", [] ],
    [ "esp:RX0", "$serialMonitor:TX", "", [] ],
    [ "esp:GND.1", "led1:C", "black", [ "h0" ] ],
    [ "led1:A", "r1:1", "green", [ "v0" ] ],
    [ "r1:2", "esp:D2", "green", [ "h0", "v38" ] ]
  ]
}

VSCode 配置

安装 wokwi 插件

打开编译后目录

注: 选中 diagram.json 文件就会显示模拟器。

ESP32C3 示例

Arduino IDE

  • demo.ino
c 复制代码
#include <Arduino.h>

void setup() {
  // put your setup code here, to run once:
  Serial.begin(9600); // 初始化串口通信
}

void loop() {
  // put your main code here, to run repeatedly:
  Serial.println("Hello World!"); // 输出 "Hello World"
  delay(1000); // 等待 1 秒
}

注: 进入编译后的可执行文件目录

bash 复制代码
cd /private/var/folders/y3/m5gygl0x29qb6gqzwbzhnbl40000gn/T/arduino/sketches/7BF1D604324680D884686063EF3F4C75/

创建模拟器

bash 复制代码
wokwi-cli init

运行模拟器

bash 复制代码
wokwi-cli .
相关推荐
袁雅倩19974 小时前
当吸尘器、筋膜枪都用上Type-C,供电方案该怎么选?浅谈PD取电芯片ECP5702的应用
c语言·开发语言·支持向量机·动态规划·推荐算法·最小二乘法·图搜索算法
salipopl7 小时前
基于STM32平台的多旋翼无人机系统设计与实现
stm32·嵌入式硬件·无人机
CHANG_THE_WORLD9 小时前
C语言中的 %*s 和 %.*s 和C++的字符串格式化输出
c语言·c++·c#
消失的旧时光-19439 小时前
C语言对象模型系列(四)《Linux 内核里的 container_of 到底是什么黑魔法?》—— 一篇讲透 Linux 内核的“对象模型”核心技巧
linux·c语言·算法
2501_9318037510 小时前
Go:一门为解决C语言痛点而生的现代语言
c语言·开发语言·golang
qeen8711 小时前
【数据结构】二叉树相关经典函数C语言实现
c语言·数据结构·c++·笔记·学习·算法·二叉树
Hello.Reader13 小时前
ds4.c 深度解析为 DeepSeek V4 Flash 打造的本地推理引擎
c语言·开发语言
谙弆悕博士14 小时前
快速学C语言—— 第0章:C语言简介
c语言·开发语言·经验分享·笔记·程序人生·课程设计·学习方法
振南的单片机世界15 小时前
从数码管到点阵屏:动态扫描加595,3个IO驱动256个LED
stm32·单片机·嵌入式硬件
listhi52015 小时前
STC8 16通道模拟采集 + 4路串口 + 8路PWM 程序
stm32·单片机·嵌入式硬件