支持 原生USB 的ESP32 :ESP32 S2-Arduino中文社区 - Powered by Discuz! Archiver

Zoologist 发表于 2020-8-4 19:50

支持 原生USB 的ESP32 :ESP32 S2

本帖最后由 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-WROOMESP32-S2-WROOM-IESP32-S2-WROVERESP32-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打开窗口输入下面的命令
4.git clone https://github.com/espressif/arduino-esp32.git -b esp32s2
(有可能会很慢,从我的经验上来看,用手机热点会快很多)
5.上述结束之后运行 tools 下面的get.exe
6. 结束之后设置 Arduino(根据资料,要求是 1.8.0 及其以上的版本,我是用的是 1.8.4) , 将 Preferences 的 Sketchbook Location 设置为你刚才创建的目录
1    7.安装 USBTiny , 在 https://github.com/chegewara/EspTinyUSB
硬件方面,按照如下连接【参考5】
参考:1.   https://blog.csdn.net/toopoo/article/details/1042990112.   https://www.espressif.com/zh-hans/node/44583.   https://item.taobao.com/item.htm?spm=a1z10.5-c-s.w4002-22443450244.11.741d27e6IeGkuO&id=6127110169564.   https://github.com/espressif/arduino-esp32/blob/611ba8ea8acfd504174e2eec1e198a64e67cd748/docs/arduino-ide/windows.md5.   http://bbs.eeworld.com.cn/thread-1131171-1-1.html


Zoologist 发表于 2020-8-4 21:33



测试设备

Zoologist 发表于 2020-8-4 21:34

测试视频可以在https://zhuanlan.zhihu.com/p/166662511 看到

奈何col 发表于 2020-8-4 22:25

感觉又要刷新arduino开发板的价格下限了
页: [1]
查看完整版本: 支持 原生USB 的ESP32 :ESP32 S2