用 ESP32-S3 打造多功能 USB Dongle

ESP-Dongle 是一款基于 ESP32-S3 芯片开发的多功能 USB Device 解决方案。它不仅外形小巧,功能齐全,更集成了无线 U 盘、SD 卡读取以及 USB 无线网卡等多项功能。

ESP-Dongle 简介

ESP-Dongle 是一款基于 ESP32-S3 芯片开发的多功能 USB Device 解决方案。它不仅外形小巧,功能齐全,更集成了无线 U 盘、SD 卡读取以及 USB 无线网卡等多项功能;同时,通过便捷的滑动开关,ESP-Dongle 可以灵活地切换不同的工作模式以适应多样化的应用需求。

视频展示

用 ESP32-S3 打造多功能 USB Dongle

功能演示

1. 普通 U 盘 & 读卡器功能

ESP-Dongle 支持标准 U 盘和读卡器功能。用户只需将一个 SD 卡插入卡槽,并通过 ESP-Dongle 上的 USB Type-C 接口连接到手机,即可实现手机文件向 SD 卡的传输,或在手机端快速读取 SD 卡上的所有文件,同时支持将 SD 卡里的文件直接保存到手机上。

用 ESP32-S3 打造多功能 USB Dongle

2. 无线 U 盘功能

ESP-Dongle 也可以作为无线 U 盘使用。用户可以使用充电宝为 ESP-Dongle 供电,并通过滑动开关切换到无线 U 盘模式。在此工作模式下,ESP-Dongle 将开启一个名为 “ESP-Wireless-Disk” 的 Wi-Fi 热点,并基于此热点创建了一个 HTTP File Server 以支持在局域网内实现文件的上传和下载功能。此时,ESP-Dongle 允许使用多部手机或电脑连接至 “ESP-Wireless-Disk” 的 Wi-Fi 热点上,用户可直接在浏览器端访问 HTTP File Server(局域网 IP 地址是 :192.168.4.1),然后将文件上传到 HTTP File Server 中。

用 ESP32-S3 打造多功能 USB Dongle


此功能可以适应在户外场景下与多设备通过局域网内的 Wi-Fi 共享文件的应用需求,同时对大文件的共享提供了更稳定、更高效的数据传输。 此功能还可以将传统打印机升级为无线打印机。用户只需要将 ESP-Dongle 插入打印机,用手机或笔记本电脑连接 ESP-Dongle 的 Wi-Fi 热点,在 HTTP File Server 操作界面下,将手机或电脑上的文件上传到 HTTP File Server 中,打印机就可以直接读取文件进行打印。

3. USB 无线网卡功能

ESP-Dongle 也可以作为一个 Wi-Fi 或 BLE 适配器,为 USB 主机设备提供无线上网或 BLE 传输的功能。 用户只需在 ESP-Dongle 的固件中 (即 bin 文件) 设置外部路由器的 SSID 和 Password ,当 ESP-Dongle 插上 USB 主机设备时即可自动连接到 Wi-Fi 网络上。此功能可为台式电脑提供无线上网功能,并且支持 USB 热插拔,以快速检测 ESP-Dongle 的连接和移除。

用 ESP32-S3 打造多功能 USB Dongle


电源选项

ESP-Dongle 通过 USB Type-C 接口进行供电,以支持适配多种设备的接入。

ESP-Dongle 硬件设计

ESP-Dongle 完整硬件开源资料可在 【嘉立创-乐鑫小铁匠】ESP-Dongle 获取,ESP 硬件设计指南请参考 "ESP 硬件设计指南".

用 ESP32-S3 打造多功能 USB Dongle

ESP-Dongle 的硬件系统由以下部分组成:

  • 主控 MCU: ESP32-S3-MINI-1-N8。
  • USB Type-C 接口:通过 USB 连接器的差分信号线 D- 和 D+ 直接连接到 ESP32-S3 的 USB 接口,同时 D-、D+ 和 VUSB 引脚通过 ESD 保护器件进行静电保护,以防止静电放电对电路造成损害。需要注意,CC 引脚需要接 5.1K 电阻进行下拉,否则 USB-dongle 将无法被主机识别。
  • LDO(稳压电路):HE9073A33M5R 是一颗低压差稳压器 (LDO) 芯片,具有宽压输入的特性,支持的输入电压范围为 3.3V~7V, 然后将输入电压稳定在 3.3V 输出,为 ESP-Dongle 产品提供稳定的供电环境。
  • MicroSD Card(Micro SD 卡槽): SD 卡接口支持 1 线、4 线 SDIO 模式及 SPI 模式。此外,为确保信号稳定性,每个引脚都需要通过 10kΩ 电阻进行上拉,并使用 ESD 保护器件以防止静电放电的损害。
  • Button(轻触按键):使用一个简单的按钮电路,用于切换 ESP-Dongle 作为 Wi-Fi 或 BLE 适配器的工作模式
  • LED(指示灯):使用 2 个 LED 灯用于观察 ESP-Dongle 的配网状态
  • Switch(滑动开关):滑动开关的两个端点分别上拉和下拉,通过 ESP32-S3 的 GPIO4 读取开关的电平状态来切换 ESP-Dongle 的无线 U 盘和无线网卡的工作模式。

软件实现

基于 ESP-Dongle 的硬件系统构成,需要配套的软件开发以激活产品丰富的功能。 ESP-Dongle 的软件设计以深度集成的 ESP-IDF SDK 库为基础,并借助简洁高效的单任务组件为核心,将多个独立应用程序功能的代码进行融合,最终全面实现了 ESP-Dongle 产品多功能展示,为用户带来了高效且可靠的软件开发体验。

在软件实现上,ESP-Dongle 使用了 ESP32-S3 的 Wi-Fi 特性、USB 特性、SDIO 接口以及几个通用 GPIO 。

1. 普通 U 盘 & 读卡器功能

基于 ESP32-S3 的普通 U 盘应用例程可以参考 esp-idf/examples/peripherals/usb/device/tusb_msc 例程。

【技术解析】

  • 使用 ESP32-S3 的 USB 特性,将 ESP-Dongle 作为 USB Device 存储设备。更多软件编程指南参见 : USB 设备栈。
  • 使用 ESP32-S3 的 SDIO 接口提供 Miscro SD 卡槽,以支持读写 SD 卡。用户可以参考 esp-idf/examples/storage/sd_card 例程 ,支持使用 4-bit 或 1-bit SD 卡的读写,同时也提供了基于 SPI 接口连接 SD 卡的应用例程。更多软件编程指南参见:SD/SDIO/MMC 驱动程序。

2. 无线 U 盘功能

对于 ESP-Dongle 的无线 U 盘的功能实现,可以直接移植 esp-iot-solution/examples/usb/device/usb_msc_wireless_disk 例程,此例程已经将 Wi-Fi AP、HTTP File Server 、SD 卡读写和 USB Device 存储功能集成到同一个项目中。

【技术解析】

  • Wi-Fi 热点:ESP-Dongle 在 无线 U 盘模式下使用了 ESP32-S3 的 Wi-Fi 特性,通过启用 Wi-Fi AP 模式来创建无线热点的功能,以供多个外部设备通过 Wi-Fi 接入 ESP-Dongle。基于 ESP32-S3 启用 Wi-Fi AP 模式创建无线热点的应用例程可参考:esp-idf/examples/wifi/getting_started/softAP ,更多软件编程指南参见: Wi-Fi 驱动程序。
  • HTTP File Server : 基于 Wi-Fi AP 模式下,使用 HTTP 上层协议创建 HTTP File Server 来实现局域网内的文件上传和下载功能。HTTP File Server 应用例程可参考 esp-idf/examples/protocols/http_server/file_serving ;更多软件编程指南参见: HTTP 服务器。

3. 无线网卡功能

对于 USB 无线网卡应用,可以直接参考 esp-iot-solution/examples/usb/device/usb_dongle 例程。在软件上使用 tinyusb_dongle 组件以支持 USB Host 通过 USB-ECM/RNDIS 实现无线上网功能, 同时支持热插拔. 用户可参考 USB Device Stack 编程指南。

【技术解析】

  • Wi-Fi 连接:ESP-Dongle 在 无线网卡模式下是将 ESP32-S3 作为 Wi-Fi Station 模式,以连接无线 WiFi 热点,从而为 USB 主机设备提供上网能力。基于 ESP32-S3 启用 Wi-Fi Station 模式连接 WiFi 热点的应用例程可参考:esp-idf/examples/wifi/getting_started/Station,更多软件编程指南参见:Wi-Fi 驱动程序
  • USB 热插拔:热插拔功能允许用户在主机运行的情况下,随时插入或拔出 USB 设备(从机),而 USB 主机设备能够自动检测到 USB 从机设备的连接或移除,并做出相应的响应。
  • LED 指示灯:使用普通 GPIO 驱动两个 LED 指示灯,通过不同类型的闪烁来指示 ESP-Dongle 网络连接状态。对于 LED 指示灯应用,可以使用乐鑫提供的 espressif/led_indicator 组件,快速定义多组不同的 LED 闪烁类型。更多说明请阅读 LED 指示灯编程指南。
  • ESP-Dongle 使用轻触按键来切换 Wi-Fi 网卡和 BLE 调试器的工作模式,软件可使用 espressif/button 组件实现按键事件的注册。

总结

ESP-Dongle 以其卓越的多功能性,为我们的日常生活带来了极大的便利,在提升我们工作效率的同时,也丰富了我们的数字生活体验。无论是在家中、办公室还是旅途中,ESP-Dongle 都能成为我们可靠的数字伙伴。

- 本文内容来自网络,如有侵权,请联系本站处理。

2025-09   阅读(359)   评论(0)
 标签: 创客电子 ESP32 USB

涨知识
排序

排序是计算机内经常进行的一种操作,其目的是将一组“无序”的记录序列调整为“有序”的记录序列。

评论:
相关文章
MimiClaw应用与开发教程1:部署和测试

MimiClaw‌ 是一款基于 ‌ESP32-S3‌ 芯片的超轻量级AI助手,适合嵌入式AI与物联网开发者快速部署本地化AI代理。本系列教程基于MimiClaw的Arduino移植版本进行讲解,小节主要讲解部署和测试。


ESP32扫描wifi 热点列表

就像我们用手机打开WiFi功能后可以浏览附近的可用WiFi。要将手机连接到热点,通常需要打开Wi-Fi设置应用程序,列出可用的网络,然后选择所需的热点。然后输入密码(或不输入密码),可以使用ESP32进行相同的操作。


MimiClaw 配置飞书机器人和添加硬件控制技能

本文本介绍配置飞书机器人为MimiClaw的一个输入/输出端,和添加一个控制WS2812与LED的控制技能。


ESP32-S3 部署 MimicLaw 完整教程:从零到成功调用 DeepSeek

一块 30 块钱的开发板 + 一个大模型 API,就能做出可以听懂人话的智能硬件。 本文记录完整安装过程和踩坑经验,确保你跟着做就能跑通。


MimiClaw 架构全解析,把 “智能龙虾” 跑在 ESP32 上

本文将从手绘架构图入手,逐层拆解 MimiClaw 的分层设计、核心模块、数据流转与底层实现,带你解剖这只“智能虾”的技术骨架,看懂在 C 语言加持下,AI 智能体如何以可穿戴设备的形态,在你身边稳稳运行、离线服务、主动响应。


如何用 platform.local.txt 深度定制 ESP32 编译流程?

本文介绍如何在不脱离 ArduinoIDE 可视化开发的前提下,通过一个名为 platform.local.txt 的小文件,实现对 ESP32 编译流程的精准控制。


优化Arduino-ESP32程序体积

本文将系统分析程序体积增长的五大根源,并提供经过验证的优化方案,帮助减小固件大小。


开发ESP32大模型AI语音助手-从软件到硬件

本文所DIY的语音助手设备端使用的是MicroPython、服务端是Python,对于很多开发者来说MicroPython入门没难度。


【ESP32 C++教程】Unit10-2:音频录制

本小节使用音频开发框架实现一个音频录制到文件的示例。


ESP32 I2S 接口深度解析:从时序、格式到 ESP-IDF 驱动实战

I2S协议通过BCLK、LRCLK和DATA三线精准传输音频数据,但时序边沿、帧格式、时钟源等细节常引发噪声或断连。本文详解ESP32的I2S实现,从协议原理到ESP-IDF v5.x代码配置,助你避开常见陷阱,确保音频稳定传输。