使用电子模拟器 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 .
相关推荐
NoteStream12 小时前
【c语言基础】C语言常见概念
c语言·开发语言·编辑器
Freak嵌入式12 小时前
版本混乱 / 依赖缺失?uPyPi:MicroPython 版 PyPI,彻底解决库管理混乱
linux·服务器·数据库·单片机·嵌入式硬件·性能优化·依赖倒置原则
回眸不遇12 小时前
将 Docker虚拟磁盘文件ext.vhdx迁移出C盘 ,更换到D盘
c语言·docker·容器
冻柠檬飞冰走茶12 小时前
PTA基础编程题目集 7-27 冒泡法排序(C语言实现)
c语言·开发语言·数据结构·算法
wuyk55512 小时前
77.嵌入式 C 语言中 enum 枚举的工程化实践:告别魔法数字,提升代码可维护性
c语言·开发语言·stm32·单片机·嵌入式硬件
义嘉泰12 小时前
XT25F128F-W Flash芯片全面解析
人工智能·嵌入式硬件·芯片
QH1392923188013 小时前
Keysight N9917B N9918B手持式综合微波分析仪
网络·科技·嵌入式硬件·集成测试·信息与通信
longxingiot13 小时前
轻量化单片机数传终端降低物联网开发门槛
单片机·嵌入式硬件·物联网
lightqjx13 小时前
【Linux系统】基础 IO
linux·c语言·重定向·缓冲区·文件io·文件的系统调用