使用电子模拟器 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 .
相关推荐
恶魔泡泡糖1 小时前
stm32F103C8T6标准库串口接收之中断方式2
stm32·单片机·嵌入式硬件
充哥单片机设计1 小时前
【STM32开源项目】智能小区充电桩
stm32·单片机·嵌入式硬件·毕业设计·小区充电桩·智能小区充电桩
嵌入式-老费2 小时前
esp32开发与应用(如何解决SoC冷启动的问题)
单片机·嵌入式硬件
Escalating_xu3 小时前
【C 语言项目】数组和函数综合实践:从零实现控制台扫雷游戏
c语言
充哥单片机设计3 小时前
【STM32开源项目】智能语音台灯
stm32·单片机·嵌入式硬件·毕业设计·单片机设计·智能语音台灯
橘色的喵4 小时前
MCU SD 卡上电加载流程:从寄存器访问到文件系统挂载
mcu·文件系统·加载·sd
sunoo-2295 小时前
【嵌入式裸机开发Day04】i.MX6ULL 蜂鸣器驱动详解:从引脚地址查找到代码实现全流程
arm开发·单片机·嵌入式硬件·学习·串口·裸机
Brilliantwxx5 小时前
【STM32】 SPI阻塞式通信与HAL源码 (源码分析)
stm32·单片机·嵌入式硬件
Doraemomo5 小时前
IMX6ULL裸机开发——PWM
arm开发·嵌入式硬件·imx6ull
Navigator_Z6 小时前
LeetCode //C - 1254. Number of Closed Islands
c语言·算法·leetcode