【ESP32S2】使用ESP32S2开发板制作U盘,支持无线访问
文章目录
- 前言
- 一、开发环境
- 二、硬件介绍
- 三、下载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盘,支持无线访问相关推荐
- 【ESP32S2】把只有4M flash的开发板制作成一个2G的U盘(一)
文章目录 前言 一.背景 二.制作虚拟磁盘VHD 三.生成磁盘数据 四.生成.h头文件 五.改造read10函数 六.测试 七.工具 八.参考 前言 前面的文章<使用ESP32S2开发板制作U盘 ...
- USB Gadget iMX6U LL开发板模拟U盘
IMX6ULL开发板模拟U盘 Linux版本:4.1.15 使用开发板:IMX6ULL 编译环境:Ubuntu 14.04 步骤如下: 1. 首先配置内核 进入 Device Drivers ---& ...
- arduino串口监视器显示nan_使用Arduino开发板制作摩尔斯电码生成器
摩尔斯电码是一种通信系统,用于在两个不同持续时间的信号中编码任何字符,称为点和虚线.摩尔斯电码由Samuel F.B开发.并进一步用于电报传输秘密信息.它在第二次世界大战时最常用.摩尔斯电码可以通过点 ...
- FPGA之道(19)以FPGA为核心的开发板制作
文章目录 前言 开发板制作 前言 学习FPGA的初期,我们习惯到网上买一款FPGA开发板,这是新手学习FPGA开发的最佳途径,负责任的开发板制作者会提供相应的教程供练习,毕竟能动手操作上板子才是真正玩 ...
- Arduino开发板制作
Arduino UNO 介绍 ,Arduino开发板制作 教程: Arduino制作 Arduino UNO 图 Arduino是什么 Arduino是一款便捷灵活.方便上手的开源电子原型平台.包含硬 ...
- STM32G070RBT6迷你开发板制作总结
STM32G070RBT6迷你开发板制作总结 目录 STM32G070RBT6迷你开发板制作总结 1.组成概述 1.原理图绘制 系统组成 本系统由五部分构成:电源,晶振,复位电路.调试接口,调试芯片电 ...
- 基于arduino uno 开发板制作的 智能书包项目
基于arduino uno 开发板制作的智能书包,当时收短视频启发,集合自动售货机的代码和RC522 读卡模块代码结合制作,现基本功能可以实现 ,目前代码部分尚不稳定需要继续改进 //一个智能书包小发 ...
- 硬件学习、高速dsp开发板制作、STM32学习笔记
1.硬件工程师成长之路(1)--元件基础_[云轩]的博客-CSDN博客_硬件工程师的成长之路 总目录:https://blog.csdn.net/weixin_44407238/category_10 ...
- USB Gadget iMX6UL开发板模拟U盘
iMX6UL开发板模拟U盘 参考资料: 内核源码内:/{内核目录}/Documentation/usb/目录下 gadget-testing.txt mass-storage.txt 文件 网址:Ba ...
最新文章
- Java Process类的浅学习
- MFC中MessageBox()用法
- 将图片保存到系统相冊的两种方法
- pytorch 笔记: 协同过滤user item bias 实现
- spring boot 日志文件配置(logback-spring.xml)亲测可用!
- IDEA模块(module)的概念和使用_对比Eclipse
- Android开发之git提交代码到GitHub仓库教程
- Java Web会话管理
- python判断某年是否为闰年_python如何判断某年是否是闰年_后端开发
- java作业——Day0014
- MySQL读写分离详解(二)——MyCAT实战配置
- 光线的方向:顺光、逆光、侧光、侧顺光、侧逆光、顶光、底光
- 简单的springBoot集成jedis
- 算法导论第三版 第4章习题答案
- 2.SQL之条件查询
- 大于2019电大计算机应用上机表格题,2019年电大计算机应用基础试题及答案重要知识点...
- 宝塔同时安装苹果cms海洋cms_苹果cms和海洋cms通用的百度主动推送工具
- ebx 与 ebp的作用 ---- 总线接口部件
- python 写一个幸运大转盘抽奖脚本
- 稀疏数组——优化五子棋游戏的小技巧