← 返回全部文章

没买开发板也能学 ESP32:用 Wokwi 把电路先跑通

Wokwi 把 ESP32、Arduino、传感器、串口和 WiFi 搬进浏览器。先用一个 DHT22 温湿度项目跑通接线与代码,再决定要不要买硬件。

学 ESP32 最尴尬的阶段,往往发生在快递到达以前:教程看了不少,板子、传感器、面包板和线材还没凑齐。等硬件到手,第一根线接错,又开始怀疑代码、驱动还是板子坏了。

Wokwi 把这段等待变成了可操作的练习。浏览器里拖入开发板和传感器,连线、写代码、点击运行,串口和虚拟器件会立刻响应。接错虚拟线不会烧板,项目链接还能直接发给别人一起排查。

网站地址:wokwi.com

它能模拟哪些东西

Wokwi 覆盖 Arduino Uno 、 Mega 、 Nano,ESP32 系列、 Raspberry Pi Pico 和部分 STM32 。常用器件也很全:LED 、按钮、 DHT22 、超声波、 OLED 、 LCD 、舵机、步进电机、 RTC 、 RFID 、 microSD,以及八通道逻辑分析仪。

代码可以用 Arduino 、 ESP-IDF 、 MicroPython 、 CircuitPython 或 Rust 。 ESP32 还能连接虚拟 WiFi,测试 HTTP 、 MQTT 、 WebSocket 、 NTP 、 TCP 和 UDP 等网络逻辑。

免费 Community 方案支持无限模拟次数、无限公开项目和 Virtual WiFi,适合个人非商业学习。运行公开示例不强制登录;未登录项目保存在当前设备和浏览器中。需要跨设备保存、 Unlisted 项目、自定义库、 VS Code 、 Private IoT Gateway 或商业使用时,再看对应付费方案。

十分钟跑通 ESP32 温湿度计

先打开官方示例:

wokwi.com/projects/322410731508073042

点击绿色播放按钮,串口会每两秒输出一次温度和湿度。再点击画布上的 DHT22,拖动温度、湿度滑块,下一次串口结果会跟着变化。

想从空白项目搭一遍,可以打开 wokwi.com/projects/new/esp32,点击蓝色加号加入 DHT22,然后按下面连接:

  • DHT22 VCC → ESP32 3V3
  • DHT22 SDA → ESP32 GPIO15
  • DHT22 GND → ESP32 GND
  • NC 不连接

在 Library Manager 搜索并加入 DHT sensor library for ESPx,然后粘贴代码:


#include "DHTesp.h"

const int DHT_PIN = 15;
DHTesp dhtSensor;

void setup() {
  Serial.begin(115200);
  dhtSensor.setup(DHT_PIN, DHTesp::DHT22);
}

void loop() {
  TempAndHumidity data = dhtSensor.getTempAndHumidity();

  Serial.println("Temp: " + String(data.temperature, 2) + "°C");
  Serial.println("Humidity: " + String(data.humidity, 1) + "%");
  Serial.println("---");

  delay(2000);
}

运行后,修改 DHT22 的滑块,串口数字也随之变化。这个练习把“接线、依赖库、读取传感器、串口输出”串在了一起,比只让 LED 闪烁多一点内容,又不会一下掉进复杂电路。

再往前,可以模拟 WiFi 和波形

ESP32 项目可连接 Wokwi 的虚拟热点:SSID 是 Wokwi-GUEST,无密码,信道为 6 。公共 IoT Gateway 支持向互联网发起 TCP 、 UDP 等连接,所以 MQTT 上报、 HTTP 请求和 NTP 对时都能先在网页里验证。

公共网关不能访问本机或局域网,也不支持 ICMP,因此 Ping 不能作为连通测试。官方会出于安全目的监控公共网关流量,不要在项目里放真实 WiFi 密码、 API Token 、 MQTT 密码或生产环境地址。需要连接本机服务和内网设备,要使用付费的 Private IoT Gateway 。

调试数字通信时,可以把逻辑分析仪接到 UART 、 I2C 、 SPI 、 PWM 或 WS2812 信号线上。停止模拟后会下载 VCD 文件,再用 PulseView 或 GTKWave 检查波形和协议解码。

模拟通过,真机还要重新检查

Wokwi 擅长排掉接线、库和程序逻辑里的低级错误。真实电路还有一批它回答不了的问题:供电能力、 3.3V 与 5V 逻辑电平、上拉电阻、线缆干扰、器件公差、温升、射频、 EMC 和长期稳定性。

拿 DHT22 来说,实物可能是裸传感器,也可能是带电阻的模块;具体开发板上的 GPIO15 还可能承担启动或板载功能。上真机前仍要查看手头型号的数据手册和开发板原理图,异常读数、断线与超时也要在代码中处理。

Wokwi 目前也有明确限制:ESP32 蓝牙尚未实现,I2C 只支持主机模式,同一项目里不能直接连多个微控制器。浏览器里的运行速度不能拿来推算真芯片性能或功耗。

合适的流程很简单:先在 Wokwi 跑通代码、数字接口和基本协议,再把真机时间留给电源、信号质量和环境可靠性。第一块开发板该买什么,也会比盲目下单更清楚。

如果让你先在浏览器里做一个项目,你会选温湿度计、智能灯,还是联网时钟?

来源:https://wokwi.com/