用 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 都能成为我们可靠的数字伙伴。

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

11:38   阅读(1)   评论(0)
 标签: 创客 ESP32 USB

涨知识
串口

串行接口是一种可以将接收来自CPU的并行数据字符转换为连续的串行数据流发送出去,同时可将接收的串行数据流转换为并行的数据字符供给CPU的器件。一般完成这种功能的电路,我们称为串行接口电路。

评论:
相关文章
ESP-Hosted 入门介绍 &使用指南

ESP-Hosted 解决方案提供了将 ESP 板用作 Wi-Fi 和 Bluetooth/BLE 连接的通信处理器的方法。


设备上云太麻烦?ESP-Hosted一站触达!

ESP-Hosted 提供了一种将ESP芯片和模组用作通信协处理器的解决方案,该解决方案为主机微处理器或微控制器提供无线连接,使主机能够与其他设备通信。简单来说为网卡方案。


ESP32 + Arduino使用TFT_eSPI库

Arduino+ESP32上使用TFT_eSPI库快速点亮这个屏幕,驱动芯片ST7789


ESP32 利用 SPI 连通 TFT 彩屏

本文给出了一个ESP32与SPI 接口TFT显示屏接线的详细说明,供大家参考。


在Micropython下使用ESPNow功能进行数据传输

本文讲解如何在Micropython环境下使用ESP32的ESPNow功能进行数据传输。


利用 ESP32-S3 和 CSI 技术打造智能家居

ESP32 系列芯片可以利用 CSI 数据实现动作检测和存在检测。无论是自动调节灯光、风扇,还是节能控制,CSI 技术为智能家居带来了新的可能性。随着 CSI 技术的发展,未来的智能家居将能够更精确地感知和响应我们的行为,实现更高效、更人性化的控制。


ESP32-FreeRTOS:大量FreeRTOS实例,供参考学习

ESP32-FreeRTOS项目提供了丰富的示例,帮助开发者快速掌握ESP32的硬件功能和FreeRTOS实时操作系统。


物联网项目开发实战-第3章-自动浇花项目迭代3

本节我们在迭代二的基础上使用四位数码管和OLED显示屏显示相关交互信息。


物联网项目开发实战-第3章-自动浇花项目迭代2

本节我们在迭代一的基础上增加采集土壤湿度数据,并根据湿度数据来决定是否自动进行浇水动作。


物联网项目开发实战-第3章-自动浇花项目迭代1

本节我们实现一个基本能工作的手动浇水装置,即通过按下按键来闭合继发器让小水泵进行浇水。