本帖最后由 Zoologist 于 2020-8-4 19:51 编辑
当我们谈论 ESP32 支持USB时,谈论的并不是最常见的ESP32而是乐鑫信息科技(上海)股份有限公司(ESPRESSIFSYSTEMS (SHANGHAI) CO., LTD.)新出品的一个型号:ESP32S2。具体的比对可以从下图看到。主要的变化是变成单核(对 Arduino玩家几乎没有影响),去掉了蓝牙功能,另外就是增加了USBOTG 的功能。这意味着可以用 S2 方便的实现USBDevice或者 Host 功能(目前还没有看到 Arduino 版本的 USB Host支持):
图片来自 【参考1】
图片来自 【参考1】 为了进行实验,需要入手一个开发板,在【参考2】可以目前的模块有如下四种: ESP32-S2-WROOM ESP32-S2-WROOM-I ESP32-S2-WROVER ESP32-S2-WROVER-I 其中 WROOM 和 WROVER 的差别在于 PRAM 大小的差别,有-I 和没有的在于天线是否存在于模组之上。最终选择的是 ESP32-S2-Saola-1开发板,直接在taobao上的 乐鑫科技Espressif Online 买了一块 ESP32-S2-Saola-1R (这个应该算是官方正版了)。相比之下,这个板子价格要比普通的贵上很多,达到48元/块。 接下来就是软件的问题了,ESP32S2 并不能用普通的 Arduino 支持的 ESP32 环境进行编译,更准确的说是不能用他来完成 USB Device的支持。具体的支持方法可以在【参考4】看到。这里简单说一下我实验成功的方法:
1. 如果你当前Arduino 安装过 ESP32 的支持,请在 Board manager 中卸载之;
2.安装 Git,然后创建一个目录用于存放编译工具;
3.进入这个目录使用 Git Bash Here打开窗口输入下面的命令
(有可能会很慢,从我的经验上来看,用手机热点会快很多)
5.上述结束之后运行 tools 下面的get.exe
6. 结束之后设置 Arduino(根据资料,要求是 1.8.0 及其以上的版本,我是用的是 1.8.4) , 将 Preferences 的 Sketchbook Location 设置为你刚才创建的目录
硬件方面,按照如下连接【参考5】
参考:
|