使用电子模拟器 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 .
相关推荐
罗伯特祥43 分钟前
C调用gnuplot绘图的方法
c语言·plot
嵌入式科普2 小时前
嵌入式科普(24)从SPI和CAN通信重新理解“全双工”
c语言·stm32·can·spi·全双工·ra6m5
重生之我是数学王子2 小时前
点亮核心板小灯 STM32U575
stm32·单片机·嵌入式硬件
end_SJ2 小时前
初学stm32 --- 定时器中断
stm32·单片机·嵌入式硬件
南城花随雪。2 小时前
单片机:实现数码管动态显示(0~99999999)74hc138驱动(附带源码)
单片机·嵌入式硬件
lqqjuly3 小时前
特殊的“Undefined Reference xxx“编译错误
c语言·c++
2401_858286114 小时前
115.【C语言】数据结构之排序(希尔排序)
c语言·开发语言·数据结构·算法·排序算法
南城花随雪。5 小时前
单片机:实现信号发生器(附带源码)
单片机·嵌入式硬件
2401_858286115 小时前
109.【C语言】数据结构之求二叉树的高度
c语言·开发语言·数据结构·算法
KevinRay_6 小时前
Linux系统编程深度解析:C语言实战指南
linux·c语言·mfc·gdb