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

Arduino中文社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 6793|回复: 3

支持 原生USB 的ESP32 :ESP32 S2

[复制链接]
发表于 2020-8-4 19:50 | 显示全部楼层 |阅读模式
本帖最后由 Zoologist 于 2020-8-4 19:51 编辑

当我们谈论 ESP32 支持USB时,谈论的并不是最常见的ESP32而是乐鑫信息科技(上海)股份有限公司(ESPRESSIFSYSTEMS (SHANGHAI) CO., LTD.)新出品的一个型号:ESP32S2。具体的比对可以从下图看到。主要的变化是变成单核(对 Arduino玩家几乎没有影响),去掉了蓝牙功能,另外就是增加了USBOTG 的功能。这意味着可以用 S2 方便的实现USBDevice或者 Host 功能(目前还没有看到 Arduino 版本的 USB Host支持):

image001.png

图片来自 【参考1
image002.jpg

图片来自 【参考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
image003.png

6. 结束之后设置 Arduino(根据资料,要求是 1.8.0 及其以上的版本,我是用的是 1.8.4) , Preferences Sketchbook Location 设置为你刚才创建的目录
image004.png

1    7.安装 USBTiny , 在 https://github.com/chegewara/EspTinyUSB

硬件方面,按照如下连接【参考5
Capture.PNG

参考:



 楼主| 发表于 2020-8-4 21:33 | 显示全部楼层
IMG_20200804_201037.jpg

测试设备
 楼主| 发表于 2020-8-4 21:34 | 显示全部楼层
测试视频可以在  https://zhuanlan.zhihu.com/p/166662511 看到
发表于 2020-8-4 22:25 | 显示全部楼层
感觉又要刷新arduino开发板的价格下限了
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|Archiver|手机版|Arduino中文社区

GMT+8, 2024-11-28 11:49 , Processed in 0.095388 second(s), 18 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表