文章目录
玩 ESP32 和 Arduino 的时候,经常会碰到手边没有对应的板子或者元器件的情况,这个时候又想测试固件的话,就非常麻烦了。
这个时候在线仿真服务 Wokwi 就可以派上用场了。
我还是在之前找一些开源项目的时候接触到了 Wokwi 这个仿真服务,用了一下感觉还挺方便,特别是在想快速验证一个代码是否有效的时候。
Wokwi 相比我刚开始用的时候,支持了更多的平台,已经不再是只有 ESP32 相关的开发板了,还有 STM32、树莓派 Pico 之类的。现在似乎发展还挺好,搞了不少服务出来,支持 VS Code 和 CI 什么的。
另外如果不喜欢在线工具,也可以看看之前分享的电脑上模拟器《Arduino玩家必备,SimulIDE电路模拟器》,外设可能不如 Wokwi 丰富,但是也基本够用。
Wokwi 优势
相比于自己购买硬件、使用面包板搭建测试电路,Wokwi 还是有一定优势的,在原型验证阶段,可以省掉不少事情。
- 成本门槛: 开发板、元器件、传感器、工具(万用表、示波器)的购买成本。
- 时间等待: 采购、物流、焊接、组装耗费大量时间。
- 物理限制: 场地、电源、设备携带不便;易损坏(短路、烧芯片)。
- 试错成本高: 代码错误可能导致硬件损坏。
- 协作困难: 团队成员/师生间共享和复现硬件环境复杂。
- 快速迭代难: 想法验证需要反复搭建电路,效率低。
当然,作为一个服务网站,也要生存,在使用过程中,可能还是会时不时碰到需要付费才能获得更好体验的情况 🙈,例如创建私有工程、编译时间长等问题,都需要付费。
整体界面
Woki 界面相当简单,编辑器 + 仿真区域 + 终端 就组成了整个界面。
- 编辑器:直接编辑代码,应该是基于 VS Code 的做的,有基本的代码提示、代码完成相关功能
- 仿真区域:可以添加各种外设,开发板和外设也是直接用鼠标点点连接各个引脚
- 终端:在仿真开始之后,终端就会输出固件中使用
Serial.print
输出的内容了,调试用得着
而且 Wokwi 还连接 Wi-Fi,开发需要联网的应用也完全没问题,这相比 SimulIDE 应该是有优势的。
开发板库
我印象中 Wokwi 应该是以 ESP32 模拟起家的,但是现在已经不是只支持 ESP32 开发板了,Arduino、STM32 甚至树莓派 Pico 都支持了,这对于非 ESP32 玩家是相当利好了。
现在在 Wokwi 上可以选择的 ESP32 开发板也相当齐全,从 ESP32 到 ESP32-S3、ESP32-C6 甚至乐金的 ESP32-S3-BOX-3 都有现成的可以选择,这样测试一些官方示例的时候就很方便了,不需要额外再去接线啥的,硬件都定义好了。
另外现在 Wokwi 还支持了 ESP-IDF 的项目,也是有点神奇的,毕竟在本地搭建一个 ESP-IDF 开发环境也是个不太方便的事情。
组件库
Wokwi 提供了相当丰富的外设组件库来供使用,包括显示设备、输入设备、传感器设置、输出设备等等,基本上做电子开发能碰到的外设都包含了,调试一些外设驱动代码应该是相当方便了。
最近发现 Wokwi 还有了 2.9 寸墨水屏外设,这要搞些墨水屏开发也挺方便的。
Demo 工程
为了能让用户更快上手,Wokwi 还提供了一堆 Demo 工程来快速熟悉整个平台,有需要联网的应用,也有不需要联网的应用,而且还有 MicroPython 类似的应用,这对于非 C/C++ 开发的固件来说,也是相当友好了。
看到示例工程里面有一个 Bitcoin 价格跟踪器项目,就顺便测试一下看看联网类型的应用测试起来咋样。
BitCoin 价格显示器
原项目中用来获取 Bitcoin 价格的 API 不可用了,费了点功能找到一个可用的免费 API,改了一下就不太算顺利地跑起来了。
不太顺利的地方主要是,这个项目可以依赖的库有几个,免费用户很容易超时,然后就会催着付钱了 😃。
在终端里也能看到模拟器连接 Wi-Fi 的过程:
总结
怎么说呢,Wokwi 整体还是比较好用的,但是想要用得舒心估计还是得花钱,如果只用免费套餐,可能更多可以用来测试各种外设是否按预期工作。
另外 Wokwi 还提供了 VS Code 本地编译再去网站仿真的功能,可能这个可以降低一部分服务器编译压力导致的失败,但是似乎也是个付费的功能 🙈。
0 条评论。