用 ESP32-S3 打造多功能 USB Dongle

ESP-Dongle 简介

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

视频展示

用 ESP32-S3 打造多功能 USB Dongle

功能演示

  • 普通 U 盘 & 读卡器功能

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

在这里插入图片描述

  • 无线 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 中。

在这里插入图片描述

此功能可以适应在户外场景下与多设备通过局域网内的 Wi-Fi 共享文件的应用需求,同时对大文件的共享提供了更稳定、更高效的数据传输。

此外,借助ESP-Dongle,用户还可以将传统打印机升级为无线打印机。只需要将 ESP-Dongle 插入打印机,用手机或笔记本电脑连接 ESP-Dongle 的 Wi-Fi 热点,在 HTTP File Server 操作界面下,将手机或电脑上的文件上传到 HTTP File Server 中,打印机就可以直接读取文件进行打印。

  • USB 无线网卡功能

ESP-Dongle 也可以作为一个 Wi-Fi 或 BLE 适配器,为 USB 主机设备提供无线上网或 BLE 传输的功能。

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

在这里插入图片描述

电源选项

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

ESP-Dongle 硬件设计

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

在这里插入图片描述

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 的 WiFi 特性、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 特性,通过启用 WiFi AP 模式来创建无线热点的功能,以供多个外部设备通过 Wi-Fi 接入 ESP-Dongle。基于 ESP32-S3 启用 Wi-Fi AP 模式创建无线热点的应用例程可参考:esp-idf/examples/wifi/getting_started/softAP,更多软件编程指南参见:Wi-Fi 驱动程序
  • HTTP File Server: 基于 WiFi 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 模式,以连接无线 Wi-Fi 热点,从而为 USB 主机设备提供上网能力。基于 ESP32-S3 启用 WiFi Station 模式连接 Wi-Fi 热点的应用例程可参考: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 都能成为我们可靠的数字伙伴。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值