查看: 388|回复: 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 看到
  • TA的每日心情
    郁闷
    2018-12-6 22:21
  • 签到天数: 48 天

    [LV.5]常住居民I

    发表于 2020-8-4 22:25 | 显示全部楼层
    感觉又要刷新arduino开发板的价格下限了
    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    热门推荐

    String类型做参数传递时出现问题
    String类型做参数传递时出
    有两个函数,上面这个用来获取数据,然后第70行调用下面的Price_Analyze()来分析数据
    [Arduino物联网开发实战0]开发准备
    [Arduino物联网开发实战0]
    郑重提示:物联网开发,需要你有较好的编程基础,如果你没有编程基础或Arduino开发基
    兩段式水位的程式,要如何寫呢?可以指導一下嗎?
    兩段式水位的程式,要如何
    想請教大大兩段式水位的程式,要如何寫呢?可以指導一下嗎? 兩段式水位 滿水100%時停止
    点灯里面的 定时任务,按指定时间触发 开关 没效果.怎么...
    点灯里面的 定时任务,按
    #define BLINKER_WIFI #include char auth[] = "e9b348c25011"; char ssid[] = "88
    【原创】 drawbot平面关节scara机械臂写字机 画画机器人直播...
    【原创】 drawbot平面关节
    这个项目上个月就在做了,结构和代码反反复复改了多次,加上自己又太忙,一直没来得及
    Copyright   ©2015-2016  Arduino中文社区  Powered by©Discuz!   
    快速回复 返回顶部 返回列表