文章目录

  • 前言
  • 一、开发环境
  • 二、硬件介绍
  • 三、下载esp-idf
  • 四、下载esp-iot-solution
  • 五、配置idf
    • 1、执行下载脚本
    • 2、设置环境变量
    • 3、声明外部组件
  • 六、构建例程
  • 七、烧写Flash
  • 八、使用方法
  • 九、感谢

前言

使用官方例程"usb_msc_wireless_disk",将ESP32S2开发板制作成一个支持wifi无线访问的U盘设备。


一、开发环境

SDK https://github.com/espressif/esp-idf.git
方案 https://github.com/espressif/esp-iot-solution
开发板 安信可ESP-12K开发板NodeMCU-32-S2
OS Windows 10

二、硬件介绍

 - Board:ESP32-S3-USB-OTG, or any ESP32-Sx board - MCU:ESP32-S2, ESP32-S3- Flash:4MB NOR Flash- Hardware Connection: - GPIO19 to D-              // 我用的是安信可ESP32S2-12K开发板,可根据自己的开发板确认管脚- GPIO20 to D+- SDCard IO varies from boards, you can defined your own in code.   // 如MSC要映射到外部SDCARD时需要

三、下载esp-idf

 cd esp                                      // 是我的根目录git clone -b master --recursive https://github.com/espressif/esp-idf.git esp-idf  // 下载master分支cd esp-idfgit pullgit checkout d5f58ab13551cd8              // check到指定节点git submodule update --init --recursive        // 要确保各个子模块更新成功

修改esp-idf/components/driver/spi_master.c:

diff --git a/components/driver/spi_master.c b/components/driver/spi_master.cindex 15cfceb9ac..c076ed631c 100644--- a/components/driver/spi_master.c+++ b/components/driver/spi_master.c@@ -563,6 +563,7 @@ static void SPI_MASTER_ISR_ATTR spi_new_trans(spi_device_t *dev, spi_trans_priv_//Call pre-transmission callback, if anyif (dev->cfg.pre_cb) dev->cfg.pre_cb(trans);+    ets_delay_us(10);     // 加上这一行//Kick off transferspi_hal_user_start(hal);}

四、下载esp-iot-solution

 cd espgit clone -b usb/add_usb_solutions --recursive https://github.com/espressif/esp-iot-solutioncd esp-iot-solutionxcopy /e /i examples\usb\device\usb_msc_wireless_disk usb_msc_wireless_disk        // 拷贝一份出来,不污染原文件。

五、配置idf

1、执行下载脚本

 cd espesp-idf\install.bat

如速度慢,添加一个新的环境变量(类型为用户或系统都可以,名称为 IDF_GITHUB_ASSETS,值为dl.espressif.com/github_assets);

如果之前安装过其它版本的idf环境,可能会报错,可以把.espressif\python_env删掉。.espressif一般位于用户根目录,即打开一个命令行窗口所在的位置。

2、设置环境变量

 cd espesp-idf\export.bat

3、声明外部组件

 cd espset IOT_SOLUTION_PATH=D:\xxx\code\esp\esp-iot-solution   // 我们要使用esp-iot-solution中的组件

六、构建例程

 cd esp-iot-solution\usb_msc_wireless_diskidf.py set-target esp32s2  // 如果遇到报错“找不到xxx文件”、“xxx is not a directory”,很可能是子模块没有下载成功,可以进入对应目录,手动checkout 出来(git checkout commitid) idf.py menuconfig           // 这步可选,如使用默认配置,则可跳过。idf.py build             // 如果之前有build失败过,手动删除build目录。

七、烧写Flash

 idf.py -p com5 flash        // com序号根据实际情况

八、使用方法

1)将开发板的USB_D+、USB_D-、VCC_5V、GND分别连接USB插头的绿、白、红、黑线;
2)将USB插头插入PC,能识别到一个1.5M左右的U盘;
2)PC连接热点“ESP-Wireless-Disk”,无密码;
3)连接成功后,PC浏览器打开“192.168.4.1”,即可访问U盘;

九、感谢

使用ESP32S2原生USB自制U盘,可支持无线访问
MIT 女极客 ESP32-S2 TinyUSB 直播教学,All about the ESP32-S2 by Espressif Systems
https://github.com/espressif/esp-iot-solution/tree/usb/add_usb_solutions/examples/usb/device/usb_msc_wireless_disk/README.md

【ESP32S2】使用ESP32S2开发板制作U盘,支持无线访问相关推荐

  1. 【ESP32S2】把只有4M flash的开发板制作成一个2G的U盘(一)

    文章目录 前言 一.背景 二.制作虚拟磁盘VHD 三.生成磁盘数据 四.生成.h头文件 五.改造read10函数 六.测试 七.工具 八.参考 前言 前面的文章<使用ESP32S2开发板制作U盘 ...

  2. USB Gadget iMX6U LL开发板模拟U盘

    IMX6ULL开发板模拟U盘 Linux版本:4.1.15 使用开发板:IMX6ULL 编译环境:Ubuntu 14.04 步骤如下: 1. 首先配置内核 进入 Device Drivers ---& ...

  3. arduino串口监视器显示nan_使用Arduino开发板制作摩尔斯电码生成器

    摩尔斯电码是一种通信系统,用于在两个不同持续时间的信号中编码任何字符,称为点和虚线.摩尔斯电码由Samuel F.B开发.并进一步用于电报传输秘密信息.它在第二次世界大战时最常用.摩尔斯电码可以通过点 ...

  4. FPGA之道(19)以FPGA为核心的开发板制作

    文章目录 前言 开发板制作 前言 学习FPGA的初期,我们习惯到网上买一款FPGA开发板,这是新手学习FPGA开发的最佳途径,负责任的开发板制作者会提供相应的教程供练习,毕竟能动手操作上板子才是真正玩 ...

  5. Arduino开发板制作

    Arduino UNO 介绍 ,Arduino开发板制作 教程: Arduino制作 Arduino UNO 图 Arduino是什么 Arduino是一款便捷灵活.方便上手的开源电子原型平台.包含硬 ...

  6. STM32G070RBT6迷你开发板制作总结

    STM32G070RBT6迷你开发板制作总结 目录 STM32G070RBT6迷你开发板制作总结 1.组成概述 1.原理图绘制 系统组成 本系统由五部分构成:电源,晶振,复位电路.调试接口,调试芯片电 ...

  7. 基于arduino uno 开发板制作的 智能书包项目

    基于arduino uno 开发板制作的智能书包,当时收短视频启发,集合自动售货机的代码和RC522 读卡模块代码结合制作,现基本功能可以实现 ,目前代码部分尚不稳定需要继续改进 //一个智能书包小发 ...

  8. 硬件学习、高速dsp开发板制作、STM32学习笔记

    1.硬件工程师成长之路(1)--元件基础_[云轩]的博客-CSDN博客_硬件工程师的成长之路 总目录:https://blog.csdn.net/weixin_44407238/category_10 ...

  9. USB Gadget iMX6UL开发板模拟U盘

    iMX6UL开发板模拟U盘 参考资料: 内核源码内:/{内核目录}/Documentation/usb/目录下 gadget-testing.txt mass-storage.txt 文件 网址:Ba ...

最新文章

  1. Java Process类的浅学习
  2. MFC中MessageBox()用法
  3. 将图片保存到系统相冊的两种方法
  4. pytorch 笔记: 协同过滤user item bias 实现
  5. spring boot 日志文件配置(logback-spring.xml)亲测可用!
  6. IDEA模块(module)的概念和使用_对比Eclipse
  7. Android开发之git提交代码到GitHub仓库教程
  8. Java Web会话管理
  9. python判断某年是否为闰年_python如何判断某年是否是闰年_后端开发
  10. java作业——Day0014
  11. MySQL读写分离详解(二)——MyCAT实战配置
  12. 光线的方向:顺光、逆光、侧光、侧顺光、侧逆光、顶光、底光
  13. 简单的springBoot集成jedis
  14. 算法导论第三版 第4章习题答案
  15. 2.SQL之条件查询
  16. 大于2019电大计算机应用上机表格题,2019年电大计算机应用基础试题及答案重要知识点...
  17. 宝塔同时安装苹果cms海洋cms_苹果cms和海洋cms通用的百度主动推送工具
  18. ebx 与 ebp的作用 ---- 总线接口部件
  19. python 写一个幸运大转盘抽奖脚本
  20. 稀疏数组——优化五子棋游戏的小技巧

热门文章

  1. Lecture 2 DFT STFT Heisenberg's uncertainty principle Spectral Estimation
  2. Kubernetes架构原则和对象设计
  3. 针对JSON的一些初级理解
  4. mtk preloader流程简介
  5. paypal braintree支付对接
  6. 意识流 @GoogleBuzz 711-611
  7. C++控制台输出彩色文字
  8. JAVA趣味课程:手机通讯录管理系统
  9. 男人凭什么三十而立——用好自己的钱
  10. 线性表之单链表 图解和代码实现